‘Millions will be wiped out’: Robert Kiyosaki says that the big crash he predicted is here. But now could also be the perfect time to ‘get richer’ — here’s how

‘,panelEmptyTemplate=’

{emptyPanelMsg}

‘,panelErrorTemplate=’

{errorMsg}

‘,panelParentTemplate=”,notifOnboardPromoTemplate=”,EXPANDED_PANEL=”expanded_panel”,ERROR_PANEL=”error_panel”,NotificationView=function(){function e(n,t){classCallCheck(this,e);var i=this;i._config=n,i._panelNode=null,i._store=t}return createClass(e,[{key:”_generatePanelMarkup”,value:function(e,n){var t=this._config,i=void 0,o=void 0;”undefined”!=typeof window&&(i=window.Notification&&”default”===window.Notification.permission,o=t.promos.bypassEligibleClassCheck||hasClass(document.body,t.promos.eligibleBodyClass));var r=t.promos.enableNotifOnboard&&i&&o?notifOnboardPromoTemplate:””;if(r){var s=t.promos.showYahooLogo?””:”yns-no-logo”;r=r.replace(“{notifOnboardBtnLabel}”,t.promos.notifOnboardBtnLabel).replace(“{notifOnboardMsg}”,t.promos.notifOnboardMsg).replace(“{subscriptionTopic}”,t.promos.subscriptionTopic).replace(“{noLogoClass}”,s).replace(“{promoLogo}”,t.promos.promoLogo)}var a=n.newCount>t.panel.maxCount?n.newCount:””,c=t.panel.notificationCenterPath,l=c?””:constants.panelHideElement,d=t.panel.headerMsg?””:” “+constants.panelHideElement,u=c?constants.panelPaddingBtm:””,p=void 0;n.count?p=n.markup:p=panelEmptyTemplate.replace(“{emptyPanelMsg}”,t.panel.emptyPanelMsg);return e=e.replace(“{notifMarkup}”,p).replace(“{promoMarkup}”,r).replace(“{hideClass}”,l).replace(“{notifCenterLink}”,c).replace(“{paddingClass}”,u).replace(“{headerMsg}”,t.panel.headerMsg).replace(“{hideHeaderClass}”,d).replace(/{notificationCenterNavMsg}/g,t.panel.notificationCenterNavMsg).replace(/{newCount}/g,a)}},{key:”render”,value:function(e,n){var t=this;if(t._panelNode){var i=void 0,o=t._panelNode,r=void 0,s=void 0;switch(e){case EXPANDED_PANEL:i=panelTemplate,s=t._store.getNotifications(),r=t._generatePanelMarkup(i,s),o.innerHTML=r;break;case ERROR_PANEL:r=(i=panelErrorTemplate).replace(“{errorMsg}”,t._config.panel.errorMsg),o.innerHTML=r}n&&n()}else n&&n(new Error(“No panel parent”))}},{key:”createPanelParentNode”,value:function(e){e&&(e.innerHTML=panelParentTemplate,this._panelNode=document.getElementById(constants.panelNodeId))}},{key:”updateBadgeNode”,value:function(e){if(e){var n=this._store.getNotifications().newCount,t=this._config.badge.maxCount;if(n){var i=n>t?t+”+”:n;e.innerHTML=i}else e.innerHTML=””}}},{key:”addStyles”,value:function(e){if(e&&”undefined”!=typeof window){var n=document.getElementById(this._config.panel.styleTagId);n||((n=document.createElement(“style”)).type=”text/css”,n.id=this._config.panel.styleTagId,n.innerText=e,document.head.appendChild(n))}}}]),e}(),EXPANDED_PANEL$1=”expanded_panel”,ERROR_PANEL$1=”error_panel”,PanelController=function(){function e(n,t,i){classCallCheck(this,e);var o=this;o._store=t,o._view=i,o._config=n;var r=o._config.panel;o._panelParentNode=document.querySelector(r.parentSelector),o._badgeNode=o._config.badge.selector&&document.querySelector(o._config.badge.selector),o._indicatorNode=r.indicatorSelector&&document.querySelector(r.indicatorSelector)}return createClass(e,[{key:”createPanelParentNode”,value:function(){this._view.createPanelParentNode(this._panelParentNode),this._notifPanelNode=document.getElementById(constants.panelNodeId)}},{key:”refreshPanelNode”,value:function(e,n){var t=this;addClass(t._notifPanelNode,constants.panelLoading),t._store.fetchNotifications(e,(function(e,i){var o=window.wafer&&window.wafer.base;o&&o.destroy(t._notifPanelNode),e?t._notifPanelNode.innerHTML||(t._view.render(ERROR_PANEL$1),addClass(t._notifPanelNode,constants.panelLoading)):(t._view.render(EXPANDED_PANEL$1),t._view.updateBadgeNode(t._badgeNode),t._showBadge(),t._showIndicator(),t._view.addStyles(i.css)),removeClass(t._notifPanelNode,constants.panelLoading),o&&o.sync(t._notifPanelNode.parentNode),n&&n(e,i)}))}},{key:”resetBadge”,value:function(){var e=this;e._store.resetNewCount(),e._view.updateBadgeNode(e._badgeNode),addClass(e._badgeNode,e._config.badge.hideClass)}},{key:”_showIndicator”,value:function(){this._indicatorNode&&(this._store.getNotifications().newCount?addClass(this._indicatorNode,this._config.panel.indicatorClass):removeClass(this._indicatorNode,this._config.panel.indicatorClass))}},{key:”_showBadge”,value:function(){var e=this;e._store.getNotifications().newCount?removeClass(e._badgeNode,e._config.badge.hideClass):addClass(e._badgeNode,e._config.badge.hideClass)}}]),e}(),config={promos:{eligibleBodyClass:”display-push-promos”,enableNotifOnboard:!0,bypassEligibleClassCheck:!1,notifOnboardBtnLabel:”Notify Me”,notifOnboardMsg:”Get alerts for breaking news and top stories”,promoLogo:”https://s.yimg.com/cv/apiv2/ae/news/circle_bell.png”,showYahooLogo:!0,subscriptionTopic:”gondor_homerun_news”},badge:{hideClass:””,maxCount:5,selector:””},panel:{emptyPanelMsg:”You have no new notifications.”,errorMsg:””,headerMsg:”Notifications”,imageTag:”img:40×40|2|80″,indicatorClass:”yns-indicator”,indicatorSelector:null,maxCount:6,notificationCenterNavMsg:”View all {newCount} notifications”,notificationCenterPath:””,notificationTypes:””,parentSelector:null,styleTagId:”notificationStyles”,theme:”default”},service:{attemptCount:2,attemptDelay:1,url:null,resetUrl:null,isRMP:!1,responseType:”json”,timeout:1500}},Main=function(){function e(n){classCallCheck(this,e);var t=this;t.config=t._parseConfig(n),t._validateRequiredConfigs()&&(t._request=new NotificationRequest(t.config),t._store=new NotificationStore(t.config,t._request),t._view=new NotificationView(t.config,t._store),t._panelController=new PanelController(t.config,t._store,t._view),t._panelController.createPanelParentNode(),t._assignHelperMethods())}return createClass(e,[{key:”_parseConfig”,value:function(e){var n={};for(var t in objectAssign(n,config),n)if(n.hasOwnProperty(t)){var i=n[t],o=e[t];”object”===(void 0===i?”undefined”:_typeof(i))?objectAssign(i,o):n[t]=e[t]}return n}},{key:”_validateRequiredConfigs”,value:function(){var e=this.config;return!(!e.panel.parentSelector||!e.service.url)}},{key:”_assignHelperMethods”,value:function(){var e=this;e.helpers={refreshPanelNode:e._panelController.refreshPanelNode.bind(e._panelController),resetBadge:e._panelController.resetBadge.bind(e._panelController),resetIndicator:function(){removeClass(e._panelController._indicatorNode,e.config.panel.indicatorClass)}}}}]),e}(),notificationClient_module_min=Main,notificationClient={NotificationClient:notificationClient_module_min},CONSUMPTION_STORAGE_KEY=”lnct”,NotifClient=function(){function e(){var e,n;this.personalized=!1,this.ybarElem=document.getElementById(“ybar”),this.partnerClasses=null===(n=null===(e=this.ybarElem)||void 0===e?void 0:e.className)||void 0===n?void 0:n.match(/ybar-variant-([a-z]*)/),this.client=new notificationClient.NotificationClient(this.getConfig())}return e.prototype.refreshPanel=function(){var e,n,t,i=this,o={lastUpdate:this.getTimeStamp()||this.setTimeStamp(),loadInHpViewer:!0,includePersonalized:this.personalized},r=(null===(e=window.YAHOO)||void 0===e?void 0:e.context)||(null===(n=window.Af)||void 0===n?void 0:n.context)||{};return r.region&&r.lang&&(o.lang=r.lang,o.region=r.region),(null===(t=this.partnerClasses)||void 0===t?void 0:t.length)&&(o.partner=this.partnerClasses[1]),new Promise((function(e,n){i.client.helpers.refreshPanelNode({matrixParams:o},(function(t,i){t&&(logError(“Notification refresh error:”,t),n(t)),e(i)}))}))},e.prototype.resetBadge=function(){this.client.helpers.resetBadge(),this.setTimeStamp()},e.prototype.getConfig=function(){var e,n,t,i,o={promos:{eligibleBodyClass:”display-push-promos”,enableNotifOnboard:!0},badge:{selector:”#notif-badge”,hideClass:”ybar-notification-hidden”},panel:{emptyPanelMsg:”You have no new notifications.”,errorMsg:”Please check back later.”,headerMsg:”Notifications”,maxCount:5,parentSelector:”#ybarNotificationBody”,notificationTypes:”breakingNews”},service:{url:”/tdv2_fp/api/resource/NotificationHistory.getHistory”,isRMP:!1}},r=document.getElementById(“notification-container”),s=null===(e=null==r?void 0:r.dataset)||void 0===e?void 0:e.config,a={};if(s){“att”===(null===(n=this.partnerClasses)||void 0===n?void 0:n[1])&&(o.promos.showYahooLogo=!1);try{var c=JSON.parse(s);a=__assign({},c),this.personalized=1===c.personalize}catch(e){logError(“Notifications config parsing error”,e)}r&&delete r.dataset.config}var l=this.mergeConfigs(o,a);return(null===(t=this.partnerClasses)||void 0===t?void 0:t.length)&&(null===(i=l.promos)||void 0===i?void 0:i.subscriptionTopic)&&delete l.promos.subscriptionTopic,l},e.prototype.mergeConfigs=function(e,n){var t=__assign({},e);for(var i in e)t[i]=__assign(__assign({},e[i]),n[i]);return t},e.prototype.getTimeStamp=function(){var e;return null===(e=window.localStorage)||void 0===e?void 0:e.getItem(CONSUMPTION_STORAGE_KEY)},e.prototype.setTimeStamp=function(){var e,n=””+Math.floor((new Date).getTime()/1e3);return null===(e=window.localStorage)||void 0===e||e.setItem(CONSUMPTION_STORAGE_KEY,n),n},e}(),notifClient=new NotifClient,getNotifClient=function(){return notifClient},reInit=function(){notifClient=new NotifClient},ybarRapid,ybarRapidInterval,ybarRapidErrMsg=””,beaconQueue=[],noop=function(){},logRapidError=function(){window.removeEventListener(“beforeunload”,logRapidError),””!==ybarRapidErrMsg&&logError(“Rapid not found on page”,new Error(ybarRapidErrMsg))},findRapidWithSpaceid=function(e){var n=void 0;if(e&&e.length>0)for(var t=0;t0){if(ybarRapid.addModules(o,!1,i),beaconQueue.length>0)for(e=0;e90&&fireImageBeacon(“performance”,e)}catch(e){}}),1e3)}))},measureInit=measure(“ybar-init”);initYbar(),measureInit.stop(),initPerformanceMetricsBeaconListener(),initRapid(),initErrorBeaconListener();var selected=”_yb_jzayl”,Css$7={“right-item”:”_yb_25j2b”,selected:selected,”ybar-mod-topnavigation”:”_yb_1o38m”,”ybar-mod-topnavigation-teaser-imp”:”_yb_1oij6″},DOCUMENT_NODE_TYPE=9;if(“undefined”!=typeof Element&&!Element.prototype.matches){var proto=Element.prototype;proto.matches=proto.matchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector}function closest(e,n){for(;e&&e.nodeType!==DOCUMENT_NODE_TYPE;){if(“function”==typeof e.matches&&e.matches(n))return e;e=e.parentNode}}var closest_1=closest;function _delegate(e,n,t,i,o){var r=listener.apply(this,arguments);return e.addEventListener(t,r,o),{destroy:function(){e.removeEventListener(t,r,o)}}}function delegate(e,n,t,i,o){return”function”==typeof e.addEventListener?_delegate.apply(null,arguments):”function”==typeof t?_delegate.bind(null,document).apply(null,arguments):(“string”==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return _delegate(e,n,t,i,o)})))}function listener(e,n,t,i){return function(t){t.delegateTarget=closest_1(t.target,n),t.delegateTarget&&i.call(e,t)}}var delegate_1=delegate,ListNode=function(e){this.data=e,this.next=null,this.prev=null},LinkedList=function(){function e(){this.head=null,this.tail=null}return e.prototype.push=function(e){var n=new ListNode(e);return this.head?this.tail?(n.prev=this.tail,this.tail.next=n,this.tail=n):(this.tail=n,this.tail.prev=this.head,this.head.next=this.tail):(this.head=n,n.next=this.tail),n},e.prototype.size=function(){for(var e=0,n=this.head;n;)e+=1,n=n.next;return e},e.prototype.getHead=function(){return this.head},e.prototype.getTail=function(){return this.tail},e.prototype.get=function(e){if(e>=this.size())return null;for(var n=0,t=this.head;(null==t?void 0:t.next)&&n0&&Array.prototype.forEach.call(e,(function(e){e.onerror=function(){e.onerror=null,e.style.display=”none”}}))},fixLogoOutline=function(e,n){e&&(hideOutlineOnMouseDown(“#ybar-logo”,”#ybar-logo”,n),n.onDestroy((function(){e.classList.remove(“ybar-show-outline”),e.classList.remove(“ybar-hide-outline”)})))},logoClick=function(e,n){n&&e.addElementListener(n,”click”,(function(){e.triggerEvent(“logo-click”)}))},init$4=function(e,n){n.logoImages&&hideLogosOnError(n.logoImages),n.wrapper&&(fixLogoOutline(n.wrapper,e),logoClick(e,n.wrapper))};initModule(“ybar-mod-logo”,(function(e){var n={wrapper:document.getElementById(“ybar-logo”),logoImages:document.querySelectorAll(“.”.concat(Css$6[“logo-image”]))};init$4(e,n)}));var overlay$1=”_yb_12lgy”,tooltip=”_yb_12q59″,tooltip__text=”_yb_1d5ug”,tooltip__voice=”_yb_1xpmk”,tooltip__web=”_yb_dgyn0″,dark=”_yb_183ar”,darker=”_yb_1yc1q”,light=”_yb_ygnhg”,midnight60=”_yb_18lo3″,Css$5={“dropdown-open”:”_yb_1dctr”,”merchant-is-selected”:”_yb_18dyt”,overlay:overlay$1,”selected-merchant-clear-button”:”_yb_mo1c8″,”shops-buttons”:”_yb_2zvzp”,”styled-select”:”_yb_couwt”,tooltip:tooltip,”tooltip–show”:”_yb_cbae6″,tooltip__text:tooltip__text,tooltip__voice:tooltip__voice,tooltip__web:tooltip__web,dark:dark,darker:darker,light:light,midnight60:midnight60},range=function(e,n){var t=Math.max(e,n),i=Math.min(e,n),o=Math.abs(t-i);return __spreadArray([],new Array(o+1),!0).map((function(e,n){return i+n}))},openSearchOverlay=function(e,n,t){var i=e.getConfig().bucketConfig,o=(void 0===i?{}:i).enable_search_ui,r=void 0!==o&&o;if(n.ybar){n.ybar.classList.add(“ybar-searchbox-assist-fullscreen”),document.documentElement.classList.add(“ybar-overlay”),document.body.classList.add(“ybar-overlay-noscroll”);beaconClick(“ybar”,”websrch”,””,{elm:”expand”,subsec:”searchbox”,itc:”1″}),setTimeout((function(){n.searchInput instanceof HTMLInputElement&&(t&&(n.searchInput.value=t),n.searchInput.focus(),r&&n.searchInput.click())}))}},closeSearchOverlay=function(e){var n;null===(n=e.ybar)||void 0===n||n.classList.remove(“ybar-searchbox-assist-fullscreen”),document.documentElement.classList.remove(“ybar-overlay”),document.body.classList.remove(“ybar-overlay-noscroll”),e.searchInput instanceof HTMLInputElement&&(e.searchInput.value=””,e.searchInput.blur())},initMweb=function(e,n){“smartphone”===e.getConfig().device&&(e.addElementListener(n.searchBoxPlaceholder,”click”,(function(){openSearchOverlay(e,n)})),e.addElementListener(n.searchBoxPlaceholder,”keydown”,(function(t){var i=t,o=i.keyCode,r=i.key,s=range(65,90),a=__spreadArray(__spreadArray([],range(58,57),!0),range(96,105),!0),c=__spreadArray(__spreadArray([],s,!0),a,!0).includes(o);(32===o||13===o||c)&&(t.preventDefault(),t.stopPropagation(),openSearchOverlay(e,n,c?r:””))})),n.searchBoxBackButton&&(e.addElementListener(n.searchBoxBackButton,”click”,(function(e){e.stopPropagation(),closeSearchOverlay(n);beaconClick(“ybar”,”back-close-srch”,””,{elm:”btn”,subsec:”searchbox”,itc:”1″})})),e.addElementListener(n.searchInput,”keyup”,(function(e){e.stopPropagation();27===e.keyCode&&(e.stopPropagation(),closeSearchOverlay(n))}))),e.onDestroy((function(){closeSearchOverlay(n)})))},Tooltip=function(){function e(e,n,t){n&&(this.ybar=e,this.elem=n,this.options=t,this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.addEventListeners())}return Object.defineProperty(e.prototype,”tooltip”,{get:function(){var e=this;return this.tooltipMarkup||(this.tooltipMarkup=this.createTooltip(),(this.options.tooltipParentElm||this.elem).appendChild(this.tooltipMarkup),this.ybar.onDestroy((function(){var n,t;null===(t=null===(n=e.tooltipMarkup)||void 0===n?void 0:n.parentNode)||void 0===t||t.removeChild(e.tooltipMarkup)}))),this.tooltipMarkup},enumerable:!1,configurable:!0}),e.prototype.show=function(){this.tooltip.classList.add(this.options.showClass)},e.prototype.hide=function(){this.tooltip.classList.remove(this.options.showClass)},e.prototype.addEventListeners=function(){this.ybar.addElementListener(this.elem,”mouseenter”,this.show),this.ybar.addElementListener(this.elem,”focus”,this.show),this.ybar.addElementListener(this.elem,”mouseleave”,this.hide),this.ybar.addElementListener(this.elem,”blur”,this.hide)},e.prototype.createTooltip=function(){var e=document.createElement(“div”);e.className=this.options.containerClass||””;var n=document.createElement(“p”);return n.textContent=this.options.label,n.className=this.options.textClass||””,e.appendChild(n),e},e}();createCommonjsModule((function(module){(function(){var __webpack_modules__={“./src/index.js”:
/*!**********************!*
!*** ./src/index.js ***!
**********************/function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval(“var I18n = __webpack_require__(/*! ./lib/I18n */ “./src/lib/I18n.js”);nn(function (win, doc) {n “use strict”;nn var defaultConfig = {n uiLang: ‘en-US’,n speechLang: ‘en-US’,n voiceButton: ‘#voice-btn’,n searchBox: {n form: ‘#sf’,n input: ‘#yschsp’,n params: {n fr: ”,n fr2: ”n }n },n enable_voice_trending: false,n trending: {n market: “en-us”n },n ui: {n speechOverlay: {n disableBlur: falsen }n },n browsers: {n edge: falsen }n };nn function VoiceSearch(config) {n var self = this;n self.config = Object.assign(defaultConfig, config || {});n self.i18n = new VoiceSearch.I18n({n lang: self.config.uiLangn });n self.renderPermissionGuide(self);n self.renderSpeechPanel(self);n self.speechResult = ”;n self.noSpeech = true;n self.isRecognitionStart = false;n self.recognition = null;n self.voiceButton = doc.querySelector(self.config.voiceButton);n self.searchBoxForm = doc.querySelector(self.config.searchBox.form);n self.searchBoxQuery = doc.querySelector(self.config.searchBox.input);n self.speechPanel = doc.querySelector(‘#spch’);n self.speechButtonContainer = doc.querySelector(‘#spchbc’);n self.speechButton = doc.querySelector(‘#spchbc-btn’);n self.speechText = doc.querySelector(‘#spcht’);n self.speechOverlay = doc.getElementById(‘spch-overlay’);n self.retryLink = doc.querySelector(‘#spcht-retry’);n self.trending = doc.getElementById(‘spch-trending’);n self.trendingTerms = doc.getElementById(‘trending-terms’);n self.termSpans = doc.getElementsByClassName(“trending-term”);n self.closeButton = doc.querySelector(‘#spchx’);n self.startAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-start-202105050733.wav’);n self.resultAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-result-202105050733.wav’);n self.errorAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-error-202105050733.wav’);n self.closeAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-close-202105050733.wav’);n self.permissionGuide = doc.querySelector(‘#spchp’);n self.permissionGuideClose = doc.querySelector(‘#spchpx’);n self.permissionGuideTimer = null;nn self.onEscKeyDown = function (e) {n if (e.code !== ‘Escape’) {n return;n }nn self.recognition.stop();n self.sendBeacon(‘keybrd’, ‘voicesearch_cancel_esc’); // The clean up should put inside closePanel() instead of here,n // or func won’t be cleaned up if user close panel with btn or overlaynn self.closePanel(self);n };nn if (self.isBrowserSupported()) {n var SpeechRecognition = win.SpeechRecognition || win.webkitSpeechRecognition;n var SpeechGrammarList = win.SpeechGrammarList || win.webkitSpeechGrammarList;n var speechGrammar = ‘#JSGF V1.0;’;n self.recognition = new SpeechRecognition();n var speechRecognitionList = new SpeechGrammarList();nn if (speechRecognitionList.addFromString) {n speechRecognitionList.addFromString(speechGrammar, 1);n }nn self.recognition.grammars = speechRecognitionList;n self.recognition.continuous = false;n self.recognition.lang = self.config.speechLang;n self.recognition.interimResults = false;n self.recognition.maxAlternatives = 1;n /* Listeners */nn if (self.voiceButton) {n self.voiceButton.onclick = function () {n self.recognition.start();nn if (self.permissionGuideTimer) {n win.clearTimeout(self.permissionGuideTimer);n }nn self.permissionGuideTimer = win.setTimeout(function () {n if (!self.isRecognitionStart) {n self.showPermissionGuide(self);n }n }, 300); // Also close when pressing escnn doc.addEventListener(‘keydown’, self.onEscKeyDown);n self.sendBeacon(‘clk’, ‘voicesearch’);n };n }nn if (self.speechButton) {n self.speechButton.onclick = function () {n if (!self.isRecognitionStart) {n self.recognition.start();n self.sendBeacon(‘clk’, ‘voicesearch_panel_mic_restart’);n } else {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_panel_mic_close’);n self.closePanel(self);n }n };n }nn if (self.retryLink) {n self.retryLink.onclick = function () {n if (!self.isRecognitionStart) {n self.recognition.start();n self.sendBeacon(‘clk’, ‘voicesearch_panel_retry’);n }n };n }nn if (self.speechOverlay) {n self.speechOverlay.onclick = function () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_cancel_outside’);n self.closePanel(self);n };n }nn if (self.closeButton) {n self.closeButton.onclick = functionn /*event*/n () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_cancel’);n self.closePanel(self);n };n }nn if (self.permissionGuideClose) {n self.permissionGuideClose.onclick = functionn /*event*/n () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_permission_close’);n self.closeAudio.play();n self.hidePermissionGuide(self);n };n }n /* Recognition Events */nnn self.recognition.onresult = function (event) {n // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList objectn // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.n // It has a getter so it can be accessed like an arrayn // The first [0] returns the SpeechRecognitionResult at the last position.n // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.n // These also have getters so they can be accessed like arrays.n // The second [0] returns the SpeechRecognitionAlternative at position 0.n // We then return the transcript property of the SpeechRecognitionAlternative objectn // console.log(‘Confidence: ‘ + event.results[0][0].confidence);n self.speechResult = event.results[0][0].transcript;n /* Punctuation Handling: Check last character and strip it if necessary */nn self.handlePunctuation(self);nn if (self.speechText) {n self.speechText.innerText = self.speechResult;n }nn if (self.searchBoxQuery) {n self.searchBoxQuery.value = self.speechResult;n }nn self.resultAudio.play();n win.setTimeout(function () {n if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb”);n self.speechPanel.classList.add(“s2tb-h”);n }nn self.hideRetryLink(self);nn if (self.searchBoxForm) {n var inputFr = self.searchBoxForm.querySelector(‘[name=fr]’);n var inputFr2 = self.searchBoxForm.querySelector(‘[name=fr2]’);nn if (inputFr && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr) {n inputFr.value = config.searchBox.params.fr;n inputFr.disabled = false; // for homepage casen }nn if (inputFr2 && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr2) {n inputFr2.value = config.searchBox.params.fr2;n inputFr2.disabled = false; // for homepage casen }nn self.searchBoxForm.submit();n }n }, 1000);n };nn self.recognition.onspeechstart = functionn /*event*/n () {// Fired when speech startsn };nn self.recognition.onspeechend = function () {n // Fired when speech endsn self.recognition.stop();n };nn self.recognition.onerror = functionn /*event*/n () {n // console.log(‘Error occurred in recognition: ‘ + event.error);n if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_error’);n }nn self.hideTrending(self);n self.showRetryLink(self);n self.errorAudio.play();n };nn self.recognition.onaudiostart = functionn /*event*/n () {n // Fired when the user agent has started to capture audio.n if (self.speechButtonContainer) {n self.speechButtonContainer.classList.add(“listening”);n }n };nn self.recognition.onaudioend = functionn /*event*/n () {n // Fired when the user agent has finished capturing audio.n if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“listening”);n }n };nn self.recognition.onsoundstart = functionn /*event*/n () {n // Fired when any sound — recognisable speech or not — has been detected.n self.hideTrending(self);n self.noSpeech = false;nn if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“listening”);n self.speechButtonContainer.classList.add(“speaking”);n }n };nn self.recognition.onsoundend = functionn /*event*/n () {n // Fired when no sound presentn if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“speaking”);n }n };nn self.recognition.onstart = functionn /*event*/n () {n // Fired when the speech recognition service has begun listeningn self.recognitionInit(self);n self.startRecognition(self);n };nn self.recognition.onend = functionn /*event*/n () {n // Fired when the speech recognition service has disconnected.n self.isRecognitionStart = false;nn if (self.noSpeech == false && self.speechResult == ”) {n // No match: Fired when the speech recognition can’t recognise speechn if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_nomatch’);n }nn self.hideTrending(self);n self.showRetryLink(self);n self.errorAudio.play();n }n }; // trigger onReady event when initializednnn if (document && document.dispatchEvent) {n document.dispatchEvent(new Event(‘VOICE_JS_READY’));n }n }n } // static membersnnn VoiceSearch.I18n = I18n; // instance membersnn VoiceSearch.prototype.renderPermissionGuide = function (self) {n var tmpl = “\n

\n \n

\n

\n \n

\n

\n

“.concat(self.i18n.t(‘search.voice.permission_title’), “

\n

“).concat(self.i18n.t(‘search.voice.permission_text’), “

\n

\n

\n

\n “);n var dom = new DOMParser().parseFromString(tmpl, ‘text/html’);n document.body.appendChild(dom.body.children[0]);n };nn VoiceSearch.prototype.renderSpeechPanel = function (self) {n var tmpl = “\n

\n \n \n

\n

\n

\n \n \n \n \n \n \n

\n

\n

\n \n \n “.concat(self.i18n.t(‘search.voice.recognition_retry’), “\n

\n

\n

\n

\n

\n

\n “).concat(self.i18n.t(‘search.voice.trending_title’), “\n \n

\n

\n

\n “);n var dom = new DOMParser().parseFromString(tmpl, ‘text/html’);nn if (self && self.config && self.config.ui && self.config.ui.speechOverlay && self.config.ui.speechOverlay.disableBlur) {n dom.body.children[0].classList.add(‘disable-blur-overlay’);n }nn document.body.appendChild(dom.body.children[0]);n };nn VoiceSearch.prototype.isBrowserSupported = function () {n var isSupported = false;n var self = this;n var isChromium = Boolean(window.chrome);n var isIOSChrome = /CriOS/.test(window.navigator.userAgent);n var isEdge = /Edg\//.test(window.navigator.userAgent);n var isLegacyEdge = /Edge\//.test(window.navigator.userAgent);n var isOpera = Boolean(window.opr);n var isBrave = Boolean(window.navigator.brave);n var browsers = [// chromen {n checkEnabled: function checkEnabled() {n return true;n },n checkBrowser: function checkBrowser() {n return isChromium && !isIOSChrome && !isEdge && !isOpera && !isBrave;n },n checkAPI: function checkAPI() {n return win && (‘SpeechRecognition’ in win || ‘webkitSpeechRecognition’ in win) && (‘SpeechGrammarList’ in win || ‘webkitSpeechGrammarList’ in win);n }n }, // edgen {n checkEnabled: function checkEnabled() {n return self && self.config && self.config.browsers && self.config.browsers.edge;n },n checkBrowser: function checkBrowser() {n return isChromium && isEdge && !isLegacyEdge;n },n checkAPI: function checkAPI() {n return win && (‘SpeechRecognition’ in win || ‘webkitSpeechRecognition’ in win) && (‘SpeechGrammarList’ in win || ‘webkitSpeechGrammarList’ in win);n }n }];nn for (var b = 0; b < browsers.length; b++) {n var browser = browsers[b];nn if (browser && browser.checkBrowser && browser.checkBrowser() && browser.checkEnabled && browser.checkEnabled(self) && browser.checkAPI && browser.checkAPI()) {n isSupported = true;n }n }nn return isSupported;n };nn VoiceSearch.prototype.recognitionInit = function (self) {n // Initialize flags for checking whether user is speaking or notn self.speechResult = ”;n self.noSpeech = true;n self.isRecognitionStart = true;n };nn VoiceSearch.prototype.showPermissionGuide = function (self) {n if (self.permissionGuide) {n self.permissionGuide.classList.remove(“hide”);n }n };nn VoiceSearch.prototype.hidePermissionGuide = function (self) {n if (self.permissionGuide) {n self.permissionGuide.classList.add(“hide”);n }n };nn VoiceSearch.prototype.getTrending = function (self) {n // Call api for trending termsn if (!self.config.enable_voice_trending || !self.trending) {n return;n }nn var url = “https://api.search.yahoo.com/data/v3/search?appid=4d234a9d&market=” + self.config.trending.market + “&features=trending.voice”;n self.ajaxReq(url, function (resBody) {n if (!resBody || !resBody.response || !resBody.response.search || !resBody.response.search.results || !resBody.response.search.results[“trending.voice”]) {n return;n }nn var terms = resBody.response.search.results[“trending.voice”].data;n self.showTrending(self, terms);n });n };nn VoiceSearch.prototype.showTrending = function (self, terms) {n // params checkn if (!Array.isArray(terms) || terms.length < 3) {n return;n } // DOM checknnn if (!self.trending || !self.termSpans || !self.termSpans[0]) {n return;n }nn var trendingLabel = ”;n trendingLabel += ‘”‘ + terms[0].text + ‘”‘ + ‘, ‘;n trendingLabel += ‘”‘ + terms[1].text + ‘”‘ + ‘ ‘;n trendingLabel += self.i18n.t(‘search.voice.trending_or’) + ‘ ‘;n trendingLabel += ‘”‘ + terms[2].text + ‘”‘;n self.termSpans[0].innerText = trendingLabel;n self.trending.classList.remove(“hide”);n };nn VoiceSearch.prototype.hideTrending = function (self) {n if (!self.trending) {n return;n }nn self.trending.classList.add(“hide”);n };nn VoiceSearch.prototype.showRetryLink = function (self) {n if (self.retryLink) {n self.retryLink.innerText = self.i18n.t(‘search.voice.recognition_retry’);n self.retryLink.classList.remove(“hide”);n }n };nn VoiceSearch.prototype.hideRetryLink = function (self) {n if (self.retryLink) {n self.retryLink.classList.add(“hide”);n }n };nn VoiceSearch.prototype.startRecognition = function (self) {n self.hidePermissionGuide(self);n self.getTrending(self);n self.startAudio.play();nn if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_start’);n win.setTimeout(function () {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_listening’);n }, 2000);n }nn if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb-h”);n self.speechPanel.classList.add(“s2tb”);n }nn self.hideRetryLink(self);n };nn VoiceSearch.prototype.closePanel = function (self) {n self.closeAudio.play();n win.setTimeout(function () {n if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb”);n self.speechPanel.classList.add(“s2tb-h”);n }nn self.hideTrending(self);n self.hideRetryLink(self); // clean up esc listenernn doc.removeEventListener(‘keydown’, self.onEscKeyDown);n }, 100);n };nn VoiceSearch.prototype.handlePunctuation = function (self) {n if (self.speechResult.length > 0) {n var lastChar = self.speechResult.charAt(self.speechResult.length – 1);nn if (lastChar === ‘.’ || lastChar === ‘?’ || lastChar === ‘。’ || lastChar === ‘?’) {n self.speechResult = self.speechResult.slice(0, -1);n }n }n };nn VoiceSearch.prototype.sendBeacon = function (actn, slk) {n var ULT = win.YAHOO.ULT || {},n SB = win.YAHOO.SB || {};nn if (ULT.beacon_click) {n var trackParams = {n _S: SB.config.i13n.spaceid,n _I: SB.config.i13n.pvid,n actn: actn,n sec: ‘search’,n slk: slkn };n win.YAHOO.ULT.beacon_click(trackParams);n }n };nn VoiceSearch.prototype.ajaxReq = function (url, callback) {n var DONE_STATE = XMLHttpRequest.DONE || 4; // for IE-compatibilitynn var xhr = new XMLHttpRequest();n var responseRaw;n var response; // CORS request only for IE8/IE9nn if (doc.documentMode && doc.documentMode < 10) {n var xdr = new win.XDomainRequest();nn xdr.onload = function () {n try {n response = JSON.parse(responseRaw);n callback(response);n } catch (err) {n return;n }n };nn xhr.open(‘GET’, url);n xhr.send();n return;n } // CORS request for browers newer than IE9nnn xhr.onreadystatechange = function () {n if (xhr.readyState !== DONE_STATE) {n return;n } // handle ajax responsennn switch (xhr.status) {n case 200:n responseRaw = xhr.responseText;nn try {n response = JSON.parse(responseRaw);n callback(response);n } catch (err) {n return;n }nn break;nn default:n // non-200 status code: retry or assume failuren callback(response);n break;n }n };nn xhr.open(‘GET’, url, true);n /* aync request */nn xhr.timeout = 10000;n xhr.send();n };nn if (!win.YAHOO) {n win.YAHOO = {};n }nn if (!win.YAHOO.Util) {n win.YAHOO.Util = {};n }nn win.YAHOO.Util.VoiceSearch = VoiceSearch;n})(window, document);nn//# sourceURL=webpack://@vzmi/voicejs/./src/index.js?”)},”./src/lib/I18n.js”:
/*!*************************!*
!*** ./src/lib/I18n.js ***!
*************************/function(module,__unused_webpack_exports,__webpack_require__){eval(“module.exports = function () {n var LANG_LIST = __webpack_require__(/*! ./lang_list.json */ “./src/lib/lang_list.json”);nn var DEFAULT_LANG = ‘default’;nn var isValidLang = function isValidLang(lang) {n return LANG_LIST.indexOf(lang) !== -1;n }; // convert language strings to key-value mapnnn var buildStrMap = function buildStrMap(langStrings) {n return langStrings.reduce(function (strMap, item) {n strMap[item.id] = item.defaultMessage;n return strMap;n }, {});n };nn var I18n = function I18n(options) {n // initializen this.lang = isValidLang(options && options.lang) ? options.lang : DEFAULT_LANG;n }; // static membersnnn I18n.langMap = {};n I18n.langMap[DEFAULT_LANG] = buildStrMap(__webpack_require__(/*! ../lang/strings.json */ “./src/lang/strings.json”));nn I18n.setLangMap = function (lang, strings) {n if (lang && strings) {n I18n.langMap[lang] = buildStrMap(strings);n }n }; // instance membersnnn I18n.prototype = {n t: function t(id) {n switch (true) {n // look up target languagen case Boolean(I18n.langMap && I18n.langMap[this.lang] && I18n.langMap[this.lang][id]):n return I18n.langMap[this.lang][id];n // fallback to default stringsnn case Boolean(I18n.langMap && I18n.langMap[DEFAULT_LANG] && I18n.langMap[DEFAULT_LANG][id]):n return I18n.langMap[DEFAULT_LANG][id];nn default:n return ”;n }n }n };n return I18n;n}();nn//# sourceURL=webpack://@vzmi/voicejs/./src/lib/I18n.js?”)},”./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css”:
/*!*******************************************************************************************************!*
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css ***!
*******************************************************************************************************/function(module,__webpack_exports__,__webpack_require__){eval(‘__webpack_require__.r(__webpack_exports__);n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ “./node_modules/css-loader/dist/runtime/api.js”);n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);n// Importsnnvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});n// Modulen___CSS_LOADER_EXPORT___.push([module.id, “/* Sprites */\n#spchp.permission-guide .guide .microphone .sprite,\n#spchp .close-button,\n#spch .close-button,\n#spch .spchc .microphone,\n#spch .spchc .speaking .microphone {\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch1x-1620383531565.min.png);\n background-repeat: no-repeat;\n background-size: initial;\n color: transparent;\n}\n/* Retina displays */\n@media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and (min-device-pixel-ratio: 2),\n only screen and (min-resolution: 192dpi),\n only screen and (min-resolution: 2dppx) {\n#spchp.permission-guide .guide .microphone .sprite,\n#spchp .close-button,\n#spch .close-button,\n#spch .spchc .microphone,\n#spch .spchc .speaking .microphone {\n background-size: 41px 330px;\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch2x-1620383531565.min.png)\n}\n }\n\n/* permission guide */\n#spchp.permission-guide {\n height: 100%;\n width: 100%;\n padding: 0;\n opacity: 0.9;\n background-color: #fff;\n left: 0;\n overflow: hidden;\n position: fixed;\n text-align: left;\n top: 0;\n z-index: 10000;\n transition: visibility 0s linear 0.218s, background-color 0.218s;\n}\n#spchp.permission-guide .close-button {\n background-position: 0 0;\n width: 24px;\n height: 24px;\n border: none;\n cursor: pointer;\n right: 0;\n margin: 20px;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: 10;\n opacity: 0.8;\n }\n#spchp.permission-guide .close-button:hover {\n opacity: 1;\n }\n#spchp.permission-guide .guide {\n margin: 191px 0 0 507px;\n }\n#spchp.permission-guide .guide .microphone {\n height: 68px;\n width: 52px;\n border-right: 1px solid #232a31;\n float: left;\n }\n#spchp.permission-guide .guide .microphone .sprite {\n background-position: 0 -105px;\n width: 28px;\n height: 28px;\n }\n#spchp.permission-guide .guide .guide-text {\n height: 68px;\n margin-left: 24px;\n float: left;\n }\n#spchp.permission-guide .guide .guide-text .title {\n color: #232a31;\n font-size: 32px;\n font-family: HelveticaNeue-Bold;\n line-height: 28px;\n margin-bottom: 16px;\n }\n#spchp.permission-guide .guide .guide-text .text {\n color: #232a31;\n font-size: 16px;\n line-height: 28px;\n }\n#spchp.permission-guide.hide {\n display: none;\n }\n\n/* speech panel */\n#spch.spch {\n background: #fff;\n height: 100%;\n left: 0;\n opacity: 0;\n overflow: hidden;\n position: fixed;\n text-align: left;\n top: 0;\n visibility: hidden;\n width: 100%;\n z-index: 10000;\n transition: visibility 0s linear 0.218s, background-color 0.218s;\n}\n#spch.spch .close-button {\n background-position: 0 0;\n width: 24px;\n height: 24px;\n border: none;\n cursor: pointer;\n right: 0;\n margin: 20px;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: 10;\n opacity: 0.8;\n }\n#spch.spch .close-button:hover {\n opacity: 1;\n }\n#spch.spch .spchc {\n display: block;\n height: 97px;\n pointer-events: none;\n }\n#spch.spch .spchc .inner-container {\n width: 100%;\n height: 100%;\n opacity: 0.1;\n pointer-events: none;\n transition: opacity 0.318s ease-in;\n }\n#spch.spch .spchc .inner-container .spch-control {\n display: inline-block;\n }\n#spch.spch .spchc .inner-container .text-container {\n float: left;\n height: 91px;\n overflow: hidden;\n margin: 3px 0;\n pointer-events: none;\n width: calc(50% – 48.5px);\n }\n#spch.spch .spchc .inner-container .text-container p {\n display: table-cell;\n vertical-align: middle;\n width: 550px;\n height: 97px;\n }\n#spch.spch .spchc .inner-container .text-container .spcht {\n font-weight: normal;\n color: #6e7780;\n line-height: normal;\n opacity: 0;\n pointer-events: none;\n text-align: left;\n -webkit-font-smoothing: antialiased;\n transition: opacity 0.1s ease-in, margin-left 0.5s ease-in, top 0s linear 0.218s;\n }\n#spch.spch .spchc .inner-container .text-container .spcht.hide {\n display: none;\n }\n#spch.spch .spchc .inner-container .text-container #spcht-retry {\n color: #0f69ff;\n cursor: pointer;\n pointer-events: auto;\n }\n#spch.spch .spchc .inner-container .button-container {\n pointer-events: none;\n position: relative;\n transition: transform 0.218s, opacity 0.218s ease-in;\n }\n#spch.spch .spchc .inner-container .button-container .button {\n background-color: #fff;\n border: 1px solid #eee;\n border-radius: 100%;\n bottom: 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n display: inline-block;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n top: 0;\n transition: background-color 0.218s, border 0.218s, box-shadow 0.218s;\n }\n#spch.spch .spchc .inner-container .button-container .button .microphone {\n background-position: 0 -24px;\n width: 41px;\n height: 41px;\n left: 27px;\n pointer-events: none;\n position: absolute;\n top: 27px;\n transform: scale(1);\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple {\n position: absolute;\n width: 136px;\n height: 136px;\n z-index: -1;\n left: 50%;\n top: 50%;\n opacity: 0;\n margin: -70px 0 0 -70px;\n border-radius: 100px;\n -webkit-animation: ripple 3.3s infinite;\n animation: ripple 3.3s infinite;\n background-color: #fff !important;\n border: 2px solid #e0e4e9;\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(2) {\n -webkit-animation-delay: 1.1s;\n animation-delay: 1.1s;\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(3) {\n -webkit-animation-delay: 2.2s;\n animation-delay: 2.2s;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .button {\n background-color: #0f69ff;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .button .microphone {\n background-position: 0 -65px;\n width: 40px;\n height: 40px;\n pointer-events: none;\n position: absolute;\n transform: scale(1);\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple {\n background-size: 114px;\n position: absolute;\n width: 114px;\n height: 114px;\n z-index: -1;\n left: 50%;\n top: 50%;\n margin: -57px 0 0 -57px;\n -webkit-animation: speakingRipple1 2s infinite;\n animation: speakingRipple1 2s infinite;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(2) {\n background-size: 123px;\n width: 123px;\n height: 123px;\n margin: -62px 0 0 -62px;\n -webkit-animation: speakingRipple2 2s infinite;\n animation: speakingRipple2 2s infinite;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(3) {\n background-size: 136px;\n width: 136px;\n height: 136px;\n margin: -68px 0 0 -68px;\n -webkit-animation: speakingRipple3 2s infinite;\n animation: speakingRipple3 2s infinite;\n }\n#spch.spch .spcho {\n background-image: linear-gradient(to bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 99%);\n display: block;\n min-width: 100%;\n text-align: center;\n top: 145px;\n padding-bottom: 71px;\n pointer-events: auto;\n }\n#spch.spch .spcho #spch-trending {\n -webkit-animation: fadeIn 1s forwards;\n animation: fadeIn 1s forwards;\n opacity: 0;\n }\n#spch.spch .spcho #spch-trending .trending {\n color: #6e7780;\n display: inline-block;\n font-size: 16px;\n }\n#spch.spch .spcho #spch-trending #trending-label {\n font-weight: bold;\n margin: 5px 5px;\n }\n#spch.spch .spcho #spch-trending.hide {\n display: none;\n }\n#spch.spch.s2tb .spchc, #spch.spch.s2tb-h .spchc {\n background: #fff;\n box-sizing: border-box;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n height: auto;\n margin: 0;\n min-width: 100%;\n overflow: hidden;\n padding: 24px 115px;\n }\n#spch.spch.s2tb .spchc .inner-container, #spch.spch.s2tb-h .spchc .inner-container {\n opacity: 1;\n transition: opacity 0.318s ease-in;\n }\n#spch.spch.s2tb .spchc .inner-container .text-container, #spch.spch.s2tb-h .spchc .inner-container .text-container {\n position: relative;\n }\n#spch.spch.s2tb {\n background: rgba(255, 255, 255, 0);\n opacity: 1;\n visibility: visible;\n transition-delay: 0s;\n }\n#spch.spch.s2tb .spchc .inner-container .button-container {\n transform: scale(1);\n height: 97px;\n right: 0;\n top: 0;\n width: 97px;\n }\n#spch.spch.s2tb .spchc .inner-container .button-container .button {\n opacity: 1;\n pointer-events: auto;\n position: absolute;\n transform: scale(1);\n transition-delay: 0;\n }\n#spch.spch.s2tb .spchc .inner-container .text-container .spcht {\n font-size: 24px;\n margin-left: 0;\n opacity: 1;\n transition: opacity 0.5s ease-out, margin-left 0.5s ease-out;\n }\n#spch.spch.s2tb #spch-overlay {\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n background-color: #fff;\n height: 100%;\n opacity: 0.9;\n position: absolute;\n top: 149px;\n\n /* spchc’s height */\n width: 100%;\n }\n#spch.spch.disable-blur-overlay #spch-overlay {\n background-color: transparent;\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n }\n#spch.spch.disable-blur-overlay .spcho {\n height: 27px;\n padding-bottom: 20px;\n background: #fff;\n background-image: none;\n box-shadow: 0 8px 6px -6px rgb(0 0 0 / 20%);\n }\n#spch.spch.s2tb-h {\n background: rgba(255, 255, 255, 0);\n opacity: 0;\n visibility: hidden;\n }\n\n@-webkit-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@-webkit-keyframes ripple {\n 0% {\n opacity: 1;\n transform: scale(0.7);\n }\n\n 100% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@keyframes ripple {\n 0% {\n opacity: 1;\n transform: scale(0.7);\n }\n\n 100% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@-webkit-keyframes speakingRipple1 {\n 0%,\n 100% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\”);\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple1 {\n 0%,\n 100% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\”);\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@-webkit-keyframes speakingRipple2 {\n 0%,\n 100% {\n background-image: none;\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple2 {\n 0%,\n 100% {\n background-image: none;\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@-webkit-keyframes speakingRipple3 {\n 0%,\n 25%,\n 75%,\n 100% {\n background-image: none;\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple3 {\n 0%,\n 25%,\n 75%,\n 100% {\n background-image: none;\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n”, “”]);n// Exportsn/* harmony default export */ __webpack_exports__[“default”] = (___CSS_LOADER_EXPORT___);nnn//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js’)},”./node_modules/css-loader/dist/runtime/api.js”:
/*!*****************************************************!*
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
*****************************************************/function(module){eval(‘nn/*n MIT License http://www.opensource.org/licenses/mit-license.phpn Author Tobias Koppers @sokran*/n// css base code, injected by the css-loadern// eslint-disable-next-line func-namesnmodule.exports = function (cssWithMappingToString) {n var list = []; // return the list of modules as css stringnn list.toString = function toString() {n return this.map(function (item) {n var content = cssWithMappingToString(item);nn if (item[2]) {n return “@media “.concat(item[2], ” {“).concat(content, “}”);n }nn return content;n }).join(“”);n }; // import a list of modules into the listn // eslint-disable-next-line func-namesnnn list.i = function (modules, mediaQuery, dedupe) {n if (typeof modules === “string”) {n // eslint-disable-next-line no-param-reassignn modules = [[null, modules, “”]];n }nn var alreadyImportedModules = {};nn if (dedupe) {n for (var i = 0; i < this.length; i++) {n // eslint-disable-next-line prefer-destructuringn var id = this[i][0];nn if (id != null) {n alreadyImportedModules[id] = true;n }n }n }nn for (var _i = 0; _i < modules.length; _i++) {n var item = [].concat(modules[_i]);nn if (dedupe && alreadyImportedModules[item[0]]) {n // eslint-disable-next-line no-continuen continue;n }nn if (mediaQuery) {n if (!item[2]) {n item[2] = mediaQuery;n } else {n item[2] = “”.concat(mediaQuery, ” and “).concat(item[2]);n }n }nn list.push(item);n }n };nn return list;n};nn//# sourceURL=webpack://@vzmi/voicejs/./node_modules/css-loader/dist/runtime/api.js?’)},”./src/index.css”:
/*!***********************!*
!*** ./src/index.css ***!
***********************/function(module,__unused_webpack_exports,__webpack_require__){eval(‘var api = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ “./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js”);n var content = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js!./index.css */ “./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css”);nn content = content.__esModule ? content.default : content;nn if (typeof content === ‘string’) {n content = [[module.id, content, ”]];n }nnvar options = {};nnoptions.insert = “head”;noptions.singleton = false;nnvar update = api(content, options);nnnnmodule.exports = content.locals || {};nn//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?’)},”./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js”:
/*!****************************************************************************!*
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
****************************************************************************/function(module,__unused_webpack_exports,__webpack_require__){eval(“nnvar isOldIE = function isOldIE() {n var memo;n return function memorize() {n if (typeof memo === ‘undefined’) {n // Test for IE <= 9 as proposed by Browserhacksn // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805n // Tests for existence of standard globals is to allow style-loadern // to operate correctly into non-standard environmentsn // @see https://github.com/webpack-contrib/style-loader/issues/177n memo = Boolean(window && document && document.all && !window.atob);n }nn return memo;n };n}();nnvar getTarget = function getTarget() {n var memo = {};n return function memorize(target) {n if (typeof memo[target] === ‘undefined’) {n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itselfnn if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {n try {n // This will throw an exception if access to iframe is blockedn // due to cross-origin restrictionsn styleTarget = styleTarget.contentDocument.head;n } catch (e) {n // istanbul ignore nextn styleTarget = null;n }n }nn memo[target] = styleTarget;n }nn return memo[target];n };n}();nnvar stylesInDom = [];nnfunction getIndexByIdentifier(identifier) {n var result = -1;nn for (var i = 0; i < stylesInDom.length; i++) {n if (stylesInDom[i].identifier === identifier) {n result = i;n break;n }n }nn return result;n}nnfunction modulesToDom(list, options) {n var idCountMap = {};n var identifiers = [];nn for (var i = 0; i < list.length; i++) {n var item = list[i];n var id = options.base ? item[0] + options.base : item[0];n var count = idCountMap[id] || 0;n var identifier = “”.concat(id, ” “).concat(count);n idCountMap[id] = count + 1;n var index = getIndexByIdentifier(identifier);n var obj = {n css: item[1],n media: item[2],n sourceMap: item[3]n };nn if (index !== -1) {n stylesInDom[index].references++;n stylesInDom[index].updater(obj);n } else {n stylesInDom.push({n identifier: identifier,n updater: addStyle(obj, options),n references: 1n });n }nn identifiers.push(identifier);n }nn return identifiers;n}nnfunction insertStyleElement(options) {n var style = document.createElement(‘style’);n var attributes = options.attributes || {};nn if (typeof attributes.nonce === ‘undefined’) {n var nonce = true ? __webpack_require__.nc : 0;nn if (nonce) {n attributes.nonce = nonce;n }n }nn Object.keys(attributes).forEach(function (key) {n style.setAttribute(key, attributes[key]);n });nn if (typeof options.insert === ‘function’) {n options.insert(style);n } else {n var target = getTarget(options.insert || ‘head’);nn if (!target) {n throw new Error(“Couldn’t find a style target. This probably means that the value for the ‘insert’ parameter is invalid.”);n }nn target.appendChild(style);n }nn return style;n}nnfunction removeStyleElement(style) {n // istanbul ignore ifn if (style.parentNode === null) {n return false;n }nn style.parentNode.removeChild(style);n}n/* istanbul ignore next */nnnvar replaceText = function replaceText() {n var textStore = [];n return function replace(index, replacement) {n textStore[index] = replacement;n return textStore.filter(Boolean).join(‘\n’);n };n}();nnfunction applyToSingletonTag(style, index, remove, obj) {n var css = remove ? ” : obj.media ? “@media “.concat(obj.media, ” {“).concat(obj.css, “}”) : obj.css; // For old IEnn /* istanbul ignore if */nn if (style.styleSheet) {n style.styleSheet.cssText = replaceText(index, css);n } else {n var cssNode = document.createTextNode(css);n var childNodes = style.childNodes;nn if (childNodes[index]) {n style.removeChild(childNodes[index]);n }nn if (childNodes.length) {n style.insertBefore(cssNode, childNodes[index]);n } else {n style.appendChild(cssNode);n }n }n}nnfunction applyToTag(style, options, obj) {n var css = obj.css;n var media = obj.media;n var sourceMap = obj.sourceMap;nn if (media) {n style.setAttribute(‘media’, media);n } else {n style.removeAttribute(‘media’);n }nn if (sourceMap && typeof btoa !== ‘undefined’) {n css += “\n/*# sourceMappingURL=data:application/json;base64,”.concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), ” */”);n } // For old IEnn /* istanbul ignore if */nnn if (style.styleSheet) {n style.styleSheet.cssText = css;n } else {n while (style.firstChild) {n style.removeChild(style.firstChild);n }nn style.appendChild(document.createTextNode(css));n }n}nnvar singleton = null;nvar singletonCounter = 0;nnfunction addStyle(obj, options) {n var style;n var update;n var remove;nn if (options.singleton) {n var styleIndex = singletonCounter++;n style = singleton || (singleton = insertStyleElement(options));n update = applyToSingletonTag.bind(null, style, styleIndex, false);n remove = applyToSingletonTag.bind(null, style, styleIndex, true);n } else {n style = insertStyleElement(options);n update = applyToTag.bind(null, style, options);nn remove = function remove() {n removeStyleElement(style);n };n }nn update(obj);n return function updateStyle(newObj) {n if (newObj) {n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {n return;n }nn update(obj = newObj);n } else {n remove();n }n };n}nnmodule.exports = function (list, options) {n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of

S&P 500

3,904.77

-50.23(-1.27%)

 

Dow 30

31,261.26

-249.17(-0.79%)

 

Nasdaq

11,569.66

-246.54(-2.09%)

 

Russell 2000

1,802.12

-42.00(-2.28%)

 

Crude Oil

87.39

-2.16(-2.41%)

 

Gold

1,699.50

-26.70(-1.55%)

 

Silver

17.42

-0.47(-2.61%)

 

EUR/USD

0.9939

-0.0115(-1.14%)

 

10-Yr Bond

3.2890

+0.1560(+4.98%)

 

GBP/USD

1.1526

-0.0091(-0.78%)

 

USD/JPY

140.0040

+0.9610(+0.69%)

 

BTC-USD

19,732.35

-421.73(-2.09%)

 

CMC Crypto 200

465.45

-7.21(-1.53%)

 

FTSE 100

7,144.26

-139.89(-1.92%)

 

Nikkei 225

27,661.47

-430.06(-1.53%)

 

‘Millions will be wiped out’: Robert Kiyosaki says that the big crash he predicted is here. But now could also be the perfect time to ‘get richer’ — here’s how

Safe havens are hard to find these days.

Stocks have plunged, Bitcoin is in the doldrums and even the recently hot real estate market seems to be cooling down due to the Fed’s aggressive rate hikes.

While it might be tempting to hide out in cash, Rich Dad Poor Dad author Robert Kiyosaki believes that it could be the ideal time to “get richer.”

In a tweet on Sunday, Kiyosaki explains how he made a fortune by going against the herd during the Great Recession.

“2008 was great time to get rich. Everything went on sale. Borrowed millions of dollars buying real estate bargains,” he writes.

The author has also been calling for a major crash.

“2013 I published Rich Dads Prophecy predicting BIGGER crash coming. THAT CRASH is HERE. Millions will be wiped out.”

Here’s a look at two assets that might help you survive this storm.

Silver

The famous author is a long-time advocate of investing in precious metals.

Gold and silver have helped investors preserve their wealth for centuries. They can’t be printed out of thin air like fiat money and their value is largely unaffected by economic events around the world.

But this time, Kiyosaki is favoring one over the other, and it has to do with the gold-to-silver ratio — which simply refers to the number of silver ounces it takes to buy a single ounce of gold.

“FYI Gold Silver Ratio oldest tracked rate in history: For 20th Century the gold: silver ratio was 47:1…47 oz of silver=1 oz gold. Today 85:1,” he wrote in a tweet last month.

In other words, the current gold-to-silver ratio suggests that gold (silver) is relatively expensive (inexpensive) historically speaking.

Kiyosaki also prefers silver because of its industrial use.

“Silver is an industrial precious metal. Gold is not.”

The grey metal is widely used in the production of solar panels and is also a critical component in many vehicles’ electrical control units. The industrial demand — plus the hedging properties — makes silver a very interesting asset class for investors.

There are plenty of silver miners well-positioned for a silver price boom. Companies like Pan American Silver (PAAS), Wheaton Precious Metals (WPM), and First Majestic Silver (AG) should provide a good starting point for some research.

But Kiyosaki suggests a more straightforward approach — just buy the metal directly.

“I do not touch paper gold or silver ETFs,” he says. “For $25 bucks everyone can buy a silver coin.”

So it might be time to visit your local bullion shop.

Oil

To be sure, Kiyosaki doesn’t exactly claim that silver is immune to current market turmoil.

“All markets crashing: Real Estate, Stocks, gold, silver Bitcoin,” he tweeted last week.

But one asset’s strength is very well known at the moment: oil.

It’s not necessarily good for your wallet because higher oil prices mean you are paying more for gas. “Middle class wiped out by higher oil inflation,” Kiyosaki recently tweeted.

Of course, if you own investments with exposure to the energy sector, your portfolio in 2022 will probably look better than those without it.

The price of crude oil slipped in June and July but is still up 34% year to date.

As you’d expect, strong oil prices benefit oil producers. So far this year, investors have enjoyed outsized returns from names like Chevron (35%), Exxon Mobil (51%), and ConocoPhillips (50%).

That said, investing in commodities is a particularly volatile undertaking.

If you’d rather hedge against inflation without the extreme ups and downs of commodity-related stocks, take a look at a few under-the-radar alternative assets.

This article provides information only and should not be construed as advice. It is provided without warranty of any kind.

Advertisement

MarketWatch

Silver tumbles to 2-year low as precious metals sell off again

METALS STOCKS Precious metals prices fell again on Thursday as gold tumbled to its lowest level in roughly 6 weeks, while silver hit its lowest in more than two years as investors bet that interest rates will remain higher for longer.

GOBankingRates

CEO Tom Wheelwright on the Best and Worst Purchases He’s Made

Everyone gets buyer’s remorse, even financial pros and celebrities. GOBankingRates’ new series explores the purchases these notable figures regret — and the best money they’ve ever spent. Today…

Benzinga

Uber and Moove Join Hands To Augment EV Delivery In London

Uber Technologies, Inc (NYSE: UBER) looks to collaborate with financial technology startup Moove to boost the number of electric vehicles in London by an additional 10,000 over the next few years, Bloomberg reports. Moove has expanded its vehicle financing business to the U.K. after India and Nigeria. Moove is already Uber’s largest vehicle supply partner across Europe, the Mideast, and Africa. Moove has raised over $200 million, and its investors included the U.K. government’s British Internati

The Telegraph

German inflation hits highest level in almost 50 years

EU draws up emergency plan to cut energy costs FTSE 100 rises 0.7pc David Willetts: The system has worked for Boomers at every stage of their lives Sign up here for our daily business briefing newsletter

CoinDesk

Bitcoin’s August Sell-Off Basically Wipes Out July Gains

Bitcoin’s losses in August basically wiped out the token’s gains in July, according to the monthly bitcoin (BTC) candle chart. “All About Bitcoin” host Christine Lee breaks down the Chart of the Day.

Benzinga

DoD Budget Supports Top-Line Outlook For L3Harris, Says This Analyst

RBC Capital analyst Ken Herbert initiated coverage on L3Harris Technologies, Inc (NYSE: LHX) with an Outperform rating and a price target of $285 (23% upside). He believes the DoD budget supports a ~6% organic top-line outlook for LHX, ahead of other primes. LHX has taken a more platform-agnostic approach and benefits as the focus remain on modification and upgrades. Its Communications segment will likely determine 2H22 results, but a recovery here should help offset supply chain risks and conce

Bloomberg

US Manufacturing Growth Holds Steady, Inflation Pressures Ease

(Bloomberg) — US manufacturing growth steadied in August at the slowest pace in over two years, while a measure of materials costs declined for a fifth-straight month in a welcome sign inflationary pressures are abating.Most Read from BloombergJeremy Grantham Warns ‘Super Bubble’ in Stocks Has Yet to BurstTrump Documents Bear Hallmarks of Closest-Held US SecretsPutin Brings China and India to Russia for War Games Defying USJapan to Allow Non-Guided Group Tours From SeptemberHong Kong Officials

Reuters

Geely, oil group could take stakes in Renault engine company -sources

PARIS (Reuters) -China’s Geely Automobile Holdings and an oil group are in talks about taking stakes in the fossil-fuel engine unit Renault plans to separate from its electric vehicle (EV) business, two sources close to the French carmaker said. But Renault’s alliance partner, Japanese carmaker Nissan, does not plan to take a stake in the combustion engine unit, the sources told Reuters.

Bloomberg

Circle K Owner Couche-Tard Prowls for Deal at Up to $15 Billion

(Bloomberg) — Canada’s Alimentation Couche-Tard Inc. has the financial strength to do a $10 billion to $15 billion acquisition, and its top executive hopes that disruption in the global economy will pave the way for a sizable deal. Most Read from BloombergJeremy Grantham Warns ‘Super Bubble’ in Stocks Has Yet to BurstTrump Documents Bear Hallmarks of Closest-Held US SecretsPutin Brings China and India to Russia for War Games Defying USJapan to Allow Non-Guided Group Tours From SeptemberHong Kon

Reuters

Kremlin: Europe puts up barriers for Gazprom’s operations

The Kremlin accused the European Union on Thursday of putting up barriers to the Russian energy firm Gazprom’s operations, as Russia’s gas exports decline and the crucial Nord Stream 1 gas pipeline is closed for maintenance. Gazprom Chief Executive Alexei Miller said on Wednesday that Western sanctions were responsible for Siemens Energy being unable to carry out regular maintenance on equipment for the Nord Stream 1 natural gas pipeline, which is currently shut for three days of maintenance.

Motley Fool

3 Dividend Stocks to Buy in September for Passive Income Generation

Lots of savvy investors know that they can generate heaps of passive income with dividend-paying stocks. Here’s how they could provide ever-increasing dividend payments to your brokerage account. Shares of Abbott Laboratories (NYSE: ABT) have tumbled around 27% since the beginning of 2022 in response to subsiding demand for COVID tests.

Leave A Reply

Your email address will not be published.