{"version":3,"sources":["webpack:///./src/modules/cart/shared/components/FloatingCart.vue?05c3","webpack:///./node_modules/cache-loader/dist/cjs.js","webpack:///./src/modules/cart/shared/components/FloatingCart.vue?e4f3","webpack:///./src/modules/cart/shared/components/FloatingCart.vue","webpack:///./node_modules/engine.io-client/build/esm/transports/websocket.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/engine.io-client/build/esm/globalThis.browser.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/yeast.js","webpack:///./node_modules/engine.io-parser/build/esm/commons.js","webpack:///./node_modules/engine.io-parser/build/esm/encodePacket.browser.js","webpack:///./node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","webpack:///./node_modules/engine.io-parser/build/esm/decodePacket.browser.js","webpack:///./node_modules/engine.io-parser/build/esm/index.js","webpack:///./node_modules/engine.io-client/build/esm/transport.js","webpack:///./src/layouts/default.vue?3dcb","webpack:///./src/components/notifications-sidebar/NotificationsSidebar.vue?9d6d","webpack:///./src/layouts/default.vue?6b2f","webpack:///./src/components/notifications-sidebar/NotificationsSidebar.vue?755f","webpack:///./node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","webpack:///./src/layouts/default.vue?4139","webpack:///./src/components/notifications-sidebar/NotificationsSidebar.vue?ac50","webpack:///./src/components/notifications-sidebar/NotificationsSidebar.vue?acd0","webpack:///./src/components/notifications-sidebar/NotificationsSidebar.vue","webpack:///./src/components/global/info-dialog/InfoDialog.vue?31b6","webpack:///./src/components/global/info-dialog/InfoDialog.vue?3058","webpack:///./src/components/global/info-dialog/InfoDialog.vue","webpack:///./node_modules/engine.io-client/build/esm/contrib/has-cors.js","webpack:///./node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","webpack:///./node_modules/engine.io-client/build/esm/transports/polling.js","webpack:///./node_modules/engine.io-client/build/esm/transports/webtransport.js","webpack:///./node_modules/engine.io-client/build/esm/transports/index.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/parseuri.js","webpack:///./node_modules/engine.io-client/build/esm/socket.js","webpack:///./node_modules/engine.io-client/build/esm/index.js","webpack:///./node_modules/socket.io-client/build/esm/url.js","webpack:///./node_modules/socket.io-parser/build/esm/is-binary.js","webpack:///./node_modules/socket.io-parser/build/esm/binary.js","webpack:///./node_modules/socket.io-parser/build/esm/index.js","webpack:///./node_modules/socket.io-client/build/esm/on.js","webpack:///./node_modules/socket.io-client/build/esm/socket.js","webpack:///./node_modules/socket.io-client/build/esm/contrib/backo2.js","webpack:///./node_modules/socket.io-client/build/esm/manager.js","webpack:///./node_modules/socket.io-client/build/esm/index.js","webpack:///./node_modules/eslint-loader/index.js","webpack:///./src/components/global/news-dialog/NewsDialog.vue?3f21","webpack:///./src/components/global/news-dialog/NewsDialog.vue?1a3c","webpack:///./src/components/global/news-dialog/NewsDialog.vue","webpack:///./src/layouts/default.vue?b9ea","webpack:///./src/layouts/default.vue","webpack:///./src/modules/cart/shared/components/FloatingCart.vue?6c41","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/engine.io-client/build/esm/contrib/parseqs.js","webpack:///./node_modules/engine.io-client/build/esm/util.js","webpack:///./node_modules/@socket.io/component-emitter/index.mjs","webpack:///./node_modules/buffer/index.js","webpack:///./src/modules/cart/shared/components/FloatingCart.vue?cea2","webpack:///./src/components/global/news-dialog/NewsDialog.vue?492b","webpack:///./node_modules/isarray/index.js","webpack:///./src/components/global/news-dialog/NewsDialog.vue?d3b2","webpack:///../../../src/components/VMain/VMain.ts"],"names":["render","_obj","_obj$1","_vm","this","_h","$createElement","_c","_self","class","$style","floatingCart","isOpened","is_open_cart","cart","cartHead","cartTitle","_v","attrs","on","close_cart","prodsCount","cartProdsNum","_s","prods","length","product_declension","cartProdsSum","_f","prods_sum","cartProds","staticClass","_l","prod","i","key","product","productName","nomenclature","is_mobile","_e","productQty","quantity","max_quantity","related_products","$event","upd_item","productPrice","get_price","productDel","del","emptyCart","goToCart","cartBtn","go_to_cart","overlay","staticRenderFns","cart_store","actions","upd_item_cart_quantity","del_from_cart","FloatingCart","debounce","item","warehouse_id","project_id","id","Number","payload","products_store","upd_product_qty","$emit","get_cart","global_store","state","isMobile","carts_products","total_info","prices","nds_value","name","Cart","Pages","CART","orders_store","getters","default_const_max_cart_product_quantity","user_store","me","constants","const_max_cart_product_quantity_per_unit","mutations","UPD_QTY_CART_ITEM","cart_api_update","rub","total_sale_value","TOGGLE_IS_OPEN_CART","Vue","Component","components","TextField","injectStyles","context","locals","component","VBtn","VIcon","VOverlay","isReactNative","navigator","toLowerCase","WS","opts","super","supportsBinary","forceBase64","check","uri","protocols","extraHeaders","headers","ws","err","emitReserved","binaryType","socket","addEventListeners","onopen","autoUnref","_socket","unref","onOpen","onclose","closeEvent","onClose","description","onmessage","ev","onData","data","onerror","e","onError","packets","writable","packet","lastPacket","options","compress","perMessageDeflate","len","Buffer","byteLength","threshold","send","setTimeoutFn","close","schema","secure","query","timestampRequests","timestampParam","b64","createUri","exports","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","charCodeAt","getLens","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","globalThisShim","self","window","Function","alphabet","split","map","prev","seed","encode","encoded","Math","floor","yeast","now","Date","PACKET_TYPES","Object","create","PACKET_TYPES_REVERSE","keys","forEach","ERROR_PACKET","type","withNativeBlob","Blob","prototype","toString","call","withNativeArrayBuffer","ArrayBuffer","isView","obj","buffer","encodePacket","callback","encodeBlobAsBase64","fileReader","FileReader","onload","content","result","readAsDataURL","toArray","byteOffset","TEXT_ENCODER","encodePacketToBinary","arrayBuffer","then","TextEncoder","chars","decode","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","p","arraybuffer","bytes","decodePacket","encodedPacket","mapBinary","charAt","decodeBase64Packet","substring","packetType","decoded","SEPARATOR","String","fromCharCode","encodePayload","encodedPackets","count","decodePayload","encodedPayload","decodedPacket","createPacketEncoderStream","TransformStream","controller","payloadLength","header","DataView","setUint8","view","setUint16","setBigUint64","BigInt","enqueue","TEXT_DECODER","totalLength","chunks","reduce","acc","chunk","concatChunks","size","shift","j","slice","createPacketDecoderStream","maxPayload","TextDecoder","expectedLength","isBinary","headerArray","getUint16","n","getUint32","pow","protocol","TransportError","reason","Transport","readyState","doOpen","doClose","write","onPacket","details","onPause","_hostname","_port","path","_query","hostname","port","encodedQuery","module","nextTick","isPromiseAvailable","Promise","resolve","cb","WebSocket","MozWebSocket","usingBrowserWebSocket","defaultBinaryType","handle_click_link","is_notification_bar","is_polls_sidebar","handle_toggle","new_header","style","mainWrapper","pollsBtn","toggle_polls_sidebar","notification_bar","touchless","notificationsHead","mobileFlex","notificationsTitle","notificationsAllLink","togle_notification_bar","unred_notifs_count_indicator","v_list","messageBoxList","messageBox","decor","is_read","indicator","messageDate","date","time","noread_isread","noread","reaing_notification","messageTextNotRead","messageText","go_to_notification_detail","title","notifications_store","NotificationsSidebar","last_notifs","number_unread_notifications","value","NOTIFICATIONS_BAR_TOGGLE","arrayID","reading_notifs","Mixins","GetRouteSlugMixin","VBadge","VDivider","VList","VListItem","VNavigationDrawer","close_model","scopedSlots","_u","fn","proxy","_t","model","$$v","info_dialog_modal","expression","InfoDialog","SET_INFO_DIALOG_MODAL","SimpleDialog","XMLHttpRequest","hasCORS","XHR","xdomain","concat","createCookieJar","empty","hasXHR2","xhr","responseType","polling","location","isSSL","xd","withCredentials","cookieJar","poll","pause","total","once","doPoll","doWrite","sid","assign","req","request","method","xhrStatus","bind","pollXhr","undefined","_a","open","setDisableHeaderCheck","hasOwnProperty","setRequestHeader","addCookies","requestTimeout","timeout","onreadystatechange","parseCookies","status","onLoad","document","index","requestsCount","requests","cleanup","fromError","abort","responseText","attachEvent","unloadHandler","addEventListener","terminationEvent","WebTransport","transport","transportOptions","closed","catch","ready","createBidirectionalStream","stream","decoderStream","MAX_SAFE_INTEGER","reader","readable","pipeThrough","getReader","encoderStream","pipeTo","writer","getWriter","read","done","transports","websocket","webtransport","re","parse","str","src","b","replace","m","exec","source","host","authority","ipv6uri","pathNames","queryKey","regx","names","splice","$0","$1","$2","writeBuffer","prevBufferLen","agent","upgrade","rememberUpgrade","addTrailingSlash","rejectUnauthorized","closeOnBeforeunload","upgrades","pingInterval","pingTimeout","pingTimeoutTimer","beforeunloadEventListener","removeAllListeners","offlineEventListener","EIO","priorWebsocketSuccess","createTransport","setTransport","onDrain","failed","onTransportOpen","msg","upgrading","flush","freezeTransport","error","onTransportClose","onupgrade","to","removeListener","off","l","probe","resetPingTimeout","onHandshake","JSON","sendPacket","filterUpgrades","clearTimeoutFn","getWritablePackets","shouldCheckPayloadSize","payloadSize","cleanupAndClose","waitForUpgrade","removeEventListener","filteredUpgrades","url","loc","test","ipv6","href","withNativeFile","File","hasBinary","toJSON","isArray","arguments","deconstructPacket","buffers","packetData","pack","_deconstructPacket","attachments","placeholder","_placeholder","newData","reconstructPacket","_reconstructPacket","isIndexValid","RESERVED_EVENTS","PacketType","replacer","EVENT","ACK","encodeAsString","encodeAsBinary","BINARY_EVENT","BINARY_ACK","nsp","stringify","deconstruction","unshift","isObject","reviver","reconstructor","decodeString","isBinaryEvent","takeBinaryData","buf","c","next","tryParse","substr","isPayloadValid","CONNECT","DISCONNECT","CONNECT_ERROR","finishedReconstruction","reconPack","binData","freeze","connect","connect_error","disconnect","disconnecting","newListener","io","connected","recovered","receiveBuffer","sendBuffer","_queue","_queueSeq","ids","acks","flags","auth","_opts","_autoConnect","subs","onpacket","subEvents","_readyState","args","emit","apply","retries","fromQueue","volatile","_addToQueue","ack","pop","_registerAckCallback","isTransportWritable","engine","discardPacket","notifyOutgoingListeners","ackTimeout","timer","withErr","reject","arg1","arg2","tryCount","pending","responseArgs","hasError","_drainQueue","force","_packet","_sendConnectPacket","_pid","pid","offset","_lastOffset","sameNamespace","onconnect","onevent","onack","ondisconnect","destroy","message","emitEvent","_anyListeners","listeners","listener","sent","emitBuffered","subDestroy","_anyOutgoingListeners","Backoff","ms","min","max","factor","jitter","attempts","duration","rand","random","deviation","reset","setMin","setMax","setJitter","nsps","reconnection","reconnectionAttempts","Infinity","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","_parser","parser","encoder","Encoder","decoder","Decoder","autoConnect","v","_reconnection","_reconnectionAttempts","_reconnectionDelay","_randomizationFactor","_reconnectionDelayMax","_timeout","_reconnecting","reconnect","skipReconnect","openSubDestroy","maybeReconnectOnOpen","errorSub","onping","ondata","ondecoded","add","active","_close","delay","onreconnect","attempt","cache","parsed","newConnection","forceNew","multiplex","Manager","Socket","observable","socketUrl","env","VUE_APP_WS_URL","parse_data","sockets_path","router","currentRoute","meta","MessageType","NOTIFICATION","SET_NOTIFICATION","NOTIFICATION_NEWS","SET_NOTIFICATION_NEWS","LEADS","event","Events","CREATE","SocketPagePath","leads_store","SET_NEW_LEAD_VIA_SOCKET","UPD_NEW_LEAD_VIA_SOCKET_MODAL","UPDATE","UPD_LEAD","console","is_channel_joined","sockets_connect","io_company","io_user","log","close_modal","last_news","is_news","subtitle","published_at","preview_text","textTitle","domProps","detail_text","staticStyle","go_to_news","news_dialog_modal","NewsDialog","notification_id","reading_notify","mark_news_as_read","SET_NEWS_DIALOG_MODAL","$router","News","NEWS","Patchnotes","PATCHNOTES","lastNewsType","NewsStatuses","global_state","App","is_show_btn","current_route","$route","matched_key","MenuLinks","find","matched_poll","polls","link_page","slug","poll_id","polls_store","SET_POLL_ID","SET_IS_MATCHED_ROUTE_SLUG","SIDEBAR_TOGGLE","is_mini_sidebar","isTablet","is_not_desktop","paddingLeft","POLLS_SIDEBAR_TOGGLE","target","tagName","closest","preventDefault","Layouts","DEFAULT","Header","Sidebar","Footer","PollsSidebar","VApp","VMain","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","abs","isNaN","LN2","encodeURIComponent","qs","qry","pairs","pair","decodeURIComponent","pick","attr","k","NATIVE_SET_TIMEOUT","setTimeout","NATIVE_CLEAR_TIMEOUT","clearTimeout","installTimerFunctions","useNativeTimers","BASE64_OVERHEAD","utf8Length","ceil","Emitter","mixin","_callbacks","callbacks","hasListeners","ieee754","typedArraySupport","__proto__","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","from","TypeError","fromArrayBuffer","fromString","fromObject","assertSize","alloc","fill","encoding","checked","string","isEncoding","actual","fromArrayLike","array","isBuffer","copy","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parseInt","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","list","pos","swap16","swap32","swap64","equals","inspect","match","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","_arr","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","trim","units","leadSurrogate","byteArray","hi","lo","dst","SSRBootable","extend","props","tag","default","computed","styles","$vuetify","application","bar","top","right","footer","insetFooter","bottom","left","paddingTop","paddingRight","paddingBottom","h","ref","$slots"],"mappings":"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","file":"js/layout2.2f69abf9.js","sourcesContent":["var render = function () {\nvar _obj, _obj$1;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[_vm.$style.floatingCart, ( _obj = {}, _obj[_vm.$style.isOpened] = _vm.is_open_cart, _obj )]},[_c('div',{class:[_vm.$style.cart, ( _obj$1 = {}, _obj$1[_vm.$style.isOpened] = _vm.is_open_cart, _obj$1 )]},[_c('div',{class:_vm.$style.cartHead},[_c('h2',{class:_vm.$style.cartTitle},[_vm._v(\"Ваша корзина\")]),_c('v-btn',{attrs:{\"color\":\"accent darken-4\",\"outlined\":\"\"},on:{\"click\":_vm.close_cart}},[_vm._v(\" Закрыть \")])],1),_c('div',{class:_vm.$style.prodsCount},[_c('div',{class:_vm.$style.cartProdsNum},[_vm._v(\" \"+_vm._s(_vm.prods.length)+\" \"+_vm._s(_vm.product_declension(_vm.prods.length))+\" \")]),_c('div',{class:_vm.$style.cartProdsSum},[_c('b',[_vm._v(\" \"+_vm._s(_vm._f(\"currency_rub\")(_vm.prods_sum))+\" \")])])]),_c('div',{class:_vm.$style.cartProds},[_c('div',{staticClass:\"product\"},[(_vm.prods.length)?_vm._l((_vm.prods),function(prod,i){return _c('div',{key:i,class:_vm.$style.product},[_c('div',{class:[_vm.$style.productName, 'text-caption']},[_vm._v(\" \"+_vm._s(prod.product.nomenclature)+\" \")]),(!_vm.is_mobile)?_c('div',{class:_vm.$style.productQty},[_c('TextField',{attrs:{\"value\":prod.quantity,\"hide-details\":\"\",\"dense\":\"\",\"type\":\"number\",\"background-color\":\"#fff\",\"clearable\":false,\"min\":0,\"max\":_vm.max_quantity,\"disabled\":prod.product.related_products && prod.product.related_products.length > 0},on:{\"input\":function($event){return _vm.upd_item($event, prod)}}})],1):_vm._e(),_c('div',{class:_vm.$style.productPrice},[_vm._v(\" \"+_vm._s(_vm._f(\"currency_rub\")(_vm.get_price(prod)))+\" \")]),_c('div',{class:_vm.$style.productDel},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.del(prod)}}},[_c('v-icon',[_vm._v(\"mdi-delete-outline\")])],1)],1)])}):_c('div',{class:[_vm.$style.product, _vm.$style.emptyCart]},[_c('h3',{staticClass:\"text-h3\"},[_vm._v(\"Ваша корзина пуста\")])])],2)]),(_vm.prods.length)?_c('div',{class:_vm.$style.goToCart},[_c('v-btn',{class:_vm.$style.cartBtn,attrs:{\"depressed\":\"\",\"color\":\"accent darken-4\",\"x-large\":\"\",\"to\":_vm.go_to_cart},on:{\"click\":_vm.close_cart}},[_vm._v(\" Перейти в корзину \")])],1):_vm._e()]),_c('v-overlay',{class:_vm.$style.overlay,attrs:{\"z-index\":\"1\",\"value\":_vm.is_open_cart},on:{\"click\":_vm.close_cart}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { global_store, polls_store } from '@/store';\nimport { Component, Vue } from 'vue-property-decorator';\nimport {\n Header,\n Sidebar,\n Footer,\n PollsSidebar,\n} from '@/components';\nimport NotificationsSidebar from '@/components/notifications-sidebar/NotificationsSidebar.vue';\nimport { InfoDialog } from '@/components/global/info-dialog';\nimport { sockets_connect } from '@/services/socket';\nimport FloatingCart from '@/modules/cart/shared/components/FloatingCart.vue';\nimport { MenuLinks } from '@/enums';\nimport { NewsDialog } from '@/components/global/news-dialog';\nimport { Layouts } from './types';\n\nconst global_state = global_store.state;\n\n@Component({\n name: Layouts.DEFAULT,\n components: {\n NewsDialog,\n Header,\n Sidebar,\n Footer,\n NotificationsSidebar,\n InfoDialog,\n FloatingCart,\n PollsSidebar,\n },\n})\nexport default class App extends Vue {\n mounted() {\n sockets_connect();\n }\n\n updated() {\n const current_route = this.$route.path;\n\n const matched_key = Object.keys(MenuLinks).find(\n (key) => MenuLinks[key] === current_route,\n );\n\n if (matched_key) {\n const matched_poll = this.polls.find((poll) =>\n poll.link_page && poll.link_page.slug === matched_key);\n\n if (matched_poll && matched_poll.poll_id !== null) {\n polls_store.mutations.SET_POLL_ID(matched_poll.poll_id);\n\n this.is_show_btn = true;\n polls_store.mutations.SET_IS_MATCHED_ROUTE_SLUG(true);\n }\n }\n }\n\n is_show_btn = false;\n\n get polls() {\n return polls_store.state.polls;\n }\n\n get poll_id() {\n return polls_store.state.poll_id;\n }\n\n // get sidebar_width() {\n // const { is_mini_sidebar, sidebar_mini_width, sidebar_width } = global_state;\n\n // return is_mini_sidebar ? sidebar_mini_width : sidebar_width;\n // }\n\n // get main_padding() {\n // return !this.is_not_desktop ? { paddingLeft: this.sidebar_width } : {};\n // }\n\n mini_togle() {\n global_store.mutations.SIDEBAR_TOGGLE(!this.is_mini_sidebar);\n }\n\n get is_notification_bar() {\n return global_store.state.is_notification_bar;\n }\n\n get is_polls_sidebar() {\n return global_state.is_polls_sidebar;\n }\n\n get is_not_desktop() {\n return global_state.isTablet || global_state.isMobile;\n }\n\n get is_mini_sidebar() {\n return global_store.state.is_mini_sidebar;\n }\n\n get main_style_padding() {\n if (this.is_not_desktop) {\n return {\n paddingLeft: '0px',\n };\n }\n return {\n paddingLeft: this.is_mini_sidebar ? '75px' : '300px',\n };\n }\n\n togle_notification_bar(value: boolean) {\n global_store.mutations.NOTIFICATIONS_BAR_TOGGLE(value);\n }\n\n toggle_polls_sidebar(value: boolean) {\n global_store.mutations.POLLS_SIDEBAR_TOGGLE(value);\n }\n\n handle_toggle() {\n if (this.is_notification_bar) {\n this.togle_notification_bar(!this.is_notification_bar);\n } else {\n this.toggle_polls_sidebar(!this.is_polls_sidebar);\n }\n }\n\n handle_click_link(event: MouseEvent) {\n const target = event.target as HTMLElement;\n\n if (target.tagName === 'A' && target.closest('.info-alert')) {\n event.preventDefault();\n\n try {\n window.open((target as HTMLAnchorElement).href, '_blank');\n } catch (error) {\n console.error(error);\n }\n }\n }\n}\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FloatingCart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FloatingCart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FloatingCart.vue?vue&type=template&id=d01f9852&\"\nimport script from \"./FloatingCart.vue?vue&type=script&lang=ts&\"\nexport * from \"./FloatingCart.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FloatingCart.vue?vue&type=style&index=0&module=true&lang=scss&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\ninstallComponents(component, {VBtn,VIcon,VOverlay})\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { pick } from \"../util.js\";\nimport { nextTick, usingBrowserWebSocket, WebSocket, } from \"./websocket-constructor.js\";\nimport { encodePacket } from \"engine.io-parser\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class WS extends Transport {\n /**\n * WebSocket transport constructor.\n *\n * @param {Object} opts - connection options\n * @protected\n */\n constructor(opts) {\n super(opts);\n this.supportsBinary = !opts.forceBase64;\n }\n get name() {\n return \"websocket\";\n }\n doOpen() {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws =\n usingBrowserWebSocket && !isReactNative\n ? protocols\n ? new WebSocket(uri, protocols)\n : new WebSocket(uri)\n : new WebSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // always create a new object (GH-437)\n const opts = {};\n if (!usingBrowserWebSocket) {\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n if (this.opts.perMessageDeflate) {\n const len = \n // @ts-ignore\n \"string\" === typeof data ? Buffer.byteLength(data) : data.length;\n if (len < this.opts.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n this.ws.send(data);\n }\n else {\n this.ws.send(data, opts);\n }\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @private\n */\n check() {\n return !!WebSocket;\n }\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","export const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\n","// imported from https://github.com/unshiftio/yeast\n'use strict';\nconst alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), length = 64, map = {};\nlet seed = 0, i = 0, prev;\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nexport function encode(num) {\n let encoded = '';\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n return encoded;\n}\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nexport function decode(str) {\n let decoded = 0;\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n return decoded;\n}\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nexport function yeast() {\n const now = encode(+new Date());\n if (now !== prev)\n return seed = 0, prev = now;\n return now + '.' + encode(seed++);\n}\n//\n// Map each character to its index.\n//\nfor (; i < length; i++)\n map[alphabet[i]] = i;\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach((key) => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data.arrayBuffer().then(toArray).then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, (encoded) => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE, } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType),\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType),\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1),\n }\n : {\n type: PACKET_TYPES_REVERSE[type],\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nimport { ERROR_PACKET, } from \"./commons.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, (encodedPacket) => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nexport function createPacketEncoderStream() {\n // @ts-expect-error\n return new TransformStream({\n transform(packet, controller) {\n encodePacketToBinary(packet, (encodedPacket) => {\n const payloadLength = encodedPacket.length;\n let header;\n // inspired by the WebSocket format: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#decoding_payload_length\n if (payloadLength < 126) {\n header = new Uint8Array(1);\n new DataView(header.buffer).setUint8(0, payloadLength);\n }\n else if (payloadLength < 65536) {\n header = new Uint8Array(3);\n const view = new DataView(header.buffer);\n view.setUint8(0, 126);\n view.setUint16(1, payloadLength);\n }\n else {\n header = new Uint8Array(9);\n const view = new DataView(header.buffer);\n view.setUint8(0, 127);\n view.setBigUint64(1, BigInt(payloadLength));\n }\n // first bit indicates whether the payload is plain text (0) or binary (1)\n if (packet.data && typeof packet.data !== \"string\") {\n header[0] |= 0x80;\n }\n controller.enqueue(header);\n controller.enqueue(encodedPacket);\n });\n },\n });\n}\nlet TEXT_DECODER;\nfunction totalLength(chunks) {\n return chunks.reduce((acc, chunk) => acc + chunk.length, 0);\n}\nfunction concatChunks(chunks, size) {\n if (chunks[0].length === size) {\n return chunks.shift();\n }\n const buffer = new Uint8Array(size);\n let j = 0;\n for (let i = 0; i < size; i++) {\n buffer[i] = chunks[0][j++];\n if (j === chunks[0].length) {\n chunks.shift();\n j = 0;\n }\n }\n if (chunks.length && j < chunks[0].length) {\n chunks[0] = chunks[0].slice(j);\n }\n return buffer;\n}\nexport function createPacketDecoderStream(maxPayload, binaryType) {\n if (!TEXT_DECODER) {\n TEXT_DECODER = new TextDecoder();\n }\n const chunks = [];\n let state = 0 /* READ_HEADER */;\n let expectedLength = -1;\n let isBinary = false;\n // @ts-expect-error\n return new TransformStream({\n transform(chunk, controller) {\n chunks.push(chunk);\n while (true) {\n if (state === 0 /* READ_HEADER */) {\n if (totalLength(chunks) < 1) {\n break;\n }\n const header = concatChunks(chunks, 1);\n isBinary = (header[0] & 0x80) === 0x80;\n expectedLength = header[0] & 0x7f;\n if (expectedLength < 126) {\n state = 3 /* READ_PAYLOAD */;\n }\n else if (expectedLength === 126) {\n state = 1 /* READ_EXTENDED_LENGTH_16 */;\n }\n else {\n state = 2 /* READ_EXTENDED_LENGTH_64 */;\n }\n }\n else if (state === 1 /* READ_EXTENDED_LENGTH_16 */) {\n if (totalLength(chunks) < 2) {\n break;\n }\n const headerArray = concatChunks(chunks, 2);\n expectedLength = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length).getUint16(0);\n state = 3 /* READ_PAYLOAD */;\n }\n else if (state === 2 /* READ_EXTENDED_LENGTH_64 */) {\n if (totalLength(chunks) < 8) {\n break;\n }\n const headerArray = concatChunks(chunks, 8);\n const view = new DataView(headerArray.buffer, headerArray.byteOffset, headerArray.length);\n const n = view.getUint32(0);\n if (n > Math.pow(2, 53 - 32) - 1) {\n // the maximum safe integer in JavaScript is 2^53 - 1\n controller.enqueue(ERROR_PACKET);\n break;\n }\n expectedLength = n * Math.pow(2, 32) + view.getUint32(4);\n state = 3 /* READ_PAYLOAD */;\n }\n else {\n if (totalLength(chunks) < expectedLength) {\n break;\n }\n const data = concatChunks(chunks, expectedLength);\n controller.enqueue(decodePacket(isBinary ? data : TEXT_DECODER.decode(data), binaryType));\n state = 0 /* READ_HEADER */;\n }\n if (expectedLength === 0 || expectedLength > maxPayload) {\n controller.enqueue(ERROR_PACKET);\n break;\n }\n }\n },\n });\n}\nexport const protocol = 4;\nexport { encodePacket, encodePayload, decodePacket, decodePayload, };\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nexport class TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"v-application\":\"default_v-application_2E-tF\",\"text-h1\":\"default_text-h1_oNc02\",\"text-h2\":\"default_text-h2_Zfyk-\",\"content\":\"default_content_2jT-H\",\"main\":\"default_main_1e2iK\",\"mainWrapper\":\"default_mainWrapper_3WD4t\",\"header\":\"default_header_3BuBE\",\"pollsBtn\":\"default_pollsBtn_3rE_n\"};","export { default } from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsSidebar.vue?vue&type=style&index=0&module=true&lang=scss&\"; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsSidebar.vue?vue&type=style&index=0&module=true&lang=scss&\"","export { default } from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=style&index=0&module=true&lang=scss&\"; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=style&index=0&module=true&lang=scss&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"v-application\":\"NotificationsSidebar_v-application_3zbgb\",\"text-h1\":\"NotificationsSidebar_text-h1_QcUsM\",\"text-h2\":\"NotificationsSidebar_text-h2_3v_Nk\",\"notification_bar\":\"NotificationsSidebar_notification_bar_3U0AM\",\"notificationsHead\":\"NotificationsSidebar_notificationsHead_wmPBi\",\"notificationsTitle\":\"NotificationsSidebar_notificationsTitle_CgJYP\",\"notificationsAllLink\":\"NotificationsSidebar_notificationsAllLink_3l_7z\",\"v_list\":\"NotificationsSidebar_v_list_2ugpb\",\"messageBoxList\":\"NotificationsSidebar_messageBoxList_3hUvS\",\"messageBox\":\"NotificationsSidebar_messageBox_1Ct63\",\"decor\":\"NotificationsSidebar_decor_1wKBp\",\"indicator\":\"NotificationsSidebar_indicator_3UMkS\",\"messageText\":\"NotificationsSidebar_messageText_17k8q\",\"messageTextNotRead\":\"NotificationsSidebar_messageTextNotRead_2CO6x\",\"noread\":\"NotificationsSidebar_noread_1uQv6\",\"noread_isread\":\"NotificationsSidebar_noread_isread_3HNZc\",\"mobileFlex\":\"NotificationsSidebar_mobileFlex_27f6D\"};","import { globalThisShim as globalThis } from \"../globalThis.js\";\nexport const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket;\nexport const usingBrowserWebSocket = true;\nexport const defaultBinaryType = \"arraybuffer\";\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{on:{\"click\":_vm.handle_click_link}},[_c('Sidebar'),_c('FloatingCart'),_c('NotificationsSidebar'),_c('PollsSidebar'),(_vm.is_notification_bar || _vm.is_polls_sidebar)?_c('v-overlay',{attrs:{\"value\":true,\"z-index\":\"7\"},on:{\"click\":_vm.handle_toggle}}):_vm._e(),_c('div',{class:_vm.$style.new_header},[_c('Header')],1),_c('v-main',{style:(_vm.main_style_padding)},[_c('div',{class:_vm.$style.mainWrapper},[_c('section',{class:_vm.$style.content},[_c('router-view')],1)]),_c('InfoDialog'),_c('NewsDialog'),(_vm.is_show_btn)?_c('v-btn',{class:_vm.$style.pollsBtn,attrs:{\"color\":\"accent darken-4\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.toggle_polls_sidebar(!_vm.is_polls_sidebar)}}},[_c('v-icon',{staticClass:\"mr-2\"},[_vm._v(\"mdi-message-text-fast-outline\")]),_vm._v(\" Пройти опрос \")],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-navigation-drawer',{class:_vm.$style.notification_bar,attrs:{\"width\":\"600px\",\"height\":\"100%\",\"value\":_vm.is_notification_bar,\"fixed\":\"\",\"right\":\"\",\"touchless\":_vm.touchless}},[_c('v-list-item',[_c('div',{class:_vm.$style.notificationsHead},[_c('div',{class:_vm.$style.mobileFlex},[_c('div',[_c('span',{class:_vm.$style.notificationsTitle},[_vm._v(\"Уведомления\")])]),_c('div',{staticClass:\"d-flex\"},[_c('router-link',{class:_vm.$style.notificationsAllLink,attrs:{\"to\":\"/notifications\"}},[_c('p',{on:{\"click\":function($event){return _vm.togle_notification_bar(!_vm.is_notification_bar)}}},[_vm._v(\"Посмотреть все уведомления\")])]),(_vm.unred_notifs_count_indicator !==0)?_c('v-badge',{attrs:{\"offset-y\":\"10\",\"offset-x\":\"-2\",\"overlap\":\"\",\"dot\":\"\",\"color\":\"error darken-4\"}}):_vm._e()],1)]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.togle_notification_bar(!_vm.is_notification_bar)}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1)]),_c('v-divider'),_c('v-list',{class:_vm.$style.v_list,attrs:{\"dense\":\"\"}},_vm._l((_vm.last_notifs),function(item){return _c('v-list-item',{key:item.id},[_c('div',{class:_vm.$style.messageBoxList},[_c('div',{class:_vm.$style.messageBox},[_c('div',{class:_vm.$style.decor},[_c('div',{staticClass:\"d-flex\"},[(!item.is_read)?_c('div',{class:_vm.$style.indicator,attrs:{\"color\":\"red darken-3\"}}):_vm._e(),_c('span',{staticClass:\"title font-weight-regular\",class:_vm.$style.messageDate},[_vm._v(_vm._s(_vm._f(\"date\")(item.date))+\" \"+_vm._s(item.time))])]),(!item.is_read)?_c('span',{staticClass:\"title font-weight-regular\",class:_vm.$style.noread,on:{\"click\":function($event){return _vm.reaing_notification(item.id)}}},[_vm._v(\"Прочитать\")]):_c('span',{staticClass:\"title font-weight-regular\",class:_vm.$style.noread_isread},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-check\")]),_vm._v(\" Прочитано\")],1)]),_c('span',{class:!item.is_read ? _vm.$style.messageText : _vm.$style.messageTextNotRead,on:{\"click\":function($event){return _vm.go_to_notification_detail(item)}}},[_vm._v(\" \"+_vm._s(item.title)+\" \")])])])])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsSidebar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationsSidebar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationsSidebar.vue?vue&type=template&id=34b88ad3&\"\nimport script from \"./NotificationsSidebar.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationsSidebar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationsSidebar.vue?vue&type=style&index=0&module=true&lang=scss&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\ninstallComponents(component, {VBadge,VBtn,VDivider,VIcon,VList,VListItem,VNavigationDrawer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SimpleDialog',{attrs:{\"max-width\":\"562\",\"center_title\":\"\",\"center_text\":\"\",\"bts_align\":\"center\"},on:{\"close\":_vm.close_model},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(\" Отсутствуют права доступа \")]},proxy:true},{key:\"text\",fn:function(){return [_c('div',[_c('span',[_vm._v(\"Данный раздел отключен администратором ЛКП\")])])]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"accent darken-4\"},on:{\"click\":_vm.close_model}},[_vm._t(\"agree\",function(){return [_vm._v(\" Завершить \")]})],2)]},proxy:true}],null,true),model:{value:(_vm.info_dialog_modal),callback:function ($$v) {_vm.info_dialog_modal=$$v},expression:\"info_dialog_modal\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoDialog.vue?vue&type=template&id=51b1ef70&\"\nimport script from \"./InfoDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","// browser shim for xmlhttprequest module\nimport { hasCORS } from \"../contrib/has-cors.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nexport function XHR(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\nexport function createCookieJar() { }\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nimport { createCookieJar, XHR as XMLHttpRequest, } from \"./xmlhttprequest.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nfunction empty() { }\nconst hasXHR2 = (function () {\n const xhr = new XMLHttpRequest({\n xdomain: false,\n });\n return null != xhr.responseType;\n})();\nexport class Polling extends Transport {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n this.polling = false;\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n /**\n * XHR supports binary\n */\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n if (this.opts.withCredentials) {\n this.cookieJar = createCookieJar();\n }\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this.poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this.polling || !this.writable) {\n let total = 0;\n if (this.polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n poll() {\n this.polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this.poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Creates a request.\n *\n * @param {String} method\n * @private\n */\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd, cookieJar: this.cookieJar }, this.opts);\n return new Request(this.uri(), opts);\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(uri, opts) {\n super();\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.method = opts.method || \"GET\";\n this.uri = uri;\n this.data = undefined !== opts.data ? opts.data : null;\n this.create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n create() {\n var _a;\n const opts = pick(this.opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this.opts.xd;\n const xhr = (this.xhr = new XMLHttpRequest(opts));\n try {\n xhr.open(this.method, this.uri, true);\n try {\n if (this.opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this.opts.extraHeaders) {\n if (this.opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this.method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this.opts.withCredentials;\n }\n if (this.opts.requestTimeout) {\n xhr.timeout = this.opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(xhr);\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this.onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this.onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this.data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this.onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n onError(err) {\n this.emitReserved(\"error\", err, this.xhr);\n this.cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n cleanup(fromError) {\n if (\"undefined\" === typeof this.xhr || null === this.xhr) {\n return;\n }\n this.xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this.xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this.index];\n }\n this.xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n onLoad() {\n const data = this.xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this.cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this.cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"./websocket-constructor.js\";\nimport { createPacketDecoderStream, createPacketEncoderStream, } from \"engine.io-parser\";\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n // @ts-ignore\n if (typeof WebTransport !== \"function\") {\n return;\n }\n // @ts-ignore\n this.transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n this.transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this.transport.ready.then(() => {\n this.transport.createBidirectionalStream().then((stream) => {\n const decoderStream = createPacketDecoderStream(Number.MAX_SAFE_INTEGER, this.socket.binaryType);\n const reader = stream.readable.pipeThrough(decoderStream).getReader();\n const encoderStream = createPacketEncoderStream();\n encoderStream.readable.pipeTo(stream.writable);\n this.writer = encoderStream.writable.getWriter();\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n this.onPacket(value);\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const packet = { type: \"open\" };\n if (this.query.sid) {\n packet.data = `{\"sid\":\"${this.query.sid}\"}`;\n }\n this.writer.write(packet).then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n this.writer.write(packet).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n var _a;\n (_a = this.transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","import { Polling } from \"./polling.js\";\nimport { WS } from \"./websocket.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: Polling,\n};\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n if (str.length > 2000) {\n throw \"URI too long\";\n }\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { transports } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nimport { defaultBinaryType } from \"./transports/websocket-constructor.js\";\nexport class Socket extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts = {}) {\n super();\n this.binaryType = defaultBinaryType;\n this.writeBuffer = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n uri = parse(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === \"https\" || uri.protocol === \"wss\";\n opts.port = uri.port;\n if (uri.query)\n opts.query = uri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = opts.transports || [\n \"polling\",\n \"websocket\",\n \"webtransport\",\n ];\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n // set on heartbeat\n this.pingTimeoutTimer = null;\n if (typeof addEventListener === \"function\") {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this.beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this.offlineEventListener = () => {\n this.onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n addEventListener(\"offline\", this.offlineEventListener, false);\n }\n }\n this.open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new transports[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n open() {\n let transport;\n if (this.opts.rememberUpgrade &&\n Socket.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1) {\n transport = \"websocket\";\n }\n else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n else {\n transport = this.transports[0];\n }\n this.readyState = \"opening\";\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n }\n catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this.onDrain.bind(this))\n .on(\"packet\", this.onPacket.bind(this))\n .on(\"error\", this.onError.bind(this))\n .on(\"close\", (reason) => this.onClose(\"transport close\", reason));\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n Socket.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n Socket.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this.upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n Socket.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if (\"open\" === this.readyState && this.opts.upgrade) {\n let i = 0;\n const l = this.upgrades.length;\n for (; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n this.resetPingTimeout();\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this.sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this.onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this.resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer);\n this.pingTimeoutTimer = this.setTimeoutFn(() => {\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout);\n if (this.opts.autoUnref) {\n this.pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this.getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n getWritablePackets() {\n const shouldCheckPayloadSize = this.maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this.maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n send(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this.onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n onError(err) {\n Socket.priorWebsocketSuccess = false;\n this.emitReserved(\"error\", err);\n this.onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this.pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (typeof removeEventListener === \"function\") {\n removeEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n removeEventListener(\"offline\", this.offlineEventListener, false);\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n }\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n let i = 0;\n const j = upgrades.length;\n for (; i < j; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nSocket.protocol = protocol;\n","import { Socket } from \"./socket.js\";\nexport { Socket };\nexport const protocol = Socket.protocol;\nexport { Transport, TransportError } from \"./transport.js\";\nexport { transports } from \"./transports/index.js\";\nexport { installTimerFunctions } from \"./util.js\";\nexport { parse } from \"./contrib/parseuri.js\";\nexport { nextTick } from \"./transports/websocket-constructor.js\";\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = this.io.engine &&\n this.io.engine.transport &&\n this.io.engine.transport.writable;\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\n if (discardPacket) {\n }\n else if (this.connected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n this.acks[id] = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, [null, ...args]);\n };\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n // the timeout flag is optional\n const withErr = this.flags.timeout !== undefined || this._opts.ackTimeout !== undefined;\n return new Promise((resolve, reject) => {\n args.push((arg1, arg2) => {\n if (withErr) {\n return arg1 ? reject(arg1) : resolve(arg2);\n }\n else {\n return resolve(arg1);\n }\n });\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowlegement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (\"function\" === typeof ack) {\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n }\n else {\n }\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n if (this.engine)\n this.engine.close();\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called upon engine close.\n *\n * @private\n */\n onclose(reason, description) {\n this.cleanup();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\n","import NewsDialog from './NewsDialog.vue';\n\nexport { NewsDialog };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.last_news)?_c('SimpleDialog',{attrs:{\"max-width\":\"762\",\"bts_align\":\"center\"},on:{\"close\":_vm.close_modal},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',{class:_vm.$style.title},[_vm._v(_vm._s(_vm.last_news.title))]),(!_vm.is_news)?_c('p',{class:_vm.$style.subtitle},[_vm._v(\" от \"+_vm._s(_vm.last_news.published_at)+\" \")]):_vm._e()]},proxy:true},{key:\"text\",fn:function(){return [_c('div',{staticClass:\"pl-6\"},[(_vm.is_news)?_c('div',[_c('span',[_vm._v(_vm._s(_vm.last_news.preview_text))])]):_c('div',[_c('div',{class:_vm.$style.textTitle},[_vm._v(\"Что нового?\")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.last_news.detail_text)}})])])]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-btn',{staticStyle:{\"border\":\"none\"},attrs:{\"depressed\":\"\",\"outlined\":\"\",\"color\":\"accent darken-4\"},on:{\"click\":_vm.go_to_news}},[_vm._t(\"button-text\",function(){return [_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\" mdi-book-open-variant-outline \")]),(_vm.is_news)?_c('div',[_vm._v(\"Все новости\")]):_c('div',[_vm._v(\"Все версии\")])]})],2),_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"accent darken-4\"},on:{\"click\":_vm.close_modal}},[_vm._t(\"button-text\",function(){return [_vm._v(\" Продолжить \")]})],2)]},proxy:true}],null,true),model:{value:(_vm.news_dialog_modal),callback:function ($$v) {_vm.news_dialog_modal=$$v},expression:\"news_dialog_modal\"}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewsDialog.vue?vue&type=template&id=00e75450&\"\nimport script from \"./NewsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewsDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NewsDialog.vue?vue&type=style&index=0&module=true&lang=scss&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./default.vue?vue&type=template&id=4aa2ac5a&\"\nimport script from \"./default.vue?vue&type=script&lang=ts&\"\nexport * from \"./default.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./default.vue?vue&type=style&index=0&module=true&lang=scss&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\ninstallComponents(component, {VApp,VBtn,VIcon,VMain,VOverlay})\n","export { default } from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FloatingCart.vue?vue&type=style&index=0&module=true&lang=scss&\"; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FloatingCart.vue?vue&type=style&index=0&module=true&lang=scss&\"","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","import { globalThisShim as globalThis } from \"./globalThis.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"v-application\":\"FloatingCart_v-application_13GXy\",\"text-h1\":\"FloatingCart_text-h1_BMzM-\",\"text-h2\":\"FloatingCart_text-h2_fWe3J\",\"floatingCart\":\"FloatingCart_floatingCart_3VC5s\",\"isOpened\":\"FloatingCart_isOpened_2m828\",\"openBtn\":\"FloatingCart_openBtn_cW05C\",\"cart\":\"FloatingCart_cart_2XaL0\",\"cartProds\":\"FloatingCart_cartProds_3Iv7I\",\"cartHead\":\"FloatingCart_cartHead_3YY9H\",\"cartTitle\":\"FloatingCart_cartTitle_BYaZ5\",\"prodsCount\":\"FloatingCart_prodsCount_2vdDt\",\"product\":\"FloatingCart_product_2qYsX\",\"productName\":\"FloatingCart_productName_3p1t4\",\"productQty\":\"FloatingCart_productQty_1T6Kv\",\"productPrice\":\"FloatingCart_productPrice_2O3g7\",\"productDel\":\"FloatingCart_productDel_3Gzx-\",\"goToCart\":\"FloatingCart_goToCart_2-MU7\",\"cartBtn\":\"FloatingCart_cartBtn_2tAwF\",\"overlay\":\"FloatingCart_overlay_cb9Ua\",\"emptyCart\":\"FloatingCart_emptyCart_1AQ7L\"};","export { default } from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsDialog.vue?vue&type=style&index=0&module=true&lang=scss&\"; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsDialog.vue?vue&type=style&index=0&module=true&lang=scss&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"v-application\":\"NewsDialog_v-application_18sBP\",\"text-h1\":\"NewsDialog_text-h1_2EO-t\",\"text-h2\":\"NewsDialog_text-h2_2bfhD\",\"title\":\"NewsDialog_title_3drZK\",\"subtitle\":\"NewsDialog_subtitle_3iT4-\",\"textTitle\":\"NewsDialog_textTitle_5p7Pm\"};","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n"],"sourceRoot":""}