diff --git a/main.go b/main.go index 1327e7c..d523fb5 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package gb28181 import ( "log" + "math/rand" "net" "net/http" "strconv" @@ -18,12 +19,14 @@ import ( var Devices sync.Map var config = struct { - Serial string - Realm string - ListenAddr string - Expires int - AutoInvite bool -}{"34020000002000000001", "3402000000", "127.0.0.1:5060", 3600, true} + Serial string + Realm string + ListenAddr string + Expires int + AutoInvite bool + MediaPortMin uint16 + MediaPortMax uint16 +}{"34020000002000000001", "3402000000", "127.0.0.1:5060", 3600, true, 58200, 58300} func init() { InstallPlugin(&PluginConfig{ @@ -55,8 +58,8 @@ func run() { AudioEnable: true, WaitKeyFrame: true, - MediaPortMin: 58200, - MediaPortMax: 58300, + MediaPortMin: config.MediaPortMin, + MediaPortMax: config.MediaPortMax, MediaIdleTimeout: 30, } s := transaction.NewCore(config) @@ -119,7 +122,6 @@ func run() { }) s.Start() } - func onPublish(channel *transaction.Channel) (port int) { rtpPublisher := new(rtp.RTP_PS) if !rtpPublisher.Publish("gb28181/" + channel.DeviceID) { @@ -131,19 +133,28 @@ func onPublish(channel *transaction.Channel) (port int) { } }() rtpPublisher.Type = "GB28181" - addr, err := net.ResolveUDPAddr("udp", ":0") - if err != nil { - return + var conn *net.UDPConn + var err error + rang := int(config.MediaPortMax - config.MediaPortMin) + for count := rang; count > 0; count-- { + randNum := rand.Intn(rang) + port = int(config.MediaPortMin) + randNum + addr, _ := net.ResolveUDPAddr("udp", ":"+strconv.Itoa(port)) + conn, err = net.ListenUDP("udp", addr) + if err != nil { + continue + } else { + break + } } - conn, err := net.ListenUDP("udp", addr) if err != nil { return } networkBuffer := 1048576 - if err := conn.SetReadBuffer(networkBuffer); err != nil { + if err = conn.SetReadBuffer(networkBuffer); err != nil { Printf("udp server video conn set read buffer error, %v", err) } - if err := conn.SetWriteBuffer(networkBuffer); err != nil { + if err = conn.SetWriteBuffer(networkBuffer); err != nil { Printf("udp server video conn set write buffer error, %v", err) } la := conn.LocalAddr().String() diff --git a/transaction/core.go b/transaction/core.go index 6d1cf6a..d0cbae5 100644 --- a/transaction/core.go +++ b/transaction/core.go @@ -460,7 +460,7 @@ func (c *Core) AddDevice(msg *sip.Message) *Device { core: c, from: &sip.Contact{Uri: msg.StartLine.Uri, Params: make(map[string]string)}, to: msg.To, - addr: msg.Via.GetSendBy(), + Addr: msg.Via.GetSendBy(), } c.Devices.Store(msg.From.Uri.UserInfo(), v) return v diff --git a/transaction/device.go b/transaction/device.go index f2bb3c0..dd4a123 100644 --- a/transaction/device.go +++ b/transaction/device.go @@ -36,7 +36,7 @@ type Device struct { sn int from *sip.Contact to *sip.Contact - addr string + Addr string } func (c *Core) RemoveDead() { @@ -100,7 +100,7 @@ func (d *Device) CreateMessage(Method sip.Method) (requestMsg *sip.Message) { ID: 1, Method: Method, }, CallID: utils.RandNumString(10), - Addr: d.addr, + Addr: d.Addr, } requestMsg.From.Params["tag"] = utils.RandNumString(9) return diff --git a/ui/dist/plugin-gb28181.common.js b/ui/dist/plugin-gb28181.common.js index 70c2522..d10fac6 100644 --- a/ui/dist/plugin-gb28181.common.js +++ b/ui/dist/plugin-gb28181.common.js @@ -82,23 +82,12 @@ module.exports = /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ return __webpack_require__(__webpack_require__.s = "deee"); /******/ }) /************************************************************************/ /******/ ({ -/***/ "040c": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_76558468_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d989"); -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_76558468_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_76558468_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); -/* unused harmony reexport * */ - - -/***/ }), - -/***/ "1fb5": +/***/ "0c57": /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -258,951 +247,598 @@ function fromByteArray (uint8) { /***/ }), -/***/ "2d55": -/***/ (function(module, exports, __webpack_require__) { +/***/ "0cd2": +/***/ (function(module, __webpack_exports__, __webpack_require__) { -// extracted by mini-css-extract-plugin +"use strict"; +/* harmony import */ var _plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7bad0327_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("df72"); +/* harmony import */ var _plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7bad0327_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7bad0327_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + /* unused harmony default export */ var _unused_webpack_default_export = (_plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7bad0327_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/***/ "4296": +/***/ "2d15": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_77f8f0e9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("dc29"); -/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_77f8f0e9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_77f8f0e9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_a6774e8e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9e83"); +/* harmony import */ var _plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_a6774e8e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_a6774e8e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* unused harmony reexport * */ - + /* unused harmony default export */ var _unused_webpack_default_export = (_plugin_webrtc_ui_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_plugin_webrtc_ui_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_plugin_webrtc_ui_node_modules_vue_loader_lib_loaders_stylePostLoader_js_plugin_webrtc_ui_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_plugin_webrtc_ui_node_modules_cache_loader_dist_cjs_js_ref_0_0_plugin_webrtc_ui_node_modules_vue_loader_lib_index_js_vue_loader_options_Player_vue_vue_type_style_index_0_id_a6774e8e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), -/***/ "8875": +/***/ "32dd": /***/ (function(module, exports, __webpack_require__) { -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller -// MIT license -// source: https://github.com/amiller-gh/currentScript-polyfill - -// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505 - -(function (root, factory) { - if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} -}(typeof self !== 'undefined' ? self : this, function () { - function getCurrentScript () { - var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript') - // for chrome - if (!descriptor && 'currentScript' in document && document.currentScript) { - return document.currentScript - } - - // for other browsers with native support for currentScript - if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) { - return document.currentScript - } - - // IE 8-10 support script readyState - // IE 11+ & Firefox support stack trace - try { - throw new Error(); - } - catch (err) { - // Find the second match for the "at" string to get file src url from stack. - var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig, - ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig, - stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack), - scriptLocation = (stackDetails && stackDetails[1]) || false, - line = (stackDetails && stackDetails[2]) || false, - currentLocation = document.location.href.replace(document.location.hash, ''), - pageSource, - inlineScriptSourceRegExp, - inlineScriptSource, - scripts = document.getElementsByTagName('script'); // Live NodeList collection - - if (scriptLocation === currentLocation) { - pageSource = document.documentElement.outerHTML; - inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=76558468&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=76558468&scoped=true&lang=css&\"\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 \"76558468\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player-wrap\"},[(_vm.rtcStream)?[_c('video',{attrs:{\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.rtcStream,\"muted\":true}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player2.vue?vue&type=template&id=379ce7fe&scoped=true&\"\nimport script from \"./Player2.vue?vue&type=script&lang=js&\"\nexport * from \"./Player2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player2.vue?vue&type=style&index=0&id=379ce7fe&scoped=true&lang=css&\"\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 \"379ce7fe\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=77f8f0e9&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=77f8f0e9&scoped=true&lang=css&\"\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 \"77f8f0e9\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://plugin-gb28181/webpack/bootstrap","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/base64-js/index.js","webpack://plugin-gb28181/./src/App.vue?4f56","webpack://plugin-gb28181/./src/components/Player.vue?a209","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/buffer/index.js","webpack://plugin-gb28181/./src/components/Player2.vue?6b15","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/isarray/index.js","webpack://plugin-gb28181/./src/utils/ptz-cmd.js","webpack://plugin-gb28181/./src/components/Player2.vue?1bef","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/ieee754/index.js","webpack://plugin-gb28181/./src/components/Player.vue?bfe9","webpack://plugin-gb28181/(webpack)/buildin/global.js","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://plugin-gb28181/./src/App.vue?1ea4","webpack://plugin-gb28181/./src/components/Player.vue?3d94","webpack://plugin-gb28181/src/components/Player.vue","webpack://plugin-gb28181/./src/components/Player.vue?66a9","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://plugin-gb28181/./src/components/Player.vue","webpack://plugin-gb28181/./src/components/Player2.vue?8b30","webpack://plugin-gb28181/src/components/Player2.vue","webpack://plugin-gb28181/./src/components/Player2.vue?bb65","webpack://plugin-gb28181/./src/components/Player2.vue","webpack://plugin-gb28181/src/App.vue","webpack://plugin-gb28181/./src/App.vue?df63","webpack://plugin-gb28181/./src/App.vue","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://plugin-gb28181/./src/App.vue?24a0","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@soda/get-current-script/index.js"],"names":[],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvJA;AAAA;AAAA;AAA0kB,CAAgB,smBAAG,EAAC,C;;;;;;;;ACA9lB;AAAA;AAAA;AAA+lB,CAAgB,ymBAAG,EAAC,C;;;;;;;;ACAnnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,MAAW;AAChC,cAAc,mBAAO,CAAC,MAAS;AAC/B,cAAc,mBAAO,CAAC,MAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;AC5vDA;AAAA;AAAA;AAAgmB,CAAgB,0mBAAG,EAAC,C;;;;;;;ACApnB,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAE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O,kEAAkE,gBAAgB;AACt5Y,IAAI,+DAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiDnB,EAA4C;AAC5C,+BAA+B,2BAAQ,IAAI,2BAAQ,OAAO,2BAAQ,MAAM,2BAAQ,MAAM,2BAAQ,QAAQ,2BAAQ,SAAS,2BAAQ,UAAU,2BAAQ;AACjJ;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAAQ;AAC9B;AACA;AACA,sBAAsB,2BAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;ACnI2N,CAAgB,4GAAG,EAAC,C;;;;;ACAjP;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjGiG;AACvC;AACL;AACqC;;;AAG1F;AACiH;AACjH,gBAAgB,kBAAU;AAC1B,EAAE,yCAAM;AACR,EAAE,sDAAM;AACR,EAAE,+DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,4D;;ACnBf,IAAI,uDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,0BAA0B,+BAA+B,OAAO,uCAAuC,WAAW,wCAAwC;AACpQ,IAAI,gEAAe;;;;;;;;;;;;;;;ACQnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9F8N,CAAgB,8GAAG,EAAC,C;;;;;ACAhJ;AACvC;AACL;AACqC;;;AAG3F;AACiH;AACjH,IAAI,iBAAS,GAAG,kBAAU;AAC1B,EAAE,0CAAM;AACR,EAAE,uDAAM;AACR,EAAE,gEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,6DAAS,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgEuB;AACE;AACK;;AAEvC;AACf;AACA,QAAQ,oBAAY;AACpB,QAAQ,sBAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oCAAS;AACpC,+BAA+B,oCAAS,SAAS,2BAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,2BAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;AC9MkN,CAAgB,+FAAG,EAAC,C;;;;;ACA1I;AACvC;AACL;AACqC;;;AAGvF;AAC8G;AAC9G,IAAI,aAAS,GAAG,kBAAU;AAC1B,EAAE,+BAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,qDAAS,Q;;ACnBA;AACA;AACT,kFAAG;AACI;;;;;;;;ACHtB,uC;;;;;;;ACAA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC","file":"plugin-gb28181.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"deee\");\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(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\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","import mod from \"-!../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"","/*!\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","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * Date:2020/11/9\r\n * Desc:\r\n */\r\n/**\r\n * Date:2020/11/2\r\n * Desc: ptz cmd 封装\r\n * cmd[0] //首字节以05H开头\r\n * cmd[1] //组合码,高4位为版本信息v1.0,版本信息0H,低四位为校验码\r\n * // 校验码 = (cmd[0]的高4位+cmd[0]的低4位+cmd[1]的高4位)%16\r\n * cmd[2] //地址的低8位???什么地址,地址范围000h ~ FFFh(0~4095),其中000h为广播地址\r\n * cmd[3] //指令码\r\n * cmd[4] //数据1,水平控制速度、聚焦速度\r\n * cmd[5] //数据2,垂直控制速度、光圈速度\r\n * cmd[6] // 高4位为数据3=变倍控制速度,低4位为地址高4位\r\n */\r\n\r\nconst PTZ_TYPE = {\r\n stop: 'stop',\r\n right: 'right',\r\n left: 'left',\r\n up: 'up',\r\n down: 'down',\r\n leftUp: 'leftUp',\r\n leftDown: 'leftDown',\r\n rightUp: 'rightUp',\r\n rightDown: 'rightDown',\r\n zoomFar: 'zoomFar',\r\n zoomNear: 'zoomNear',\r\n apertureFar: 'apertureFar',\r\n apertureNear: 'apertureNear',\r\n focusFar: 'focusFar',\r\n focusNear: 'focusNear',\r\n setPos: 'setPos',\r\n calPos: 'calPos',\r\n delPos: 'delPos'\r\n};\r\n\r\nconst PTZ_CMD_TYPE = {\r\n stop: 0x00,\r\n\r\n right: 0x01,\r\n left: 0x02,\r\n up: 0x08,\r\n down: 0x04,\r\n\r\n leftUp: 0x0A,\r\n leftDown: 0x06,\r\n rightUp: 0x09,\r\n rightDown: 0x05,\r\n\r\n zoomFar: 0x10, // 镜头 放大\r\n zoomNear: 0x20, // 镜头 缩小\r\n\r\n apertureFar: 0x48, // 光圈 缩小\r\n apertureNear: 0x44, // 光圈 放大\r\n\r\n focusFar: 0x42, // 聚焦 近\r\n focusNear: 0x41, // 聚焦 远\r\n\r\n setPos: 0x81,\r\n calPos: 0x82,\r\n delPos: 0x83\r\n};\r\n\r\nconst SPEED_ARRAY = [0x19, 0x32, 0x4b, 0x64, 0x7d, 0x96, 0xAF, 0xC8, 0xE1, 0xFA];\r\nconst POSITION_ARRAY = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10];\r\n\r\n// 获取 direction 方向型\r\n/**\r\n *\r\n * @param options\r\n * type:\r\n * speed:default 5\r\n * index:\r\n * @returns {string}\r\n */\r\nfunction getPTZCmd(options) {\r\n const {type, speed, index} = options;\r\n const ptzSpeed = getPTZSpeed(speed);\r\n let indexValue3, indexValue4, indexValue5, indexValue6;\r\n indexValue3 = PTZ_CMD_TYPE[type];\r\n switch (type) {\r\n case PTZ_TYPE.up:\r\n case PTZ_TYPE.down:\r\n case PTZ_TYPE.apertureFar:\r\n case PTZ_TYPE.apertureNear:\r\n indexValue5 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.right:\r\n case PTZ_TYPE.left:\r\n case PTZ_TYPE.focusFar:\r\n case PTZ_TYPE.focusNear:\r\n indexValue4 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.leftUp:\r\n case PTZ_TYPE.leftDown:\r\n case PTZ_TYPE.rightUp:\r\n case PTZ_TYPE.rightDown:\r\n indexValue4 = ptzSpeed;\r\n indexValue5 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.zoomFar:\r\n case PTZ_TYPE.zoomNear:\r\n indexValue6 = 0x10;\r\n break;\r\n case PTZ_TYPE.calPos:\r\n case PTZ_TYPE.delPos:\r\n case PTZ_TYPE.setPos:\r\n indexValue5 = getPTZPositionIndex(index);\r\n break;\r\n default:\r\n break;\r\n }\r\n return ptzCmdToString(indexValue3, indexValue4, indexValue5, indexValue6);\r\n}\r\n\r\nfunction getPTZSpeed(speed) {\r\n speed = speed || 5;\r\n const speedIndex = speed - 1;\r\n const ptzSpeed = SPEED_ARRAY[speedIndex] || SPEED_ARRAY[4];\r\n return ptzSpeed;\r\n}\r\n\r\nfunction getPTZPositionIndex(index) {\r\n return POSITION_ARRAY[index - 1];\r\n}\r\n\r\nfunction ptzCmdToString(indexValue3, indexValue4, indexValue5, indexValue6) {\r\n //\r\n let cmd = Buffer.alloc(8);\r\n // 首字节以05H开头\r\n cmd[0] = 0xA5;\r\n // 组合码,高4位为版本信息v1.0,版本信息0H,低四位为校验码\r\n cmd[1] = 0x0F;\r\n // 校验码 = (cmd[0]的高4位+cmd[0]的低4位+cmd[1]的高4位)%16\r\n cmd[2] = 0x01;\r\n //\r\n if (indexValue3) {\r\n cmd[3] = indexValue3;\r\n }\r\n if (indexValue4) {\r\n cmd[4] = indexValue4;\r\n }\r\n if (indexValue5) {\r\n cmd[5] = indexValue5;\r\n }\r\n if (indexValue6) {\r\n cmd[6] = indexValue6;\r\n }\r\n\r\n cmd[7] = (cmd[0] + cmd[1] + cmd[2] + cmd[3] + cmd[4] + cmd[5] + cmd[6]) % 256;\r\n\r\n return bytes2HexString(cmd);\r\n}\r\n\r\nfunction bytes2HexString(byte) {\r\n let hexs = \"\";\r\n for (let i = 0; i < byte.length; i++) {\r\n let hex = (byte[i]).toString(16);\r\n if (hex.length === 1) {\r\n hex = '0' + hex;\r\n }\r\n hexs += hex.toUpperCase();\r\n }\r\n return hexs;\r\n}\r\n\r\nexport {\r\n getPTZCmd,\r\n PTZ_TYPE\r\n}\r\n","// extracted by mini-css-extract-plugin","exports.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","// extracted by mini-css-extract-plugin","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$parent.titleTabActive === 0)?_c('div',{staticClass:\"tabpanel\"},[_c('mu-data-table',{attrs:{\"data\":_vm.Devices,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"expand\",fn:function(prop){return [_c('mu-data-table',{attrs:{\"data\":prop.row.Channels,\"columns\":_vm.columns2},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.row;\nvar $index = ref.$index;\nreturn [_c('td',[_vm._v(_vm._s(item.DeviceID))]),_c('td',[_vm._v(_vm._s(item.Name))]),_c('td',[_vm._v(_vm._s(item.Manufacturer))]),_c('td',[_vm._v(_vm._s(item.Address))]),_c('td',[_vm._v(_vm._s(item.Status))]),_c('td',[(item.Connected)?_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.ptz(prop.row.ID, $index, item)}}},[_vm._v(\"云台 \")]):_vm._e(),(item.Connected)?_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.bye(prop.row.ID, $index)}}},[_vm._v(\"断开\")]):_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.invite(prop.row.ID, $index, item)}}},[_vm._v(\"连接 \")])],1)]}}],null,true)})]}},{key:\"default\",fn:function(ref){\nvar item = ref.row;\nreturn [_c('td',[_vm._v(_vm._s(item.ID))]),_c('td',[_vm._v(_vm._s(item.Addr))]),_c('td',[_vm._v(_vm._s(item.Channels ? item.Channels.length : 0))]),_c('td',[_c('StartTime',{attrs:{\"value\":item.RegisterTime}})],1),_c('td',[_c('StartTime',{attrs:{\"value\":item.UpdateTime}})],1),_c('td',[_vm._v(_vm._s(item.Status))])]}}],null,false,2809573184)})],1):_vm._e(),(_vm.$parent.titleTabActive === 1)?_c('div',{staticClass:\"tabpanel\"},[_c('div',{staticClass:\"search\"},[_c('i-select',{attrs:{\"multiple\":\"\"},model:{value:(_vm.channelSelectedList),callback:function ($$v) {_vm.channelSelectedList=$$v},expression:\"channelSelectedList\"}},_vm._l((_vm.channelList),function(channel,index){return _c('Option',{key:index,attrs:{\"value\":channel,\"label\":channel.DeviceID + '(' + channel.Name + ')'}})}),1)],1),_c('div',{staticClass:\"flex-box\"},[_vm._l((_vm.channelSelectedList),function(channel,index){return [(channel.ID)?_c('div',{key:index,staticClass:\"flex-item\"},[_c('webrtc-player2',{attrs:{\"stream-path\":'gb28181/' + channel.ID}})],1):_vm._e()]})],2)]):_vm._e(),_c('webrtc-player',{ref:\"player\",attrs:{\"PublicIP\":_vm.PublicIP},on:{\"ptz\":_vm.sendPtz},model:{value:(_vm.previewStreamPath),callback:function ($$v) {_vm.previewStreamPath=$$v},expression:\"previewStreamPath\"}})],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('Modal',_vm._g(_vm._b({attrs:{\"draggable\":\"\",\"width\":\"750\",\"title\":_vm.streamPath},on:{\"on-ok\":_vm.onClosePreview,\"on-cancel\":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('div',{staticClass:\"container\"},[_c('video',{ref:\"webrtc\",attrs:{\"width\":\"488\",\"height\":\"275\",\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.stream,\"muted\":true}}),_c('div',{staticClass:\"control\"},[_vm._l((8),function(n){return _c('svg',{class:'arrow'+n,attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"64\",\"height\":\"64\"},on:{\"click\":function($event){return _vm.ptzCmdDirection(n)}}},[_c('defs'),_c('path',{attrs:{\"d\":\"M682.666667 955.733333H341.333333a17.066667 17.066667 0 0 1-17.066666-17.066666V529.066667H85.333333a17.066667 17.066667 0 0 1-12.066133-29.1328l426.666667-426.666667a17.0496 17.0496 0 0 1 24.132266 0l426.666667 426.666667A17.066667 17.066667 0 0 1 938.666667 529.066667H699.733333v409.6a17.066667 17.066667 0 0 1-17.066666 17.066666z m-324.266667-34.133333h307.2V512a17.066667 17.066667 0 0 1 17.066667-17.066667h214.801066L512 109.4656 126.532267 494.933333H341.333333a17.066667 17.066667 0 0 1 17.066667 17.066667v409.6z\",\"p-id\":\"6849\"}})])}),_c('svg',{staticClass:\"arrow9\",attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mousedown\":_vm.startPtzCmdCycle,\"mouseup\":_vm.stopPtzCmdCycle}},[_c('path',{attrs:{\"d\":\"M512 960c-210.96 0-395.36-149.68-438.47-355.91-2.98-14.24 6.16-28.21 20.4-31.19 14.22-2.93 28.21 6.15 31.18 20.41C163.15 775.25 325.86 907.29 512 907.29s348.85-132.05 386.89-313.98c2.99-14.26 16.97-23.35 31.19-20.41 14.24 2.99 23.38 16.95 20.41 31.19C907.36 810.32 722.95 960 512 960zM927.48 466.94c-12.61 0-23.75-9.07-25.95-21.91C869.06 254.78 705.24 116.71 512 116.71c-193.23 0-357.05 138.07-389.52 328.32-2.45 14.35-16.08 24.01-30.41 21.54-14.35-2.46-23.99-16.07-21.55-30.42C107.33 220.51 293 64 512 64c219.01 0 404.68 156.51 441.48 372.15 2.44 14.35-7.21 27.97-21.54 30.42-1.5 0.25-3 0.37-4.46 0.37z\"}}),_c('path',{attrs:{\"d\":\"M96.52 466.94c-9.11 0-17.97-4.72-22.85-13.18-7.28-12.61-2.96-28.72 9.64-36l131.76-76.07c12.6-7.26 28.73-2.96 36 9.65 7.28 12.61 2.96 28.72-9.64 36l-131.76 76.07a26.18 26.18 0 0 1-13.15 3.53zM792.95 701.14c-9.11 0-17.96-4.72-22.85-13.18-7.28-12.6-2.96-28.72 9.64-36l131.76-76.09c12.58-7.28 28.72-2.95 36 9.65 7.27 12.6 2.96 28.72-9.65 36l-131.75 76.1a26.271 26.271 0 0 1-13.15 3.52z\"}})])],2),_c('div',{staticClass:\"control control2\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.zoomFar)}}},[_c('path',{attrs:{\"d\":\"M994.990643 859.352971L713.884166 578.246494A381.208198 381.208198 0 0 0 767.307984 383.653992C767.307984 171.765089 595.542895 0 383.653992 0S0 171.765089 0 383.653992s171.765089 383.653992 383.653992 383.653992c71.119859 0 137.507985-19.694238 194.592502-53.423818l281.106477 281.090491a95.913498 95.913498 0 1 0 135.637672-135.621686zM383.653992 671.394486c-158.912681 0-287.740494-128.827813-287.740494-287.740494S224.741311 95.913498 383.653992 95.913498s287.740494 128.827813 287.740494 287.740494-128.827813 287.740494-287.740494 287.740494z m159.85583-335.697243h-111.899081v-111.899081a47.956749 47.956749 0 1 0-95.913498 0v111.899081h-111.899081a47.956749 47.956749 0 1 0 0 95.913498h111.899081v111.899081a47.956749 47.956749 0 1 0 95.913498 0v-111.899081h111.899081a47.956749 47.956749 0 1 0 0-95.913498z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.zoomNear)}}},[_c('path',{attrs:{\"d\":\"M994.990643 859.352971L713.884166 578.246494A381.208198 381.208198 0 0 0 767.307984 383.653992C767.307984 171.765089 595.542895 0 383.653992 0S0 171.765089 0 383.653992s171.765089 383.653992 383.653992 383.653992c71.119859 0 137.507985-19.694238 194.592502-53.423818l281.106477 281.090491a95.913498 95.913498 0 1 0 135.637672-135.621686zM383.653992 671.394486c-158.912681 0-287.740494-128.827813-287.740494-287.740494S224.741311 95.913498 383.653992 95.913498s287.740494 128.827813 287.740494 287.740494-128.827813 287.740494-287.740494 287.740494z m159.85583-335.697243H223.798162a47.956749 47.956749 0 1 0 0 95.913498h319.71166a47.956749 47.956749 0 1 0 0-95.913498z\"}})])]),_c('div',{staticClass:\"control control3\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.apertureFar)}}},[_c('path',{attrs:{\"d\":\"M956.39 400.827C922.164 266.675 828.186 155.703 701.502 99.874l94.522 443.782L956.39 400.827zM206.208 189.167C106.183 286.191 56.845 424.181 72.696 562.659l351.347-309.096-217.835-64.396zM643.118 78.847a446.363 446.363 0 0 0-138.947-16.775 448.047 448.047 0 0 0-250.583 86.934l437.868 146.949-48.338-217.108zM83.786 623.979c34.443 133.772 128.248 244.407 254.583 300.291l-95.915-426.55L83.786 623.979zM969.893 496.089a372.746 372.746 0 0 0-2.37-34.138l-329.972 303.78 196.157 69.256c91.522-88.456 141.056-211.704 136.185-338.898zM396.862 945.166a447.857 447.857 0 0 0 139.077 16.766 447.784 447.784 0 0 0 250.322-86.718L349.286 733.05l47.576 212.116z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M397.253 471.171h245.668c22.593 0 40.923 18.32 40.923 40.913 0 22.592-18.33 40.922-40.923 40.922H397.253c-22.592 0-40.922-18.33-40.922-40.922 0-22.593 18.33-40.913 40.922-40.913z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M479.17 634.879V389.21c0-22.593 18.32-40.923 40.913-40.923s40.923 18.33 40.923 40.923v245.668c0 22.592-18.33 40.922-40.923 40.922s-40.913-18.329-40.913-40.921z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.apertureNear)}}},[_c('path',{attrs:{\"d\":\"M956.39 400.827C922.164 266.675 828.186 155.703 701.502 99.874l94.522 443.782L956.39 400.827z m-750.182-211.66C106.183 286.191 56.845 424.181 72.696 562.659l351.347-309.096-217.835-64.396z m436.91-110.32a446.363 446.363 0 0 0-138.947-16.775 448.047 448.047 0 0 0-250.583 86.934l437.868 146.949-48.338-217.108zM83.786 623.979c34.443 133.772 128.248 244.407 254.583 300.291l-95.915-426.55L83.786 623.979z m886.107-127.89a372.746 372.746 0 0 0-2.37-34.138l-329.972 303.78 196.157 69.256c91.522-88.456 141.056-211.704 136.185-338.898zM396.862 945.166a447.857 447.857 0 0 0 139.077 16.766 447.784 447.784 0 0 0 250.322-86.718L349.286 733.05l47.576 212.116z m0.391-474.039h245.668c22.593 0 40.923 18.32 40.923 40.912 0 22.593-18.33 40.923-40.923 40.923H397.253c-22.592 0-40.922-18.33-40.922-40.923 0-22.592 18.33-40.912 40.922-40.912z\"}})])]),_c('div',{staticClass:\"control control4\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.focusFar)}}},[_c('path',{attrs:{\"d\":\"M849.07153297 646.81872559c9.30432153 0 17.26391602 3.30249 23.82934617 9.88769507 6.60992408 6.59509253 9.88769508 14.52502465 9.88769508 23.79473901v101.14617896c0 27.90801978-9.87780761 51.70275879-29.61364722 71.47814965-19.75067115 19.77539086-43.56518578 29.66308594-71.48803711 29.66308594h-101.1165166c-9.32409644 0-17.25402856-3.29754663-23.83428954-9.9865725-6.59509253-6.49127173-9.90252662-14.52502465-9.90252662-23.7947383 0-9.26971435 3.30743408-17.20458984 9.90252662-23.79473901 6.58026099-6.59014916 14.51019311-9.88769508 23.83428954-9.88769507h101.1165166c9.29937744 0 17.26391602-3.29754663 23.82440137-9.88769579 6.61486816-6.59014916 9.88769508-14.52008057 9.88769579-23.89361573v-101.04235815c0-9.36859107 3.28765845-17.30346656 9.89758254-23.78979493 6.57531762-6.69396997 14.52502465-9.99151587 23.83923363-9.99151587l-0.06427025 0.09887671zM242.38726782 141.3103025h101.10168506c9.30432153 0 17.2688601 3.29754663 23.819458 9.88769578 6.62475562 6.59509253 9.89758325 14.52502465 9.89758254 23.7947383 0 9.37353516-3.27282691 17.30346656-9.89758254 23.79473901-6.5505979 6.69396997-14.51513648 9.9865725-23.81451463 9.9865725h-101.10168433c-9.31915307 0-17.2688601 3.19372583-23.82934547 9.88769508-6.62475562 6.49127173-9.91241479 14.52502465-9.91241479 23.794739v101.04235816c0 9.36859107-3.28271508 17.30346656-9.89758324 23.89361573-6.57531762 6.59014916-14.51513648 9.88769508-23.81451392 9.88769507-9.31420898 0-17.25402856-3.29754663-23.82934547-9.88769507C144.49908423 360.80230689 141.21142578 352.86743141 141.21142578 343.49884033V242.45648217c0-27.91296386 9.86792016-51.70275879 29.62353539-71.47814965 19.75067115-19.77539086 43.57507324-29.66308594 71.48803711-29.66308594h0.06426954zM174.9877932 646.81872559c9.30432153 0 17.24414039 3.30249 23.81451393 9.88769507 6.62475562 6.59509253 9.90252662 14.52502465 9.90252662 23.79473901v101.14617896c0 9.26971435 3.27282691 17.19964576 9.89758324 23.78979492 6.57531762 6.59014916 14.51513648 9.88769508 23.81451393 9.88769579h101.12640404c9.29937744 0 17.25402856 3.29754663 23.82934547 9.88769507 6.60992408 6.59014916 9.88769508 14.52502465 9.88769579 23.89361572 0 9.26971435-3.27777099 17.20458984-9.88769579 23.79473901-6.57531762 6.59014916-14.52996803 9.88769508-23.82934547 9.88769508H242.41693092c-27.91296386 0-51.71264625-9.88769508-71.47814895-29.66308594-19.75561523-19.67651344-29.62353539-43.57012915-29.62353539-71.47814965v-101.04235816c0-9.26971435 3.27282691-17.30346656 9.88769507-23.89361573 6.58026099-6.59509253 14.52502465-9.88769508 23.81451464-9.88769507h-0.02966309zM680.57037329 141.3103025h101.1165166c27.92285133 0 51.73736596 9.88769508 71.48803711 29.56420922 19.73583961 19.77539086 29.61364722 43.57012915 29.61364722 71.47814965v101.14617896c0 9.26971435-3.27777099 17.30346656-9.88769508 23.78979493-6.56542945 6.69396997-14.52502465 9.88769508-23.82934617 9.88769506-9.29937744 0-17.26391602-3.19372583-23.82440139-9.88769506-6.61486816-6.48632836-9.88769508-14.52008057-9.88769579-23.78979493V242.35266137c0-9.26971435-3.28765845-17.19964576-9.90252661-23.78979492-6.57037354-6.59509253-14.52008057-9.88769508-23.83428955-9.88769579h-101.10168433c-9.31420898 0-17.2688601-3.29754663-23.82934618-9.88769507-6.60992408-6.59509253-9.89758325-14.52502465-9.89758254-23.79473902 0-9.37353516 3.28765845-17.30346656 9.89758254-23.89361571 6.56048608-6.59014916 14.51513648-9.88769508 23.82934618-9.88769508l0.04943799 0.09887672z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.focusNear)}}},[_c('path',{attrs:{\"d\":\"M512 170.666667A341.333333 341.333333 0 1 1 170.666667 512 341.333333 341.333333 0 0 1 512 170.666667m0-42.666667a384 384 0 1 0 384 384A384 384 0 0 0 512 128z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M298.666667 533.333333H170.666667a21.333333 21.333333 0 0 1 0-42.666666h128a21.333333 21.333333 0 0 1 0 42.666666zM853.333333 533.333333h-128a21.333333 21.333333 0 0 1 0-42.666666h128a21.333333 21.333333 0 0 1 0 42.666666zM512 320a21.333333 21.333333 0 0 1-21.333333-21.333333V170.666667a21.333333 21.333333 0 0 1 42.666666 0v128a21.333333 21.333333 0 0 1-21.333333 21.333333zM512 874.666667a21.333333 21.333333 0 0 1-21.333333-21.333334v-128a21.333333 21.333333 0 0 1 42.666666 0v128a21.333333 21.333333 0 0 1-21.333333 21.333334z\"}})])]),_c('div',{staticClass:\"control5\"},[_c('i-select',{staticStyle:{\"width\":\"100px\"},model:{value:(_vm.ptzPositionIndex),callback:function ($$v) {_vm.ptzPositionIndex=$$v},expression:\"ptzPositionIndex\"}},_vm._l((10),function(n){return _c('Option',{key:n,attrs:{\"value\":n}},[_vm._v(\"预置点\"+_vm._s(n))])}),1),_c('i-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.setPos)}}},[_vm._v(\"设置\")]),_c('i-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.calPos)}}},[_vm._v(\"调用\")]),_c('i-button',{attrs:{\"type\":\"error\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.delPos)}}},[_vm._v(\"删除\")]),_vm._v(\" 速度: \"),_c('InputNumber',{attrs:{\"max\":10,\"min\":1},model:{value:(_vm.ptzSpeed),callback:function ($$v) {_vm.ptzSpeed=$$v},expression:\"ptzSpeed\"}})],1)]),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{\"slot\":\"content\",\"href\":_vm.remoteSDPURL,\"download\":\"remoteSDP.txt\"},slot:\"content\"},[_vm._v(\"remoteSDP\")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{\"slot\":\"content\",\"href\":_vm.localSDPURL,\"download\":\"localSDP.txt\"},slot:\"content\"},[_vm._v(\"localSDP\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=a6774e8e&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6774e8e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player-wrap\"},[(_vm.rtcStream)?[_c('video',{attrs:{\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.rtcStream,\"muted\":true}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player2.vue?vue&type=template&id=a326889c&scoped=true&\"\nimport script from \"./Player2.vue?vue&type=script&lang=js&\"\nexport * from \"./Player2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a326889c\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7bad0327&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bad0327\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// extracted by mini-css-extract-plugin","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n if (document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=76558468&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=76558468&scoped=true&lang=css&\"\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 \"76558468\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player-wrap\"},[(_vm.rtcStream)?[_c('video',{attrs:{\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.rtcStream,\"muted\":true}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player2.vue?vue&type=template&id=379ce7fe&scoped=true&\"\nimport script from \"./Player2.vue?vue&type=script&lang=js&\"\nexport * from \"./Player2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player2.vue?vue&type=style&index=0&id=379ce7fe&scoped=true&lang=css&\"\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 \"379ce7fe\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=77f8f0e9&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=77f8f0e9&scoped=true&lang=css&\"\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 \"77f8f0e9\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://plugin-gb28181/webpack/universalModuleDefinition","webpack://plugin-gb28181/webpack/bootstrap","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/base64-js/index.js","webpack://plugin-gb28181/./src/App.vue?4f56","webpack://plugin-gb28181/./src/components/Player.vue?a209","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/buffer/index.js","webpack://plugin-gb28181/./src/components/Player2.vue?6b15","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/isarray/index.js","webpack://plugin-gb28181/./src/utils/ptz-cmd.js","webpack://plugin-gb28181/./src/components/Player2.vue?1bef","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/ieee754/index.js","webpack://plugin-gb28181/./src/components/Player.vue?bfe9","webpack://plugin-gb28181/(webpack)/buildin/global.js","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://plugin-gb28181/./src/App.vue?1ea4","webpack://plugin-gb28181/./src/components/Player.vue?3d94","webpack://plugin-gb28181/src/components/Player.vue","webpack://plugin-gb28181/./src/components/Player.vue?66a9","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://plugin-gb28181/./src/components/Player.vue","webpack://plugin-gb28181/./src/components/Player2.vue?8b30","webpack://plugin-gb28181/src/components/Player2.vue","webpack://plugin-gb28181/./src/components/Player2.vue?bb65","webpack://plugin-gb28181/./src/components/Player2.vue","webpack://plugin-gb28181/src/App.vue","webpack://plugin-gb28181/./src/App.vue?df63","webpack://plugin-gb28181/./src/App.vue","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://plugin-gb28181/./src/App.vue?24a0","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@soda/get-current-script/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFY;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvJA;AAAA;AAAA;AAA0kB,CAAgB,smBAAG,EAAC,C;;;;;;;;ACA9lB;AAAA;AAAA;AAA+lB,CAAgB,ymBAAG,EAAC,C;;;;;;;;ACAnnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,MAAW;AAChC,cAAc,mBAAO,CAAC,MAAS;AAC/B,cAAc,mBAAO,CAAC,MAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;AC5vDA;AAAA;AAAA;AAAgmB,CAAgB,0mBAAG,EAAC,C;;;;;;;ACApnB,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;ACJA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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kBAAkB,OAAO,gBAAgB,eAAe,yCAAyC,OAAO,oEAAoE,gBAAgB,yEAAyE,OAAO,kEAAkE,gBAAgB;AACt5Y,IAAI,+DAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiDnB,EAA4C;AAC5C,+BAA+B,2BAAQ,IAAI,2BAAQ,OAAO,2BAAQ,MAAM,2BAAQ,MAAM,2BAAQ,QAAQ,2BAAQ,SAAS,2BAAQ,UAAU,2BAAQ;AACjJ;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAAQ;AAC9B;AACA;AACA,sBAAsB,2BAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;ACnI2N,CAAgB,4GAAG,EAAC,C;;;;;ACAjP;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjGiG;AACvC;AACL;AACqC;;;AAG1F;AACiH;AACjH,gBAAgB,kBAAU;AAC1B,EAAE,yCAAM;AACR,EAAE,sDAAM;AACR,EAAE,+DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,4D;;ACnBf,IAAI,uDAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,0BAA0B,+BAA+B,OAAO,uCAAuC,WAAW,wCAAwC;AACpQ,IAAI,gEAAe;;;;;;;;;;;;;;;ACQnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9F8N,CAAgB,8GAAG,EAAC,C;;;;;ACAhJ;AACvC;AACL;AACqC;;;AAG3F;AACiH;AACjH,IAAI,iBAAS,GAAG,kBAAU;AAC1B,EAAE,0CAAM;AACR,EAAE,uDAAM;AACR,EAAE,gEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,6DAAS,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgEuB;AACE;AACK;;AAEvC;AACf;AACA,QAAQ,oBAAY;AACpB,QAAQ,sBAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oCAAS;AACpC,+BAA+B,oCAAS,SAAS,2BAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,2BAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;AC9MkN,CAAgB,+FAAG,EAAC,C;;;;;ACA1I;AACvC;AACL;AACqC;;;AAGvF;AAC8G;AAC9G,IAAI,aAAS,GAAG,kBAAU;AAC1B,EAAE,+BAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,qDAAS,Q;;ACnBA;AACA;AACT,kFAAG;AACI;;;;;;;;ACHtB,uC;;;;;;;ACAA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC","file":"plugin-gb28181.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"plugin-gb28181\"] = factory();\n\telse\n\t\troot[\"plugin-gb28181\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"deee\");\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(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\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","import mod from \"-!../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"","/*!\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","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * Date:2020/11/9\r\n * Desc:\r\n */\r\n/**\r\n * Date:2020/11/2\r\n * Desc: ptz cmd 封装\r\n * cmd[0] //首字节以05H开头\r\n * cmd[1] //组合码,高4位为版本信息v1.0,版本信息0H,低四位为校验码\r\n * // 校验码 = (cmd[0]的高4位+cmd[0]的低4位+cmd[1]的高4位)%16\r\n * cmd[2] //地址的低8位???什么地址,地址范围000h ~ FFFh(0~4095),其中000h为广播地址\r\n * cmd[3] //指令码\r\n * cmd[4] //数据1,水平控制速度、聚焦速度\r\n * cmd[5] //数据2,垂直控制速度、光圈速度\r\n * cmd[6] // 高4位为数据3=变倍控制速度,低4位为地址高4位\r\n */\r\n\r\nconst PTZ_TYPE = {\r\n stop: 'stop',\r\n right: 'right',\r\n left: 'left',\r\n up: 'up',\r\n down: 'down',\r\n leftUp: 'leftUp',\r\n leftDown: 'leftDown',\r\n rightUp: 'rightUp',\r\n rightDown: 'rightDown',\r\n zoomFar: 'zoomFar',\r\n zoomNear: 'zoomNear',\r\n apertureFar: 'apertureFar',\r\n apertureNear: 'apertureNear',\r\n focusFar: 'focusFar',\r\n focusNear: 'focusNear',\r\n setPos: 'setPos',\r\n calPos: 'calPos',\r\n delPos: 'delPos'\r\n};\r\n\r\nconst PTZ_CMD_TYPE = {\r\n stop: 0x00,\r\n\r\n right: 0x01,\r\n left: 0x02,\r\n up: 0x08,\r\n down: 0x04,\r\n\r\n leftUp: 0x0A,\r\n leftDown: 0x06,\r\n rightUp: 0x09,\r\n rightDown: 0x05,\r\n\r\n zoomFar: 0x10, // 镜头 放大\r\n zoomNear: 0x20, // 镜头 缩小\r\n\r\n apertureFar: 0x48, // 光圈 缩小\r\n apertureNear: 0x44, // 光圈 放大\r\n\r\n focusFar: 0x42, // 聚焦 近\r\n focusNear: 0x41, // 聚焦 远\r\n\r\n setPos: 0x81,\r\n calPos: 0x82,\r\n delPos: 0x83\r\n};\r\n\r\nconst SPEED_ARRAY = [0x19, 0x32, 0x4b, 0x64, 0x7d, 0x96, 0xAF, 0xC8, 0xE1, 0xFA];\r\nconst POSITION_ARRAY = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10];\r\n\r\n// 获取 direction 方向型\r\n/**\r\n *\r\n * @param options\r\n * type:\r\n * speed:default 5\r\n * index:\r\n * @returns {string}\r\n */\r\nfunction getPTZCmd(options) {\r\n const {type, speed, index} = options;\r\n const ptzSpeed = getPTZSpeed(speed);\r\n let indexValue3, indexValue4, indexValue5, indexValue6;\r\n indexValue3 = PTZ_CMD_TYPE[type];\r\n switch (type) {\r\n case PTZ_TYPE.up:\r\n case PTZ_TYPE.down:\r\n case PTZ_TYPE.apertureFar:\r\n case PTZ_TYPE.apertureNear:\r\n indexValue5 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.right:\r\n case PTZ_TYPE.left:\r\n case PTZ_TYPE.focusFar:\r\n case PTZ_TYPE.focusNear:\r\n indexValue4 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.leftUp:\r\n case PTZ_TYPE.leftDown:\r\n case PTZ_TYPE.rightUp:\r\n case PTZ_TYPE.rightDown:\r\n indexValue4 = ptzSpeed;\r\n indexValue5 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.zoomFar:\r\n case PTZ_TYPE.zoomNear:\r\n indexValue6 = 0x10;\r\n break;\r\n case PTZ_TYPE.calPos:\r\n case PTZ_TYPE.delPos:\r\n case PTZ_TYPE.setPos:\r\n indexValue5 = getPTZPositionIndex(index);\r\n break;\r\n default:\r\n break;\r\n }\r\n return ptzCmdToString(indexValue3, indexValue4, indexValue5, indexValue6);\r\n}\r\n\r\nfunction getPTZSpeed(speed) {\r\n speed = speed || 5;\r\n const speedIndex = speed - 1;\r\n const ptzSpeed = SPEED_ARRAY[speedIndex] || SPEED_ARRAY[4];\r\n return ptzSpeed;\r\n}\r\n\r\nfunction getPTZPositionIndex(index) {\r\n return POSITION_ARRAY[index - 1];\r\n}\r\n\r\nfunction ptzCmdToString(indexValue3, indexValue4, indexValue5, indexValue6) {\r\n //\r\n let cmd = Buffer.alloc(8);\r\n // 首字节以05H开头\r\n cmd[0] = 0xA5;\r\n // 组合码,高4位为版本信息v1.0,版本信息0H,低四位为校验码\r\n cmd[1] = 0x0F;\r\n // 校验码 = (cmd[0]的高4位+cmd[0]的低4位+cmd[1]的高4位)%16\r\n cmd[2] = 0x01;\r\n //\r\n if (indexValue3) {\r\n cmd[3] = indexValue3;\r\n }\r\n if (indexValue4) {\r\n cmd[4] = indexValue4;\r\n }\r\n if (indexValue5) {\r\n cmd[5] = indexValue5;\r\n }\r\n if (indexValue6) {\r\n cmd[6] = indexValue6;\r\n }\r\n\r\n cmd[7] = (cmd[0] + cmd[1] + cmd[2] + cmd[3] + cmd[4] + cmd[5] + cmd[6]) % 256;\r\n\r\n return bytes2HexString(cmd);\r\n}\r\n\r\nfunction bytes2HexString(byte) {\r\n let hexs = \"\";\r\n for (let i = 0; i < byte.length; i++) {\r\n let hex = (byte[i]).toString(16);\r\n if (hex.length === 1) {\r\n hex = '0' + hex;\r\n }\r\n hexs += hex.toUpperCase();\r\n }\r\n return hexs;\r\n}\r\n\r\nexport {\r\n getPTZCmd,\r\n PTZ_TYPE\r\n}\r\n","// extracted by mini-css-extract-plugin","exports.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","// extracted by mini-css-extract-plugin","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$parent.titleTabActive === 0)?_c('div',{staticClass:\"tabpanel\"},[_c('mu-data-table',{attrs:{\"data\":_vm.Devices,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"expand\",fn:function(prop){return [_c('mu-data-table',{attrs:{\"data\":prop.row.Channels,\"columns\":_vm.columns2},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.row;\nvar $index = ref.$index;\nreturn [_c('td',[_vm._v(_vm._s(item.DeviceID))]),_c('td',[_vm._v(_vm._s(item.Name))]),_c('td',[_vm._v(_vm._s(item.Manufacturer))]),_c('td',[_vm._v(_vm._s(item.Address))]),_c('td',[_vm._v(_vm._s(item.Status))]),_c('td',[(item.Connected)?_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.ptz(prop.row.ID, $index, item)}}},[_vm._v(\"云台 \")]):_vm._e(),(item.Connected)?_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.bye(prop.row.ID, $index)}}},[_vm._v(\"断开\")]):_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.invite(prop.row.ID, $index, item)}}},[_vm._v(\"连接 \")])],1)]}}],null,true)})]}},{key:\"default\",fn:function(ref){\nvar item = ref.row;\nreturn [_c('td',[_vm._v(_vm._s(item.ID))]),_c('td',[_vm._v(_vm._s(item.Addr))]),_c('td',[_vm._v(_vm._s(item.Channels ? item.Channels.length : 0))]),_c('td',[_c('StartTime',{attrs:{\"value\":item.RegisterTime}})],1),_c('td',[_c('StartTime',{attrs:{\"value\":item.UpdateTime}})],1),_c('td',[_vm._v(_vm._s(item.Status))])]}}],null,false,2809573184)})],1):_vm._e(),(_vm.$parent.titleTabActive === 1)?_c('div',{staticClass:\"tabpanel\"},[_c('div',{staticClass:\"search\"},[_c('i-select',{attrs:{\"multiple\":\"\"},model:{value:(_vm.channelSelectedList),callback:function ($$v) {_vm.channelSelectedList=$$v},expression:\"channelSelectedList\"}},_vm._l((_vm.channelList),function(channel,index){return _c('Option',{key:index,attrs:{\"value\":channel,\"label\":channel.DeviceID + '(' + channel.Name + ')'}})}),1)],1),_c('div',{staticClass:\"flex-box\"},[_vm._l((_vm.channelSelectedList),function(channel,index){return [(channel.ID)?_c('div',{key:index,staticClass:\"flex-item\"},[_c('webrtc-player2',{attrs:{\"stream-path\":'gb28181/' + channel.ID}})],1):_vm._e()]})],2)]):_vm._e(),_c('webrtc-player',{ref:\"player\",attrs:{\"PublicIP\":_vm.PublicIP},on:{\"ptz\":_vm.sendPtz},model:{value:(_vm.previewStreamPath),callback:function ($$v) {_vm.previewStreamPath=$$v},expression:\"previewStreamPath\"}})],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('Modal',_vm._g(_vm._b({attrs:{\"draggable\":\"\",\"width\":\"750\",\"title\":_vm.streamPath},on:{\"on-ok\":_vm.onClosePreview,\"on-cancel\":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('div',{staticClass:\"container\"},[_c('video',{ref:\"webrtc\",attrs:{\"width\":\"488\",\"height\":\"275\",\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.stream,\"muted\":true}}),_c('div',{staticClass:\"control\"},[_vm._l((8),function(n){return _c('svg',{class:'arrow'+n,attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"64\",\"height\":\"64\"},on:{\"click\":function($event){return _vm.ptzCmdDirection(n)}}},[_c('defs'),_c('path',{attrs:{\"d\":\"M682.666667 955.733333H341.333333a17.066667 17.066667 0 0 1-17.066666-17.066666V529.066667H85.333333a17.066667 17.066667 0 0 1-12.066133-29.1328l426.666667-426.666667a17.0496 17.0496 0 0 1 24.132266 0l426.666667 426.666667A17.066667 17.066667 0 0 1 938.666667 529.066667H699.733333v409.6a17.066667 17.066667 0 0 1-17.066666 17.066666z m-324.266667-34.133333h307.2V512a17.066667 17.066667 0 0 1 17.066667-17.066667h214.801066L512 109.4656 126.532267 494.933333H341.333333a17.066667 17.066667 0 0 1 17.066667 17.066667v409.6z\",\"p-id\":\"6849\"}})])}),_c('svg',{staticClass:\"arrow9\",attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mousedown\":_vm.startPtzCmdCycle,\"mouseup\":_vm.stopPtzCmdCycle}},[_c('path',{attrs:{\"d\":\"M512 960c-210.96 0-395.36-149.68-438.47-355.91-2.98-14.24 6.16-28.21 20.4-31.19 14.22-2.93 28.21 6.15 31.18 20.41C163.15 775.25 325.86 907.29 512 907.29s348.85-132.05 386.89-313.98c2.99-14.26 16.97-23.35 31.19-20.41 14.24 2.99 23.38 16.95 20.41 31.19C907.36 810.32 722.95 960 512 960zM927.48 466.94c-12.61 0-23.75-9.07-25.95-21.91C869.06 254.78 705.24 116.71 512 116.71c-193.23 0-357.05 138.07-389.52 328.32-2.45 14.35-16.08 24.01-30.41 21.54-14.35-2.46-23.99-16.07-21.55-30.42C107.33 220.51 293 64 512 64c219.01 0 404.68 156.51 441.48 372.15 2.44 14.35-7.21 27.97-21.54 30.42-1.5 0.25-3 0.37-4.46 0.37z\"}}),_c('path',{attrs:{\"d\":\"M96.52 466.94c-9.11 0-17.97-4.72-22.85-13.18-7.28-12.61-2.96-28.72 9.64-36l131.76-76.07c12.6-7.26 28.73-2.96 36 9.65 7.28 12.61 2.96 28.72-9.64 36l-131.76 76.07a26.18 26.18 0 0 1-13.15 3.53zM792.95 701.14c-9.11 0-17.96-4.72-22.85-13.18-7.28-12.6-2.96-28.72 9.64-36l131.76-76.09c12.58-7.28 28.72-2.95 36 9.65 7.27 12.6 2.96 28.72-9.65 36l-131.75 76.1a26.271 26.271 0 0 1-13.15 3.52z\"}})])],2),_c('div',{staticClass:\"control control2\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.zoomFar)}}},[_c('path',{attrs:{\"d\":\"M994.990643 859.352971L713.884166 578.246494A381.208198 381.208198 0 0 0 767.307984 383.653992C767.307984 171.765089 595.542895 0 383.653992 0S0 171.765089 0 383.653992s171.765089 383.653992 383.653992 383.653992c71.119859 0 137.507985-19.694238 194.592502-53.423818l281.106477 281.090491a95.913498 95.913498 0 1 0 135.637672-135.621686zM383.653992 671.394486c-158.912681 0-287.740494-128.827813-287.740494-287.740494S224.741311 95.913498 383.653992 95.913498s287.740494 128.827813 287.740494 287.740494-128.827813 287.740494-287.740494 287.740494z m159.85583-335.697243h-111.899081v-111.899081a47.956749 47.956749 0 1 0-95.913498 0v111.899081h-111.899081a47.956749 47.956749 0 1 0 0 95.913498h111.899081v111.899081a47.956749 47.956749 0 1 0 95.913498 0v-111.899081h111.899081a47.956749 47.956749 0 1 0 0-95.913498z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.zoomNear)}}},[_c('path',{attrs:{\"d\":\"M994.990643 859.352971L713.884166 578.246494A381.208198 381.208198 0 0 0 767.307984 383.653992C767.307984 171.765089 595.542895 0 383.653992 0S0 171.765089 0 383.653992s171.765089 383.653992 383.653992 383.653992c71.119859 0 137.507985-19.694238 194.592502-53.423818l281.106477 281.090491a95.913498 95.913498 0 1 0 135.637672-135.621686zM383.653992 671.394486c-158.912681 0-287.740494-128.827813-287.740494-287.740494S224.741311 95.913498 383.653992 95.913498s287.740494 128.827813 287.740494 287.740494-128.827813 287.740494-287.740494 287.740494z m159.85583-335.697243H223.798162a47.956749 47.956749 0 1 0 0 95.913498h319.71166a47.956749 47.956749 0 1 0 0-95.913498z\"}})])]),_c('div',{staticClass:\"control control3\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.apertureFar)}}},[_c('path',{attrs:{\"d\":\"M956.39 400.827C922.164 266.675 828.186 155.703 701.502 99.874l94.522 443.782L956.39 400.827zM206.208 189.167C106.183 286.191 56.845 424.181 72.696 562.659l351.347-309.096-217.835-64.396zM643.118 78.847a446.363 446.363 0 0 0-138.947-16.775 448.047 448.047 0 0 0-250.583 86.934l437.868 146.949-48.338-217.108zM83.786 623.979c34.443 133.772 128.248 244.407 254.583 300.291l-95.915-426.55L83.786 623.979zM969.893 496.089a372.746 372.746 0 0 0-2.37-34.138l-329.972 303.78 196.157 69.256c91.522-88.456 141.056-211.704 136.185-338.898zM396.862 945.166a447.857 447.857 0 0 0 139.077 16.766 447.784 447.784 0 0 0 250.322-86.718L349.286 733.05l47.576 212.116z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M397.253 471.171h245.668c22.593 0 40.923 18.32 40.923 40.913 0 22.592-18.33 40.922-40.923 40.922H397.253c-22.592 0-40.922-18.33-40.922-40.922 0-22.593 18.33-40.913 40.922-40.913z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M479.17 634.879V389.21c0-22.593 18.32-40.923 40.913-40.923s40.923 18.33 40.923 40.923v245.668c0 22.592-18.33 40.922-40.923 40.922s-40.913-18.329-40.913-40.921z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.apertureNear)}}},[_c('path',{attrs:{\"d\":\"M956.39 400.827C922.164 266.675 828.186 155.703 701.502 99.874l94.522 443.782L956.39 400.827z m-750.182-211.66C106.183 286.191 56.845 424.181 72.696 562.659l351.347-309.096-217.835-64.396z m436.91-110.32a446.363 446.363 0 0 0-138.947-16.775 448.047 448.047 0 0 0-250.583 86.934l437.868 146.949-48.338-217.108zM83.786 623.979c34.443 133.772 128.248 244.407 254.583 300.291l-95.915-426.55L83.786 623.979z m886.107-127.89a372.746 372.746 0 0 0-2.37-34.138l-329.972 303.78 196.157 69.256c91.522-88.456 141.056-211.704 136.185-338.898zM396.862 945.166a447.857 447.857 0 0 0 139.077 16.766 447.784 447.784 0 0 0 250.322-86.718L349.286 733.05l47.576 212.116z m0.391-474.039h245.668c22.593 0 40.923 18.32 40.923 40.912 0 22.593-18.33 40.923-40.923 40.923H397.253c-22.592 0-40.922-18.33-40.922-40.923 0-22.592 18.33-40.912 40.922-40.912z\"}})])]),_c('div',{staticClass:\"control control4\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.focusFar)}}},[_c('path',{attrs:{\"d\":\"M849.07153297 646.81872559c9.30432153 0 17.26391602 3.30249 23.82934617 9.88769507 6.60992408 6.59509253 9.88769508 14.52502465 9.88769508 23.79473901v101.14617896c0 27.90801978-9.87780761 51.70275879-29.61364722 71.47814965-19.75067115 19.77539086-43.56518578 29.66308594-71.48803711 29.66308594h-101.1165166c-9.32409644 0-17.25402856-3.29754663-23.83428954-9.9865725-6.59509253-6.49127173-9.90252662-14.52502465-9.90252662-23.7947383 0-9.26971435 3.30743408-17.20458984 9.90252662-23.79473901 6.58026099-6.59014916 14.51019311-9.88769508 23.83428954-9.88769507h101.1165166c9.29937744 0 17.26391602-3.29754663 23.82440137-9.88769579 6.61486816-6.59014916 9.88769508-14.52008057 9.88769579-23.89361573v-101.04235815c0-9.36859107 3.28765845-17.30346656 9.89758254-23.78979493 6.57531762-6.69396997 14.52502465-9.99151587 23.83923363-9.99151587l-0.06427025 0.09887671zM242.38726782 141.3103025h101.10168506c9.30432153 0 17.2688601 3.29754663 23.819458 9.88769578 6.62475562 6.59509253 9.89758325 14.52502465 9.89758254 23.7947383 0 9.37353516-3.27282691 17.30346656-9.89758254 23.79473901-6.5505979 6.69396997-14.51513648 9.9865725-23.81451463 9.9865725h-101.10168433c-9.31915307 0-17.2688601 3.19372583-23.82934547 9.88769508-6.62475562 6.49127173-9.91241479 14.52502465-9.91241479 23.794739v101.04235816c0 9.36859107-3.28271508 17.30346656-9.89758324 23.89361573-6.57531762 6.59014916-14.51513648 9.88769508-23.81451392 9.88769507-9.31420898 0-17.25402856-3.29754663-23.82934547-9.88769507C144.49908423 360.80230689 141.21142578 352.86743141 141.21142578 343.49884033V242.45648217c0-27.91296386 9.86792016-51.70275879 29.62353539-71.47814965 19.75067115-19.77539086 43.57507324-29.66308594 71.48803711-29.66308594h0.06426954zM174.9877932 646.81872559c9.30432153 0 17.24414039 3.30249 23.81451393 9.88769507 6.62475562 6.59509253 9.90252662 14.52502465 9.90252662 23.79473901v101.14617896c0 9.26971435 3.27282691 17.19964576 9.89758324 23.78979492 6.57531762 6.59014916 14.51513648 9.88769508 23.81451393 9.88769579h101.12640404c9.29937744 0 17.25402856 3.29754663 23.82934547 9.88769507 6.60992408 6.59014916 9.88769508 14.52502465 9.88769579 23.89361572 0 9.26971435-3.27777099 17.20458984-9.88769579 23.79473901-6.57531762 6.59014916-14.52996803 9.88769508-23.82934547 9.88769508H242.41693092c-27.91296386 0-51.71264625-9.88769508-71.47814895-29.66308594-19.75561523-19.67651344-29.62353539-43.57012915-29.62353539-71.47814965v-101.04235816c0-9.26971435 3.27282691-17.30346656 9.88769507-23.89361573 6.58026099-6.59509253 14.52502465-9.88769508 23.81451464-9.88769507h-0.02966309zM680.57037329 141.3103025h101.1165166c27.92285133 0 51.73736596 9.88769508 71.48803711 29.56420922 19.73583961 19.77539086 29.61364722 43.57012915 29.61364722 71.47814965v101.14617896c0 9.26971435-3.27777099 17.30346656-9.88769508 23.78979493-6.56542945 6.69396997-14.52502465 9.88769508-23.82934617 9.88769506-9.29937744 0-17.26391602-3.19372583-23.82440139-9.88769506-6.61486816-6.48632836-9.88769508-14.52008057-9.88769579-23.78979493V242.35266137c0-9.26971435-3.28765845-17.19964576-9.90252661-23.78979492-6.57037354-6.59509253-14.52008057-9.88769508-23.83428955-9.88769579h-101.10168433c-9.31420898 0-17.2688601-3.29754663-23.82934618-9.88769507-6.60992408-6.59509253-9.89758325-14.52502465-9.89758254-23.79473902 0-9.37353516 3.28765845-17.30346656 9.89758254-23.89361571 6.56048608-6.59014916 14.51513648-9.88769508 23.82934618-9.88769508l0.04943799 0.09887672z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.focusNear)}}},[_c('path',{attrs:{\"d\":\"M512 170.666667A341.333333 341.333333 0 1 1 170.666667 512 341.333333 341.333333 0 0 1 512 170.666667m0-42.666667a384 384 0 1 0 384 384A384 384 0 0 0 512 128z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M298.666667 533.333333H170.666667a21.333333 21.333333 0 0 1 0-42.666666h128a21.333333 21.333333 0 0 1 0 42.666666zM853.333333 533.333333h-128a21.333333 21.333333 0 0 1 0-42.666666h128a21.333333 21.333333 0 0 1 0 42.666666zM512 320a21.333333 21.333333 0 0 1-21.333333-21.333333V170.666667a21.333333 21.333333 0 0 1 42.666666 0v128a21.333333 21.333333 0 0 1-21.333333 21.333333zM512 874.666667a21.333333 21.333333 0 0 1-21.333333-21.333334v-128a21.333333 21.333333 0 0 1 42.666666 0v128a21.333333 21.333333 0 0 1-21.333333 21.333334z\"}})])]),_c('div',{staticClass:\"control5\"},[_c('i-select',{staticStyle:{\"width\":\"100px\"},model:{value:(_vm.ptzPositionIndex),callback:function ($$v) {_vm.ptzPositionIndex=$$v},expression:\"ptzPositionIndex\"}},_vm._l((10),function(n){return _c('Option',{key:n,attrs:{\"value\":n}},[_vm._v(\"预置点\"+_vm._s(n))])}),1),_c('i-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.setPos)}}},[_vm._v(\"设置\")]),_c('i-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.calPos)}}},[_vm._v(\"调用\")]),_c('i-button',{attrs:{\"type\":\"error\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.delPos)}}},[_vm._v(\"删除\")]),_vm._v(\" 速度: \"),_c('InputNumber',{attrs:{\"max\":10,\"min\":1},model:{value:(_vm.ptzSpeed),callback:function ($$v) {_vm.ptzSpeed=$$v},expression:\"ptzSpeed\"}})],1)]),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{\"slot\":\"content\",\"href\":_vm.remoteSDPURL,\"download\":\"remoteSDP.txt\"},slot:\"content\"},[_vm._v(\"remoteSDP\")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{\"slot\":\"content\",\"href\":_vm.localSDPURL,\"download\":\"localSDP.txt\"},slot:\"content\"},[_vm._v(\"localSDP\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=a6774e8e&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6774e8e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player-wrap\"},[(_vm.rtcStream)?[_c('video',{attrs:{\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.rtcStream,\"muted\":true}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player2.vue?vue&type=template&id=a326889c&scoped=true&\"\nimport script from \"./Player2.vue?vue&type=script&lang=js&\"\nexport * from \"./Player2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a326889c\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7bad0327&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bad0327\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// extracted by mini-css-extract-plugin","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n if (document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=76558468&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=76558468&scoped=true&lang=css&\"\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 \"76558468\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player-wrap\"},[(_vm.rtcStream)?[_c('video',{attrs:{\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.rtcStream,\"muted\":true}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player2.vue?vue&type=template&id=379ce7fe&scoped=true&\"\nimport script from \"./Player2.vue?vue&type=script&lang=js&\"\nexport * from \"./Player2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player2.vue?vue&type=style&index=0&id=379ce7fe&scoped=true&lang=css&\"\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 \"379ce7fe\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=77f8f0e9&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=77f8f0e9&scoped=true&lang=css&\"\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 \"77f8f0e9\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://plugin-gb28181/webpack/universalModuleDefinition","webpack://plugin-gb28181/webpack/bootstrap","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/base64-js/index.js","webpack://plugin-gb28181/./src/App.vue?4f56","webpack://plugin-gb28181/./src/components/Player.vue?a209","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/buffer/index.js","webpack://plugin-gb28181/./src/components/Player2.vue?6b15","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/isarray/index.js","webpack://plugin-gb28181/./src/utils/ptz-cmd.js","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/ieee754/index.js","webpack://plugin-gb28181/(webpack)/buildin/global.js","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://plugin-gb28181/./src/App.vue?1ea4","webpack://plugin-gb28181/./src/components/Player.vue?3d94","webpack://plugin-gb28181/src/components/Player.vue","webpack://plugin-gb28181/./src/components/Player.vue?66a9","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://plugin-gb28181/./src/components/Player.vue","webpack://plugin-gb28181/./src/components/Player2.vue?8b30","webpack://plugin-gb28181/src/components/Player2.vue","webpack://plugin-gb28181/./src/components/Player2.vue?bb65","webpack://plugin-gb28181/./src/components/Player2.vue","webpack://plugin-gb28181/src/App.vue","webpack://plugin-gb28181/./src/App.vue?df63","webpack://plugin-gb28181/./src/App.vue","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://plugin-gb28181/C:/Users/dexte/go/src/github.com/Monibuca/plugin-webrtc/ui/node_modules/@soda/get-current-script/index.js"],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","base64","ieee754","isArray","typedArraySupport","__proto__","foo","subarray","e","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","from","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","encoding","undefined","checked","string","isEncoding","actual","write","slice","fromArrayLike","array","byteOffset","obj","isBuffer","copy","buffer","isnan","type","data","toString","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","bidirectionalIndexOf","val","dir","isNaN","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","species","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","apply","equals","inspect","str","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","replace","trim","units","Infinity","leadSurrogate","byteArray","hi","lo","src","dst","PTZ_TYPE","stop","right","left","up","down","leftUp","leftDown","rightUp","rightDown","zoomFar","zoomNear","apertureFar","apertureNear","focusFar","focusNear","setPos","calPos","delPos","PTZ_CMD_TYPE","SPEED_ARRAY","POSITION_ARRAY","getPTZCmd","options","speed","index","ptzSpeed","getPTZSpeed","indexValue3","indexValue4","indexValue5","indexValue6","getPTZPositionIndex","ptzCmdToString","speedIndex","cmd","bytes2HexString","byte","hexs","hex","toUpperCase","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","log","LN2","g","Function","window","currentScript","document","getCurrentScript","render","_vm","_h","$createElement","_c","_self","$parent","titleTabActive","staticClass","attrs","Devices","columns","scopedSlots","_u","fn","prop","row","Channels","columns2","ref","item","$index","_v","_s","DeviceID","Name","Manufacturer","Address","Status","on","$event","ptz","ID","_e","bye","invite","Addr","RegisterTime","UpdateTime","model","callback","$$v","channelSelectedList","expression","_l","channel","PublicIP","sendPtz","previewStreamPath","staticRenderFns","_g","_b","streamPath","onClosePreview","$attrs","$listeners","domProps","stream","class","ptzCmdDirection","startPtzCmdCycle","stopPtzCmdCycle","ptzCmd","ptzType","staticStyle","ptzPositionIndex","slot","remoteSDPURL","localSDPURL","PTZ_DIRECTION_ARRAY","pc","iceConnectionState","localSDP","remoteSDP","props","methods","RTCPeerConnection","addTransceiver","direction","onsignalingstatechange","oniceconnectionstatechange","$toast","info","onicecandidate","event","console","ontrack","track","kind","streams","setLocalDescription","createOffer","localDescription","sdp","URL","createObjectURL","Blob","result","ajax","processData","JSON","stringify","url","dataType","errmsg","error","setRemoteDescription","RTCSessionDescription","isCycling","$emit","cycle","close","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","component","rtcStream","components","WebrtcPlayer","WebrtcPlayer2","ListenAddr","computed","split","channelList","id","freeze","map","title","fetchlist","titleTabs","listES","EventSource","apiHost","onmessage","evt","parse","sort","forEach","device","channels","$once","$nextTick","$refs","player","play","ptzCmdStop","ptzcmd","then","setTimeout","Connected","err","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ieStackRegExp","ffStackRegExp","stackDetails","exec","stack","scriptLocation","line","currentLocation","location","href","hash","scripts","getElementsByTagName","documentElement","outerHTML","RegExp","readyState","innerHTML"],"mappings":"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","file":"plugin-gb28181.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"plugin-gb28181\"] = factory();\n\telse\n\t\troot[\"plugin-gb28181\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"deee\");\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(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\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","import mod from \"-!../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"","/*!\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","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../plugin-webrtc/ui/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../plugin-webrtc/ui/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\r\n * Date:2020/11/9\r\n * Desc:\r\n */\r\n/**\r\n * Date:2020/11/2\r\n * Desc: ptz cmd 封装\r\n * cmd[0] //首字节以05H开头\r\n * cmd[1] //组合码,高4位为版本信息v1.0,版本信息0H,低四位为校验码\r\n * // 校验码 = (cmd[0]的高4位+cmd[0]的低4位+cmd[1]的高4位)%16\r\n * cmd[2] //地址的低8位???什么地址,地址范围000h ~ FFFh(0~4095),其中000h为广播地址\r\n * cmd[3] //指令码\r\n * cmd[4] //数据1,水平控制速度、聚焦速度\r\n * cmd[5] //数据2,垂直控制速度、光圈速度\r\n * cmd[6] // 高4位为数据3=变倍控制速度,低4位为地址高4位\r\n */\r\n\r\nconst PTZ_TYPE = {\r\n stop: 'stop',\r\n right: 'right',\r\n left: 'left',\r\n up: 'up',\r\n down: 'down',\r\n leftUp: 'leftUp',\r\n leftDown: 'leftDown',\r\n rightUp: 'rightUp',\r\n rightDown: 'rightDown',\r\n zoomFar: 'zoomFar',\r\n zoomNear: 'zoomNear',\r\n apertureFar: 'apertureFar',\r\n apertureNear: 'apertureNear',\r\n focusFar: 'focusFar',\r\n focusNear: 'focusNear',\r\n setPos: 'setPos',\r\n calPos: 'calPos',\r\n delPos: 'delPos'\r\n};\r\n\r\nconst PTZ_CMD_TYPE = {\r\n stop: 0x00,\r\n\r\n right: 0x01,\r\n left: 0x02,\r\n up: 0x08,\r\n down: 0x04,\r\n\r\n leftUp: 0x0A,\r\n leftDown: 0x06,\r\n rightUp: 0x09,\r\n rightDown: 0x05,\r\n\r\n zoomFar: 0x10, // 镜头 放大\r\n zoomNear: 0x20, // 镜头 缩小\r\n\r\n apertureFar: 0x48, // 光圈 缩小\r\n apertureNear: 0x44, // 光圈 放大\r\n\r\n focusFar: 0x42, // 聚焦 近\r\n focusNear: 0x41, // 聚焦 远\r\n\r\n setPos: 0x81,\r\n calPos: 0x82,\r\n delPos: 0x83\r\n};\r\n\r\nconst SPEED_ARRAY = [0x19, 0x32, 0x4b, 0x64, 0x7d, 0x96, 0xAF, 0xC8, 0xE1, 0xFA];\r\nconst POSITION_ARRAY = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10];\r\n\r\n// 获取 direction 方向型\r\n/**\r\n *\r\n * @param options\r\n * type:\r\n * speed:default 5\r\n * index:\r\n * @returns {string}\r\n */\r\nfunction getPTZCmd(options) {\r\n const {type, speed, index} = options;\r\n const ptzSpeed = getPTZSpeed(speed);\r\n let indexValue3, indexValue4, indexValue5, indexValue6;\r\n indexValue3 = PTZ_CMD_TYPE[type];\r\n switch (type) {\r\n case PTZ_TYPE.up:\r\n case PTZ_TYPE.down:\r\n case PTZ_TYPE.apertureFar:\r\n case PTZ_TYPE.apertureNear:\r\n indexValue5 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.right:\r\n case PTZ_TYPE.left:\r\n case PTZ_TYPE.focusFar:\r\n case PTZ_TYPE.focusNear:\r\n indexValue4 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.leftUp:\r\n case PTZ_TYPE.leftDown:\r\n case PTZ_TYPE.rightUp:\r\n case PTZ_TYPE.rightDown:\r\n indexValue4 = ptzSpeed;\r\n indexValue5 = ptzSpeed;\r\n break;\r\n case PTZ_TYPE.zoomFar:\r\n case PTZ_TYPE.zoomNear:\r\n indexValue6 = 0x10;\r\n break;\r\n case PTZ_TYPE.calPos:\r\n case PTZ_TYPE.delPos:\r\n case PTZ_TYPE.setPos:\r\n indexValue5 = getPTZPositionIndex(index);\r\n break;\r\n default:\r\n break;\r\n }\r\n return ptzCmdToString(indexValue3, indexValue4, indexValue5, indexValue6);\r\n}\r\n\r\nfunction getPTZSpeed(speed) {\r\n speed = speed || 5;\r\n const speedIndex = speed - 1;\r\n const ptzSpeed = SPEED_ARRAY[speedIndex] || SPEED_ARRAY[4];\r\n return ptzSpeed;\r\n}\r\n\r\nfunction getPTZPositionIndex(index) {\r\n return POSITION_ARRAY[index - 1];\r\n}\r\n\r\nfunction ptzCmdToString(indexValue3, indexValue4, indexValue5, indexValue6) {\r\n //\r\n let cmd = Buffer.alloc(8);\r\n // 首字节以05H开头\r\n cmd[0] = 0xA5;\r\n // 组合码,高4位为版本信息v1.0,版本信息0H,低四位为校验码\r\n cmd[1] = 0x0F;\r\n // 校验码 = (cmd[0]的高4位+cmd[0]的低4位+cmd[1]的高4位)%16\r\n cmd[2] = 0x01;\r\n //\r\n if (indexValue3) {\r\n cmd[3] = indexValue3;\r\n }\r\n if (indexValue4) {\r\n cmd[4] = indexValue4;\r\n }\r\n if (indexValue5) {\r\n cmd[5] = indexValue5;\r\n }\r\n if (indexValue6) {\r\n cmd[6] = indexValue6;\r\n }\r\n\r\n cmd[7] = (cmd[0] + cmd[1] + cmd[2] + cmd[3] + cmd[4] + cmd[5] + cmd[6]) % 256;\r\n\r\n return bytes2HexString(cmd);\r\n}\r\n\r\nfunction bytes2HexString(byte) {\r\n let hexs = \"\";\r\n for (let i = 0; i < byte.length; i++) {\r\n let hex = (byte[i]).toString(16);\r\n if (hex.length === 1) {\r\n hex = '0' + hex;\r\n }\r\n hexs += hex.toUpperCase();\r\n }\r\n return hexs;\r\n}\r\n\r\nexport {\r\n getPTZCmd,\r\n PTZ_TYPE\r\n}\r\n","exports.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","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$parent.titleTabActive === 0)?_c('div',{staticClass:\"tabpanel\"},[_c('mu-data-table',{attrs:{\"data\":_vm.Devices,\"columns\":_vm.columns},scopedSlots:_vm._u([{key:\"expand\",fn:function(prop){return [_c('mu-data-table',{attrs:{\"data\":prop.row.Channels,\"columns\":_vm.columns2},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.row;\nvar $index = ref.$index;\nreturn [_c('td',[_vm._v(_vm._s(item.DeviceID))]),_c('td',[_vm._v(_vm._s(item.Name))]),_c('td',[_vm._v(_vm._s(item.Manufacturer))]),_c('td',[_vm._v(_vm._s(item.Address))]),_c('td',[_vm._v(_vm._s(item.Status))]),_c('td',[(item.Connected)?_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.ptz(prop.row.ID, $index, item)}}},[_vm._v(\"云台 \")]):_vm._e(),(item.Connected)?_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.bye(prop.row.ID, $index)}}},[_vm._v(\"断开\")]):_c('mu-button',{attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.invite(prop.row.ID, $index, item)}}},[_vm._v(\"连接 \")])],1)]}}],null,true)})]}},{key:\"default\",fn:function(ref){\nvar item = ref.row;\nreturn [_c('td',[_vm._v(_vm._s(item.ID))]),_c('td',[_vm._v(_vm._s(item.Addr))]),_c('td',[_vm._v(_vm._s(item.Channels ? item.Channels.length : 0))]),_c('td',[_c('StartTime',{attrs:{\"value\":item.RegisterTime}})],1),_c('td',[_c('StartTime',{attrs:{\"value\":item.UpdateTime}})],1),_c('td',[_vm._v(_vm._s(item.Status))])]}}],null,false,2809573184)})],1):_vm._e(),(_vm.$parent.titleTabActive === 1)?_c('div',{staticClass:\"tabpanel\"},[_c('div',{staticClass:\"search\"},[_c('i-select',{attrs:{\"multiple\":\"\"},model:{value:(_vm.channelSelectedList),callback:function ($$v) {_vm.channelSelectedList=$$v},expression:\"channelSelectedList\"}},_vm._l((_vm.channelList),function(channel,index){return _c('Option',{key:index,attrs:{\"value\":channel,\"label\":channel.DeviceID + '(' + channel.Name + ')'}})}),1)],1),_c('div',{staticClass:\"flex-box\"},[_vm._l((_vm.channelSelectedList),function(channel,index){return [(channel.ID)?_c('div',{key:index,staticClass:\"flex-item\"},[_c('webrtc-player2',{attrs:{\"stream-path\":'gb28181/' + channel.ID}})],1):_vm._e()]})],2)]):_vm._e(),_c('webrtc-player',{ref:\"player\",attrs:{\"PublicIP\":_vm.PublicIP},on:{\"ptz\":_vm.sendPtz},model:{value:(_vm.previewStreamPath),callback:function ($$v) {_vm.previewStreamPath=$$v},expression:\"previewStreamPath\"}})],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('Modal',_vm._g(_vm._b({attrs:{\"draggable\":\"\",\"width\":\"750\",\"title\":_vm.streamPath},on:{\"on-ok\":_vm.onClosePreview,\"on-cancel\":_vm.onClosePreview}},'Modal',_vm.$attrs,false),_vm.$listeners),[_c('div',{staticClass:\"container\"},[_c('video',{ref:\"webrtc\",attrs:{\"width\":\"488\",\"height\":\"275\",\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.stream,\"muted\":true}}),_c('div',{staticClass:\"control\"},[_vm._l((8),function(n){return _c('svg',{class:'arrow'+n,attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"64\",\"height\":\"64\"},on:{\"click\":function($event){return _vm.ptzCmdDirection(n)}}},[_c('defs'),_c('path',{attrs:{\"d\":\"M682.666667 955.733333H341.333333a17.066667 17.066667 0 0 1-17.066666-17.066666V529.066667H85.333333a17.066667 17.066667 0 0 1-12.066133-29.1328l426.666667-426.666667a17.0496 17.0496 0 0 1 24.132266 0l426.666667 426.666667A17.066667 17.066667 0 0 1 938.666667 529.066667H699.733333v409.6a17.066667 17.066667 0 0 1-17.066666 17.066666z m-324.266667-34.133333h307.2V512a17.066667 17.066667 0 0 1 17.066667-17.066667h214.801066L512 109.4656 126.532267 494.933333H341.333333a17.066667 17.066667 0 0 1 17.066667 17.066667v409.6z\",\"p-id\":\"6849\"}})])}),_c('svg',{staticClass:\"arrow9\",attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"mousedown\":_vm.startPtzCmdCycle,\"mouseup\":_vm.stopPtzCmdCycle}},[_c('path',{attrs:{\"d\":\"M512 960c-210.96 0-395.36-149.68-438.47-355.91-2.98-14.24 6.16-28.21 20.4-31.19 14.22-2.93 28.21 6.15 31.18 20.41C163.15 775.25 325.86 907.29 512 907.29s348.85-132.05 386.89-313.98c2.99-14.26 16.97-23.35 31.19-20.41 14.24 2.99 23.38 16.95 20.41 31.19C907.36 810.32 722.95 960 512 960zM927.48 466.94c-12.61 0-23.75-9.07-25.95-21.91C869.06 254.78 705.24 116.71 512 116.71c-193.23 0-357.05 138.07-389.52 328.32-2.45 14.35-16.08 24.01-30.41 21.54-14.35-2.46-23.99-16.07-21.55-30.42C107.33 220.51 293 64 512 64c219.01 0 404.68 156.51 441.48 372.15 2.44 14.35-7.21 27.97-21.54 30.42-1.5 0.25-3 0.37-4.46 0.37z\"}}),_c('path',{attrs:{\"d\":\"M96.52 466.94c-9.11 0-17.97-4.72-22.85-13.18-7.28-12.61-2.96-28.72 9.64-36l131.76-76.07c12.6-7.26 28.73-2.96 36 9.65 7.28 12.61 2.96 28.72-9.64 36l-131.76 76.07a26.18 26.18 0 0 1-13.15 3.53zM792.95 701.14c-9.11 0-17.96-4.72-22.85-13.18-7.28-12.6-2.96-28.72 9.64-36l131.76-76.09c12.58-7.28 28.72-2.95 36 9.65 7.27 12.6 2.96 28.72-9.65 36l-131.75 76.1a26.271 26.271 0 0 1-13.15 3.52z\"}})])],2),_c('div',{staticClass:\"control control2\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.zoomFar)}}},[_c('path',{attrs:{\"d\":\"M994.990643 859.352971L713.884166 578.246494A381.208198 381.208198 0 0 0 767.307984 383.653992C767.307984 171.765089 595.542895 0 383.653992 0S0 171.765089 0 383.653992s171.765089 383.653992 383.653992 383.653992c71.119859 0 137.507985-19.694238 194.592502-53.423818l281.106477 281.090491a95.913498 95.913498 0 1 0 135.637672-135.621686zM383.653992 671.394486c-158.912681 0-287.740494-128.827813-287.740494-287.740494S224.741311 95.913498 383.653992 95.913498s287.740494 128.827813 287.740494 287.740494-128.827813 287.740494-287.740494 287.740494z m159.85583-335.697243h-111.899081v-111.899081a47.956749 47.956749 0 1 0-95.913498 0v111.899081h-111.899081a47.956749 47.956749 0 1 0 0 95.913498h111.899081v111.899081a47.956749 47.956749 0 1 0 95.913498 0v-111.899081h111.899081a47.956749 47.956749 0 1 0 0-95.913498z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.zoomNear)}}},[_c('path',{attrs:{\"d\":\"M994.990643 859.352971L713.884166 578.246494A381.208198 381.208198 0 0 0 767.307984 383.653992C767.307984 171.765089 595.542895 0 383.653992 0S0 171.765089 0 383.653992s171.765089 383.653992 383.653992 383.653992c71.119859 0 137.507985-19.694238 194.592502-53.423818l281.106477 281.090491a95.913498 95.913498 0 1 0 135.637672-135.621686zM383.653992 671.394486c-158.912681 0-287.740494-128.827813-287.740494-287.740494S224.741311 95.913498 383.653992 95.913498s287.740494 128.827813 287.740494 287.740494-128.827813 287.740494-287.740494 287.740494z m159.85583-335.697243H223.798162a47.956749 47.956749 0 1 0 0 95.913498h319.71166a47.956749 47.956749 0 1 0 0-95.913498z\"}})])]),_c('div',{staticClass:\"control control3\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.apertureFar)}}},[_c('path',{attrs:{\"d\":\"M956.39 400.827C922.164 266.675 828.186 155.703 701.502 99.874l94.522 443.782L956.39 400.827zM206.208 189.167C106.183 286.191 56.845 424.181 72.696 562.659l351.347-309.096-217.835-64.396zM643.118 78.847a446.363 446.363 0 0 0-138.947-16.775 448.047 448.047 0 0 0-250.583 86.934l437.868 146.949-48.338-217.108zM83.786 623.979c34.443 133.772 128.248 244.407 254.583 300.291l-95.915-426.55L83.786 623.979zM969.893 496.089a372.746 372.746 0 0 0-2.37-34.138l-329.972 303.78 196.157 69.256c91.522-88.456 141.056-211.704 136.185-338.898zM396.862 945.166a447.857 447.857 0 0 0 139.077 16.766 447.784 447.784 0 0 0 250.322-86.718L349.286 733.05l47.576 212.116z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M397.253 471.171h245.668c22.593 0 40.923 18.32 40.923 40.913 0 22.592-18.33 40.922-40.923 40.922H397.253c-22.592 0-40.922-18.33-40.922-40.922 0-22.593 18.33-40.913 40.922-40.913z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M479.17 634.879V389.21c0-22.593 18.32-40.923 40.913-40.923s40.923 18.33 40.923 40.923v245.668c0 22.592-18.33 40.922-40.923 40.922s-40.913-18.329-40.913-40.921z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.apertureNear)}}},[_c('path',{attrs:{\"d\":\"M956.39 400.827C922.164 266.675 828.186 155.703 701.502 99.874l94.522 443.782L956.39 400.827z m-750.182-211.66C106.183 286.191 56.845 424.181 72.696 562.659l351.347-309.096-217.835-64.396z m436.91-110.32a446.363 446.363 0 0 0-138.947-16.775 448.047 448.047 0 0 0-250.583 86.934l437.868 146.949-48.338-217.108zM83.786 623.979c34.443 133.772 128.248 244.407 254.583 300.291l-95.915-426.55L83.786 623.979z m886.107-127.89a372.746 372.746 0 0 0-2.37-34.138l-329.972 303.78 196.157 69.256c91.522-88.456 141.056-211.704 136.185-338.898zM396.862 945.166a447.857 447.857 0 0 0 139.077 16.766 447.784 447.784 0 0 0 250.322-86.718L349.286 733.05l47.576 212.116z m0.391-474.039h245.668c22.593 0 40.923 18.32 40.923 40.912 0 22.593-18.33 40.923-40.923 40.923H397.253c-22.592 0-40.922-18.33-40.922-40.923 0-22.592 18.33-40.912 40.922-40.912z\"}})])]),_c('div',{staticClass:\"control control4\"},[_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.focusFar)}}},[_c('path',{attrs:{\"d\":\"M849.07153297 646.81872559c9.30432153 0 17.26391602 3.30249 23.82934617 9.88769507 6.60992408 6.59509253 9.88769508 14.52502465 9.88769508 23.79473901v101.14617896c0 27.90801978-9.87780761 51.70275879-29.61364722 71.47814965-19.75067115 19.77539086-43.56518578 29.66308594-71.48803711 29.66308594h-101.1165166c-9.32409644 0-17.25402856-3.29754663-23.83428954-9.9865725-6.59509253-6.49127173-9.90252662-14.52502465-9.90252662-23.7947383 0-9.26971435 3.30743408-17.20458984 9.90252662-23.79473901 6.58026099-6.59014916 14.51019311-9.88769508 23.83428954-9.88769507h101.1165166c9.29937744 0 17.26391602-3.29754663 23.82440137-9.88769579 6.61486816-6.59014916 9.88769508-14.52008057 9.88769579-23.89361573v-101.04235815c0-9.36859107 3.28765845-17.30346656 9.89758254-23.78979493 6.57531762-6.69396997 14.52502465-9.99151587 23.83923363-9.99151587l-0.06427025 0.09887671zM242.38726782 141.3103025h101.10168506c9.30432153 0 17.2688601 3.29754663 23.819458 9.88769578 6.62475562 6.59509253 9.89758325 14.52502465 9.89758254 23.7947383 0 9.37353516-3.27282691 17.30346656-9.89758254 23.79473901-6.5505979 6.69396997-14.51513648 9.9865725-23.81451463 9.9865725h-101.10168433c-9.31915307 0-17.2688601 3.19372583-23.82934547 9.88769508-6.62475562 6.49127173-9.91241479 14.52502465-9.91241479 23.794739v101.04235816c0 9.36859107-3.28271508 17.30346656-9.89758324 23.89361573-6.57531762 6.59014916-14.51513648 9.88769508-23.81451392 9.88769507-9.31420898 0-17.25402856-3.29754663-23.82934547-9.88769507C144.49908423 360.80230689 141.21142578 352.86743141 141.21142578 343.49884033V242.45648217c0-27.91296386 9.86792016-51.70275879 29.62353539-71.47814965 19.75067115-19.77539086 43.57507324-29.66308594 71.48803711-29.66308594h0.06426954zM174.9877932 646.81872559c9.30432153 0 17.24414039 3.30249 23.81451393 9.88769507 6.62475562 6.59509253 9.90252662 14.52502465 9.90252662 23.79473901v101.14617896c0 9.26971435 3.27282691 17.19964576 9.89758324 23.78979492 6.57531762 6.59014916 14.51513648 9.88769508 23.81451393 9.88769579h101.12640404c9.29937744 0 17.25402856 3.29754663 23.82934547 9.88769507 6.60992408 6.59014916 9.88769508 14.52502465 9.88769579 23.89361572 0 9.26971435-3.27777099 17.20458984-9.88769579 23.79473901-6.57531762 6.59014916-14.52996803 9.88769508-23.82934547 9.88769508H242.41693092c-27.91296386 0-51.71264625-9.88769508-71.47814895-29.66308594-19.75561523-19.67651344-29.62353539-43.57012915-29.62353539-71.47814965v-101.04235816c0-9.26971435 3.27282691-17.30346656 9.88769507-23.89361573 6.58026099-6.59509253 14.52502465-9.88769508 23.81451464-9.88769507h-0.02966309zM680.57037329 141.3103025h101.1165166c27.92285133 0 51.73736596 9.88769508 71.48803711 29.56420922 19.73583961 19.77539086 29.61364722 43.57012915 29.61364722 71.47814965v101.14617896c0 9.26971435-3.27777099 17.30346656-9.88769508 23.78979493-6.56542945 6.69396997-14.52502465 9.88769508-23.82934617 9.88769506-9.29937744 0-17.26391602-3.19372583-23.82440139-9.88769506-6.61486816-6.48632836-9.88769508-14.52008057-9.88769579-23.78979493V242.35266137c0-9.26971435-3.28765845-17.19964576-9.90252661-23.78979492-6.57037354-6.59509253-14.52008057-9.88769508-23.83428955-9.88769579h-101.10168433c-9.31420898 0-17.2688601-3.29754663-23.82934618-9.88769507-6.60992408-6.59509253-9.89758325-14.52502465-9.89758254-23.79473902 0-9.37353516 3.28765845-17.30346656 9.89758254-23.89361571 6.56048608-6.59014916 14.51513648-9.88769508 23.82934618-9.88769508l0.04943799 0.09887672z\"}})]),_c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.focusNear)}}},[_c('path',{attrs:{\"d\":\"M512 170.666667A341.333333 341.333333 0 1 1 170.666667 512 341.333333 341.333333 0 0 1 512 170.666667m0-42.666667a384 384 0 1 0 384 384A384 384 0 0 0 512 128z\"}}),_c('path',{attrs:{\"fill\":\"#333333\",\"d\":\"M298.666667 533.333333H170.666667a21.333333 21.333333 0 0 1 0-42.666666h128a21.333333 21.333333 0 0 1 0 42.666666zM853.333333 533.333333h-128a21.333333 21.333333 0 0 1 0-42.666666h128a21.333333 21.333333 0 0 1 0 42.666666zM512 320a21.333333 21.333333 0 0 1-21.333333-21.333333V170.666667a21.333333 21.333333 0 0 1 42.666666 0v128a21.333333 21.333333 0 0 1-21.333333 21.333333zM512 874.666667a21.333333 21.333333 0 0 1-21.333333-21.333334v-128a21.333333 21.333333 0 0 1 42.666666 0v128a21.333333 21.333333 0 0 1-21.333333 21.333334z\"}})])]),_c('div',{staticClass:\"control5\"},[_c('i-select',{staticStyle:{\"width\":\"100px\"},model:{value:(_vm.ptzPositionIndex),callback:function ($$v) {_vm.ptzPositionIndex=$$v},expression:\"ptzPositionIndex\"}},_vm._l((10),function(n){return _c('Option',{key:n,attrs:{\"value\":n}},[_vm._v(\"预置点\"+_vm._s(n))])}),1),_c('i-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.setPos)}}},[_vm._v(\"设置\")]),_c('i-button',{attrs:{\"type\":\"success\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.calPos)}}},[_vm._v(\"调用\")]),_c('i-button',{attrs:{\"type\":\"error\"},on:{\"click\":function($event){return _vm.ptzCmd(_vm.ptzType.delPos)}}},[_vm._v(\"删除\")]),_vm._v(\" 速度: \"),_c('InputNumber',{attrs:{\"max\":10,\"min\":1},model:{value:(_vm.ptzSpeed),callback:function ($$v) {_vm.ptzSpeed=$$v},expression:\"ptzSpeed\"}})],1)]),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(_vm.remoteSDP)?_c('mu-badge',[_c('a',{attrs:{\"slot\":\"content\",\"href\":_vm.remoteSDPURL,\"download\":\"remoteSDP.txt\"},slot:\"content\"},[_vm._v(\"remoteSDP\")])]):_vm._e(),(_vm.localSDP)?_c('mu-badge',[_c('a',{attrs:{\"slot\":\"content\",\"href\":_vm.localSDPURL,\"download\":\"localSDP.txt\"},slot:\"content\"},[_vm._v(\"localSDP\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=a6774e8e&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=a6774e8e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6774e8e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"player-wrap\"},[(_vm.rtcStream)?[_c('video',{attrs:{\"autoplay\":\"\",\"muted\":\"\",\"controls\":\"\"},domProps:{\"srcObject\":_vm.rtcStream,\"muted\":true}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./Player2.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player2.vue?vue&type=template&id=a326889c&scoped=true&\"\nimport script from \"./Player2.vue?vue&type=script&lang=js&\"\nexport * from \"./Player2.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player2.vue?vue&type=style&index=0&id=a326889c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a326889c\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../plugin-webrtc/ui/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7bad0327&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7bad0327&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../plugin-webrtc/ui/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bad0327\",\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n if (document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*