scratch-storage 2.3.284 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +7 -0
- package/CHANGELOG.md +11 -0
- package/dist/{web/f6240eab828e6d415177.worker.js → node/chunks/fetch-worker.eefe62e3c8ee125d3436.js} +105 -180
- package/dist/node/chunks/fetch-worker.eefe62e3c8ee125d3436.js.map +1 -0
- package/dist/node/scratch-storage.js +3898 -6304
- package/dist/node/scratch-storage.js.map +1 -1
- package/dist/types/Asset.d.ts +38 -0
- package/dist/types/AssetType.d.ts +49 -0
- package/dist/types/BuiltinHelper.d.ts +69 -0
- package/dist/types/DataFormat.d.ts +15 -0
- package/dist/types/FetchTool.d.ts +33 -0
- package/dist/types/FetchWorkerTool.d.ts +29 -0
- package/dist/types/Helper.d.ts +20 -0
- package/dist/types/ProxyTool.d.ts +53 -0
- package/dist/types/ScratchStorage.d.ts +202 -0
- package/dist/types/Tool.d.ts +13 -0
- package/dist/types/WebHelper.d.ts +59 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/log.d.ts +2 -0
- package/dist/types/memoizedToString.d.ts +5 -0
- package/dist/web/chunks/fetch-worker.85da71862ab8ee15f1cd.js +2 -0
- package/dist/web/chunks/fetch-worker.85da71862ab8ee15f1cd.js.map +1 -0
- package/dist/web/chunks/fetch-worker.ba5eddd48c8ae259073b.js +676 -0
- package/dist/web/chunks/fetch-worker.ba5eddd48c8ae259073b.js.map +1 -0
- package/dist/web/scratch-storage.js +2002 -2758
- package/dist/web/scratch-storage.js.map +1 -1
- package/dist/web/scratch-storage.min.js +2 -6398
- package/dist/web/scratch-storage.min.js.LICENSE.txt +18 -0
- package/dist/web/scratch-storage.min.js.map +1 -1
- package/jest.config.js +32 -0
- package/package.json +18 -13
- package/src/.eslintrc.js +13 -1
- package/src/Asset.ts +100 -0
- package/src/{AssetType.js → AssetType.ts} +10 -5
- package/src/{BuiltinHelper.js → BuiltinHelper.ts} +44 -35
- package/src/{DataFormat.js → DataFormat.ts} +3 -3
- package/src/{FetchTool.js → FetchTool.ts} +8 -9
- package/src/{FetchWorkerTool.js → FetchWorkerTool.ts} +47 -22
- package/src/{Helper.js → Helper.ts} +10 -5
- package/src/{ProxyTool.js → ProxyTool.ts} +32 -29
- package/src/{ScratchStorage.js → ScratchStorage.ts} +57 -34
- package/src/Tool.ts +10 -0
- package/src/{WebHelper.js → WebHelper.ts} +42 -15
- package/src/index.ts +19 -0
- package/src/log.ts +4 -0
- package/src/{Asset.js → memoizedToString.ts} +16 -76
- package/src/scratchFetch.js +0 -2
- package/src/types.d.ts +3 -0
- package/test/integration/download-known-assets.test.js +1 -1
- package/test/unit/add-helper.test.js +1 -1
- package/test/unit/fetch-tool.test.js +1 -1
- package/test/unit/load-default-assets.test.js +1 -1
- package/test/unit/metadata.test.js +6 -6
- package/tsconfig.json +29 -0
- package/tsconfig.test.json +11 -0
- package/webpack.config.js +58 -65
- package/dist/node/ce8a01e629587e4f90e4.worker.js +0 -4274
- package/dist/node/ce8a01e629587e4f90e4.worker.js.map +0 -1
- package/dist/web/f6240eab828e6d415177.worker.js.map +0 -1
- package/src/index.js +0 -7
- package/src/log.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scratch-storage.js","sources":["webpack://ScratchStorage/webpack/bootstrap","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/createClass.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/inherits.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/readOnlyError.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/typeof.js","webpack://ScratchStorage/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://ScratchStorage/./node_modules/arraybuffer-loader/lib/to-array-buffer.js","webpack://ScratchStorage/./node_modules/cross-fetch/dist/node-ponyfill.js","webpack://ScratchStorage/./node_modules/fastestsmallesttextencoderdecoder/NodeJS/EncoderAndDecoderNodeJS.min.mjs","webpack://ScratchStorage/./node_modules/microee/index.js","webpack://ScratchStorage/./node_modules/minilog/lib/common/filter.js","webpack://ScratchStorage/./node_modules/minilog/lib/common/minilog.js","webpack://ScratchStorage/./node_modules/minilog/lib/common/transform.js","webpack://ScratchStorage/./node_modules/minilog/lib/index.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/console.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/clean.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/color.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/learnboost.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/minilog.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/npm.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/time.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/util.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/formatters/withstack.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/redis.js","webpack://ScratchStorage/./node_modules/minilog/lib/node/stringify.js","webpack://ScratchStorage/./node_modules/minilog/lib/web/console.js","webpack://ScratchStorage/./node_modules/minilog/lib/web/formatters/color.js","webpack://ScratchStorage/./node_modules/minilog/lib/web/formatters/minilog.js","webpack://ScratchStorage/./node_modules/minilog/lib/web/formatters/util.js","webpack://ScratchStorage/./node_modules/node-fetch/lib/index.mjs","webpack://ScratchStorage/./node_modules/tr46/index.js","webpack://ScratchStorage/./node_modules/webidl-conversions/lib/index.js","webpack://ScratchStorage/./node_modules/whatwg-url/lib/URL-impl.js","webpack://ScratchStorage/./node_modules/whatwg-url/lib/URL.js","webpack://ScratchStorage/./node_modules/whatwg-url/lib/public-api.js","webpack://ScratchStorage/./node_modules/whatwg-url/lib/url-state-machine.js","webpack://ScratchStorage/./node_modules/whatwg-url/lib/utils.js","webpack://ScratchStorage/./src/FetchWorkerTool.worker.js","webpack://ScratchStorage/./node_modules/worker-loader/dist/workers/InlineWorker.js","webpack://ScratchStorage/./src/Asset.js","webpack://ScratchStorage/./src/AssetType.js","webpack://ScratchStorage/./src/BuiltinHelper.js","webpack://ScratchStorage/./src/DataFormat.js","webpack://ScratchStorage/./src/FetchTool.js","webpack://ScratchStorage/./src/FetchWorkerTool.js","webpack://ScratchStorage/./src/Helper.js","webpack://ScratchStorage/./src/ProxyTool.js","webpack://ScratchStorage/./src/ScratchStorage.js","webpack://ScratchStorage/./src/WebHelper.js","webpack://ScratchStorage/./src/builtins/defaultBitmap.png","webpack://ScratchStorage/./src/builtins/defaultSound.wav","webpack://ScratchStorage/./src/builtins/defaultVector.svg","webpack://ScratchStorage/./src/index.js","webpack://ScratchStorage/./src/log.js","webpack://ScratchStorage/./src/scratchFetch.js","webpack://ScratchStorage/external \"base64-js\"","webpack://ScratchStorage/external \"http\"","webpack://ScratchStorage/external \"https\"","webpack://ScratchStorage/external \"js-md5\"","webpack://ScratchStorage/external \"punycode\"","webpack://ScratchStorage/external \"stream\"","webpack://ScratchStorage/external \"url\"","webpack://ScratchStorage/external \"util\"","webpack://ScratchStorage/external \"zlib\""],"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 = \"./src/index.js\");\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _readOnlyError(r) {\n throw new TypeError('\"' + r + '\" is read-only');\n}\nmodule.exports = _readOnlyError, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict'\n\nmodule.exports = function (base64Data) {\n var isBrowser = typeof window !== 'undefined' && typeof window.atob === 'function'\n var binary = isBrowser ? window.atob(base64Data) : Buffer.from(base64Data, 'base64').toString('binary')\n var bytes = new Uint8Array(binary.length)\n\n for (var i = 0; i < binary.length; ++i) {\n bytes[i] = binary.charCodeAt(i)\n }\n\n return bytes.buffer\n}\n","const nodeFetch = require('node-fetch')\nconst realFetch = nodeFetch.default || nodeFetch\n\nconst fetch = function (url, options) {\n // Support schemaless URIs on the server for parity with the browser.\n // Ex: //github.com/ -> https://github.com/\n if (/^\\/\\//.test(url)) {\n url = 'https:' + url\n }\n return realFetch.call(this, url, options)\n}\n\nfetch.ponyfill = true\n\nmodule.exports = exports = fetch\nexports.fetch = fetch\nexports.Headers = nodeFetch.Headers\nexports.Request = nodeFetch.Request\nexports.Response = nodeFetch.Response\n\n// Needed for TypeScript consumers without esModuleInterop.\nexports.default = fetch\n","'use strict';var a=\"undefined\"==typeof global?\"undefined\"===typeof self?{}:self:global,p=String.fromCharCode,q={}.toString,r=a.SharedArrayBuffer,v=r?q.call(r):\"\",w=a.Uint8Array,x=w?q.call(ArrayBuffer.prototype):\"\",y=a.Buffer;try{!y&&a.require&&(y=a.require(\"Buffer\"));var z=y.prototype,A=q.call(z)}catch(g){}var B=y.allocUnsafe,C=!!w&&!y,D=new Uint16Array(32),E=!y||!!w&&w.prototype.isPrototypeOf(z),G=F.prototype;function H(){}\nfunction I(g){var h=g&&g.buffer||g,c=q.call(h);if(c!==x&&c!==A&&c!==v&&\"[object ArrayBuffer]\"!==c&&void 0!==g)throw TypeError(\"Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'\");g=E?new w(h):h||[];c=h=\"\";for(var b=0,d=g.length|0,u=d-32|0,f,e,k=0,t=0,m,l=0,n=-1;b<d;){for(f=b<=u?32:d-b|0;l<f;b=b+1|0,l=l+1|0){e=g[b]&255;switch(e>>4){case 15:m=g[b=b+1|0]&255;if(2!==m>>6||247<e){b=b-1|0;break}k=(e&7)<<6|m&63;t=5;e=256;case 14:m=g[b=b+1|0]&\n255,k<<=6,k|=(e&15)<<6|m&63,t=2===m>>6?t+4|0:24,e=e+256&768;case 13:case 12:m=g[b=b+1|0]&255,k<<=6,k|=(e&31)<<6|m&63,t=t+7|0,b<d&&2===m>>6&&k>>t&&1114112>k?(e=k,k=k-65536|0,0<=k&&(n=(k>>10)+55296|0,e=(k&1023)+56320|0,31>l?(D[l]=n,l=l+1|0,n=-1):(m=n,n=e,e=m))):(e>>=8,b=b-e-1|0,e=65533),k=t=0,f=b<=u?32:d-b|0;default:D[l]=e;continue;case 11:case 10:case 9:case 8:}D[l]=65533}c+=p(D[0],D[1],D[2],D[3],D[4],D[5],D[6],D[7],D[8],D[9],D[10],D[11],D[12],D[13],D[14],D[15],D[16],D[17],D[18],D[19],D[20],D[21],\nD[22],D[23],D[24],D[25],D[26],D[27],D[28],D[29],D[30],D[31]);32>l&&(c=c.slice(0,l-32|0));if(b<d){if(D[0]=n,l=~n>>>31,n=-1,c.length<h.length)continue}else-1!==n&&(c+=p(n));h+=c;c=\"\"}return h}H.prototype.decode=I;function F(){}\nfunction J(g){g=void 0===g?\"\":\"\"+g;var h=g.length|0,c=C?new w((h<<1)+8|0):B?B((h<<1)+8|0):new y((h<<1)+8|0),b,d=0,u=!1;for(b=0;b<h;b=b+1|0,d=d+1|0){var f=g.charCodeAt(b)|0;if(127>=f)c[d]=f;else{if(2047>=f)c[d]=192|f>>6;else{a:{if(55296<=f)if(56320>f){var e=g.charCodeAt(b=b+1|0)|0;if(56320<=e&&57343>=e){f=(f<<10)+e-56613888|0;if(65535<f){c[d]=240|f>>18;c[d=d+1|0]=128|f>>12&63;c[d=d+1|0]=128|f>>6&63;c[d=d+1|0]=128|f&63;continue}break a}f=65533}else 57343>=f&&(f=65533);!u&&b<<1<d&&b<<1<(d-7|0)&&(u=!0,\ne=C?new w(3*h):B?B(3*h):new y(3*h),e.set(c),c=e)}c[d]=224|f>>12;c[d=d+1|0]=128|f>>6&63}c[d=d+1|0]=128|f&63}}return c.subarray(0,d)}G.encode=J;function K(g,h){var c=g[h];return function(){return c.apply(g,arguments)}}var L=a.TextDecoder,M=a.TextEncoder;var TextDecoder=L||H,TextEncoder=M||F,decode=L?K(new L,\"decode\"):I,encode=M?K(new M,\"encode\"):J;export{TextDecoder,TextEncoder,decode,encode};//AnonyCo\n//# sourceMappingURL=https://cdn.jsdelivr.net/gh/AnonyCo/FastestSmallestTextEncoderDecoder/NodeJS/EncoderAndDecoderNodeJS.min.mjs.map\n","function M() { this._events = {}; }\nM.prototype = {\n on: function(ev, cb) {\n this._events || (this._events = {});\n var e = this._events;\n (e[ev] || (e[ev] = [])).push(cb);\n return this;\n },\n removeListener: function(ev, cb) {\n var e = this._events[ev] || [], i;\n for(i = e.length-1; i >= 0 && e[i]; i--){\n if(e[i] === cb || e[i].cb === cb) { e.splice(i, 1); }\n }\n },\n removeAllListeners: function(ev) {\n if(!ev) { this._events = {}; }\n else { this._events[ev] && (this._events[ev] = []); }\n },\n listeners: function(ev) {\n return (this._events ? this._events[ev] || [] : []);\n },\n emit: function(ev) {\n this._events || (this._events = {});\n var args = Array.prototype.slice.call(arguments, 1), i, e = this._events[ev] || [];\n for(i = e.length-1; i >= 0 && e[i]; i--){\n e[i].apply(this, args);\n }\n return this;\n },\n when: function(ev, cb) {\n return this.once(ev, cb, true);\n },\n once: function(ev, cb, when) {\n if(!cb) return this;\n function c() {\n if(!when) this.removeListener(ev, c);\n if(cb.apply(this, arguments) && when) this.removeListener(ev, c);\n }\n c.cb = cb;\n this.on(ev, c);\n return this;\n }\n};\nM.mixin = function(dest) {\n var o = M.prototype, k;\n for (k in o) {\n o.hasOwnProperty(k) && (dest.prototype[k] = o[k]);\n }\n};\nmodule.exports = M;\n","// default filter\nvar Transform = require('./transform.js');\n\nvar levelMap = { debug: 1, info: 2, warn: 3, error: 4 };\n\nfunction Filter() {\n this.enabled = true;\n this.defaultResult = true;\n this.clear();\n}\n\nTransform.mixin(Filter);\n\n// allow all matching, with level >= given level\nFilter.prototype.allow = function(name, level) {\n this._white.push({ n: name, l: levelMap[level] });\n return this;\n};\n\n// deny all matching, with level <= given level\nFilter.prototype.deny = function(name, level) {\n this._black.push({ n: name, l: levelMap[level] });\n return this;\n};\n\nFilter.prototype.clear = function() {\n this._white = [];\n this._black = [];\n return this;\n};\n\nfunction test(rule, name) {\n // use .test for RegExps\n return (rule.n.test ? rule.n.test(name) : rule.n == name);\n};\n\nFilter.prototype.test = function(name, level) {\n var i, len = Math.max(this._white.length, this._black.length);\n for(i = 0; i < len; i++) {\n if(this._white[i] && test(this._white[i], name) && levelMap[level] >= this._white[i].l) {\n return true;\n }\n if(this._black[i] && test(this._black[i], name) && levelMap[level] <= this._black[i].l) {\n return false;\n }\n }\n return this.defaultResult;\n};\n\nFilter.prototype.write = function(name, level, args) {\n if(!this.enabled || this.test(name, level)) {\n return this.emit('item', name, level, args);\n }\n};\n\nmodule.exports = Filter;\n","var Transform = require('./transform.js'),\n Filter = require('./filter.js');\n\nvar log = new Transform(),\n slice = Array.prototype.slice;\n\nexports = module.exports = function create(name) {\n var o = function() { log.write(name, undefined, slice.call(arguments)); return o; };\n o.debug = function() { log.write(name, 'debug', slice.call(arguments)); return o; };\n o.info = function() { log.write(name, 'info', slice.call(arguments)); return o; };\n o.warn = function() { log.write(name, 'warn', slice.call(arguments)); return o; };\n o.error = function() { log.write(name, 'error', slice.call(arguments)); return o; };\n o.log = o.debug; // for interface compliance with Node and browser consoles\n o.suggest = exports.suggest;\n o.format = log.format;\n return o;\n};\n\n// filled in separately\nexports.defaultBackend = exports.defaultFormatter = null;\n\nexports.pipe = function(dest) {\n return log.pipe(dest);\n};\n\nexports.end = exports.unpipe = exports.disable = function(from) {\n return log.unpipe(from);\n};\n\nexports.Transform = Transform;\nexports.Filter = Filter;\n// this is the default filter that's applied when .enable() is called normally\n// you can bypass it completely and set up your own pipes\nexports.suggest = new Filter();\n\nexports.enable = function() {\n if(exports.defaultFormatter) {\n return log.pipe(exports.suggest) // filter\n .pipe(exports.defaultFormatter) // formatter\n .pipe(exports.defaultBackend); // backend\n }\n return log.pipe(exports.suggest) // filter\n .pipe(exports.defaultBackend); // formatter\n};\n\n","var microee = require('microee');\n\n// Implements a subset of Node's stream.Transform - in a cross-platform manner.\nfunction Transform() {}\n\nmicroee.mixin(Transform);\n\n// The write() signature is different from Node's\n// --> makes it much easier to work with objects in logs.\n// One of the lessons from v1 was that it's better to target\n// a good browser rather than the lowest common denominator\n// internally.\n// If you want to use external streams, pipe() to ./stringify.js first.\nTransform.prototype.write = function(name, level, args) {\n this.emit('item', name, level, args);\n};\n\nTransform.prototype.end = function() {\n this.emit('end');\n this.removeAllListeners();\n};\n\nTransform.prototype.pipe = function(dest) {\n var s = this;\n // prevent double piping\n s.emit('unpipe', dest);\n // tell the dest that it's being piped to\n dest.emit('pipe', s);\n\n function onItem() {\n dest.write.apply(dest, Array.prototype.slice.call(arguments));\n }\n function onEnd() { !dest._isStdio && dest.end(); }\n\n s.on('item', onItem);\n s.on('end', onEnd);\n\n s.when('unpipe', function(from) {\n var match = (from === dest) || typeof from == 'undefined';\n if(match) {\n s.removeListener('item', onItem);\n s.removeListener('end', onEnd);\n dest.emit('unpipe');\n }\n return match;\n });\n\n return dest;\n};\n\nTransform.prototype.unpipe = function(from) {\n this.emit('unpipe', from);\n return this;\n};\n\nTransform.prototype.format = function(dest) {\n throw new Error([\n 'Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:',\n 'var Minilog = require(\\'minilog\\');',\n 'Minilog',\n ' .pipe(Minilog.backends.console.formatClean)',\n ' .pipe(Minilog.backends.console);'].join('\\n'));\n};\n\nTransform.mixin = function(dest) {\n var o = Transform.prototype, k;\n for (k in o) {\n o.hasOwnProperty(k) && (dest.prototype[k] = o[k]);\n }\n};\n\nmodule.exports = Transform;\n","module.exports = require('./common/minilog.js');\n\nvar consoleLogger = require('./node/console.js');\n\n// if we are running inside Electron then use the web version of console.js\nvar isElectron = (typeof window !== 'undefined' && window.process && window.process.type === 'renderer');\nif (isElectron) {\n consoleLogger = require('./web/console.js').minilog;\n}\n\n// intercept the pipe method and transparently wrap the stringifier, if the\n// destination is a Node core stream\n\nmodule.exports.Stringifier = require('./node/stringify.js');\n\nvar oldPipe = module.exports.pipe;\nmodule.exports.pipe = function(dest) {\n if(dest instanceof require('stream')) {\n return oldPipe.call(module.exports, new (module.exports.Stringifier)).pipe(dest);\n } else {\n return oldPipe.call(module.exports, dest);\n }\n};\n\nmodule.exports.defaultBackend = consoleLogger;\nmodule.exports.defaultFormatter = consoleLogger.formatMinilog;\n\nmodule.exports.backends = {\n redis: require('./node/redis.js'),\n nodeConsole: consoleLogger,\n console: consoleLogger\n};\n","var Transform = require('../common/transform.js');\n\nfunction ConsoleBackend() { }\n\nTransform.mixin(ConsoleBackend);\n\nConsoleBackend.prototype.write = function() {\n console.log.apply(console, arguments);\n};\n\nvar e = new ConsoleBackend();\n\nvar levelMap = require('./formatters/util.js').levelMap;\n\ne.filterEnv = function() {\n console.error('Minilog.backends.console.filterEnv is deprecated in Minilog v2.');\n // return the instance of Minilog\n return require('../common/minilog.js');\n};\n\ne.formatters = [\n 'formatClean', 'formatColor', 'formatNpm',\n 'formatLearnboost', 'formatMinilog', 'formatWithStack', 'formatTime'\n];\n\ne.formatClean = new (require('./formatters/clean.js'));\ne.formatColor = new (require('./formatters/color.js'));\ne.formatNpm = new (require('./formatters/npm.js'));\ne.formatLearnboost = new (require('./formatters/learnboost.js'));\ne.formatMinilog = new (require('./formatters/minilog.js'));\ne.formatWithStack = new (require('./formatters/withstack.js'));\ne.formatTime = new (require('./formatters/time.js'));\n\nmodule.exports = e;\n","var Transform = require('../../common/transform.js');\n\nfunction FormatClean() {}\n\nTransform.mixin(FormatClean);\n\nFormatClean.prototype.write = function(name, level, args) {\n function pad(s) { return (s.toString().length == 1? '0'+s : s); }\n this.emit('item', (name ? name + ' ' : '') + (level ? level + ' ' : '') + args.join(' '));\n};\n\nmodule.exports = FormatClean;\n","var Transform = require('../../common/transform.js'),\n style = require('./util.js').style;\n\nfunction FormatColor() {}\n\nTransform.mixin(FormatColor);\n\nFormatColor.prototype.write = function(name, level, args) {\n var colors = { debug: 'magenta', info: 'cyan', warn: 'yellow', error: 'red' };\n function pad(s) { return (s.toString().length == 4? ' '+s : s); }\n this.emit('item', (name ? name + ' ' : '')\n + (level ? style('- ' + pad(level.toUpperCase()) + ' -', colors[level]) + ' ' : '')\n + args.join(' '));\n};\n\nmodule.exports = FormatColor;\n","var Transform = require('../../common/transform.js'),\n style = require('./util.js').style;\n\nfunction FormatLearnboost() {}\n\nTransform.mixin(FormatLearnboost);\n\nFormatLearnboost.prototype.write = function(name, level, args) {\n var colors = { debug: 'grey', info: 'cyan', warn: 'yellow', error: 'red' };\n this.emit('item', (name ? style(name +' ', 'grey') : '')\n + (level ? style(level, colors[level]) + ' ' : '')\n + args.join(' '));\n};\n\nmodule.exports = FormatLearnboost;\n","var Transform = require('../../common/transform.js'),\n style = require('./util.js').style,\n util = require('util');\n\nfunction FormatMinilog() {}\n\nTransform.mixin(FormatMinilog);\n\nFormatMinilog.prototype.write = function(name, level, args) {\n var colors = { debug: 'blue', info: 'cyan', warn: 'yellow', error: 'red' };\n this.emit('item', (name ? style(name +' ', 'grey') : '')\n + (level ? style(level, colors[level]) + ' ' : '')\n + args.map(function(item) {\n return (typeof item == 'string' ? item : util.inspect(item, null, 3, true));\n }).join(' '));\n};\n\nmodule.exports = FormatMinilog;\n","var Transform = require('../../common/transform.js');\n\nfunction FormatNpm() {}\n\nTransform.mixin(FormatNpm);\n\nFormatNpm.prototype.write = function(name, level, args) {\n var out = {\n debug: '\\033[34;40m' + 'debug' + '\\033[39m ',\n info: '\\033[32m' + 'info' + '\\033[39m ',\n warn: '\\033[30;41m' + 'WARN' + '\\033[0m ',\n error: '\\033[31;40m' + 'ERR!' + '\\033[0m '\n };\n this.emit('item', (name ? '\\033[37;40m'+ name +'\\033[0m ' : '')\n + (level && out[level]? out[level] : '')\n + args.join(' '));\n};\n\nmodule.exports = FormatNpm;\n","var Transform = require('../../common/transform.js'),\n style = require('./util.js').style,\n util = require('util');\n\nfunction FormatTime() {}\n\nfunction timestamp() {\n var d = new Date();\n return ('0' + d.getDate()).slice(-2) + '-' +\n ('0' + (d.getMonth() + 1)).slice(-2) + '-' +\n d.getFullYear() + ' ' +\n ('0' + d.getHours()).slice(-2) + ':' +\n ('0' + d.getMinutes()).slice(-2) + ':' +\n ('0' + d.getSeconds()).slice(-2) + '.' +\n ('00' + d.getMilliseconds()).slice(-3);\n}\n\nTransform.mixin(FormatTime);\n\nFormatTime.prototype.write = function(name, level, args) {\n var colors = { debug: 'blue', info: 'cyan', warn: 'yellow', error: 'red' };\n this.emit('item', style(timestamp() +' ', 'grey')\n + (name ? style(name +' ', 'grey') : '')\n + (level ? style(level, colors[level]) + ' ' : '')\n + args.map(function(item) {\n return (typeof item == 'string' ? item : util.inspect(item, null, 3, true));\n }).join(' '));\n};\n\nmodule.exports = FormatTime;\n","var styles = {\n //styles\n 'bold' : ['\\033[1m', '\\033[22m'],\n 'italic' : ['\\033[3m', '\\033[23m'],\n 'underline' : ['\\033[4m', '\\033[24m'],\n 'inverse' : ['\\033[7m', '\\033[27m'],\n //grayscale\n 'white' : ['\\033[37m', '\\033[39m'],\n 'grey' : ['\\033[90m', '\\033[39m'],\n 'black' : ['\\033[30m', '\\033[39m'],\n //colors\n 'blue' : ['\\033[34m', '\\033[39m'],\n 'cyan' : ['\\033[36m', '\\033[39m'],\n 'green' : ['\\033[32m', '\\033[39m'],\n 'magenta' : ['\\033[35m', '\\033[39m'],\n 'red' : ['\\033[31m', '\\033[39m'],\n 'yellow' : ['\\033[33m', '\\033[39m']\n };\n\nexports.levelMap = { debug: 1, info: 2, warn: 3, error: 4 };\n\nexports.style = function(str, style) {\n return styles[style][0] + str + styles[style][1];\n}\n\n","var Transform = require('../../common/transform.js'),\n style = require('./util.js').style;\n\nfunction FormatNpm() {}\n\nTransform.mixin(FormatNpm);\n\nfunction noop(a){\n return a;\n}\n\nvar types = {\n string: noop,\n number: noop,\n default: JSON.stringify.bind(JSON)\n};\n\nfunction stringify(args) {\n return args.map(function(arg) {\n return (types[typeof arg] || types.default)(arg);\n });\n}\n\nFormatNpm.prototype.write = function(name, level, args) {\n var colors = { debug: 'magenta', info: 'cyan', warn: 'yellow', error: 'red' };\n function pad(s) { return (s.toString().length == 4? ' '+s : s); }\n function getStack() {\n var orig = Error.prepareStackTrace;\n Error.prepareStackTrace = function (err, stack) {\n return stack;\n };\n var err = new Error;\n Error.captureStackTrace(err, arguments.callee);\n var stack = err.stack;\n Error.prepareStackTrace = orig;\n return stack;\n }\n\n var frame = getStack()[5],\n fileName = FormatNpm.fullPath ? frame.getFileName() : frame.getFileName().replace(/^.*\\/(.+)$/, '/$1');\n\n this.emit('item', (name ? name + ' ' : '')\n + (level ? style(pad(level), colors[level]) + ' ' : '')\n + style(fileName + \":\" + frame.getLineNumber(), 'grey')\n + ' '\n + stringify(args).join(' '));\n};\n\nFormatNpm.fullPath = true;\n\nmodule.exports = FormatNpm;\n\n","function RedisBackend(options) {\n this.client = options.client;\n this.key = options.key;\n}\n\nRedisBackend.prototype.write = function(str) {\n this.client.rpush(this.key, str);\n};\n\nRedisBackend.prototype.end = function() {};\n\nRedisBackend.prototype.clear = function(cb) {\n this.client.del(this.key, cb);\n};\n\nmodule.exports = RedisBackend;\n","var Transform = require('../common/transform.js');\n\nfunction Stringify() {}\n\nTransform.mixin(Stringify);\n\nStringify.prototype.write = function(name, level, args) {\n var result = [];\n if(name) result.push(name);\n if(level) result.push(level);\n result = result.concat(args);\n for(var i = 0; i < result.length; i++) {\n if(result[i] && typeof result[i] == 'object') {\n // Buffers in Node.js look bad when stringified\n if(result[i].constructor && result[i].constructor.isBuffer) {\n result[i] = result[i].toString();\n } else {\n try {\n result[i] = JSON.stringify(result[i]);\n } catch(stringifyError) {\n // happens when an object has a circular structure\n // do not throw an error, when printing, the toString() method of the object will be used\n }\n }\n } else {\n result[i] = result[i];\n }\n }\n this.emit('item', result.join(' ') + '\\n');\n};\n\nmodule.exports = Stringify;\n","var Transform = require('../common/transform.js');\n\nvar newlines = /\\n+$/,\n logger = new Transform();\n\nlogger.write = function(name, level, args) {\n var i = args.length-1;\n if (typeof console === 'undefined' || !console.log) {\n return;\n }\n if(console.log.apply) {\n return console.log.apply(console, [name, level].concat(args));\n } else if(JSON && JSON.stringify) {\n // console.log.apply is undefined in IE8 and IE9\n // for IE8/9: make console.log at least a bit less awful\n if(args[i] && typeof args[i] == 'string') {\n args[i] = args[i].replace(newlines, '');\n }\n try {\n for(i = 0; i < args.length; i++) {\n args[i] = JSON.stringify(args[i]);\n }\n } catch(e) {}\n console.log(args.join(' '));\n }\n};\n\nlogger.formatters = ['color', 'minilog'];\nlogger.color = require('./formatters/color.js');\nlogger.minilog = require('./formatters/minilog.js');\n\nmodule.exports = logger;\n","var Transform = require('../../common/transform.js'),\n color = require('./util.js');\n\nvar colors = { debug: ['cyan'], info: ['purple' ], warn: [ 'yellow', true ], error: [ 'red', true ] },\n logger = new Transform();\n\nlogger.write = function(name, level, args) {\n var fn = console.log;\n if(console[level] && console[level].apply) {\n fn = console[level];\n fn.apply(console, [ '%c'+name+' %c'+level, color('gray'), color.apply(color, colors[level])].concat(args));\n }\n};\n\n// NOP, because piping the formatted logs can only cause trouble.\nlogger.pipe = function() { };\n\nmodule.exports = logger;\n","var Transform = require('../../common/transform.js'),\n color = require('./util.js'),\n colors = { debug: ['gray'], info: ['purple' ], warn: [ 'yellow', true ], error: [ 'red', true ] },\n logger = new Transform();\n\nlogger.write = function(name, level, args) {\n var fn = console.log;\n if(level != 'debug' && console[level]) {\n fn = console[level];\n }\n\n var subset = [], i = 0;\n if(level != 'info') {\n for(; i < args.length; i++) {\n if(typeof args[i] != 'string') break;\n }\n fn.apply(console, [ '%c'+name +' '+ args.slice(0, i).join(' '), color.apply(color, colors[level]) ].concat(args.slice(i)));\n } else {\n fn.apply(console, [ '%c'+name, color.apply(color, colors[level]) ].concat(args));\n }\n};\n\n// NOP, because piping the formatted logs can only cause trouble.\nlogger.pipe = function() { };\n\nmodule.exports = logger;\n","var hex = {\n black: '#000',\n red: '#c23621',\n green: '#25bc26',\n yellow: '#bbbb00',\n blue: '#492ee1',\n magenta: '#d338d3',\n cyan: '#33bbc8',\n gray: '#808080',\n purple: '#708'\n};\nfunction color(fg, isInverse) {\n if(isInverse) {\n return 'color: #fff; background: '+hex[fg]+';';\n } else {\n return 'color: '+hex[fg]+';';\n }\n}\n\nmodule.exports = color;\n","import Stream from 'stream';\nimport http from 'http';\nimport Url from 'url';\nimport whatwgUrl from 'whatwg-url';\nimport https from 'https';\nimport zlib from 'zlib';\n\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n\n// fix for \"Readable\" isn't a named export issue\nconst Readable = Stream.Readable;\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\t\tlet size = 0;\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tsize += buffer.length;\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\ttext() {\n\t\treturn Promise.resolve(this[BUFFER].toString());\n\t}\n\tarrayBuffer() {\n\t\tconst buf = this[BUFFER];\n\t\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\treturn Promise.resolve(ab);\n\t}\n\tstream() {\n\t\tconst readable = new Readable();\n\t\treadable._read = function () {};\n\t\treadable.push(this[BUFFER]);\n\t\treadable.push(null);\n\t\treturn readable;\n\t}\n\ttoString() {\n\t\treturn '[object Blob]';\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n// fix an issue where \"PassThrough\" isn't a named export for node <10\nconst PassThrough = Stream.PassThrough;\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\tbody = Buffer.from(body.toString());\n\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\tbody = Buffer.from(body);\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\n\t} else if (body instanceof Stream) ; else {\n\t\t// none of the above\n\t\t// coerce to string then buffer\n\t\tbody = Buffer.from(String(body));\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t\t_this[INTERNALS].error = error;\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\tlet body = this.body;\n\n\t// body is null\n\tif (body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is blob\n\tif (isBlob(body)) {\n\t\tbody = body.stream();\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(body)) {\n\t\treturn Body.Promise.resolve(body);\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream errors\n\t\tbody.on('error', function (err) {\n\t\t\tif (err.name === 'AbortError') {\n\t\t\t\t// if the request was aborted, reject with this Error\n\t\t\t\tabort = true;\n\t\t\t\treject(err);\n\t\t\t} else {\n\t\t\t\t// other errors, such as incorrect content-encoding\n\t\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\n\t\tbody.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\tbody.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum, accumBytes));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = /<meta.+?charset=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// html4\n\tif (!res && str) {\n\t\tres = /<meta[\\s]+?http-equiv=(['\"])content-type\\1[\\s]+?content=(['\"])(.+?)\\2/i.exec(str);\n\t\tif (!res) {\n\t\t\tres = /<meta[\\s]+?content=(['\"])(.+?)\\1[\\s]+?http-equiv=(['\"])content-type\\3/i.exec(str);\n\t\t\tif (res) {\n\t\t\t\tres.pop(); // drop last quote\n\t\t\t}\n\t\t}\n\n\t\tif (res) {\n\t\t\tres = /charset=(.*)/i.exec(res.pop());\n\t\t}\n\t}\n\n\t// xml\n\tif (!res && str) {\n\t\tres = /<\\?xml.+?encoding=(['\"])(.+?)\\1/i.exec(str);\n\t}\n\n\t// found charset\n\tif (res) {\n\t\tcharset = res.pop();\n\n\t\t// prevent decode issues when sites use incorrect encoding\n\t\t// ref: https://hsivonen.fi/encoding-menu/\n\t\tif (charset === 'gb2312' || charset === 'gbk') {\n\t\t\tcharset = 'gb18030';\n\t\t}\n\t}\n\n\t// turn raw buffers into a single utf-8 buffer\n\treturn convert(buffer, 'UTF-8', charset).toString();\n}\n\n/**\n * Detect a URLSearchParams object\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\n *\n * @param Object obj Object to detect by type or brand\n * @return String\n */\nfunction isURLSearchParams(obj) {\n\t// Duck-typing as a necessary condition.\n\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\n\t\treturn false;\n\t}\n\n\t// Brand-checking and more duck-typing as optional condition.\n\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\n}\n\n/**\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\n * @param {*} obj\n * @return {boolean}\n */\nfunction isBlob(obj) {\n\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\n}\n\n/**\n * Clone body given Res/Req instance\n *\n * @param Mixed instance Response or Request instance\n * @return Mixed\n */\nfunction clone(instance) {\n\tlet p1, p2;\n\tlet body = instance.body;\n\n\t// don't allow cloning a used body\n\tif (instance.bodyUsed) {\n\t\tthrow new Error('cannot clone body after it is used');\n\t}\n\n\t// check that body is a stream and not form-data object\n\t// note: we can't clone the form-data object without having it as a dependency\n\tif (body instanceof Stream && typeof body.getBoundary !== 'function') {\n\t\t// tee instance body\n\t\tp1 = new PassThrough();\n\t\tp2 = new PassThrough();\n\t\tbody.pipe(p1);\n\t\tbody.pipe(p2);\n\t\t// set instance body to teed body and return the other teed body\n\t\tinstance[INTERNALS].body = p1;\n\t\tbody = p2;\n\t}\n\n\treturn body;\n}\n\n/**\n * Performs the operation \"extract a `Content-Type` value from |object|\" as\n * specified in the specification:\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\n *\n * This function assumes that instance.body is present.\n *\n * @param Mixed instance Any options.body input\n */\nfunction extractContentType(body) {\n\tif (body === null) {\n\t\t// body is null\n\t\treturn null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t\treturn 'text/plain;charset=UTF-8';\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\n\t} else if (isBlob(body)) {\n\t\t// body is blob\n\t\treturn body.type || null;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn null;\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is ArrayBuffer\n\t\treturn null;\n\t} else if (ArrayBuffer.isView(body)) {\n\t\t// body is ArrayBufferView\n\t\treturn null;\n\t} else if (typeof body.getBoundary === 'function') {\n\t\t// detect form data input from form-data module\n\t\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t\t// can't really do much about this\n\t\treturn null;\n\t} else {\n\t\t// Body constructor defaults other things to string\n\t\treturn 'text/plain;charset=UTF-8';\n\t}\n}\n\n/**\n * The Fetch Standard treats this as if \"total bytes\" is a property on the body.\n * For us, we have to explicitly get it with a function.\n *\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\n *\n * @param Body instance Instance of Body\n * @return Number? Number of bytes, or null if not possible\n */\nfunction getTotalBytes(instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\treturn 0;\n\t} else if (isBlob(body)) {\n\t\treturn body.size;\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\treturn body.length;\n\t} else if (body && typeof body.getLengthSync === 'function') {\n\t\t// detect form data input from form-data module\n\t\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\n\t\tbody.hasKnownLength && body.hasKnownLength()) {\n\t\t\t// 2.x\n\t\t\treturn body.getLengthSync();\n\t\t}\n\t\treturn null;\n\t} else {\n\t\t// body is stream\n\t\treturn null;\n\t}\n}\n\n/**\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\n *\n * @param Body instance Instance of Body\n * @return Void\n */\nfunction writeToStream(dest, instance) {\n\tconst body = instance.body;\n\n\n\tif (body === null) {\n\t\t// body is null\n\t\tdest.end();\n\t} else if (isBlob(body)) {\n\t\tbody.stream().pipe(dest);\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t\tdest.write(body);\n\t\tdest.end();\n\t} else {\n\t\t// body is stream\n\t\tbody.pipe(dest);\n\t}\n}\n\n// expose Promise\nBody.Promise = global.Promise;\n\n/**\n * headers.js\n *\n * Headers class offers convenient helpers\n */\n\nconst invalidTokenRegex = /[^\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]/;\nconst invalidHeaderCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n\nfunction validateName(name) {\n\tname = `${name}`;\n\tif (invalidTokenRegex.test(name) || name === '') {\n\t\tthrow new TypeError(`${name} is not a legal HTTP header name`);\n\t}\n}\n\nfunction validateValue(value) {\n\tvalue = `${value}`;\n\tif (invalidHeaderCharRegex.test(value)) {\n\t\tthrow new TypeError(`${value} is not a legal HTTP header value`);\n\t}\n}\n\n/**\n * Find the key in the map object given a header name.\n *\n * Returns undefined if not found.\n *\n * @param String name Header name\n * @return String|Undefined\n */\nfunction find(map, name) {\n\tname = name.toLowerCase();\n\tfor (const key in map) {\n\t\tif (key.toLowerCase() === name) {\n\t\t\treturn key;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nconst MAP = Symbol('map');\nclass Headers {\n\t/**\n * Headers class\n *\n * @param Object headers Response headers\n * @return Void\n */\n\tconstructor() {\n\t\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) ; else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence<sequence<ByteString>>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record<ByteString, ByteString>\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n// fix an issue where \"STATUS_CODES\" aren't a named export for node <10\nconst STATUS_CODES = http.STATUS_CODES;\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\t\tconst headers = new Headers(opts.headers);\n\n\t\tif (body != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(body);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders,\n\t\t\tcounter: opts.counter\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url || '';\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget redirected() {\n\t\treturn this[INTERNALS$1].counter > 0;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok,\n\t\t\tredirected: this.redirected\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tredirected: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nconst INTERNALS$2 = Symbol('Request internals');\nconst URL = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"format\", \"parse\" aren't a named export for node <10\nconst parse_url = Url.parse;\nconst format_url = Url.format;\n\n/**\n * Wrapper around `new URL` to handle arbitrary URLs\n *\n * @param {string} urlStr\n * @return {void}\n */\nfunction parseURL(urlStr) {\n\t/*\n \tCheck whether the URL is absolute or not\n \t\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\n \tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\n */\n\tif (/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.exec(urlStr)) {\n\t\turlStr = new URL(urlStr).toString();\n\t}\n\n\t// Fallback to old implementation for arbitrary URLs\n\treturn parse_url(urlStr);\n}\n\nconst streamDestructionSupported = 'destroy' in Stream.Readable.prototype;\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\nfunction isAbortSignal(signal) {\n\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\n\treturn !!(proto && proto.constructor.name === 'AbortSignal');\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parseURL(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parseURL(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parseURL(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (inputBody != null && !headers.has('Content-Type')) {\n\t\t\tconst contentType = extractContentType(inputBody);\n\t\t\tif (contentType) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tlet signal = isRequest(input) ? input.signal : null;\n\t\tif ('signal' in init) signal = init.signal;\n\n\t\tif (signal != null && !isAbortSignal(signal)) {\n\t\t\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL,\n\t\t\tsignal\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\tget signal() {\n\t\treturn this[INTERNALS$2].signal;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true },\n\tsignal: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\tif (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {\n\t\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress && !headers.has('Accept-Encoding')) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\n\tlet agent = request.agent;\n\tif (typeof agent === 'function') {\n\t\tagent = agent(parsedURL);\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent\n\t});\n}\n\n/**\n * abort-error.js\n *\n * AbortError interface for cancelled requests\n */\n\n/**\n * Create AbortError instance\n *\n * @param String message Error message for human\n * @return AbortError\n */\nfunction AbortError(message) {\n Error.call(this, message);\n\n this.type = 'aborted';\n this.message = message;\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nAbortError.prototype = Object.create(Error.prototype);\nAbortError.prototype.constructor = AbortError;\nAbortError.prototype.name = 'AbortError';\n\nconst URL$1 = Url.URL || whatwgUrl.URL;\n\n// fix an issue where \"PassThrough\", \"resolve\" aren't a named export for node <10\nconst PassThrough$1 = Stream.PassThrough;\n\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\n\tconst orig = new URL$1(original).hostname;\n\tconst dest = new URL$1(destination).hostname;\n\n\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\n};\n\n/**\n * isSameProtocol reports whether the two provided URLs use the same protocol.\n *\n * Both domains must already be in canonical form.\n * @param {string|URL} original\n * @param {string|URL} destination\n */\nconst isSameProtocol = function isSameProtocol(destination, original) {\n\tconst orig = new URL$1(original).protocol;\n\tconst dest = new URL$1(destination).protocol;\n\n\treturn orig === dest;\n};\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\t\tconst signal = request.signal;\n\n\t\tlet response = null;\n\n\t\tconst abort = function abort() {\n\t\t\tlet error = new AbortError('The user aborted a request.');\n\t\t\treject(error);\n\t\t\tif (request.body && request.body instanceof Stream.Readable) {\n\t\t\t\tdestroyStream(request.body, error);\n\t\t\t}\n\t\t\tif (!response || !response.body) return;\n\t\t\tresponse.body.emit('error', error);\n\t\t};\n\n\t\tif (signal && signal.aborted) {\n\t\t\tabort();\n\t\t\treturn;\n\t\t}\n\n\t\tconst abortAndFinalize = function abortAndFinalize() {\n\t\t\tabort();\n\t\t\tfinalize();\n\t\t};\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tif (signal) {\n\t\t\tsignal.addEventListener('abort', abortAndFinalize);\n\t\t}\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\n\t\t\tfinalize();\n\t\t});\n\n\t\tfixResponseChunkedTransferBadEnding(req, function (err) {\n\t\t\tif (signal && signal.aborted) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response && response.body) {\n\t\t\t\tdestroyStream(response.body, err);\n\t\t\t}\n\t\t});\n\n\t\t/* c8 ignore next 18 */\n\t\tif (parseInt(process.version.substring(1)) < 14) {\n\t\t\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\n\t\t\t// properly handle when the socket close/end events are out of order.\n\t\t\treq.on('socket', function (s) {\n\t\t\t\ts.addListener('close', function (hadError) {\n\t\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\t\tconst hasDataListener = s.listenerCount('data') > 0;\n\n\t\t\t\t\t// if end happened before close but the socket didn't emit an error, do it now\n\t\t\t\t\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\n\t\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\t\tresponse.body.emit('error', err);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tlet locationURL = null;\n\t\t\t\ttry {\n\t\t\t\t\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// error here can only be invalid URL in Location: header\n\t\t\t\t\t// do not throw when options.redirect == manual\n\t\t\t\t\t// let the user extract the errorneous redirect URL\n\t\t\t\t\tif (request.redirect !== 'manual') {\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\t// handle corrupted header\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body,\n\t\t\t\t\t\t\tsignal: request.signal,\n\t\t\t\t\t\t\ttimeout: request.timeout,\n\t\t\t\t\t\t\tsize: request.size\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\n\t\t\t\t\t\t\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\n\t\t\t\t\t\t\t\trequestOpts.headers.delete(name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tres.once('end', function () {\n\t\t\t\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\n\t\t\t});\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout,\n\t\t\t\tcounter: request.counter\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\tresolve(response);\n\t\t\t\t});\n\t\t\t\traw.on('end', function () {\n\t\t\t\t\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for br\n\t\t\tif (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {\n\t\t\t\tbody = body.pipe(zlib.createBrotliDecompress());\n\t\t\t\tresponse = new Response(body, response_options);\n\t\t\t\tresolve(response);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresponse = new Response(body, response_options);\n\t\t\tresolve(response);\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\n\tlet socket;\n\n\trequest.on('socket', function (s) {\n\t\tsocket = s;\n\t});\n\n\trequest.on('response', function (response) {\n\t\tconst headers = response.headers;\n\n\t\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\n\t\t\tresponse.once('close', function (hadError) {\n\t\t\t\t// tests for socket presence, as in some situations the\n\t\t\t\t// the 'socket' event is not triggered for the request\n\t\t\t\t// (happens in deno), avoids `TypeError`\n\t\t\t\t// if a data listener is still present we didn't end cleanly\n\t\t\t\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\n\n\t\t\t\tif (hasDataListener && !hadError) {\n\t\t\t\t\tconst err = new Error('Premature close');\n\t\t\t\t\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\n\t\t\t\t\terrorCallback(err);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nfunction destroyStream(stream, err) {\n\tif (stream.destroy) {\n\t\tstream.destroy(err);\n\t} else {\n\t\t// node < 8\n\t\tstream.emit('error', err);\n\t\tstream.end();\n\t}\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nexport default fetch;\nexport { Headers, Request, Response, FetchError, AbortError };\n","\"use strict\";\n\nvar punycode = require(\"punycode\");\nvar mappingTable = require(\"./lib/mappingTable.json\");\n\nvar PROCESSING_OPTIONS = {\n TRANSITIONAL: 0,\n NONTRANSITIONAL: 1\n};\n\nfunction normalize(str) { // fix bug in v8\n return str.split('\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\u0000');\n}\n\nfunction findStatus(val) {\n var start = 0;\n var end = mappingTable.length - 1;\n\n while (start <= end) {\n var mid = Math.floor((start + end) / 2);\n\n var target = mappingTable[mid];\n if (target[0][0] <= val && target[0][1] >= val) {\n return target;\n } else if (target[0][0] > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nvar regexAstralSymbols = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\nfunction countSymbols(string) {\n return string\n // replace every surrogate pair with a BMP symbol\n .replace(regexAstralSymbols, '_')\n // then get the length\n .length;\n}\n\nfunction mapChars(domain_name, useSTD3, processing_option) {\n var hasError = false;\n var processed = \"\";\n\n var len = countSymbols(domain_name);\n for (var i = 0; i < len; ++i) {\n var codePoint = domain_name.codePointAt(i);\n var status = findStatus(codePoint);\n\n switch (status[1]) {\n case \"disallowed\":\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n break;\n case \"ignored\":\n break;\n case \"mapped\":\n processed += String.fromCodePoint.apply(String, status[2]);\n break;\n case \"deviation\":\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\n processed += String.fromCodePoint.apply(String, status[2]);\n } else {\n processed += String.fromCodePoint(codePoint);\n }\n break;\n case \"valid\":\n processed += String.fromCodePoint(codePoint);\n break;\n case \"disallowed_STD3_mapped\":\n if (useSTD3) {\n hasError = true;\n processed += String.fromCodePoint(codePoint);\n } else {\n processed += String.fromCodePoint.apply(String, status[2]);\n }\n break;\n case \"disallowed_STD3_valid\":\n if (useSTD3) {\n hasError = true;\n }\n\n processed += String.fromCodePoint(codePoint);\n break;\n }\n }\n\n return {\n string: processed,\n error: hasError\n };\n}\n\nvar combiningMarksRegex = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08E4-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u19B0-\\u19C0\\u19C8\\u19C9\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFC-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C4\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2D]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDE2C-\\uDE37\\uDEDF-\\uDEEA\\uDF01-\\uDF03\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDCB0-\\uDCC3\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDE30-\\uDE40\\uDEAB-\\uDEB7]|\\uD81A[\\uDEF0-\\uDEF4\\uDF30-\\uDF36]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD83A[\\uDCD0-\\uDCD6]|\\uDB40[\\uDD00-\\uDDEF]/;\n\nfunction validateLabel(label, processing_option) {\n if (label.substr(0, 4) === \"xn--\") {\n label = punycode.toUnicode(label);\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\n }\n\n var error = false;\n\n if (normalize(label) !== label ||\n (label[3] === \"-\" && label[4] === \"-\") ||\n label[0] === \"-\" || label[label.length - 1] === \"-\" ||\n label.indexOf(\".\") !== -1 ||\n label.search(combiningMarksRegex) === 0) {\n error = true;\n }\n\n var len = countSymbols(label);\n for (var i = 0; i < len; ++i) {\n var status = findStatus(label.codePointAt(i));\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \"valid\") ||\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\n status[1] !== \"valid\" && status[1] !== \"deviation\")) {\n error = true;\n break;\n }\n }\n\n return {\n label: label,\n error: error\n };\n}\n\nfunction processing(domain_name, useSTD3, processing_option) {\n var result = mapChars(domain_name, useSTD3, processing_option);\n result.string = normalize(result.string);\n\n var labels = result.string.split(\".\");\n for (var i = 0; i < labels.length; ++i) {\n try {\n var validation = validateLabel(labels[i]);\n labels[i] = validation.label;\n result.error = result.error || validation.error;\n } catch(e) {\n result.error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error: result.error\n };\n}\n\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\n var result = processing(domain_name, useSTD3, processing_option);\n var labels = result.string.split(\".\");\n labels = labels.map(function(l) {\n try {\n return punycode.toASCII(l);\n } catch(e) {\n result.error = true;\n return l;\n }\n });\n\n if (verifyDnsLength) {\n var total = labels.slice(0, labels.length - 1).join(\".\").length;\n if (total.length > 253 || total.length === 0) {\n result.error = true;\n }\n\n for (var i=0; i < labels.length; ++i) {\n if (labels.length > 63 || labels.length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) return null;\n return labels.join(\".\");\n};\n\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\n\n return {\n domain: result.string,\n error: result.error\n };\n};\n\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\n","\"use strict\";\n\nvar conversions = {};\nmodule.exports = conversions;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction evenRound(x) {\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\n return Math.floor(x);\n } else {\n return Math.round(x);\n }\n}\n\nfunction createNumberConversion(bitLength, typeOpts) {\n if (!typeOpts.unsigned) {\n --bitLength;\n }\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\n const upperBound = Math.pow(2, bitLength) - 1;\n\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\n\n return function(V, opts) {\n if (!opts) opts = {};\n\n let x = +V;\n\n if (opts.enforceRange) {\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite number\");\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(\"Argument is not in byte range\");\n }\n\n return x;\n }\n\n if (!isNaN(x) && opts.clamp) {\n x = evenRound(x);\n\n if (x < lowerBound) x = lowerBound;\n if (x > upperBound) x = upperBound;\n return x;\n }\n\n if (!Number.isFinite(x) || x === 0) {\n return 0;\n }\n\n x = sign(x) * Math.floor(Math.abs(x));\n x = x % moduloVal;\n\n if (!typeOpts.unsigned && x >= moduloBound) {\n return x - moduloVal;\n } else if (typeOpts.unsigned) {\n if (x < 0) {\n x += moduloVal;\n } else if (x === -0) { // don't return negative zero\n return 0;\n }\n }\n\n return x;\n }\n}\n\nconversions[\"void\"] = function () {\n return undefined;\n};\n\nconversions[\"boolean\"] = function (val) {\n return !!val;\n};\n\nconversions[\"byte\"] = createNumberConversion(8, { unsigned: false });\nconversions[\"octet\"] = createNumberConversion(8, { unsigned: true });\n\nconversions[\"short\"] = createNumberConversion(16, { unsigned: false });\nconversions[\"unsigned short\"] = createNumberConversion(16, { unsigned: true });\n\nconversions[\"long\"] = createNumberConversion(32, { unsigned: false });\nconversions[\"unsigned long\"] = createNumberConversion(32, { unsigned: true });\n\nconversions[\"long long\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\nconversions[\"unsigned long long\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\n\nconversions[\"double\"] = function (V) {\n const x = +V;\n\n if (!Number.isFinite(x)) {\n throw new TypeError(\"Argument is not a finite floating-point value\");\n }\n\n return x;\n};\n\nconversions[\"unrestricted double\"] = function (V) {\n const x = +V;\n\n if (isNaN(x)) {\n throw new TypeError(\"Argument is NaN\");\n }\n\n return x;\n};\n\n// not quite valid, but good enough for JS\nconversions[\"float\"] = conversions[\"double\"];\nconversions[\"unrestricted float\"] = conversions[\"unrestricted double\"];\n\nconversions[\"DOMString\"] = function (V, opts) {\n if (!opts) opts = {};\n\n if (opts.treatNullAsEmptyString && V === null) {\n return \"\";\n }\n\n return String(V);\n};\n\nconversions[\"ByteString\"] = function (V, opts) {\n const x = String(V);\n let c = undefined;\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\n if (c > 255) {\n throw new TypeError(\"Argument is not a valid bytestring\");\n }\n }\n\n return x;\n};\n\nconversions[\"USVString\"] = function (V) {\n const S = String(V);\n const n = S.length;\n const U = [];\n for (let i = 0; i < n; ++i) {\n const c = S.charCodeAt(i);\n if (c < 0xD800 || c > 0xDFFF) {\n U.push(String.fromCodePoint(c));\n } else if (0xDC00 <= c && c <= 0xDFFF) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n if (i === n - 1) {\n U.push(String.fromCodePoint(0xFFFD));\n } else {\n const d = S.charCodeAt(i + 1);\n if (0xDC00 <= d && d <= 0xDFFF) {\n const a = c & 0x3FF;\n const b = d & 0x3FF;\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\n ++i;\n } else {\n U.push(String.fromCodePoint(0xFFFD));\n }\n }\n }\n }\n\n return U.join('');\n};\n\nconversions[\"Date\"] = function (V, opts) {\n if (!(V instanceof Date)) {\n throw new TypeError(\"Argument is not a Date object\");\n }\n if (isNaN(V)) {\n return undefined;\n }\n\n return V;\n};\n\nconversions[\"RegExp\"] = function (V, opts) {\n if (!(V instanceof RegExp)) {\n V = new RegExp(V);\n }\n\n return V;\n};\n","\"use strict\";\nconst usm = require(\"./url-state-machine\");\n\nexports.implementation = class URLImpl {\n constructor(constructorArgs) {\n const url = constructorArgs[0];\n const base = constructorArgs[1];\n\n let parsedBase = null;\n if (base !== undefined) {\n parsedBase = usm.basicURLParse(base);\n if (parsedBase === \"failure\") {\n throw new TypeError(\"Invalid base URL\");\n }\n }\n\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n\n // TODO: query stuff\n }\n\n get href() {\n return usm.serializeURL(this._url);\n }\n\n set href(v) {\n const parsedURL = usm.basicURLParse(v);\n if (parsedURL === \"failure\") {\n throw new TypeError(\"Invalid URL\");\n }\n\n this._url = parsedURL;\n }\n\n get origin() {\n return usm.serializeURLOrigin(this._url);\n }\n\n get protocol() {\n return this._url.scheme + \":\";\n }\n\n set protocol(v) {\n usm.basicURLParse(v + \":\", { url: this._url, stateOverride: \"scheme start\" });\n }\n\n get username() {\n return this._url.username;\n }\n\n set username(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setTheUsername(this._url, v);\n }\n\n get password() {\n return this._url.password;\n }\n\n set password(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n usm.setThePassword(this._url, v);\n }\n\n get host() {\n const url = this._url;\n\n if (url.host === null) {\n return \"\";\n }\n\n if (url.port === null) {\n return usm.serializeHost(url.host);\n }\n\n return usm.serializeHost(url.host) + \":\" + usm.serializeInteger(url.port);\n }\n\n set host(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"host\" });\n }\n\n get hostname() {\n if (this._url.host === null) {\n return \"\";\n }\n\n return usm.serializeHost(this._url.host);\n }\n\n set hostname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n usm.basicURLParse(v, { url: this._url, stateOverride: \"hostname\" });\n }\n\n get port() {\n if (this._url.port === null) {\n return \"\";\n }\n\n return usm.serializeInteger(this._url.port);\n }\n\n set port(v) {\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\n return;\n }\n\n if (v === \"\") {\n this._url.port = null;\n } else {\n usm.basicURLParse(v, { url: this._url, stateOverride: \"port\" });\n }\n }\n\n get pathname() {\n if (this._url.cannotBeABaseURL) {\n return this._url.path[0];\n }\n\n if (this._url.path.length === 0) {\n return \"\";\n }\n\n return \"/\" + this._url.path.join(\"/\");\n }\n\n set pathname(v) {\n if (this._url.cannotBeABaseURL) {\n return;\n }\n\n this._url.path = [];\n usm.basicURLParse(v, { url: this._url, stateOverride: \"path start\" });\n }\n\n get search() {\n if (this._url.query === null || this._url.query === \"\") {\n return \"\";\n }\n\n return \"?\" + this._url.query;\n }\n\n set search(v) {\n // TODO: query stuff\n\n const url = this._url;\n\n if (v === \"\") {\n url.query = null;\n return;\n }\n\n const input = v[0] === \"?\" ? v.substring(1) : v;\n url.query = \"\";\n usm.basicURLParse(input, { url, stateOverride: \"query\" });\n }\n\n get hash() {\n if (this._url.fragment === null || this._url.fragment === \"\") {\n return \"\";\n }\n\n return \"#\" + this._url.fragment;\n }\n\n set hash(v) {\n if (v === \"\") {\n this._url.fragment = null;\n return;\n }\n\n const input = v[0] === \"#\" ? v.substring(1) : v;\n this._url.fragment = \"\";\n usm.basicURLParse(input, { url: this._url, stateOverride: \"fragment\" });\n }\n\n toJSON() {\n return this.href;\n }\n};\n","\"use strict\";\n\nconst conversions = require(\"webidl-conversions\");\nconst utils = require(\"./utils.js\");\nconst Impl = require(\".//URL-impl.js\");\n\nconst impl = utils.implSymbol;\n\nfunction URL(url) {\n if (!this || this[impl] || !(this instanceof URL)) {\n throw new TypeError(\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\");\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'URL': 1 argument required, but only \" + arguments.length + \" present.\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 2; ++i) {\n args[i] = arguments[i];\n }\n args[0] = conversions[\"USVString\"](args[0]);\n if (args[1] !== undefined) {\n args[1] = conversions[\"USVString\"](args[1]);\n }\n\n module.exports.setup(this, args);\n}\n\nURL.prototype.toJSON = function toJSON() {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n const args = [];\n for (let i = 0; i < arguments.length && i < 0; ++i) {\n args[i] = arguments[i];\n }\n return this[impl].toJSON.apply(this[impl], args);\n};\nObject.defineProperty(URL.prototype, \"href\", {\n get() {\n return this[impl].href;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].href = V;\n },\n enumerable: true,\n configurable: true\n});\n\nURL.prototype.toString = function () {\n if (!this || !module.exports.is(this)) {\n throw new TypeError(\"Illegal invocation\");\n }\n return this.href;\n};\n\nObject.defineProperty(URL.prototype, \"origin\", {\n get() {\n return this[impl].origin;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"protocol\", {\n get() {\n return this[impl].protocol;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].protocol = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"username\", {\n get() {\n return this[impl].username;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].username = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"password\", {\n get() {\n return this[impl].password;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].password = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"host\", {\n get() {\n return this[impl].host;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].host = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hostname\", {\n get() {\n return this[impl].hostname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hostname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"port\", {\n get() {\n return this[impl].port;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].port = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"pathname\", {\n get() {\n return this[impl].pathname;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].pathname = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"search\", {\n get() {\n return this[impl].search;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].search = V;\n },\n enumerable: true,\n configurable: true\n});\n\nObject.defineProperty(URL.prototype, \"hash\", {\n get() {\n return this[impl].hash;\n },\n set(V) {\n V = conversions[\"USVString\"](V);\n this[impl].hash = V;\n },\n enumerable: true,\n configurable: true\n});\n\n\nmodule.exports = {\n is(obj) {\n return !!obj && obj[impl] instanceof Impl.implementation;\n },\n create(constructorArgs, privateData) {\n let obj = Object.create(URL.prototype);\n this.setup(obj, constructorArgs, privateData);\n return obj;\n },\n setup(obj, constructorArgs, privateData) {\n if (!privateData) privateData = {};\n privateData.wrapper = obj;\n\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\n obj[impl][utils.wrapperSymbol] = obj;\n },\n interface: URL,\n expose: {\n Window: { URL: URL },\n Worker: { URL: URL }\n }\n};\n\n","\"use strict\";\n\nexports.URL = require(\"./URL\").interface;\nexports.serializeURL = require(\"./url-state-machine\").serializeURL;\nexports.serializeURLOrigin = require(\"./url-state-machine\").serializeURLOrigin;\nexports.basicURLParse = require(\"./url-state-machine\").basicURLParse;\nexports.setTheUsername = require(\"./url-state-machine\").setTheUsername;\nexports.setThePassword = require(\"./url-state-machine\").setThePassword;\nexports.serializeHost = require(\"./url-state-machine\").serializeHost;\nexports.serializeInteger = require(\"./url-state-machine\").serializeInteger;\nexports.parseURL = require(\"./url-state-machine\").parseURL;\n","\"use strict\";\r\nconst punycode = require(\"punycode\");\r\nconst tr46 = require(\"tr46\");\r\n\r\nconst specialSchemes = {\r\n ftp: 21,\r\n file: null,\r\n gopher: 70,\r\n http: 80,\r\n https: 443,\r\n ws: 80,\r\n wss: 443\r\n};\r\n\r\nconst failure = Symbol(\"failure\");\r\n\r\nfunction countSymbols(str) {\r\n return punycode.ucs2.decode(str).length;\r\n}\r\n\r\nfunction at(input, idx) {\r\n const c = input[idx];\r\n return isNaN(c) ? undefined : String.fromCodePoint(c);\r\n}\r\n\r\nfunction isASCIIDigit(c) {\r\n return c >= 0x30 && c <= 0x39;\r\n}\r\n\r\nfunction isASCIIAlpha(c) {\r\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\r\n}\r\n\r\nfunction isASCIIAlphanumeric(c) {\r\n return isASCIIAlpha(c) || isASCIIDigit(c);\r\n}\r\n\r\nfunction isASCIIHex(c) {\r\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\r\n}\r\n\r\nfunction isSingleDot(buffer) {\r\n return buffer === \".\" || buffer.toLowerCase() === \"%2e\";\r\n}\r\n\r\nfunction isDoubleDot(buffer) {\r\n buffer = buffer.toLowerCase();\r\n return buffer === \"..\" || buffer === \"%2e.\" || buffer === \".%2e\" || buffer === \"%2e%2e\";\r\n}\r\n\r\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\r\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\r\n}\r\n\r\nfunction isWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \":\" || string[1] === \"|\");\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetterString(string) {\r\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \":\";\r\n}\r\n\r\nfunction containsForbiddenHostCodePoint(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|%|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\r\n return string.search(/\\u0000|\\u0009|\\u000A|\\u000D|\\u0020|#|\\/|:|\\?|@|\\[|\\\\|\\]/) !== -1;\r\n}\r\n\r\nfunction isSpecialScheme(scheme) {\r\n return specialSchemes[scheme] !== undefined;\r\n}\r\n\r\nfunction isSpecial(url) {\r\n return isSpecialScheme(url.scheme);\r\n}\r\n\r\nfunction defaultPort(scheme) {\r\n return specialSchemes[scheme];\r\n}\r\n\r\nfunction percentEncode(c) {\r\n let hex = c.toString(16).toUpperCase();\r\n if (hex.length === 1) {\r\n hex = \"0\" + hex;\r\n }\r\n\r\n return \"%\" + hex;\r\n}\r\n\r\nfunction utf8PercentEncode(c) {\r\n const buf = new Buffer(c);\r\n\r\n let str = \"\";\r\n\r\n for (let i = 0; i < buf.length; ++i) {\r\n str += percentEncode(buf[i]);\r\n }\r\n\r\n return str;\r\n}\r\n\r\nfunction utf8PercentDecode(str) {\r\n const input = new Buffer(str);\r\n const output = [];\r\n for (let i = 0; i < input.length; ++i) {\r\n if (input[i] !== 37) {\r\n output.push(input[i]);\r\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\r\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\r\n i += 2;\r\n } else {\r\n output.push(input[i]);\r\n }\r\n }\r\n return new Buffer(output).toString();\r\n}\r\n\r\nfunction isC0ControlPercentEncode(c) {\r\n return c <= 0x1F || c > 0x7E;\r\n}\r\n\r\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\r\nfunction isPathPercentEncode(c) {\r\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\r\n}\r\n\r\nconst extraUserinfoPercentEncodeSet =\r\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\r\nfunction isUserinfoPercentEncode(c) {\r\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\r\n}\r\n\r\nfunction percentEncodeChar(c, encodeSetPredicate) {\r\n const cStr = String.fromCodePoint(c);\r\n\r\n if (encodeSetPredicate(c)) {\r\n return utf8PercentEncode(cStr);\r\n }\r\n\r\n return cStr;\r\n}\r\n\r\nfunction parseIPv4Number(input) {\r\n let R = 10;\r\n\r\n if (input.length >= 2 && input.charAt(0) === \"0\" && input.charAt(1).toLowerCase() === \"x\") {\r\n input = input.substring(2);\r\n R = 16;\r\n } else if (input.length >= 2 && input.charAt(0) === \"0\") {\r\n input = input.substring(1);\r\n R = 8;\r\n }\r\n\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n\r\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\r\n if (regex.test(input)) {\r\n return failure;\r\n }\r\n\r\n return parseInt(input, R);\r\n}\r\n\r\nfunction parseIPv4(input) {\r\n const parts = input.split(\".\");\r\n if (parts[parts.length - 1] === \"\") {\r\n if (parts.length > 1) {\r\n parts.pop();\r\n }\r\n }\r\n\r\n if (parts.length > 4) {\r\n return input;\r\n }\r\n\r\n const numbers = [];\r\n for (const part of parts) {\r\n if (part === \"\") {\r\n return input;\r\n }\r\n const n = parseIPv4Number(part);\r\n if (n === failure) {\r\n return input;\r\n }\r\n\r\n numbers.push(n);\r\n }\r\n\r\n for (let i = 0; i < numbers.length - 1; ++i) {\r\n if (numbers[i] > 255) {\r\n return failure;\r\n }\r\n }\r\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\r\n return failure;\r\n }\r\n\r\n let ipv4 = numbers.pop();\r\n let counter = 0;\r\n\r\n for (const n of numbers) {\r\n ipv4 += n * Math.pow(256, 3 - counter);\r\n ++counter;\r\n }\r\n\r\n return ipv4;\r\n}\r\n\r\nfunction serializeIPv4(address) {\r\n let output = \"\";\r\n let n = address;\r\n\r\n for (let i = 1; i <= 4; ++i) {\r\n output = String(n % 256) + output;\r\n if (i !== 4) {\r\n output = \".\" + output;\r\n }\r\n n = Math.floor(n / 256);\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseIPv6(input) {\r\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\r\n let pieceIndex = 0;\r\n let compress = null;\r\n let pointer = 0;\r\n\r\n input = punycode.ucs2.decode(input);\r\n\r\n if (input[pointer] === 58) {\r\n if (input[pointer + 1] !== 58) {\r\n return failure;\r\n }\r\n\r\n pointer += 2;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n }\r\n\r\n while (pointer < input.length) {\r\n if (pieceIndex === 8) {\r\n return failure;\r\n }\r\n\r\n if (input[pointer] === 58) {\r\n if (compress !== null) {\r\n return failure;\r\n }\r\n ++pointer;\r\n ++pieceIndex;\r\n compress = pieceIndex;\r\n continue;\r\n }\r\n\r\n let value = 0;\r\n let length = 0;\r\n\r\n while (length < 4 && isASCIIHex(input[pointer])) {\r\n value = value * 0x10 + parseInt(at(input, pointer), 16);\r\n ++pointer;\r\n ++length;\r\n }\r\n\r\n if (input[pointer] === 46) {\r\n if (length === 0) {\r\n return failure;\r\n }\r\n\r\n pointer -= length;\r\n\r\n if (pieceIndex > 6) {\r\n return failure;\r\n }\r\n\r\n let numbersSeen = 0;\r\n\r\n while (input[pointer] !== undefined) {\r\n let ipv4Piece = null;\r\n\r\n if (numbersSeen > 0) {\r\n if (input[pointer] === 46 && numbersSeen < 4) {\r\n ++pointer;\r\n } else {\r\n return failure;\r\n }\r\n }\r\n\r\n if (!isASCIIDigit(input[pointer])) {\r\n return failure;\r\n }\r\n\r\n while (isASCIIDigit(input[pointer])) {\r\n const number = parseInt(at(input, pointer));\r\n if (ipv4Piece === null) {\r\n ipv4Piece = number;\r\n } else if (ipv4Piece === 0) {\r\n return failure;\r\n } else {\r\n ipv4Piece = ipv4Piece * 10 + number;\r\n }\r\n if (ipv4Piece > 255) {\r\n return failure;\r\n }\r\n ++pointer;\r\n }\r\n\r\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\r\n\r\n ++numbersSeen;\r\n\r\n if (numbersSeen === 2 || numbersSeen === 4) {\r\n ++pieceIndex;\r\n }\r\n }\r\n\r\n if (numbersSeen !== 4) {\r\n return failure;\r\n }\r\n\r\n break;\r\n } else if (input[pointer] === 58) {\r\n ++pointer;\r\n if (input[pointer] === undefined) {\r\n return failure;\r\n }\r\n } else if (input[pointer] !== undefined) {\r\n return failure;\r\n }\r\n\r\n address[pieceIndex] = value;\r\n ++pieceIndex;\r\n }\r\n\r\n if (compress !== null) {\r\n let swaps = pieceIndex - compress;\r\n pieceIndex = 7;\r\n while (pieceIndex !== 0 && swaps > 0) {\r\n const temp = address[compress + swaps - 1];\r\n address[compress + swaps - 1] = address[pieceIndex];\r\n address[pieceIndex] = temp;\r\n --pieceIndex;\r\n --swaps;\r\n }\r\n } else if (compress === null && pieceIndex !== 8) {\r\n return failure;\r\n }\r\n\r\n return address;\r\n}\r\n\r\nfunction serializeIPv6(address) {\r\n let output = \"\";\r\n const seqResult = findLongestZeroSequence(address);\r\n const compress = seqResult.idx;\r\n let ignore0 = false;\r\n\r\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\r\n if (ignore0 && address[pieceIndex] === 0) {\r\n continue;\r\n } else if (ignore0) {\r\n ignore0 = false;\r\n }\r\n\r\n if (compress === pieceIndex) {\r\n const separator = pieceIndex === 0 ? \"::\" : \":\";\r\n output += separator;\r\n ignore0 = true;\r\n continue;\r\n }\r\n\r\n output += address[pieceIndex].toString(16);\r\n\r\n if (pieceIndex !== 7) {\r\n output += \":\";\r\n }\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction parseHost(input, isSpecialArg) {\r\n if (input[0] === \"[\") {\r\n if (input[input.length - 1] !== \"]\") {\r\n return failure;\r\n }\r\n\r\n return parseIPv6(input.substring(1, input.length - 1));\r\n }\r\n\r\n if (!isSpecialArg) {\r\n return parseOpaqueHost(input);\r\n }\r\n\r\n const domain = utf8PercentDecode(input);\r\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\r\n if (asciiDomain === null) {\r\n return failure;\r\n }\r\n\r\n if (containsForbiddenHostCodePoint(asciiDomain)) {\r\n return failure;\r\n }\r\n\r\n const ipv4Host = parseIPv4(asciiDomain);\r\n if (typeof ipv4Host === \"number\" || ipv4Host === failure) {\r\n return ipv4Host;\r\n }\r\n\r\n return asciiDomain;\r\n}\r\n\r\nfunction parseOpaqueHost(input) {\r\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\r\n return failure;\r\n }\r\n\r\n let output = \"\";\r\n const decoded = punycode.ucs2.decode(input);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\r\n }\r\n return output;\r\n}\r\n\r\nfunction findLongestZeroSequence(arr) {\r\n let maxIdx = null;\r\n let maxLen = 1; // only find elements > 1\r\n let currStart = null;\r\n let currLen = 0;\r\n\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i] !== 0) {\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n currStart = null;\r\n currLen = 0;\r\n } else {\r\n if (currStart === null) {\r\n currStart = i;\r\n }\r\n ++currLen;\r\n }\r\n }\r\n\r\n // if trailing zeros\r\n if (currLen > maxLen) {\r\n maxIdx = currStart;\r\n maxLen = currLen;\r\n }\r\n\r\n return {\r\n idx: maxIdx,\r\n len: maxLen\r\n };\r\n}\r\n\r\nfunction serializeHost(host) {\r\n if (typeof host === \"number\") {\r\n return serializeIPv4(host);\r\n }\r\n\r\n // IPv6 serializer\r\n if (host instanceof Array) {\r\n return \"[\" + serializeIPv6(host) + \"]\";\r\n }\r\n\r\n return host;\r\n}\r\n\r\nfunction trimControlChars(url) {\r\n return url.replace(/^[\\u0000-\\u001F\\u0020]+|[\\u0000-\\u001F\\u0020]+$/g, \"\");\r\n}\r\n\r\nfunction trimTabAndNewline(url) {\r\n return url.replace(/\\u0009|\\u000A|\\u000D/g, \"\");\r\n}\r\n\r\nfunction shortenPath(url) {\r\n const path = url.path;\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (url.scheme === \"file\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\r\n return;\r\n }\r\n\r\n path.pop();\r\n}\r\n\r\nfunction includesCredentials(url) {\r\n return url.username !== \"\" || url.password !== \"\";\r\n}\r\n\r\nfunction cannotHaveAUsernamePasswordPort(url) {\r\n return url.host === null || url.host === \"\" || url.cannotBeABaseURL || url.scheme === \"file\";\r\n}\r\n\r\nfunction isNormalizedWindowsDriveLetter(string) {\r\n return /^[A-Za-z]:$/.test(string);\r\n}\r\n\r\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\r\n this.pointer = 0;\r\n this.input = input;\r\n this.base = base || null;\r\n this.encodingOverride = encodingOverride || \"utf-8\";\r\n this.stateOverride = stateOverride;\r\n this.url = url;\r\n this.failure = false;\r\n this.parseError = false;\r\n\r\n if (!this.url) {\r\n this.url = {\r\n scheme: \"\",\r\n username: \"\",\r\n password: \"\",\r\n host: null,\r\n port: null,\r\n path: [],\r\n query: null,\r\n fragment: null,\r\n\r\n cannotBeABaseURL: false\r\n };\r\n\r\n const res = trimControlChars(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n }\r\n\r\n const res = trimTabAndNewline(this.input);\r\n if (res !== this.input) {\r\n this.parseError = true;\r\n }\r\n this.input = res;\r\n\r\n this.state = stateOverride || \"scheme start\";\r\n\r\n this.buffer = \"\";\r\n this.atFlag = false;\r\n this.arrFlag = false;\r\n this.passwordTokenSeenFlag = false;\r\n\r\n this.input = punycode.ucs2.decode(this.input);\r\n\r\n for (; this.pointer <= this.input.length; ++this.pointer) {\r\n const c = this.input[this.pointer];\r\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\r\n\r\n // exec state machine\r\n const ret = this[\"parse \" + this.state](c, cStr);\r\n if (!ret) {\r\n break; // terminate algorithm\r\n } else if (ret === failure) {\r\n this.failure = true;\r\n break;\r\n }\r\n }\r\n}\r\n\r\nURLStateMachine.prototype[\"parse scheme start\"] = function parseSchemeStart(c, cStr) {\r\n if (isASCIIAlpha(c)) {\r\n this.buffer += cStr.toLowerCase();\r\n this.state = \"scheme\";\r\n } else if (!this.stateOverride) {\r\n this.state = \"no scheme\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse scheme\"] = function parseScheme(c, cStr) {\r\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\r\n this.buffer += cStr.toLowerCase();\r\n } else if (c === 58) {\r\n if (this.stateOverride) {\r\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\r\n return false;\r\n }\r\n\r\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \"file\") {\r\n return false;\r\n }\r\n\r\n if (this.url.scheme === \"file\" && (this.url.host === \"\" || this.url.host === null)) {\r\n return false;\r\n }\r\n }\r\n this.url.scheme = this.buffer;\r\n this.buffer = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n if (this.url.scheme === \"file\") {\r\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file\";\r\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\r\n this.state = \"special relative or authority\";\r\n } else if (isSpecial(this.url)) {\r\n this.state = \"special authority slashes\";\r\n } else if (this.input[this.pointer + 1] === 47) {\r\n this.state = \"path or authority\";\r\n ++this.pointer;\r\n } else {\r\n this.url.cannotBeABaseURL = true;\r\n this.url.path.push(\"\");\r\n this.state = \"cannot-be-a-base-URL path\";\r\n }\r\n } else if (!this.stateOverride) {\r\n this.buffer = \"\";\r\n this.state = \"no scheme\";\r\n this.pointer = -1;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse no scheme\"] = function parseNoScheme(c) {\r\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\r\n return failure;\r\n } else if (this.base.cannotBeABaseURL && c === 35) {\r\n this.url.scheme = this.base.scheme;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.url.cannotBeABaseURL = true;\r\n this.state = \"fragment\";\r\n } else if (this.base.scheme === \"file\") {\r\n this.state = \"file\";\r\n --this.pointer;\r\n } else {\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special relative or authority\"] = function parseSpecialRelativeOrAuthority(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"relative\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path or authority\"] = function parsePathOrAuthority(c) {\r\n if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative\"] = function parseRelative(c) {\r\n this.url.scheme = this.base.scheme;\r\n if (isNaN(c)) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 47) {\r\n this.state = \"relative slash\";\r\n } else if (c === 63) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n this.state = \"relative slash\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse relative slash\"] = function parseRelativeSlash(c) {\r\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"special authority ignore slashes\";\r\n } else if (c === 47) {\r\n this.state = \"authority\";\r\n } else {\r\n this.url.username = this.base.username;\r\n this.url.password = this.base.password;\r\n this.url.host = this.base.host;\r\n this.url.port = this.base.port;\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority slashes\"] = function parseSpecialAuthoritySlashes(c) {\r\n if (c === 47 && this.input[this.pointer + 1] === 47) {\r\n this.state = \"special authority ignore slashes\";\r\n ++this.pointer;\r\n } else {\r\n this.parseError = true;\r\n this.state = \"special authority ignore slashes\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse special authority ignore slashes\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\r\n if (c !== 47 && c !== 92) {\r\n this.state = \"authority\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse authority\"] = function parseAuthority(c, cStr) {\r\n if (c === 64) {\r\n this.parseError = true;\r\n if (this.atFlag) {\r\n this.buffer = \"%40\" + this.buffer;\r\n }\r\n this.atFlag = true;\r\n\r\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\r\n const len = countSymbols(this.buffer);\r\n for (let pointer = 0; pointer < len; ++pointer) {\r\n const codePoint = this.buffer.codePointAt(pointer);\r\n\r\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\r\n this.passwordTokenSeenFlag = true;\r\n continue;\r\n }\r\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\r\n if (this.passwordTokenSeenFlag) {\r\n this.url.password += encodedCodePoints;\r\n } else {\r\n this.url.username += encodedCodePoints;\r\n }\r\n }\r\n this.buffer = \"\";\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n if (this.atFlag && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.pointer -= countSymbols(this.buffer) + 1;\r\n this.buffer = \"\";\r\n this.state = \"host\";\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse hostname\"] =\r\nURLStateMachine.prototype[\"parse host\"] = function parseHostName(c, cStr) {\r\n if (this.stateOverride && this.url.scheme === \"file\") {\r\n --this.pointer;\r\n this.state = \"file host\";\r\n } else if (c === 58 && !this.arrFlag) {\r\n if (this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"port\";\r\n if (this.stateOverride === \"hostname\") {\r\n return false;\r\n }\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92)) {\r\n --this.pointer;\r\n if (isSpecial(this.url) && this.buffer === \"\") {\r\n this.parseError = true;\r\n return failure;\r\n } else if (this.stateOverride && this.buffer === \"\" &&\r\n (includesCredentials(this.url) || this.url.port !== null)) {\r\n this.parseError = true;\r\n return false;\r\n }\r\n\r\n const host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n\r\n this.url.host = host;\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n } else {\r\n if (c === 91) {\r\n this.arrFlag = true;\r\n } else if (c === 93) {\r\n this.arrFlag = false;\r\n }\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse port\"] = function parsePort(c, cStr) {\r\n if (isASCIIDigit(c)) {\r\n this.buffer += cStr;\r\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\r\n (isSpecial(this.url) && c === 92) ||\r\n this.stateOverride) {\r\n if (this.buffer !== \"\") {\r\n const port = parseInt(this.buffer);\r\n if (port > Math.pow(2, 16) - 1) {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\r\n this.buffer = \"\";\r\n }\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n --this.pointer;\r\n } else {\r\n this.parseError = true;\r\n return failure;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\r\n\r\nURLStateMachine.prototype[\"parse file\"] = function parseFile(c) {\r\n this.url.scheme = \"file\";\r\n\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file slash\";\r\n } else if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNaN(c)) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n } else if (c === 63) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n this.url.query = this.base.query;\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\r\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\r\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\r\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\r\n this.url.host = this.base.host;\r\n this.url.path = this.base.path.slice();\r\n shortenPath(this.url);\r\n } else {\r\n this.parseError = true;\r\n }\r\n\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n } else {\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file slash\"] = function parseFileSlash(c) {\r\n if (c === 47 || c === 92) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"file host\";\r\n } else {\r\n if (this.base !== null && this.base.scheme === \"file\") {\r\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\r\n this.url.path.push(this.base.path[0]);\r\n } else {\r\n this.url.host = this.base.host;\r\n }\r\n }\r\n this.state = \"path\";\r\n --this.pointer;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse file host\"] = function parseFileHost(c, cStr) {\r\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\r\n --this.pointer;\r\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\r\n this.parseError = true;\r\n this.state = \"path\";\r\n } else if (this.buffer === \"\") {\r\n this.url.host = \"\";\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n this.state = \"path start\";\r\n } else {\r\n let host = parseHost(this.buffer, isSpecial(this.url));\r\n if (host === failure) {\r\n return failure;\r\n }\r\n if (host === \"localhost\") {\r\n host = \"\";\r\n }\r\n this.url.host = host;\r\n\r\n if (this.stateOverride) {\r\n return false;\r\n }\r\n\r\n this.buffer = \"\";\r\n this.state = \"path start\";\r\n }\r\n } else {\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path start\"] = function parsePathStart(c) {\r\n if (isSpecial(this.url)) {\r\n if (c === 92) {\r\n this.parseError = true;\r\n }\r\n this.state = \"path\";\r\n\r\n if (c !== 47 && c !== 92) {\r\n --this.pointer;\r\n }\r\n } else if (!this.stateOverride && c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (!this.stateOverride && c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else if (c !== undefined) {\r\n this.state = \"path\";\r\n if (c !== 47) {\r\n --this.pointer;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse path\"] = function parsePath(c) {\r\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\r\n (!this.stateOverride && (c === 63 || c === 35))) {\r\n if (isSpecial(this.url) && c === 92) {\r\n this.parseError = true;\r\n }\r\n\r\n if (isDoubleDot(this.buffer)) {\r\n shortenPath(this.url);\r\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n }\r\n } else if (isSingleDot(this.buffer) && c !== 47 &&\r\n !(isSpecial(this.url) && c === 92)) {\r\n this.url.path.push(\"\");\r\n } else if (!isSingleDot(this.buffer)) {\r\n if (this.url.scheme === \"file\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\r\n if (this.url.host !== \"\" && this.url.host !== null) {\r\n this.parseError = true;\r\n this.url.host = \"\";\r\n }\r\n this.buffer = this.buffer[0] + \":\";\r\n }\r\n this.url.path.push(this.buffer);\r\n }\r\n this.buffer = \"\";\r\n if (this.url.scheme === \"file\" && (c === undefined || c === 63 || c === 35)) {\r\n while (this.url.path.length > 1 && this.url.path[0] === \"\") {\r\n this.parseError = true;\r\n this.url.path.shift();\r\n }\r\n }\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n }\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse cannot-be-a-base-URL path\"] = function parseCannotBeABaseURLPath(c) {\r\n if (c === 63) {\r\n this.url.query = \"\";\r\n this.state = \"query\";\r\n } else if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n } else {\r\n // TODO: Add: not a URL code point\r\n if (!isNaN(c) && c !== 37) {\r\n this.parseError = true;\r\n }\r\n\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n if (!isNaN(c)) {\r\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse query\"] = function parseQuery(c, cStr) {\r\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\r\n if (!isSpecial(this.url) || this.url.scheme === \"ws\" || this.url.scheme === \"wss\") {\r\n this.encodingOverride = \"utf-8\";\r\n }\r\n\r\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\r\n for (let i = 0; i < buffer.length; ++i) {\r\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\r\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\r\n this.url.query += percentEncode(buffer[i]);\r\n } else {\r\n this.url.query += String.fromCodePoint(buffer[i]);\r\n }\r\n }\r\n\r\n this.buffer = \"\";\r\n if (c === 35) {\r\n this.url.fragment = \"\";\r\n this.state = \"fragment\";\r\n }\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.buffer += cStr;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nURLStateMachine.prototype[\"parse fragment\"] = function parseFragment(c) {\r\n if (isNaN(c)) { // do nothing\r\n } else if (c === 0x0) {\r\n this.parseError = true;\r\n } else {\r\n // TODO: If c is not a URL code point and not \"%\", parse error.\r\n if (c === 37 &&\r\n (!isASCIIHex(this.input[this.pointer + 1]) ||\r\n !isASCIIHex(this.input[this.pointer + 2]))) {\r\n this.parseError = true;\r\n }\r\n\r\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\r\n }\r\n\r\n return true;\r\n};\r\n\r\nfunction serializeURL(url, excludeFragment) {\r\n let output = url.scheme + \":\";\r\n if (url.host !== null) {\r\n output += \"//\";\r\n\r\n if (url.username !== \"\" || url.password !== \"\") {\r\n output += url.username;\r\n if (url.password !== \"\") {\r\n output += \":\" + url.password;\r\n }\r\n output += \"@\";\r\n }\r\n\r\n output += serializeHost(url.host);\r\n\r\n if (url.port !== null) {\r\n output += \":\" + url.port;\r\n }\r\n } else if (url.host === null && url.scheme === \"file\") {\r\n output += \"//\";\r\n }\r\n\r\n if (url.cannotBeABaseURL) {\r\n output += url.path[0];\r\n } else {\r\n for (const string of url.path) {\r\n output += \"/\" + string;\r\n }\r\n }\r\n\r\n if (url.query !== null) {\r\n output += \"?\" + url.query;\r\n }\r\n\r\n if (!excludeFragment && url.fragment !== null) {\r\n output += \"#\" + url.fragment;\r\n }\r\n\r\n return output;\r\n}\r\n\r\nfunction serializeOrigin(tuple) {\r\n let result = tuple.scheme + \"://\";\r\n result += serializeHost(tuple.host);\r\n\r\n if (tuple.port !== null) {\r\n result += \":\" + tuple.port;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nmodule.exports.serializeURL = serializeURL;\r\n\r\nmodule.exports.serializeURLOrigin = function (url) {\r\n // https://url.spec.whatwg.org/#concept-url-origin\r\n switch (url.scheme) {\r\n case \"blob\":\r\n try {\r\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\r\n } catch (e) {\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n case \"ftp\":\r\n case \"gopher\":\r\n case \"http\":\r\n case \"https\":\r\n case \"ws\":\r\n case \"wss\":\r\n return serializeOrigin({\r\n scheme: url.scheme,\r\n host: url.host,\r\n port: url.port\r\n });\r\n case \"file\":\r\n // spec says \"exercise to the reader\", chrome says \"file://\"\r\n return \"file://\";\r\n default:\r\n // serializing an opaque origin returns \"null\"\r\n return \"null\";\r\n }\r\n};\r\n\r\nmodule.exports.basicURLParse = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\r\n if (usm.failure) {\r\n return \"failure\";\r\n }\r\n\r\n return usm.url;\r\n};\r\n\r\nmodule.exports.setTheUsername = function (url, username) {\r\n url.username = \"\";\r\n const decoded = punycode.ucs2.decode(username);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.setThePassword = function (url, password) {\r\n url.password = \"\";\r\n const decoded = punycode.ucs2.decode(password);\r\n for (let i = 0; i < decoded.length; ++i) {\r\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\r\n }\r\n};\r\n\r\nmodule.exports.serializeHost = serializeHost;\r\n\r\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\r\n\r\nmodule.exports.serializeInteger = function (integer) {\r\n return String(integer);\r\n};\r\n\r\nmodule.exports.parseURL = function (input, options) {\r\n if (options === undefined) {\r\n options = {};\r\n }\r\n\r\n // We don't handle blobs, so this just delegates:\r\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\r\n};\r\n","\"use strict\";\n\nmodule.exports.mixin = function mixin(target, source) {\n const keys = Object.getOwnPropertyNames(source);\n for (let i = 0; i < keys.length; ++i) {\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\n }\n};\n\nmodule.exports.wrapperSymbol = Symbol(\"wrapper\");\nmodule.exports.implSymbol = Symbol(\"impl\");\n\nmodule.exports.wrapperForImpl = function (impl) {\n return impl[module.exports.wrapperSymbol];\n};\n\nmodule.exports.implForWrapper = function (wrapper) {\n return wrapper[module.exports.implSymbol];\n};\n\n","module.exports = function() {\n return require(\"!!/home/runner/work/scratch-storage/scratch-storage/node_modules/worker-loader/dist/workers/InlineWorker.js\")(\"/******/ (function(modules) { // webpackBootstrap\\n/******/ \\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 = \\\"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\\\");\\n/******/ })\\n/************************************************************************/\\n/******/ ({\\n\\n/***/ \\\"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\\\":\\n/*!*******************************************************************************!*\\\\\\n !*** ./node_modules/babel-loader/lib??ref--4!./src/FetchWorkerTool.worker.js ***!\\n \\\\*******************************************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n/* eslint-env worker */\\n\\nvar crossFetch = __webpack_require__(/*! cross-fetch */ \\\"./node_modules/cross-fetch/dist/node-ponyfill.js\\\").default;\\nvar jobsActive = 0;\\nvar complete = [];\\nvar intervalId = null;\\n\\n/**\\n * Register a step function.\\n *\\n * Step checks if there are completed jobs and if there are sends them to the\\n * parent. Then it checks the jobs count. If there are no further jobs, clear\\n * the step.\\n */\\nvar registerStep = function registerStep() {\\n intervalId = setInterval(function () {\\n if (complete.length) {\\n // Send our chunk of completed requests and instruct postMessage to\\n // transfer the buffers instead of copying them.\\n postMessage(complete.slice(),\\n // Instruct postMessage that these buffers in the sent message\\n // should use their Transferable trait. After the postMessage\\n // call the \\\"buffers\\\" will still be in complete if you looked,\\n // but they will all be length 0 as the data they reference has\\n // been sent to the window. This lets us send a lot of data\\n // without the normal postMessage behaviour of making a copy of\\n // all of the data for the window.\\n complete.map(function (response) {\\n return response.buffer;\\n }).filter(Boolean));\\n complete.length = 0;\\n }\\n if (jobsActive === 0) {\\n clearInterval(intervalId);\\n intervalId = null;\\n }\\n }, 1);\\n};\\n\\n/**\\n * Receive a job from the parent and fetch the requested data.\\n * @param {object} options.job A job id, url, and options descriptor to perform.\\n */\\nvar onMessage = function onMessage(_ref) {\\n var job = _ref.data;\\n if (jobsActive === 0 && !intervalId) {\\n registerStep();\\n }\\n jobsActive++;\\n crossFetch(job.url, job.options).then(function (result) {\\n if (result.ok) return result.arrayBuffer();\\n if (result.status === 404) return null;\\n return Promise.reject(result.status);\\n }).then(function (buffer) {\\n return complete.push({\\n id: job.id,\\n buffer: buffer\\n });\\n }).catch(function (error) {\\n return complete.push({\\n id: job.id,\\n error: error && error.message || \\\"Failed request: \\\".concat(job.url)\\n });\\n }).then(function () {\\n return jobsActive--;\\n });\\n};\\n\\n// crossFetch means \\\"fetch\\\" is now always supported\\npostMessage({\\n support: {\\n fetch: true\\n }\\n});\\nself.addEventListener('message', onMessage);\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/cross-fetch/dist/node-ponyfill.js\\\":\\n/*!********************************************************!*\\\\\\n !*** ./node_modules/cross-fetch/dist/node-ponyfill.js ***!\\n \\\\********************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nconst nodeFetch = __webpack_require__(/*! node-fetch */ \\\"./node_modules/node-fetch/lib/index.mjs\\\")\\nconst realFetch = nodeFetch.default || nodeFetch\\n\\nconst fetch = function (url, options) {\\n // Support schemaless URIs on the server for parity with the browser.\\n // Ex: //github.com/ -> https://github.com/\\n if (/^\\\\/\\\\//.test(url)) {\\n url = 'https:' + url\\n }\\n return realFetch.call(this, url, options)\\n}\\n\\nfetch.ponyfill = true\\n\\nmodule.exports = exports = fetch\\nexports.fetch = fetch\\nexports.Headers = nodeFetch.Headers\\nexports.Request = nodeFetch.Request\\nexports.Response = nodeFetch.Response\\n\\n// Needed for TypeScript consumers without esModuleInterop.\\nexports.default = fetch\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/node-fetch/lib/index.mjs\\\":\\n/*!***********************************************!*\\\\\\n !*** ./node_modules/node-fetch/lib/index.mjs ***!\\n \\\\***********************************************/\\n/*! exports provided: default, Headers, Request, Response, FetchError, AbortError */\\n/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"Headers\\\", function() { return Headers; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"Request\\\", function() { return Request; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"Response\\\", function() { return Response; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"FetchError\\\", function() { return FetchError; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"AbortError\\\", function() { return AbortError; });\\n/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! stream */ \\\"stream\\\");\\n/* harmony import */ var http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! http */ \\\"http\\\");\\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! url */ \\\"url\\\");\\n/* harmony import */ var whatwg_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! whatwg-url */ \\\"./node_modules/whatwg-url/lib/public-api.js\\\");\\n/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! https */ \\\"https\\\");\\n/* harmony import */ var zlib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! zlib */ \\\"zlib\\\");\\n\\n\\n\\n\\n\\n\\n\\n// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\\n\\n// fix for \\\"Readable\\\" isn't a named export issue\\nconst Readable = stream__WEBPACK_IMPORTED_MODULE_0__.Readable;\\n\\nconst BUFFER = Symbol('buffer');\\nconst TYPE = Symbol('type');\\n\\nclass Blob {\\n\\tconstructor() {\\n\\t\\tthis[TYPE] = '';\\n\\n\\t\\tconst blobParts = arguments[0];\\n\\t\\tconst options = arguments[1];\\n\\n\\t\\tconst buffers = [];\\n\\t\\tlet size = 0;\\n\\n\\t\\tif (blobParts) {\\n\\t\\t\\tconst a = blobParts;\\n\\t\\t\\tconst length = Number(a.length);\\n\\t\\t\\tfor (let i = 0; i < length; i++) {\\n\\t\\t\\t\\tconst element = a[i];\\n\\t\\t\\t\\tlet buffer;\\n\\t\\t\\t\\tif (element instanceof Buffer) {\\n\\t\\t\\t\\t\\tbuffer = element;\\n\\t\\t\\t\\t} else if (ArrayBuffer.isView(element)) {\\n\\t\\t\\t\\t\\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\\n\\t\\t\\t\\t} else if (element instanceof ArrayBuffer) {\\n\\t\\t\\t\\t\\tbuffer = Buffer.from(element);\\n\\t\\t\\t\\t} else if (element instanceof Blob) {\\n\\t\\t\\t\\t\\tbuffer = element[BUFFER];\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tsize += buffer.length;\\n\\t\\t\\t\\tbuffers.push(buffer);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis[BUFFER] = Buffer.concat(buffers);\\n\\n\\t\\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\\n\\t\\tif (type && !/[^\\\\u0020-\\\\u007E]/.test(type)) {\\n\\t\\t\\tthis[TYPE] = type;\\n\\t\\t}\\n\\t}\\n\\tget size() {\\n\\t\\treturn this[BUFFER].length;\\n\\t}\\n\\tget type() {\\n\\t\\treturn this[TYPE];\\n\\t}\\n\\ttext() {\\n\\t\\treturn Promise.resolve(this[BUFFER].toString());\\n\\t}\\n\\tarrayBuffer() {\\n\\t\\tconst buf = this[BUFFER];\\n\\t\\tconst ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\\n\\t\\treturn Promise.resolve(ab);\\n\\t}\\n\\tstream() {\\n\\t\\tconst readable = new Readable();\\n\\t\\treadable._read = function () {};\\n\\t\\treadable.push(this[BUFFER]);\\n\\t\\treadable.push(null);\\n\\t\\treturn readable;\\n\\t}\\n\\ttoString() {\\n\\t\\treturn '[object Blob]';\\n\\t}\\n\\tslice() {\\n\\t\\tconst size = this.size;\\n\\n\\t\\tconst start = arguments[0];\\n\\t\\tconst end = arguments[1];\\n\\t\\tlet relativeStart, relativeEnd;\\n\\t\\tif (start === undefined) {\\n\\t\\t\\trelativeStart = 0;\\n\\t\\t} else if (start < 0) {\\n\\t\\t\\trelativeStart = Math.max(size + start, 0);\\n\\t\\t} else {\\n\\t\\t\\trelativeStart = Math.min(start, size);\\n\\t\\t}\\n\\t\\tif (end === undefined) {\\n\\t\\t\\trelativeEnd = size;\\n\\t\\t} else if (end < 0) {\\n\\t\\t\\trelativeEnd = Math.max(size + end, 0);\\n\\t\\t} else {\\n\\t\\t\\trelativeEnd = Math.min(end, size);\\n\\t\\t}\\n\\t\\tconst span = Math.max(relativeEnd - relativeStart, 0);\\n\\n\\t\\tconst buffer = this[BUFFER];\\n\\t\\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\\n\\t\\tconst blob = new Blob([], { type: arguments[2] });\\n\\t\\tblob[BUFFER] = slicedBuffer;\\n\\t\\treturn blob;\\n\\t}\\n}\\n\\nObject.defineProperties(Blob.prototype, {\\n\\tsize: { enumerable: true },\\n\\ttype: { enumerable: true },\\n\\tslice: { enumerable: true }\\n});\\n\\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\\n\\tvalue: 'Blob',\\n\\twritable: false,\\n\\tenumerable: false,\\n\\tconfigurable: true\\n});\\n\\n/**\\n * fetch-error.js\\n *\\n * FetchError interface for operational errors\\n */\\n\\n/**\\n * Create FetchError instance\\n *\\n * @param String message Error message for human\\n * @param String type Error type for machine\\n * @param String systemError For Node.js system error\\n * @return FetchError\\n */\\nfunction FetchError(message, type, systemError) {\\n Error.call(this, message);\\n\\n this.message = message;\\n this.type = type;\\n\\n // when err.type is `system`, err.code contains system error code\\n if (systemError) {\\n this.code = this.errno = systemError.code;\\n }\\n\\n // hide custom error implementation details from end-users\\n Error.captureStackTrace(this, this.constructor);\\n}\\n\\nFetchError.prototype = Object.create(Error.prototype);\\nFetchError.prototype.constructor = FetchError;\\nFetchError.prototype.name = 'FetchError';\\n\\nlet convert;\\ntry {\\n\\tconvert = require('encoding').convert;\\n} catch (e) {}\\n\\nconst INTERNALS = Symbol('Body internals');\\n\\n// fix an issue where \\\"PassThrough\\\" isn't a named export for node <10\\nconst PassThrough = stream__WEBPACK_IMPORTED_MODULE_0__.PassThrough;\\n\\n/**\\n * Body mixin\\n *\\n * Ref: https://fetch.spec.whatwg.org/#body\\n *\\n * @param Stream body Readable stream\\n * @param Object opts Response options\\n * @return Void\\n */\\nfunction Body(body) {\\n\\tvar _this = this;\\n\\n\\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\\n\\t _ref$size = _ref.size;\\n\\n\\tlet size = _ref$size === undefined ? 0 : _ref$size;\\n\\tvar _ref$timeout = _ref.timeout;\\n\\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\\n\\n\\tif (body == null) {\\n\\t\\t// body is undefined or null\\n\\t\\tbody = null;\\n\\t} else if (isURLSearchParams(body)) {\\n\\t\\t// body is a URLSearchParams\\n\\t\\tbody = Buffer.from(body.toString());\\n\\t} else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\\n\\t\\t// body is ArrayBuffer\\n\\t\\tbody = Buffer.from(body);\\n\\t} else if (ArrayBuffer.isView(body)) {\\n\\t\\t// body is ArrayBufferView\\n\\t\\tbody = Buffer.from(body.buffer, body.byteOffset, body.byteLength);\\n\\t} else if (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__) ; else {\\n\\t\\t// none of the above\\n\\t\\t// coerce to string then buffer\\n\\t\\tbody = Buffer.from(String(body));\\n\\t}\\n\\tthis[INTERNALS] = {\\n\\t\\tbody,\\n\\t\\tdisturbed: false,\\n\\t\\terror: null\\n\\t};\\n\\tthis.size = size;\\n\\tthis.timeout = timeout;\\n\\n\\tif (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__) {\\n\\t\\tbody.on('error', function (err) {\\n\\t\\t\\tconst error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\\n\\t\\t\\t_this[INTERNALS].error = error;\\n\\t\\t});\\n\\t}\\n}\\n\\nBody.prototype = {\\n\\tget body() {\\n\\t\\treturn this[INTERNALS].body;\\n\\t},\\n\\n\\tget bodyUsed() {\\n\\t\\treturn this[INTERNALS].disturbed;\\n\\t},\\n\\n\\t/**\\n * Decode response as ArrayBuffer\\n *\\n * @return Promise\\n */\\n\\tarrayBuffer() {\\n\\t\\treturn consumeBody.call(this).then(function (buf) {\\n\\t\\t\\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\\n\\t\\t});\\n\\t},\\n\\n\\t/**\\n * Return raw response as Blob\\n *\\n * @return Promise\\n */\\n\\tblob() {\\n\\t\\tlet ct = this.headers && this.headers.get('content-type') || '';\\n\\t\\treturn consumeBody.call(this).then(function (buf) {\\n\\t\\t\\treturn Object.assign(\\n\\t\\t\\t// Prevent copying\\n\\t\\t\\tnew Blob([], {\\n\\t\\t\\t\\ttype: ct.toLowerCase()\\n\\t\\t\\t}), {\\n\\t\\t\\t\\t[BUFFER]: buf\\n\\t\\t\\t});\\n\\t\\t});\\n\\t},\\n\\n\\t/**\\n * Decode response as json\\n *\\n * @return Promise\\n */\\n\\tjson() {\\n\\t\\tvar _this2 = this;\\n\\n\\t\\treturn consumeBody.call(this).then(function (buffer) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\treturn JSON.parse(buffer.toString());\\n\\t\\t\\t} catch (err) {\\n\\t\\t\\t\\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t},\\n\\n\\t/**\\n * Decode response as text\\n *\\n * @return Promise\\n */\\n\\ttext() {\\n\\t\\treturn consumeBody.call(this).then(function (buffer) {\\n\\t\\t\\treturn buffer.toString();\\n\\t\\t});\\n\\t},\\n\\n\\t/**\\n * Decode response as buffer (non-spec api)\\n *\\n * @return Promise\\n */\\n\\tbuffer() {\\n\\t\\treturn consumeBody.call(this);\\n\\t},\\n\\n\\t/**\\n * Decode response as text, while automatically detecting the encoding and\\n * trying to decode to UTF-8 (non-spec api)\\n *\\n * @return Promise\\n */\\n\\ttextConverted() {\\n\\t\\tvar _this3 = this;\\n\\n\\t\\treturn consumeBody.call(this).then(function (buffer) {\\n\\t\\t\\treturn convertBody(buffer, _this3.headers);\\n\\t\\t});\\n\\t}\\n};\\n\\n// In browsers, all properties are enumerable.\\nObject.defineProperties(Body.prototype, {\\n\\tbody: { enumerable: true },\\n\\tbodyUsed: { enumerable: true },\\n\\tarrayBuffer: { enumerable: true },\\n\\tblob: { enumerable: true },\\n\\tjson: { enumerable: true },\\n\\ttext: { enumerable: true }\\n});\\n\\nBody.mixIn = function (proto) {\\n\\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\\n\\t\\t// istanbul ignore else: future proof\\n\\t\\tif (!(name in proto)) {\\n\\t\\t\\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\\n\\t\\t\\tObject.defineProperty(proto, name, desc);\\n\\t\\t}\\n\\t}\\n};\\n\\n/**\\n * Consume and convert an entire Body to a Buffer.\\n *\\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\\n *\\n * @return Promise\\n */\\nfunction consumeBody() {\\n\\tvar _this4 = this;\\n\\n\\tif (this[INTERNALS].disturbed) {\\n\\t\\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\\n\\t}\\n\\n\\tthis[INTERNALS].disturbed = true;\\n\\n\\tif (this[INTERNALS].error) {\\n\\t\\treturn Body.Promise.reject(this[INTERNALS].error);\\n\\t}\\n\\n\\tlet body = this.body;\\n\\n\\t// body is null\\n\\tif (body === null) {\\n\\t\\treturn Body.Promise.resolve(Buffer.alloc(0));\\n\\t}\\n\\n\\t// body is blob\\n\\tif (isBlob(body)) {\\n\\t\\tbody = body.stream();\\n\\t}\\n\\n\\t// body is buffer\\n\\tif (Buffer.isBuffer(body)) {\\n\\t\\treturn Body.Promise.resolve(body);\\n\\t}\\n\\n\\t// istanbul ignore if: should never happen\\n\\tif (!(body instanceof stream__WEBPACK_IMPORTED_MODULE_0__)) {\\n\\t\\treturn Body.Promise.resolve(Buffer.alloc(0));\\n\\t}\\n\\n\\t// body is stream\\n\\t// get ready to actually consume the body\\n\\tlet accum = [];\\n\\tlet accumBytes = 0;\\n\\tlet abort = false;\\n\\n\\treturn new Body.Promise(function (resolve, reject) {\\n\\t\\tlet resTimeout;\\n\\n\\t\\t// allow timeout on slow response body\\n\\t\\tif (_this4.timeout) {\\n\\t\\t\\tresTimeout = setTimeout(function () {\\n\\t\\t\\t\\tabort = true;\\n\\t\\t\\t\\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\\n\\t\\t\\t}, _this4.timeout);\\n\\t\\t}\\n\\n\\t\\t// handle stream errors\\n\\t\\tbody.on('error', function (err) {\\n\\t\\t\\tif (err.name === 'AbortError') {\\n\\t\\t\\t\\t// if the request was aborted, reject with this Error\\n\\t\\t\\t\\tabort = true;\\n\\t\\t\\t\\treject(err);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// other errors, such as incorrect content-encoding\\n\\t\\t\\t\\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\\n\\t\\t\\t}\\n\\t\\t});\\n\\n\\t\\tbody.on('data', function (chunk) {\\n\\t\\t\\tif (abort || chunk === null) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\\n\\t\\t\\t\\tabort = true;\\n\\t\\t\\t\\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\taccumBytes += chunk.length;\\n\\t\\t\\taccum.push(chunk);\\n\\t\\t});\\n\\n\\t\\tbody.on('end', function () {\\n\\t\\t\\tif (abort) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tclearTimeout(resTimeout);\\n\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tresolve(Buffer.concat(accum, accumBytes));\\n\\t\\t\\t} catch (err) {\\n\\t\\t\\t\\t// handle streams that have accumulated too much data (issue #414)\\n\\t\\t\\t\\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n}\\n\\n/**\\n * Detect buffer encoding and convert to target encoding\\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\\n *\\n * @param Buffer buffer Incoming buffer\\n * @param String encoding Target encoding\\n * @return String\\n */\\nfunction convertBody(buffer, headers) {\\n\\tif (typeof convert !== 'function') {\\n\\t\\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\\n\\t}\\n\\n\\tconst ct = headers.get('content-type');\\n\\tlet charset = 'utf-8';\\n\\tlet res, str;\\n\\n\\t// header\\n\\tif (ct) {\\n\\t\\tres = /charset=([^;]*)/i.exec(ct);\\n\\t}\\n\\n\\t// no charset in content type, peek at response body for at most 1024 bytes\\n\\tstr = buffer.slice(0, 1024).toString();\\n\\n\\t// html5\\n\\tif (!res && str) {\\n\\t\\tres = /<meta.+?charset=(['\\\"])(.+?)\\\\1/i.exec(str);\\n\\t}\\n\\n\\t// html4\\n\\tif (!res && str) {\\n\\t\\tres = /<meta[\\\\s]+?http-equiv=(['\\\"])content-type\\\\1[\\\\s]+?content=(['\\\"])(.+?)\\\\2/i.exec(str);\\n\\t\\tif (!res) {\\n\\t\\t\\tres = /<meta[\\\\s]+?content=(['\\\"])(.+?)\\\\1[\\\\s]+?http-equiv=(['\\\"])content-type\\\\3/i.exec(str);\\n\\t\\t\\tif (res) {\\n\\t\\t\\t\\tres.pop(); // drop last quote\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (res) {\\n\\t\\t\\tres = /charset=(.*)/i.exec(res.pop());\\n\\t\\t}\\n\\t}\\n\\n\\t// xml\\n\\tif (!res && str) {\\n\\t\\tres = /<\\\\?xml.+?encoding=(['\\\"])(.+?)\\\\1/i.exec(str);\\n\\t}\\n\\n\\t// found charset\\n\\tif (res) {\\n\\t\\tcharset = res.pop();\\n\\n\\t\\t// prevent decode issues when sites use incorrect encoding\\n\\t\\t// ref: https://hsivonen.fi/encoding-menu/\\n\\t\\tif (charset === 'gb2312' || charset === 'gbk') {\\n\\t\\t\\tcharset = 'gb18030';\\n\\t\\t}\\n\\t}\\n\\n\\t// turn raw buffers into a single utf-8 buffer\\n\\treturn convert(buffer, 'UTF-8', charset).toString();\\n}\\n\\n/**\\n * Detect a URLSearchParams object\\n * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143\\n *\\n * @param Object obj Object to detect by type or brand\\n * @return String\\n */\\nfunction isURLSearchParams(obj) {\\n\\t// Duck-typing as a necessary condition.\\n\\tif (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {\\n\\t\\treturn false;\\n\\t}\\n\\n\\t// Brand-checking and more duck-typing as optional condition.\\n\\treturn obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';\\n}\\n\\n/**\\n * Check if `obj` is a W3C `Blob` object (which `File` inherits from)\\n * @param {*} obj\\n * @return {boolean}\\n */\\nfunction isBlob(obj) {\\n\\treturn typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);\\n}\\n\\n/**\\n * Clone body given Res/Req instance\\n *\\n * @param Mixed instance Response or Request instance\\n * @return Mixed\\n */\\nfunction clone(instance) {\\n\\tlet p1, p2;\\n\\tlet body = instance.body;\\n\\n\\t// don't allow cloning a used body\\n\\tif (instance.bodyUsed) {\\n\\t\\tthrow new Error('cannot clone body after it is used');\\n\\t}\\n\\n\\t// check that body is a stream and not form-data object\\n\\t// note: we can't clone the form-data object without having it as a dependency\\n\\tif (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__ && typeof body.getBoundary !== 'function') {\\n\\t\\t// tee instance body\\n\\t\\tp1 = new PassThrough();\\n\\t\\tp2 = new PassThrough();\\n\\t\\tbody.pipe(p1);\\n\\t\\tbody.pipe(p2);\\n\\t\\t// set instance body to teed body and return the other teed body\\n\\t\\tinstance[INTERNALS].body = p1;\\n\\t\\tbody = p2;\\n\\t}\\n\\n\\treturn body;\\n}\\n\\n/**\\n * Performs the operation \\\"extract a `Content-Type` value from |object|\\\" as\\n * specified in the specification:\\n * https://fetch.spec.whatwg.org/#concept-bodyinit-extract\\n *\\n * This function assumes that instance.body is present.\\n *\\n * @param Mixed instance Any options.body input\\n */\\nfunction extractContentType(body) {\\n\\tif (body === null) {\\n\\t\\t// body is null\\n\\t\\treturn null;\\n\\t} else if (typeof body === 'string') {\\n\\t\\t// body is string\\n\\t\\treturn 'text/plain;charset=UTF-8';\\n\\t} else if (isURLSearchParams(body)) {\\n\\t\\t// body is a URLSearchParams\\n\\t\\treturn 'application/x-www-form-urlencoded;charset=UTF-8';\\n\\t} else if (isBlob(body)) {\\n\\t\\t// body is blob\\n\\t\\treturn body.type || null;\\n\\t} else if (Buffer.isBuffer(body)) {\\n\\t\\t// body is buffer\\n\\t\\treturn null;\\n\\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\\n\\t\\t// body is ArrayBuffer\\n\\t\\treturn null;\\n\\t} else if (ArrayBuffer.isView(body)) {\\n\\t\\t// body is ArrayBufferView\\n\\t\\treturn null;\\n\\t} else if (typeof body.getBoundary === 'function') {\\n\\t\\t// detect form data input from form-data module\\n\\t\\treturn `multipart/form-data;boundary=${body.getBoundary()}`;\\n\\t} else if (body instanceof stream__WEBPACK_IMPORTED_MODULE_0__) {\\n\\t\\t// body is stream\\n\\t\\t// can't really do much about this\\n\\t\\treturn null;\\n\\t} else {\\n\\t\\t// Body constructor defaults other things to string\\n\\t\\treturn 'text/plain;charset=UTF-8';\\n\\t}\\n}\\n\\n/**\\n * The Fetch Standard treats this as if \\\"total bytes\\\" is a property on the body.\\n * For us, we have to explicitly get it with a function.\\n *\\n * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes\\n *\\n * @param Body instance Instance of Body\\n * @return Number? Number of bytes, or null if not possible\\n */\\nfunction getTotalBytes(instance) {\\n\\tconst body = instance.body;\\n\\n\\n\\tif (body === null) {\\n\\t\\t// body is null\\n\\t\\treturn 0;\\n\\t} else if (isBlob(body)) {\\n\\t\\treturn body.size;\\n\\t} else if (Buffer.isBuffer(body)) {\\n\\t\\t// body is buffer\\n\\t\\treturn body.length;\\n\\t} else if (body && typeof body.getLengthSync === 'function') {\\n\\t\\t// detect form data input from form-data module\\n\\t\\tif (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x\\n\\t\\tbody.hasKnownLength && body.hasKnownLength()) {\\n\\t\\t\\t// 2.x\\n\\t\\t\\treturn body.getLengthSync();\\n\\t\\t}\\n\\t\\treturn null;\\n\\t} else {\\n\\t\\t// body is stream\\n\\t\\treturn null;\\n\\t}\\n}\\n\\n/**\\n * Write a Body to a Node.js WritableStream (e.g. http.Request) object.\\n *\\n * @param Body instance Instance of Body\\n * @return Void\\n */\\nfunction writeToStream(dest, instance) {\\n\\tconst body = instance.body;\\n\\n\\n\\tif (body === null) {\\n\\t\\t// body is null\\n\\t\\tdest.end();\\n\\t} else if (isBlob(body)) {\\n\\t\\tbody.stream().pipe(dest);\\n\\t} else if (Buffer.isBuffer(body)) {\\n\\t\\t// body is buffer\\n\\t\\tdest.write(body);\\n\\t\\tdest.end();\\n\\t} else {\\n\\t\\t// body is stream\\n\\t\\tbody.pipe(dest);\\n\\t}\\n}\\n\\n// expose Promise\\nBody.Promise = global.Promise;\\n\\n/**\\n * headers.js\\n *\\n * Headers class offers convenient helpers\\n */\\n\\nconst invalidTokenRegex = /[^\\\\^_`a-zA-Z\\\\-0-9!#$%&'*+.|~]/;\\nconst invalidHeaderCharRegex = /[^\\\\t\\\\x20-\\\\x7e\\\\x80-\\\\xff]/;\\n\\nfunction validateName(name) {\\n\\tname = `${name}`;\\n\\tif (invalidTokenRegex.test(name) || name === '') {\\n\\t\\tthrow new TypeError(`${name} is not a legal HTTP header name`);\\n\\t}\\n}\\n\\nfunction validateValue(value) {\\n\\tvalue = `${value}`;\\n\\tif (invalidHeaderCharRegex.test(value)) {\\n\\t\\tthrow new TypeError(`${value} is not a legal HTTP header value`);\\n\\t}\\n}\\n\\n/**\\n * Find the key in the map object given a header name.\\n *\\n * Returns undefined if not found.\\n *\\n * @param String name Header name\\n * @return String|Undefined\\n */\\nfunction find(map, name) {\\n\\tname = name.toLowerCase();\\n\\tfor (const key in map) {\\n\\t\\tif (key.toLowerCase() === name) {\\n\\t\\t\\treturn key;\\n\\t\\t}\\n\\t}\\n\\treturn undefined;\\n}\\n\\nconst MAP = Symbol('map');\\nclass Headers {\\n\\t/**\\n * Headers class\\n *\\n * @param Object headers Response headers\\n * @return Void\\n */\\n\\tconstructor() {\\n\\t\\tlet init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\\n\\n\\t\\tthis[MAP] = Object.create(null);\\n\\n\\t\\tif (init instanceof Headers) {\\n\\t\\t\\tconst rawHeaders = init.raw();\\n\\t\\t\\tconst headerNames = Object.keys(rawHeaders);\\n\\n\\t\\t\\tfor (const headerName of headerNames) {\\n\\t\\t\\t\\tfor (const value of rawHeaders[headerName]) {\\n\\t\\t\\t\\t\\tthis.append(headerName, value);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// We don't worry about converting prop to ByteString here as append()\\n\\t\\t// will handle it.\\n\\t\\tif (init == null) ; else if (typeof init === 'object') {\\n\\t\\t\\tconst method = init[Symbol.iterator];\\n\\t\\t\\tif (method != null) {\\n\\t\\t\\t\\tif (typeof method !== 'function') {\\n\\t\\t\\t\\t\\tthrow new TypeError('Header pairs must be iterable');\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// sequence<sequence<ByteString>>\\n\\t\\t\\t\\t// Note: per spec we have to first exhaust the lists then process them\\n\\t\\t\\t\\tconst pairs = [];\\n\\t\\t\\t\\tfor (const pair of init) {\\n\\t\\t\\t\\t\\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\\n\\t\\t\\t\\t\\t\\tthrow new TypeError('Each header pair must be iterable');\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tpairs.push(Array.from(pair));\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tfor (const pair of pairs) {\\n\\t\\t\\t\\t\\tif (pair.length !== 2) {\\n\\t\\t\\t\\t\\t\\tthrow new TypeError('Each header pair must be a name/value tuple');\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tthis.append(pair[0], pair[1]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// record<ByteString, ByteString>\\n\\t\\t\\t\\tfor (const key of Object.keys(init)) {\\n\\t\\t\\t\\t\\tconst value = init[key];\\n\\t\\t\\t\\t\\tthis.append(key, value);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tthrow new TypeError('Provided initializer must be an object');\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n * Return combined header value given name\\n *\\n * @param String name Header name\\n * @return Mixed\\n */\\n\\tget(name) {\\n\\t\\tname = `${name}`;\\n\\t\\tvalidateName(name);\\n\\t\\tconst key = find(this[MAP], name);\\n\\t\\tif (key === undefined) {\\n\\t\\t\\treturn null;\\n\\t\\t}\\n\\n\\t\\treturn this[MAP][key].join(', ');\\n\\t}\\n\\n\\t/**\\n * Iterate over all headers\\n *\\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\\n * @param Boolean thisArg `this` context for callback function\\n * @return Void\\n */\\n\\tforEach(callback) {\\n\\t\\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\\n\\n\\t\\tlet pairs = getHeaders(this);\\n\\t\\tlet i = 0;\\n\\t\\twhile (i < pairs.length) {\\n\\t\\t\\tvar _pairs$i = pairs[i];\\n\\t\\t\\tconst name = _pairs$i[0],\\n\\t\\t\\t value = _pairs$i[1];\\n\\n\\t\\t\\tcallback.call(thisArg, value, name, this);\\n\\t\\t\\tpairs = getHeaders(this);\\n\\t\\t\\ti++;\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n * Overwrite header values given name\\n *\\n * @param String name Header name\\n * @param String value Header value\\n * @return Void\\n */\\n\\tset(name, value) {\\n\\t\\tname = `${name}`;\\n\\t\\tvalue = `${value}`;\\n\\t\\tvalidateName(name);\\n\\t\\tvalidateValue(value);\\n\\t\\tconst key = find(this[MAP], name);\\n\\t\\tthis[MAP][key !== undefined ? key : name] = [value];\\n\\t}\\n\\n\\t/**\\n * Append a value onto existing header\\n *\\n * @param String name Header name\\n * @param String value Header value\\n * @return Void\\n */\\n\\tappend(name, value) {\\n\\t\\tname = `${name}`;\\n\\t\\tvalue = `${value}`;\\n\\t\\tvalidateName(name);\\n\\t\\tvalidateValue(value);\\n\\t\\tconst key = find(this[MAP], name);\\n\\t\\tif (key !== undefined) {\\n\\t\\t\\tthis[MAP][key].push(value);\\n\\t\\t} else {\\n\\t\\t\\tthis[MAP][name] = [value];\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n * Check for header name existence\\n *\\n * @param String name Header name\\n * @return Boolean\\n */\\n\\thas(name) {\\n\\t\\tname = `${name}`;\\n\\t\\tvalidateName(name);\\n\\t\\treturn find(this[MAP], name) !== undefined;\\n\\t}\\n\\n\\t/**\\n * Delete all header values given name\\n *\\n * @param String name Header name\\n * @return Void\\n */\\n\\tdelete(name) {\\n\\t\\tname = `${name}`;\\n\\t\\tvalidateName(name);\\n\\t\\tconst key = find(this[MAP], name);\\n\\t\\tif (key !== undefined) {\\n\\t\\t\\tdelete this[MAP][key];\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n * Return raw headers (non-spec api)\\n *\\n * @return Object\\n */\\n\\traw() {\\n\\t\\treturn this[MAP];\\n\\t}\\n\\n\\t/**\\n * Get an iterator on keys.\\n *\\n * @return Iterator\\n */\\n\\tkeys() {\\n\\t\\treturn createHeadersIterator(this, 'key');\\n\\t}\\n\\n\\t/**\\n * Get an iterator on values.\\n *\\n * @return Iterator\\n */\\n\\tvalues() {\\n\\t\\treturn createHeadersIterator(this, 'value');\\n\\t}\\n\\n\\t/**\\n * Get an iterator on entries.\\n *\\n * This is the default iterator of the Headers object.\\n *\\n * @return Iterator\\n */\\n\\t[Symbol.iterator]() {\\n\\t\\treturn createHeadersIterator(this, 'key+value');\\n\\t}\\n}\\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\\n\\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\\n\\tvalue: 'Headers',\\n\\twritable: false,\\n\\tenumerable: false,\\n\\tconfigurable: true\\n});\\n\\nObject.defineProperties(Headers.prototype, {\\n\\tget: { enumerable: true },\\n\\tforEach: { enumerable: true },\\n\\tset: { enumerable: true },\\n\\tappend: { enumerable: true },\\n\\thas: { enumerable: true },\\n\\tdelete: { enumerable: true },\\n\\tkeys: { enumerable: true },\\n\\tvalues: { enumerable: true },\\n\\tentries: { enumerable: true }\\n});\\n\\nfunction getHeaders(headers) {\\n\\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\\n\\n\\tconst keys = Object.keys(headers[MAP]).sort();\\n\\treturn keys.map(kind === 'key' ? function (k) {\\n\\t\\treturn k.toLowerCase();\\n\\t} : kind === 'value' ? function (k) {\\n\\t\\treturn headers[MAP][k].join(', ');\\n\\t} : function (k) {\\n\\t\\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\\n\\t});\\n}\\n\\nconst INTERNAL = Symbol('internal');\\n\\nfunction createHeadersIterator(target, kind) {\\n\\tconst iterator = Object.create(HeadersIteratorPrototype);\\n\\titerator[INTERNAL] = {\\n\\t\\ttarget,\\n\\t\\tkind,\\n\\t\\tindex: 0\\n\\t};\\n\\treturn iterator;\\n}\\n\\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\\n\\tnext() {\\n\\t\\t// istanbul ignore if\\n\\t\\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\\n\\t\\t\\tthrow new TypeError('Value of `this` is not a HeadersIterator');\\n\\t\\t}\\n\\n\\t\\tvar _INTERNAL = this[INTERNAL];\\n\\t\\tconst target = _INTERNAL.target,\\n\\t\\t kind = _INTERNAL.kind,\\n\\t\\t index = _INTERNAL.index;\\n\\n\\t\\tconst values = getHeaders(target, kind);\\n\\t\\tconst len = values.length;\\n\\t\\tif (index >= len) {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tvalue: undefined,\\n\\t\\t\\t\\tdone: true\\n\\t\\t\\t};\\n\\t\\t}\\n\\n\\t\\tthis[INTERNAL].index = index + 1;\\n\\n\\t\\treturn {\\n\\t\\t\\tvalue: values[index],\\n\\t\\t\\tdone: false\\n\\t\\t};\\n\\t}\\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\\n\\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\\n\\tvalue: 'HeadersIterator',\\n\\twritable: false,\\n\\tenumerable: false,\\n\\tconfigurable: true\\n});\\n\\n/**\\n * Export the Headers object in a form that Node.js can consume.\\n *\\n * @param Headers headers\\n * @return Object\\n */\\nfunction exportNodeCompatibleHeaders(headers) {\\n\\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\\n\\n\\t// http.request() only supports string as Host header. This hack makes\\n\\t// specifying custom Host header possible.\\n\\tconst hostHeaderKey = find(headers[MAP], 'Host');\\n\\tif (hostHeaderKey !== undefined) {\\n\\t\\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\\n\\t}\\n\\n\\treturn obj;\\n}\\n\\n/**\\n * Create a Headers object from an object of headers, ignoring those that do\\n * not conform to HTTP grammar productions.\\n *\\n * @param Object obj Object of headers\\n * @return Headers\\n */\\nfunction createHeadersLenient(obj) {\\n\\tconst headers = new Headers();\\n\\tfor (const name of Object.keys(obj)) {\\n\\t\\tif (invalidTokenRegex.test(name)) {\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\t\\tif (Array.isArray(obj[name])) {\\n\\t\\t\\tfor (const val of obj[name]) {\\n\\t\\t\\t\\tif (invalidHeaderCharRegex.test(val)) {\\n\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif (headers[MAP][name] === undefined) {\\n\\t\\t\\t\\t\\theaders[MAP][name] = [val];\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\theaders[MAP][name].push(val);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\\n\\t\\t\\theaders[MAP][name] = [obj[name]];\\n\\t\\t}\\n\\t}\\n\\treturn headers;\\n}\\n\\nconst INTERNALS$1 = Symbol('Response internals');\\n\\n// fix an issue where \\\"STATUS_CODES\\\" aren't a named export for node <10\\nconst STATUS_CODES = http__WEBPACK_IMPORTED_MODULE_1__.STATUS_CODES;\\n\\n/**\\n * Response class\\n *\\n * @param Stream body Readable stream\\n * @param Object opts Response options\\n * @return Void\\n */\\nclass Response {\\n\\tconstructor() {\\n\\t\\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\\n\\t\\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n\\n\\t\\tBody.call(this, body, opts);\\n\\n\\t\\tconst status = opts.status || 200;\\n\\t\\tconst headers = new Headers(opts.headers);\\n\\n\\t\\tif (body != null && !headers.has('Content-Type')) {\\n\\t\\t\\tconst contentType = extractContentType(body);\\n\\t\\t\\tif (contentType) {\\n\\t\\t\\t\\theaders.append('Content-Type', contentType);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis[INTERNALS$1] = {\\n\\t\\t\\turl: opts.url,\\n\\t\\t\\tstatus,\\n\\t\\t\\tstatusText: opts.statusText || STATUS_CODES[status],\\n\\t\\t\\theaders,\\n\\t\\t\\tcounter: opts.counter\\n\\t\\t};\\n\\t}\\n\\n\\tget url() {\\n\\t\\treturn this[INTERNALS$1].url || '';\\n\\t}\\n\\n\\tget status() {\\n\\t\\treturn this[INTERNALS$1].status;\\n\\t}\\n\\n\\t/**\\n * Convenience property representing if the request ended normally\\n */\\n\\tget ok() {\\n\\t\\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\\n\\t}\\n\\n\\tget redirected() {\\n\\t\\treturn this[INTERNALS$1].counter > 0;\\n\\t}\\n\\n\\tget statusText() {\\n\\t\\treturn this[INTERNALS$1].statusText;\\n\\t}\\n\\n\\tget headers() {\\n\\t\\treturn this[INTERNALS$1].headers;\\n\\t}\\n\\n\\t/**\\n * Clone this response\\n *\\n * @return Response\\n */\\n\\tclone() {\\n\\t\\treturn new Response(clone(this), {\\n\\t\\t\\turl: this.url,\\n\\t\\t\\tstatus: this.status,\\n\\t\\t\\tstatusText: this.statusText,\\n\\t\\t\\theaders: this.headers,\\n\\t\\t\\tok: this.ok,\\n\\t\\t\\tredirected: this.redirected\\n\\t\\t});\\n\\t}\\n}\\n\\nBody.mixIn(Response.prototype);\\n\\nObject.defineProperties(Response.prototype, {\\n\\turl: { enumerable: true },\\n\\tstatus: { enumerable: true },\\n\\tok: { enumerable: true },\\n\\tredirected: { enumerable: true },\\n\\tstatusText: { enumerable: true },\\n\\theaders: { enumerable: true },\\n\\tclone: { enumerable: true }\\n});\\n\\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\\n\\tvalue: 'Response',\\n\\twritable: false,\\n\\tenumerable: false,\\n\\tconfigurable: true\\n});\\n\\nconst INTERNALS$2 = Symbol('Request internals');\\nconst URL = url__WEBPACK_IMPORTED_MODULE_2__.URL || whatwg_url__WEBPACK_IMPORTED_MODULE_3__.URL;\\n\\n// fix an issue where \\\"format\\\", \\\"parse\\\" aren't a named export for node <10\\nconst parse_url = url__WEBPACK_IMPORTED_MODULE_2__.parse;\\nconst format_url = url__WEBPACK_IMPORTED_MODULE_2__.format;\\n\\n/**\\n * Wrapper around `new URL` to handle arbitrary URLs\\n *\\n * @param {string} urlStr\\n * @return {void}\\n */\\nfunction parseURL(urlStr) {\\n\\t/*\\n \\tCheck whether the URL is absolute or not\\n \\t\\tScheme: https://tools.ietf.org/html/rfc3986#section-3.1\\n \\tAbsolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\\n */\\n\\tif (/^[a-zA-Z][a-zA-Z\\\\d+\\\\-.]*:/.exec(urlStr)) {\\n\\t\\turlStr = new URL(urlStr).toString();\\n\\t}\\n\\n\\t// Fallback to old implementation for arbitrary URLs\\n\\treturn parse_url(urlStr);\\n}\\n\\nconst streamDestructionSupported = 'destroy' in stream__WEBPACK_IMPORTED_MODULE_0__.Readable.prototype;\\n\\n/**\\n * Check if a value is an instance of Request.\\n *\\n * @param Mixed input\\n * @return Boolean\\n */\\nfunction isRequest(input) {\\n\\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\\n}\\n\\nfunction isAbortSignal(signal) {\\n\\tconst proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);\\n\\treturn !!(proto && proto.constructor.name === 'AbortSignal');\\n}\\n\\n/**\\n * Request class\\n *\\n * @param Mixed input Url or Request instance\\n * @param Object init Custom options\\n * @return Void\\n */\\nclass Request {\\n\\tconstructor(input) {\\n\\t\\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n\\n\\t\\tlet parsedURL;\\n\\n\\t\\t// normalize input\\n\\t\\tif (!isRequest(input)) {\\n\\t\\t\\tif (input && input.href) {\\n\\t\\t\\t\\t// in order to support Node.js' Url objects; though WHATWG's URL objects\\n\\t\\t\\t\\t// will fall into this branch also (since their `toString()` will return\\n\\t\\t\\t\\t// `href` property anyway)\\n\\t\\t\\t\\tparsedURL = parseURL(input.href);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\t// coerce input to a string before attempting to parse\\n\\t\\t\\t\\tparsedURL = parseURL(`${input}`);\\n\\t\\t\\t}\\n\\t\\t\\tinput = {};\\n\\t\\t} else {\\n\\t\\t\\tparsedURL = parseURL(input.url);\\n\\t\\t}\\n\\n\\t\\tlet method = init.method || input.method || 'GET';\\n\\t\\tmethod = method.toUpperCase();\\n\\n\\t\\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\\n\\t\\t\\tthrow new TypeError('Request with GET/HEAD method cannot have body');\\n\\t\\t}\\n\\n\\t\\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\\n\\n\\t\\tBody.call(this, inputBody, {\\n\\t\\t\\ttimeout: init.timeout || input.timeout || 0,\\n\\t\\t\\tsize: init.size || input.size || 0\\n\\t\\t});\\n\\n\\t\\tconst headers = new Headers(init.headers || input.headers || {});\\n\\n\\t\\tif (inputBody != null && !headers.has('Content-Type')) {\\n\\t\\t\\tconst contentType = extractContentType(inputBody);\\n\\t\\t\\tif (contentType) {\\n\\t\\t\\t\\theaders.append('Content-Type', contentType);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tlet signal = isRequest(input) ? input.signal : null;\\n\\t\\tif ('signal' in init) signal = init.signal;\\n\\n\\t\\tif (signal != null && !isAbortSignal(signal)) {\\n\\t\\t\\tthrow new TypeError('Expected signal to be an instanceof AbortSignal');\\n\\t\\t}\\n\\n\\t\\tthis[INTERNALS$2] = {\\n\\t\\t\\tmethod,\\n\\t\\t\\tredirect: init.redirect || input.redirect || 'follow',\\n\\t\\t\\theaders,\\n\\t\\t\\tparsedURL,\\n\\t\\t\\tsignal\\n\\t\\t};\\n\\n\\t\\t// node-fetch-only options\\n\\t\\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\\n\\t\\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\\n\\t\\tthis.counter = init.counter || input.counter || 0;\\n\\t\\tthis.agent = init.agent || input.agent;\\n\\t}\\n\\n\\tget method() {\\n\\t\\treturn this[INTERNALS$2].method;\\n\\t}\\n\\n\\tget url() {\\n\\t\\treturn format_url(this[INTERNALS$2].parsedURL);\\n\\t}\\n\\n\\tget headers() {\\n\\t\\treturn this[INTERNALS$2].headers;\\n\\t}\\n\\n\\tget redirect() {\\n\\t\\treturn this[INTERNALS$2].redirect;\\n\\t}\\n\\n\\tget signal() {\\n\\t\\treturn this[INTERNALS$2].signal;\\n\\t}\\n\\n\\t/**\\n * Clone this request\\n *\\n * @return Request\\n */\\n\\tclone() {\\n\\t\\treturn new Request(this);\\n\\t}\\n}\\n\\nBody.mixIn(Request.prototype);\\n\\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\\n\\tvalue: 'Request',\\n\\twritable: false,\\n\\tenumerable: false,\\n\\tconfigurable: true\\n});\\n\\nObject.defineProperties(Request.prototype, {\\n\\tmethod: { enumerable: true },\\n\\turl: { enumerable: true },\\n\\theaders: { enumerable: true },\\n\\tredirect: { enumerable: true },\\n\\tclone: { enumerable: true },\\n\\tsignal: { enumerable: true }\\n});\\n\\n/**\\n * Convert a Request to Node.js http request options.\\n *\\n * @param Request A Request instance\\n * @return Object The options object to be passed to http.request\\n */\\nfunction getNodeRequestOptions(request) {\\n\\tconst parsedURL = request[INTERNALS$2].parsedURL;\\n\\tconst headers = new Headers(request[INTERNALS$2].headers);\\n\\n\\t// fetch step 1.3\\n\\tif (!headers.has('Accept')) {\\n\\t\\theaders.set('Accept', '*/*');\\n\\t}\\n\\n\\t// Basic fetch\\n\\tif (!parsedURL.protocol || !parsedURL.hostname) {\\n\\t\\tthrow new TypeError('Only absolute URLs are supported');\\n\\t}\\n\\n\\tif (!/^https?:$/.test(parsedURL.protocol)) {\\n\\t\\tthrow new TypeError('Only HTTP(S) protocols are supported');\\n\\t}\\n\\n\\tif (request.signal && request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable && !streamDestructionSupported) {\\n\\t\\tthrow new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');\\n\\t}\\n\\n\\t// HTTP-network-or-cache fetch steps 2.4-2.7\\n\\tlet contentLengthValue = null;\\n\\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\\n\\t\\tcontentLengthValue = '0';\\n\\t}\\n\\tif (request.body != null) {\\n\\t\\tconst totalBytes = getTotalBytes(request);\\n\\t\\tif (typeof totalBytes === 'number') {\\n\\t\\t\\tcontentLengthValue = String(totalBytes);\\n\\t\\t}\\n\\t}\\n\\tif (contentLengthValue) {\\n\\t\\theaders.set('Content-Length', contentLengthValue);\\n\\t}\\n\\n\\t// HTTP-network-or-cache fetch step 2.11\\n\\tif (!headers.has('User-Agent')) {\\n\\t\\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\\n\\t}\\n\\n\\t// HTTP-network-or-cache fetch step 2.15\\n\\tif (request.compress && !headers.has('Accept-Encoding')) {\\n\\t\\theaders.set('Accept-Encoding', 'gzip,deflate');\\n\\t}\\n\\n\\tlet agent = request.agent;\\n\\tif (typeof agent === 'function') {\\n\\t\\tagent = agent(parsedURL);\\n\\t}\\n\\n\\t// HTTP-network fetch step 4.2\\n\\t// chunked encoding is handled by Node.js\\n\\n\\treturn Object.assign({}, parsedURL, {\\n\\t\\tmethod: request.method,\\n\\t\\theaders: exportNodeCompatibleHeaders(headers),\\n\\t\\tagent\\n\\t});\\n}\\n\\n/**\\n * abort-error.js\\n *\\n * AbortError interface for cancelled requests\\n */\\n\\n/**\\n * Create AbortError instance\\n *\\n * @param String message Error message for human\\n * @return AbortError\\n */\\nfunction AbortError(message) {\\n Error.call(this, message);\\n\\n this.type = 'aborted';\\n this.message = message;\\n\\n // hide custom error implementation details from end-users\\n Error.captureStackTrace(this, this.constructor);\\n}\\n\\nAbortError.prototype = Object.create(Error.prototype);\\nAbortError.prototype.constructor = AbortError;\\nAbortError.prototype.name = 'AbortError';\\n\\nconst URL$1 = url__WEBPACK_IMPORTED_MODULE_2__.URL || whatwg_url__WEBPACK_IMPORTED_MODULE_3__.URL;\\n\\n// fix an issue where \\\"PassThrough\\\", \\\"resolve\\\" aren't a named export for node <10\\nconst PassThrough$1 = stream__WEBPACK_IMPORTED_MODULE_0__.PassThrough;\\n\\nconst isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {\\n\\tconst orig = new URL$1(original).hostname;\\n\\tconst dest = new URL$1(destination).hostname;\\n\\n\\treturn orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);\\n};\\n\\n/**\\n * isSameProtocol reports whether the two provided URLs use the same protocol.\\n *\\n * Both domains must already be in canonical form.\\n * @param {string|URL} original\\n * @param {string|URL} destination\\n */\\nconst isSameProtocol = function isSameProtocol(destination, original) {\\n\\tconst orig = new URL$1(original).protocol;\\n\\tconst dest = new URL$1(destination).protocol;\\n\\n\\treturn orig === dest;\\n};\\n\\n/**\\n * Fetch function\\n *\\n * @param Mixed url Absolute url or Request instance\\n * @param Object opts Fetch options\\n * @return Promise\\n */\\nfunction fetch(url, opts) {\\n\\n\\t// allow custom promise\\n\\tif (!fetch.Promise) {\\n\\t\\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\\n\\t}\\n\\n\\tBody.Promise = fetch.Promise;\\n\\n\\t// wrap http.request into fetch\\n\\treturn new fetch.Promise(function (resolve, reject) {\\n\\t\\t// build request object\\n\\t\\tconst request = new Request(url, opts);\\n\\t\\tconst options = getNodeRequestOptions(request);\\n\\n\\t\\tconst send = (options.protocol === 'https:' ? https__WEBPACK_IMPORTED_MODULE_4__ : http__WEBPACK_IMPORTED_MODULE_1__).request;\\n\\t\\tconst signal = request.signal;\\n\\n\\t\\tlet response = null;\\n\\n\\t\\tconst abort = function abort() {\\n\\t\\t\\tlet error = new AbortError('The user aborted a request.');\\n\\t\\t\\treject(error);\\n\\t\\t\\tif (request.body && request.body instanceof stream__WEBPACK_IMPORTED_MODULE_0__.Readable) {\\n\\t\\t\\t\\tdestroyStream(request.body, error);\\n\\t\\t\\t}\\n\\t\\t\\tif (!response || !response.body) return;\\n\\t\\t\\tresponse.body.emit('error', error);\\n\\t\\t};\\n\\n\\t\\tif (signal && signal.aborted) {\\n\\t\\t\\tabort();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tconst abortAndFinalize = function abortAndFinalize() {\\n\\t\\t\\tabort();\\n\\t\\t\\tfinalize();\\n\\t\\t};\\n\\n\\t\\t// send request\\n\\t\\tconst req = send(options);\\n\\t\\tlet reqTimeout;\\n\\n\\t\\tif (signal) {\\n\\t\\t\\tsignal.addEventListener('abort', abortAndFinalize);\\n\\t\\t}\\n\\n\\t\\tfunction finalize() {\\n\\t\\t\\treq.abort();\\n\\t\\t\\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\\n\\t\\t\\tclearTimeout(reqTimeout);\\n\\t\\t}\\n\\n\\t\\tif (request.timeout) {\\n\\t\\t\\treq.once('socket', function (socket) {\\n\\t\\t\\t\\treqTimeout = setTimeout(function () {\\n\\t\\t\\t\\t\\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\\n\\t\\t\\t\\t\\tfinalize();\\n\\t\\t\\t\\t}, request.timeout);\\n\\t\\t\\t});\\n\\t\\t}\\n\\n\\t\\treq.on('error', function (err) {\\n\\t\\t\\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\\n\\n\\t\\t\\tif (response && response.body) {\\n\\t\\t\\t\\tdestroyStream(response.body, err);\\n\\t\\t\\t}\\n\\n\\t\\t\\tfinalize();\\n\\t\\t});\\n\\n\\t\\tfixResponseChunkedTransferBadEnding(req, function (err) {\\n\\t\\t\\tif (signal && signal.aborted) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif (response && response.body) {\\n\\t\\t\\t\\tdestroyStream(response.body, err);\\n\\t\\t\\t}\\n\\t\\t});\\n\\n\\t\\t/* c8 ignore next 18 */\\n\\t\\tif (parseInt(process.version.substring(1)) < 14) {\\n\\t\\t\\t// Before Node.js 14, pipeline() does not fully support async iterators and does not always\\n\\t\\t\\t// properly handle when the socket close/end events are out of order.\\n\\t\\t\\treq.on('socket', function (s) {\\n\\t\\t\\t\\ts.addListener('close', function (hadError) {\\n\\t\\t\\t\\t\\t// if a data listener is still present we didn't end cleanly\\n\\t\\t\\t\\t\\tconst hasDataListener = s.listenerCount('data') > 0;\\n\\n\\t\\t\\t\\t\\t// if end happened before close but the socket didn't emit an error, do it now\\n\\t\\t\\t\\t\\tif (response && hasDataListener && !hadError && !(signal && signal.aborted)) {\\n\\t\\t\\t\\t\\t\\tconst err = new Error('Premature close');\\n\\t\\t\\t\\t\\t\\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\\n\\t\\t\\t\\t\\t\\tresponse.body.emit('error', err);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t});\\n\\t\\t}\\n\\n\\t\\treq.on('response', function (res) {\\n\\t\\t\\tclearTimeout(reqTimeout);\\n\\n\\t\\t\\tconst headers = createHeadersLenient(res.headers);\\n\\n\\t\\t\\t// HTTP fetch step 5\\n\\t\\t\\tif (fetch.isRedirect(res.statusCode)) {\\n\\t\\t\\t\\t// HTTP fetch step 5.2\\n\\t\\t\\t\\tconst location = headers.get('Location');\\n\\n\\t\\t\\t\\t// HTTP fetch step 5.3\\n\\t\\t\\t\\tlet locationURL = null;\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\tlocationURL = location === null ? null : new URL$1(location, request.url).toString();\\n\\t\\t\\t\\t} catch (err) {\\n\\t\\t\\t\\t\\t// error here can only be invalid URL in Location: header\\n\\t\\t\\t\\t\\t// do not throw when options.redirect == manual\\n\\t\\t\\t\\t\\t// let the user extract the errorneous redirect URL\\n\\t\\t\\t\\t\\tif (request.redirect !== 'manual') {\\n\\t\\t\\t\\t\\t\\treject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));\\n\\t\\t\\t\\t\\t\\tfinalize();\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// HTTP fetch step 5.5\\n\\t\\t\\t\\tswitch (request.redirect) {\\n\\t\\t\\t\\t\\tcase 'error':\\n\\t\\t\\t\\t\\t\\treject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));\\n\\t\\t\\t\\t\\t\\tfinalize();\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\tcase 'manual':\\n\\t\\t\\t\\t\\t\\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\\n\\t\\t\\t\\t\\t\\tif (locationURL !== null) {\\n\\t\\t\\t\\t\\t\\t\\t// handle corrupted header\\n\\t\\t\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\t\\t\\theaders.set('Location', locationURL);\\n\\t\\t\\t\\t\\t\\t\\t} catch (err) {\\n\\t\\t\\t\\t\\t\\t\\t\\t// istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request\\n\\t\\t\\t\\t\\t\\t\\t\\treject(err);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\tcase 'follow':\\n\\t\\t\\t\\t\\t\\t// HTTP-redirect fetch step 2\\n\\t\\t\\t\\t\\t\\tif (locationURL === null) {\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// HTTP-redirect fetch step 5\\n\\t\\t\\t\\t\\t\\tif (request.counter >= request.follow) {\\n\\t\\t\\t\\t\\t\\t\\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\\n\\t\\t\\t\\t\\t\\t\\tfinalize();\\n\\t\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// HTTP-redirect fetch step 6 (counter increment)\\n\\t\\t\\t\\t\\t\\t// Create a new Request object.\\n\\t\\t\\t\\t\\t\\tconst requestOpts = {\\n\\t\\t\\t\\t\\t\\t\\theaders: new Headers(request.headers),\\n\\t\\t\\t\\t\\t\\t\\tfollow: request.follow,\\n\\t\\t\\t\\t\\t\\t\\tcounter: request.counter + 1,\\n\\t\\t\\t\\t\\t\\t\\tagent: request.agent,\\n\\t\\t\\t\\t\\t\\t\\tcompress: request.compress,\\n\\t\\t\\t\\t\\t\\t\\tmethod: request.method,\\n\\t\\t\\t\\t\\t\\t\\tbody: request.body,\\n\\t\\t\\t\\t\\t\\t\\tsignal: request.signal,\\n\\t\\t\\t\\t\\t\\t\\ttimeout: request.timeout,\\n\\t\\t\\t\\t\\t\\t\\tsize: request.size\\n\\t\\t\\t\\t\\t\\t};\\n\\n\\t\\t\\t\\t\\t\\tif (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {\\n\\t\\t\\t\\t\\t\\t\\tfor (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {\\n\\t\\t\\t\\t\\t\\t\\t\\trequestOpts.headers.delete(name);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// HTTP-redirect fetch step 9\\n\\t\\t\\t\\t\\t\\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\\n\\t\\t\\t\\t\\t\\t\\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\\n\\t\\t\\t\\t\\t\\t\\tfinalize();\\n\\t\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// HTTP-redirect fetch step 11\\n\\t\\t\\t\\t\\t\\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\\n\\t\\t\\t\\t\\t\\t\\trequestOpts.method = 'GET';\\n\\t\\t\\t\\t\\t\\t\\trequestOpts.body = undefined;\\n\\t\\t\\t\\t\\t\\t\\trequestOpts.headers.delete('content-length');\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// HTTP-redirect fetch step 15\\n\\t\\t\\t\\t\\t\\tresolve(fetch(new Request(locationURL, requestOpts)));\\n\\t\\t\\t\\t\\t\\tfinalize();\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// prepare response\\n\\t\\t\\tres.once('end', function () {\\n\\t\\t\\t\\tif (signal) signal.removeEventListener('abort', abortAndFinalize);\\n\\t\\t\\t});\\n\\t\\t\\tlet body = res.pipe(new PassThrough$1());\\n\\n\\t\\t\\tconst response_options = {\\n\\t\\t\\t\\turl: request.url,\\n\\t\\t\\t\\tstatus: res.statusCode,\\n\\t\\t\\t\\tstatusText: res.statusMessage,\\n\\t\\t\\t\\theaders: headers,\\n\\t\\t\\t\\tsize: request.size,\\n\\t\\t\\t\\ttimeout: request.timeout,\\n\\t\\t\\t\\tcounter: request.counter\\n\\t\\t\\t};\\n\\n\\t\\t\\t// HTTP-network fetch step 12.1.1.3\\n\\t\\t\\tconst codings = headers.get('Content-Encoding');\\n\\n\\t\\t\\t// HTTP-network fetch step 12.1.1.4: handle content codings\\n\\n\\t\\t\\t// in following scenarios we ignore compression support\\n\\t\\t\\t// 1. compression support is disabled\\n\\t\\t\\t// 2. HEAD request\\n\\t\\t\\t// 3. no Content-Encoding header\\n\\t\\t\\t// 4. no content response (204)\\n\\t\\t\\t// 5. content not modified response (304)\\n\\t\\t\\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\\n\\t\\t\\t\\tresponse = new Response(body, response_options);\\n\\t\\t\\t\\tresolve(response);\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// For Node v6+\\n\\t\\t\\t// Be less strict when decoding compressed responses, since sometimes\\n\\t\\t\\t// servers send slightly invalid responses that are still accepted\\n\\t\\t\\t// by common browsers.\\n\\t\\t\\t// Always using Z_SYNC_FLUSH is what cURL does.\\n\\t\\t\\tconst zlibOptions = {\\n\\t\\t\\t\\tflush: zlib__WEBPACK_IMPORTED_MODULE_5__.Z_SYNC_FLUSH,\\n\\t\\t\\t\\tfinishFlush: zlib__WEBPACK_IMPORTED_MODULE_5__.Z_SYNC_FLUSH\\n\\t\\t\\t};\\n\\n\\t\\t\\t// for gzip\\n\\t\\t\\tif (codings == 'gzip' || codings == 'x-gzip') {\\n\\t\\t\\t\\tbody = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createGunzip(zlibOptions));\\n\\t\\t\\t\\tresponse = new Response(body, response_options);\\n\\t\\t\\t\\tresolve(response);\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// for deflate\\n\\t\\t\\tif (codings == 'deflate' || codings == 'x-deflate') {\\n\\t\\t\\t\\t// handle the infamous raw deflate response from old servers\\n\\t\\t\\t\\t// a hack for old IIS and Apache servers\\n\\t\\t\\t\\tconst raw = res.pipe(new PassThrough$1());\\n\\t\\t\\t\\traw.once('data', function (chunk) {\\n\\t\\t\\t\\t\\t// see http://stackoverflow.com/questions/37519828\\n\\t\\t\\t\\t\\tif ((chunk[0] & 0x0F) === 0x08) {\\n\\t\\t\\t\\t\\t\\tbody = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createInflate());\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tbody = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createInflateRaw());\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tresponse = new Response(body, response_options);\\n\\t\\t\\t\\t\\tresolve(response);\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\traw.on('end', function () {\\n\\t\\t\\t\\t\\t// some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.\\n\\t\\t\\t\\t\\tif (!response) {\\n\\t\\t\\t\\t\\t\\tresponse = new Response(body, response_options);\\n\\t\\t\\t\\t\\t\\tresolve(response);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// for br\\n\\t\\t\\tif (codings == 'br' && typeof zlib__WEBPACK_IMPORTED_MODULE_5__.createBrotliDecompress === 'function') {\\n\\t\\t\\t\\tbody = body.pipe(zlib__WEBPACK_IMPORTED_MODULE_5__.createBrotliDecompress());\\n\\t\\t\\t\\tresponse = new Response(body, response_options);\\n\\t\\t\\t\\tresolve(response);\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// otherwise, use response as-is\\n\\t\\t\\tresponse = new Response(body, response_options);\\n\\t\\t\\tresolve(response);\\n\\t\\t});\\n\\n\\t\\twriteToStream(req, request);\\n\\t});\\n}\\nfunction fixResponseChunkedTransferBadEnding(request, errorCallback) {\\n\\tlet socket;\\n\\n\\trequest.on('socket', function (s) {\\n\\t\\tsocket = s;\\n\\t});\\n\\n\\trequest.on('response', function (response) {\\n\\t\\tconst headers = response.headers;\\n\\n\\t\\tif (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {\\n\\t\\t\\tresponse.once('close', function (hadError) {\\n\\t\\t\\t\\t// tests for socket presence, as in some situations the\\n\\t\\t\\t\\t// the 'socket' event is not triggered for the request\\n\\t\\t\\t\\t// (happens in deno), avoids `TypeError`\\n\\t\\t\\t\\t// if a data listener is still present we didn't end cleanly\\n\\t\\t\\t\\tconst hasDataListener = socket && socket.listenerCount('data') > 0;\\n\\n\\t\\t\\t\\tif (hasDataListener && !hadError) {\\n\\t\\t\\t\\t\\tconst err = new Error('Premature close');\\n\\t\\t\\t\\t\\terr.code = 'ERR_STREAM_PREMATURE_CLOSE';\\n\\t\\t\\t\\t\\terrorCallback(err);\\n\\t\\t\\t\\t}\\n\\t\\t\\t});\\n\\t\\t}\\n\\t});\\n}\\n\\nfunction destroyStream(stream, err) {\\n\\tif (stream.destroy) {\\n\\t\\tstream.destroy(err);\\n\\t} else {\\n\\t\\t// node < 8\\n\\t\\tstream.emit('error', err);\\n\\t\\tstream.end();\\n\\t}\\n}\\n\\n/**\\n * Redirect code matching\\n *\\n * @param Number code Status code\\n * @return Boolean\\n */\\nfetch.isRedirect = function (code) {\\n\\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\\n};\\n\\n// expose Promise\\nfetch.Promise = global.Promise;\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (fetch);\\n\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/tr46/index.js\\\":\\n/*!************************************!*\\\\\\n !*** ./node_modules/tr46/index.js ***!\\n \\\\************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nvar punycode = __webpack_require__(/*! punycode */ \\\"punycode\\\");\\nvar mappingTable = __webpack_require__(/*! ./lib/mappingTable.json */ \\\"./node_modules/tr46/lib/mappingTable.json\\\");\\n\\nvar PROCESSING_OPTIONS = {\\n TRANSITIONAL: 0,\\n NONTRANSITIONAL: 1\\n};\\n\\nfunction normalize(str) { // fix bug in v8\\n return str.split('\\\\u0000').map(function (s) { return s.normalize('NFC'); }).join('\\\\u0000');\\n}\\n\\nfunction findStatus(val) {\\n var start = 0;\\n var end = mappingTable.length - 1;\\n\\n while (start <= end) {\\n var mid = Math.floor((start + end) / 2);\\n\\n var target = mappingTable[mid];\\n if (target[0][0] <= val && target[0][1] >= val) {\\n return target;\\n } else if (target[0][0] > val) {\\n end = mid - 1;\\n } else {\\n start = mid + 1;\\n }\\n }\\n\\n return null;\\n}\\n\\nvar regexAstralSymbols = /[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]/g;\\n\\nfunction countSymbols(string) {\\n return string\\n // replace every surrogate pair with a BMP symbol\\n .replace(regexAstralSymbols, '_')\\n // then get the length\\n .length;\\n}\\n\\nfunction mapChars(domain_name, useSTD3, processing_option) {\\n var hasError = false;\\n var processed = \\\"\\\";\\n\\n var len = countSymbols(domain_name);\\n for (var i = 0; i < len; ++i) {\\n var codePoint = domain_name.codePointAt(i);\\n var status = findStatus(codePoint);\\n\\n switch (status[1]) {\\n case \\\"disallowed\\\":\\n hasError = true;\\n processed += String.fromCodePoint(codePoint);\\n break;\\n case \\\"ignored\\\":\\n break;\\n case \\\"mapped\\\":\\n processed += String.fromCodePoint.apply(String, status[2]);\\n break;\\n case \\\"deviation\\\":\\n if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {\\n processed += String.fromCodePoint.apply(String, status[2]);\\n } else {\\n processed += String.fromCodePoint(codePoint);\\n }\\n break;\\n case \\\"valid\\\":\\n processed += String.fromCodePoint(codePoint);\\n break;\\n case \\\"disallowed_STD3_mapped\\\":\\n if (useSTD3) {\\n hasError = true;\\n processed += String.fromCodePoint(codePoint);\\n } else {\\n processed += String.fromCodePoint.apply(String, status[2]);\\n }\\n break;\\n case \\\"disallowed_STD3_valid\\\":\\n if (useSTD3) {\\n hasError = true;\\n }\\n\\n processed += String.fromCodePoint(codePoint);\\n break;\\n }\\n }\\n\\n return {\\n string: processed,\\n error: hasError\\n };\\n}\\n\\nvar combiningMarksRegex = /[\\\\u0300-\\\\u036F\\\\u0483-\\\\u0489\\\\u0591-\\\\u05BD\\\\u05BF\\\\u05C1\\\\u05C2\\\\u05C4\\\\u05C5\\\\u05C7\\\\u0610-\\\\u061A\\\\u064B-\\\\u065F\\\\u0670\\\\u06D6-\\\\u06DC\\\\u06DF-\\\\u06E4\\\\u06E7\\\\u06E8\\\\u06EA-\\\\u06ED\\\\u0711\\\\u0730-\\\\u074A\\\\u07A6-\\\\u07B0\\\\u07EB-\\\\u07F3\\\\u0816-\\\\u0819\\\\u081B-\\\\u0823\\\\u0825-\\\\u0827\\\\u0829-\\\\u082D\\\\u0859-\\\\u085B\\\\u08E4-\\\\u0903\\\\u093A-\\\\u093C\\\\u093E-\\\\u094F\\\\u0951-\\\\u0957\\\\u0962\\\\u0963\\\\u0981-\\\\u0983\\\\u09BC\\\\u09BE-\\\\u09C4\\\\u09C7\\\\u09C8\\\\u09CB-\\\\u09CD\\\\u09D7\\\\u09E2\\\\u09E3\\\\u0A01-\\\\u0A03\\\\u0A3C\\\\u0A3E-\\\\u0A42\\\\u0A47\\\\u0A48\\\\u0A4B-\\\\u0A4D\\\\u0A51\\\\u0A70\\\\u0A71\\\\u0A75\\\\u0A81-\\\\u0A83\\\\u0ABC\\\\u0ABE-\\\\u0AC5\\\\u0AC7-\\\\u0AC9\\\\u0ACB-\\\\u0ACD\\\\u0AE2\\\\u0AE3\\\\u0B01-\\\\u0B03\\\\u0B3C\\\\u0B3E-\\\\u0B44\\\\u0B47\\\\u0B48\\\\u0B4B-\\\\u0B4D\\\\u0B56\\\\u0B57\\\\u0B62\\\\u0B63\\\\u0B82\\\\u0BBE-\\\\u0BC2\\\\u0BC6-\\\\u0BC8\\\\u0BCA-\\\\u0BCD\\\\u0BD7\\\\u0C00-\\\\u0C03\\\\u0C3E-\\\\u0C44\\\\u0C46-\\\\u0C48\\\\u0C4A-\\\\u0C4D\\\\u0C55\\\\u0C56\\\\u0C62\\\\u0C63\\\\u0C81-\\\\u0C83\\\\u0CBC\\\\u0CBE-\\\\u0CC4\\\\u0CC6-\\\\u0CC8\\\\u0CCA-\\\\u0CCD\\\\u0CD5\\\\u0CD6\\\\u0CE2\\\\u0CE3\\\\u0D01-\\\\u0D03\\\\u0D3E-\\\\u0D44\\\\u0D46-\\\\u0D48\\\\u0D4A-\\\\u0D4D\\\\u0D57\\\\u0D62\\\\u0D63\\\\u0D82\\\\u0D83\\\\u0DCA\\\\u0DCF-\\\\u0DD4\\\\u0DD6\\\\u0DD8-\\\\u0DDF\\\\u0DF2\\\\u0DF3\\\\u0E31\\\\u0E34-\\\\u0E3A\\\\u0E47-\\\\u0E4E\\\\u0EB1\\\\u0EB4-\\\\u0EB9\\\\u0EBB\\\\u0EBC\\\\u0EC8-\\\\u0ECD\\\\u0F18\\\\u0F19\\\\u0F35\\\\u0F37\\\\u0F39\\\\u0F3E\\\\u0F3F\\\\u0F71-\\\\u0F84\\\\u0F86\\\\u0F87\\\\u0F8D-\\\\u0F97\\\\u0F99-\\\\u0FBC\\\\u0FC6\\\\u102B-\\\\u103E\\\\u1056-\\\\u1059\\\\u105E-\\\\u1060\\\\u1062-\\\\u1064\\\\u1067-\\\\u106D\\\\u1071-\\\\u1074\\\\u1082-\\\\u108D\\\\u108F\\\\u109A-\\\\u109D\\\\u135D-\\\\u135F\\\\u1712-\\\\u1714\\\\u1732-\\\\u1734\\\\u1752\\\\u1753\\\\u1772\\\\u1773\\\\u17B4-\\\\u17D3\\\\u17DD\\\\u180B-\\\\u180D\\\\u18A9\\\\u1920-\\\\u192B\\\\u1930-\\\\u193B\\\\u19B0-\\\\u19C0\\\\u19C8\\\\u19C9\\\\u1A17-\\\\u1A1B\\\\u1A55-\\\\u1A5E\\\\u1A60-\\\\u1A7C\\\\u1A7F\\\\u1AB0-\\\\u1ABE\\\\u1B00-\\\\u1B04\\\\u1B34-\\\\u1B44\\\\u1B6B-\\\\u1B73\\\\u1B80-\\\\u1B82\\\\u1BA1-\\\\u1BAD\\\\u1BE6-\\\\u1BF3\\\\u1C24-\\\\u1C37\\\\u1CD0-\\\\u1CD2\\\\u1CD4-\\\\u1CE8\\\\u1CED\\\\u1CF2-\\\\u1CF4\\\\u1CF8\\\\u1CF9\\\\u1DC0-\\\\u1DF5\\\\u1DFC-\\\\u1DFF\\\\u20D0-\\\\u20F0\\\\u2CEF-\\\\u2CF1\\\\u2D7F\\\\u2DE0-\\\\u2DFF\\\\u302A-\\\\u302F\\\\u3099\\\\u309A\\\\uA66F-\\\\uA672\\\\uA674-\\\\uA67D\\\\uA69F\\\\uA6F0\\\\uA6F1\\\\uA802\\\\uA806\\\\uA80B\\\\uA823-\\\\uA827\\\\uA880\\\\uA881\\\\uA8B4-\\\\uA8C4\\\\uA8E0-\\\\uA8F1\\\\uA926-\\\\uA92D\\\\uA947-\\\\uA953\\\\uA980-\\\\uA983\\\\uA9B3-\\\\uA9C0\\\\uA9E5\\\\uAA29-\\\\uAA36\\\\uAA43\\\\uAA4C\\\\uAA4D\\\\uAA7B-\\\\uAA7D\\\\uAAB0\\\\uAAB2-\\\\uAAB4\\\\uAAB7\\\\uAAB8\\\\uAABE\\\\uAABF\\\\uAAC1\\\\uAAEB-\\\\uAAEF\\\\uAAF5\\\\uAAF6\\\\uABE3-\\\\uABEA\\\\uABEC\\\\uABED\\\\uFB1E\\\\uFE00-\\\\uFE0F\\\\uFE20-\\\\uFE2D]|\\\\uD800[\\\\uDDFD\\\\uDEE0\\\\uDF76-\\\\uDF7A]|\\\\uD802[\\\\uDE01-\\\\uDE03\\\\uDE05\\\\uDE06\\\\uDE0C-\\\\uDE0F\\\\uDE38-\\\\uDE3A\\\\uDE3F\\\\uDEE5\\\\uDEE6]|\\\\uD804[\\\\uDC00-\\\\uDC02\\\\uDC38-\\\\uDC46\\\\uDC7F-\\\\uDC82\\\\uDCB0-\\\\uDCBA\\\\uDD00-\\\\uDD02\\\\uDD27-\\\\uDD34\\\\uDD73\\\\uDD80-\\\\uDD82\\\\uDDB3-\\\\uDDC0\\\\uDE2C-\\\\uDE37\\\\uDEDF-\\\\uDEEA\\\\uDF01-\\\\uDF03\\\\uDF3C\\\\uDF3E-\\\\uDF44\\\\uDF47\\\\uDF48\\\\uDF4B-\\\\uDF4D\\\\uDF57\\\\uDF62\\\\uDF63\\\\uDF66-\\\\uDF6C\\\\uDF70-\\\\uDF74]|\\\\uD805[\\\\uDCB0-\\\\uDCC3\\\\uDDAF-\\\\uDDB5\\\\uDDB8-\\\\uDDC0\\\\uDE30-\\\\uDE40\\\\uDEAB-\\\\uDEB7]|\\\\uD81A[\\\\uDEF0-\\\\uDEF4\\\\uDF30-\\\\uDF36]|\\\\uD81B[\\\\uDF51-\\\\uDF7E\\\\uDF8F-\\\\uDF92]|\\\\uD82F[\\\\uDC9D\\\\uDC9E]|\\\\uD834[\\\\uDD65-\\\\uDD69\\\\uDD6D-\\\\uDD72\\\\uDD7B-\\\\uDD82\\\\uDD85-\\\\uDD8B\\\\uDDAA-\\\\uDDAD\\\\uDE42-\\\\uDE44]|\\\\uD83A[\\\\uDCD0-\\\\uDCD6]|\\\\uDB40[\\\\uDD00-\\\\uDDEF]/;\\n\\nfunction validateLabel(label, processing_option) {\\n if (label.substr(0, 4) === \\\"xn--\\\") {\\n label = punycode.toUnicode(label);\\n processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;\\n }\\n\\n var error = false;\\n\\n if (normalize(label) !== label ||\\n (label[3] === \\\"-\\\" && label[4] === \\\"-\\\") ||\\n label[0] === \\\"-\\\" || label[label.length - 1] === \\\"-\\\" ||\\n label.indexOf(\\\".\\\") !== -1 ||\\n label.search(combiningMarksRegex) === 0) {\\n error = true;\\n }\\n\\n var len = countSymbols(label);\\n for (var i = 0; i < len; ++i) {\\n var status = findStatus(label.codePointAt(i));\\n if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== \\\"valid\\\") ||\\n (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&\\n status[1] !== \\\"valid\\\" && status[1] !== \\\"deviation\\\")) {\\n error = true;\\n break;\\n }\\n }\\n\\n return {\\n label: label,\\n error: error\\n };\\n}\\n\\nfunction processing(domain_name, useSTD3, processing_option) {\\n var result = mapChars(domain_name, useSTD3, processing_option);\\n result.string = normalize(result.string);\\n\\n var labels = result.string.split(\\\".\\\");\\n for (var i = 0; i < labels.length; ++i) {\\n try {\\n var validation = validateLabel(labels[i]);\\n labels[i] = validation.label;\\n result.error = result.error || validation.error;\\n } catch(e) {\\n result.error = true;\\n }\\n }\\n\\n return {\\n string: labels.join(\\\".\\\"),\\n error: result.error\\n };\\n}\\n\\nmodule.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {\\n var result = processing(domain_name, useSTD3, processing_option);\\n var labels = result.string.split(\\\".\\\");\\n labels = labels.map(function(l) {\\n try {\\n return punycode.toASCII(l);\\n } catch(e) {\\n result.error = true;\\n return l;\\n }\\n });\\n\\n if (verifyDnsLength) {\\n var total = labels.slice(0, labels.length - 1).join(\\\".\\\").length;\\n if (total.length > 253 || total.length === 0) {\\n result.error = true;\\n }\\n\\n for (var i=0; i < labels.length; ++i) {\\n if (labels.length > 63 || labels.length === 0) {\\n result.error = true;\\n break;\\n }\\n }\\n }\\n\\n if (result.error) return null;\\n return labels.join(\\\".\\\");\\n};\\n\\nmodule.exports.toUnicode = function(domain_name, useSTD3) {\\n var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);\\n\\n return {\\n domain: result.string,\\n error: result.error\\n };\\n};\\n\\nmodule.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/tr46/lib/mappingTable.json\\\":\\n/*!*************************************************!*\\\\\\n !*** ./node_modules/tr46/lib/mappingTable.json ***!\\n \\\\*************************************************/\\n/*! exports provided: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859, 3860, 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, 4180, 4181, 4182, 4183, 4184, 4185, 4186, 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4199, 4200, 4201, 4202, 4203, 4204, 4205, 4206, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4243, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4298, 4299, 4300, 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4313, 4314, 4315, 4316, 4317, 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4326, 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, 4335, 4336, 4337, 4338, 4339, 4340, 4341, 4342, 4343, 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353, 4354, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375, 4376, 4377, 4378, 4379, 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4395, 4396, 4397, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4407, 4408, 4409, 4410, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4426, 4427, 4428, 4429, 4430, 4431, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4440, 4441, 4442, 4443, 4444, 4445, 4446, 4447, 4448, 4449, 4450, 4451, 4452, 4453, 4454, 4455, 4456, 4457, 4458, 4459, 4460, 4461, 4462, 4463, 4464, 4465, 4466, 4467, 4468, 4469, 4470, 4471, 4472, 4473, 4474, 4475, 4476, 4477, 4478, 4479, 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4490, 4491, 4492, 4493, 4494, 4495, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 4506, 4507, 4508, 4509, 4510, 4511, 4512, 4513, 4514, 4515, 4516, 4517, 4518, 4519, 4520, 4521, 4522, 4523, 4524, 4525, 4526, 4527, 4528, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, 4551, 4552, 4553, 4554, 4555, 4556, 4557, 4558, 4559, 4560, 4561, 4562, 4563, 4564, 4565, 4566, 4567, 4568, 4569, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4577, 4578, 4579, 4580, 4581, 4582, 4583, 4584, 4585, 4586, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 4597, 4598, 4599, 4600, 4601, 4602, 4603, 4604, 4605, 4606, 4607, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4626, 4627, 4628, 4629, 4630, 4631, 4632, 4633, 4634, 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4642, 4643, 4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, 4664, 4665, 4666, 4667, 4668, 4669, 4670, 4671, 4672, 4673, 4674, 4675, 4676, 4677, 4678, 4679, 4680, 4681, 4682, 4683, 4684, 4685, 4686, 4687, 4688, 4689, 4690, 4691, 4692, 4693, 4694, 4695, 4696, 4697, 4698, 4699, 4700, 4701, 4702, 4703, 4704, 4705, 4706, 4707, 4708, 4709, 4710, 4711, 4712, 4713, 4714, 4715, 4716, 4717, 4718, 4719, 4720, 4721, 4722, 4723, 4724, 4725, 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4733, 4734, 4735, 4736, 4737, 4738, 4739, 4740, 4741, 4742, 4743, 4744, 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752, 4753, 4754, 4755, 4756, 4757, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771, 4772, 4773, 4774, 4775, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, 4786, 4787, 4788, 4789, 4790, 4791, 4792, 4793, 4794, 4795, 4796, 4797, 4798, 4799, 4800, 4801, 4802, 4803, 4804, 4805, 4806, 4807, 4808, 4809, 4810, 4811, 4812, 4813, 4814, 4815, 4816, 4817, 4818, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4826, 4827, 4828, 4829, 4830, 4831, 4832, 4833, 4834, 4835, 4836, 4837, 4838, 4839, 4840, 4841, 4842, 4843, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4851, 4852, 4853, 4854, 4855, 4856, 4857, 4858, 4859, 4860, 4861, 4862, 4863, 4864, 4865, 4866, 4867, 4868, 4869, 4870, 4871, 4872, 4873, 4874, 4875, 4876, 4877, 4878, 4879, 4880, 4881, 4882, 4883, 4884, 4885, 4886, 4887, 4888, 4889, 4890, 4891, 4892, 4893, 4894, 4895, 4896, 4897, 4898, 4899, 4900, 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914, 4915, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 4925, 4926, 4927, 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 4941, 4942, 4943, 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989, 4990, 4991, 4992, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5051, 5052, 5053, 5054, 5055, 5056, 5057, 5058, 5059, 5060, 5061, 5062, 5063, 5064, 5065, 5066, 5067, 5068, 5069, 5070, 5071, 5072, 5073, 5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081, 5082, 5083, 5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091, 5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5100, 5101, 5102, 5103, 5104, 5105, 5106, 5107, 5108, 5109, 5110, 5111, 5112, 5113, 5114, 5115, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, 5125, 5126, 5127, 5128, 5129, 5130, 5131, 5132, 5133, 5134, 5135, 5136, 5137, 5138, 5139, 5140, 5141, 5142, 5143, 5144, 5145, 5146, 5147, 5148, 5149, 5150, 5151, 5152, 5153, 5154, 5155, 5156, 5157, 5158, 5159, 5160, 5161, 5162, 5163, 5164, 5165, 5166, 5167, 5168, 5169, 5170, 5171, 5172, 5173, 5174, 5175, 5176, 5177, 5178, 5179, 5180, 5181, 5182, 5183, 5184, 5185, 5186, 5187, 5188, 5189, 5190, 5191, 5192, 5193, 5194, 5195, 5196, 5197, 5198, 5199, 5200, 5201, 5202, 5203, 5204, 5205, 5206, 5207, 5208, 5209, 5210, 5211, 5212, 5213, 5214, 5215, 5216, 5217, 5218, 5219, 5220, 5221, 5222, 5223, 5224, 5225, 5226, 5227, 5228, 5229, 5230, 5231, 5232, 5233, 5234, 5235, 5236, 5237, 5238, 5239, 5240, 5241, 5242, 5243, 5244, 5245, 5246, 5247, 5248, 5249, 5250, 5251, 5252, 5253, 5254, 5255, 5256, 5257, 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, 5268, 5269, 5270, 5271, 5272, 5273, 5274, 5275, 5276, 5277, 5278, 5279, 5280, 5281, 5282, 5283, 5284, 5285, 5286, 5287, 5288, 5289, 5290, 5291, 5292, 5293, 5294, 5295, 5296, 5297, 5298, 5299, 5300, 5301, 5302, 5303, 5304, 5305, 5306, 5307, 5308, 5309, 5310, 5311, 5312, 5313, 5314, 5315, 5316, 5317, 5318, 5319, 5320, 5321, 5322, 5323, 5324, 5325, 5326, 5327, 5328, 5329, 5330, 5331, 5332, 5333, 5334, 5335, 5336, 5337, 5338, 5339, 5340, 5341, 5342, 5343, 5344, 5345, 5346, 5347, 5348, 5349, 5350, 5351, 5352, 5353, 5354, 5355, 5356, 5357, 5358, 5359, 5360, 5361, 5362, 5363, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5373, 5374, 5375, 5376, 5377, 5378, 5379, 5380, 5381, 5382, 5383, 5384, 5385, 5386, 5387, 5388, 5389, 5390, 5391, 5392, 5393, 5394, 5395, 5396, 5397, 5398, 5399, 5400, 5401, 5402, 5403, 5404, 5405, 5406, 5407, 5408, 5409, 5410, 5411, 5412, 5413, 5414, 5415, 5416, 5417, 5418, 5419, 5420, 5421, 5422, 5423, 5424, 5425, 5426, 5427, 5428, 5429, 5430, 5431, 5432, 5433, 5434, 5435, 5436, 5437, 5438, 5439, 5440, 5441, 5442, 5443, 5444, 5445, 5446, 5447, 5448, 5449, 5450, 5451, 5452, 5453, 5454, 5455, 5456, 5457, 5458, 5459, 5460, 5461, 5462, 5463, 5464, 5465, 5466, 5467, 5468, 5469, 5470, 5471, 5472, 5473, 5474, 5475, 5476, 5477, 5478, 5479, 5480, 5481, 5482, 5483, 5484, 5485, 5486, 5487, 5488, 5489, 5490, 5491, 5492, 5493, 5494, 5495, 5496, 5497, 5498, 5499, 5500, 5501, 5502, 5503, 5504, 5505, 5506, 5507, 5508, 5509, 5510, 5511, 5512, 5513, 5514, 5515, 5516, 5517, 5518, 5519, 5520, 5521, 5522, 5523, 5524, 5525, 5526, 5527, 5528, 5529, 5530, 5531, 5532, 5533, 5534, 5535, 5536, 5537, 5538, 5539, 5540, 5541, 5542, 5543, 5544, 5545, 5546, 5547, 5548, 5549, 5550, 5551, 5552, 5553, 5554, 5555, 5556, 5557, 5558, 5559, 5560, 5561, 5562, 5563, 5564, 5565, 5566, 5567, 5568, 5569, 5570, 5571, 5572, 5573, 5574, 5575, 5576, 5577, 5578, 5579, 5580, 5581, 5582, 5583, 5584, 5585, 5586, 5587, 5588, 5589, 5590, 5591, 5592, 5593, 5594, 5595, 5596, 5597, 5598, 5599, 5600, 5601, 5602, 5603, 5604, 5605, 5606, 5607, 5608, 5609, 5610, 5611, 5612, 5613, 5614, 5615, 5616, 5617, 5618, 5619, 5620, 5621, 5622, 5623, 5624, 5625, 5626, 5627, 5628, 5629, 5630, 5631, 5632, 5633, 5634, 5635, 5636, 5637, 5638, 5639, 5640, 5641, 5642, 5643, 5644, 5645, 5646, 5647, 5648, 5649, 5650, 5651, 5652, 5653, 5654, 5655, 5656, 5657, 5658, 5659, 5660, 5661, 5662, 5663, 5664, 5665, 5666, 5667, 5668, 5669, 5670, 5671, 5672, 5673, 5674, 5675, 5676, 5677, 5678, 5679, 5680, 5681, 5682, 5683, 5684, 5685, 5686, 5687, 5688, 5689, 5690, 5691, 5692, 5693, 5694, 5695, 5696, 5697, 5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, 5706, 5707, 5708, 5709, 5710, 5711, 5712, 5713, 5714, 5715, 5716, 5717, 5718, 5719, 5720, 5721, 5722, 5723, 5724, 5725, 5726, 5727, 5728, 5729, 5730, 5731, 5732, 5733, 5734, 5735, 5736, 5737, 5738, 5739, 5740, 5741, 5742, 5743, 5744, 5745, 5746, 5747, 5748, 5749, 5750, 5751, 5752, 5753, 5754, 5755, 5756, 5757, 5758, 5759, 5760, 5761, 5762, 5763, 5764, 5765, 5766, 5767, 5768, 5769, 5770, 5771, 5772, 5773, 5774, 5775, 5776, 5777, 5778, 5779, 5780, 5781, 5782, 5783, 5784, 5785, 5786, 5787, 5788, 5789, 5790, 5791, 5792, 5793, 5794, 5795, 5796, 5797, 5798, 5799, 5800, 5801, 5802, 5803, 5804, 5805, 5806, 5807, 5808, 5809, 5810, 5811, 5812, 5813, 5814, 5815, 5816, 5817, 5818, 5819, 5820, 5821, 5822, 5823, 5824, 5825, 5826, 5827, 5828, 5829, 5830, 5831, 5832, 5833, 5834, 5835, 5836, 5837, 5838, 5839, 5840, 5841, 5842, 5843, 5844, 5845, 5846, 5847, 5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, 5860, 5861, 5862, 5863, 5864, 5865, 5866, 5867, 5868, 5869, 5870, 5871, 5872, 5873, 5874, 5875, 5876, 5877, 5878, 5879, 5880, 5881, 5882, 5883, 5884, 5885, 5886, 5887, 5888, 5889, 5890, 5891, 5892, 5893, 5894, 5895, 5896, 5897, 5898, 5899, 5900, 5901, 5902, 5903, 5904, 5905, 5906, 5907, 5908, 5909, 5910, 5911, 5912, 5913, 5914, 5915, 5916, 5917, 5918, 5919, 5920, 5921, 5922, 5923, 5924, 5925, 5926, 5927, 5928, 5929, 5930, 5931, 5932, 5933, 5934, 5935, 5936, 5937, 5938, 5939, 5940, 5941, 5942, 5943, 5944, 5945, 5946, 5947, 5948, 5949, 5950, 5951, 5952, 5953, 5954, 5955, 5956, 5957, 5958, 5959, 5960, 5961, 5962, 5963, 5964, 5965, 5966, 5967, 5968, 5969, 5970, 5971, 5972, 5973, 5974, 5975, 5976, 5977, 5978, 5979, 5980, 5981, 5982, 5983, 5984, 5985, 5986, 5987, 5988, 5989, 5990, 5991, 5992, 5993, 5994, 5995, 5996, 5997, 5998, 5999, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008, 6009, 6010, 6011, 6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, 6020, 6021, 6022, 6023, 6024, 6025, 6026, 6027, 6028, 6029, 6030, 6031, 6032, 6033, 6034, 6035, 6036, 6037, 6038, 6039, 6040, 6041, 6042, 6043, 6044, 6045, 6046, 6047, 6048, 6049, 6050, 6051, 6052, 6053, 6054, 6055, 6056, 6057, 6058, 6059, 6060, 6061, 6062, 6063, 6064, 6065, 6066, 6067, 6068, 6069, 6070, 6071, 6072, 6073, 6074, 6075, 6076, 6077, 6078, 6079, 6080, 6081, 6082, 6083, 6084, 6085, 6086, 6087, 6088, 6089, 6090, 6091, 6092, 6093, 6094, 6095, 6096, 6097, 6098, 6099, 6100, 6101, 6102, 6103, 6104, 6105, 6106, 6107, 6108, 6109, 6110, 6111, 6112, 6113, 6114, 6115, 6116, 6117, 6118, 6119, 6120, 6121, 6122, 6123, 6124, 6125, 6126, 6127, 6128, 6129, 6130, 6131, 6132, 6133, 6134, 6135, 6136, 6137, 6138, 6139, 6140, 6141, 6142, 6143, 6144, 6145, 6146, 6147, 6148, 6149, 6150, 6151, 6152, 6153, 6154, 6155, 6156, 6157, 6158, 6159, 6160, 6161, 6162, 6163, 6164, 6165, 6166, 6167, 6168, 6169, 6170, 6171, 6172, 6173, 6174, 6175, 6176, 6177, 6178, 6179, 6180, 6181, 6182, 6183, 6184, 6185, 6186, 6187, 6188, 6189, 6190, 6191, 6192, 6193, 6194, 6195, 6196, 6197, 6198, 6199, 6200, 6201, 6202, 6203, 6204, 6205, 6206, 6207, 6208, 6209, 6210, 6211, 6212, 6213, 6214, 6215, 6216, 6217, 6218, 6219, 6220, 6221, 6222, 6223, 6224, 6225, 6226, 6227, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6242, 6243, 6244, 6245, 6246, 6247, 6248, 6249, 6250, 6251, 6252, 6253, 6254, 6255, 6256, 6257, 6258, 6259, 6260, 6261, 6262, 6263, 6264, 6265, 6266, 6267, 6268, 6269, 6270, 6271, 6272, 6273, 6274, 6275, 6276, 6277, 6278, 6279, 6280, 6281, 6282, 6283, 6284, 6285, 6286, 6287, 6288, 6289, 6290, 6291, 6292, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309, 6310, 6311, 6312, 6313, 6314, 6315, 6316, 6317, 6318, 6319, 6320, 6321, 6322, 6323, 6324, 6325, 6326, 6327, 6328, 6329, 6330, 6331, 6332, 6333, 6334, 6335, 6336, 6337, 6338, 6339, 6340, 6341, 6342, 6343, 6344, 6345, 6346, 6347, 6348, 6349, 6350, 6351, 6352, 6353, 6354, 6355, 6356, 6357, 6358, 6359, 6360, 6361, 6362, 6363, 6364, 6365, 6366, 6367, 6368, 6369, 6370, 6371, 6372, 6373, 6374, 6375, 6376, 6377, 6378, 6379, 6380, 6381, 6382, 6383, 6384, 6385, 6386, 6387, 6388, 6389, 6390, 6391, 6392, 6393, 6394, 6395, 6396, 6397, 6398, 6399, 6400, 6401, 6402, 6403, 6404, 6405, 6406, 6407, 6408, 6409, 6410, 6411, 6412, 6413, 6414, 6415, 6416, 6417, 6418, 6419, 6420, 6421, 6422, 6423, 6424, 6425, 6426, 6427, 6428, 6429, 6430, 6431, 6432, 6433, 6434, 6435, 6436, 6437, 6438, 6439, 6440, 6441, 6442, 6443, 6444, 6445, 6446, 6447, 6448, 6449, 6450, 6451, 6452, 6453, 6454, 6455, 6456, 6457, 6458, 6459, 6460, 6461, 6462, 6463, 6464, 6465, 6466, 6467, 6468, 6469, 6470, 6471, 6472, 6473, 6474, 6475, 6476, 6477, 6478, 6479, 6480, 6481, 6482, 6483, 6484, 6485, 6486, 6487, 6488, 6489, 6490, 6491, 6492, 6493, 6494, 6495, 6496, 6497, 6498, 6499, 6500, 6501, 6502, 6503, 6504, 6505, 6506, 6507, 6508, 6509, 6510, 6511, 6512, 6513, 6514, 6515, 6516, 6517, 6518, 6519, 6520, 6521, 6522, 6523, 6524, 6525, 6526, 6527, 6528, 6529, 6530, 6531, 6532, 6533, 6534, 6535, 6536, 6537, 6538, 6539, 6540, 6541, 6542, 6543, 6544, 6545, 6546, 6547, 6548, 6549, 6550, 6551, 6552, 6553, 6554, 6555, 6556, 6557, 6558, 6559, 6560, 6561, 6562, 6563, 6564, 6565, 6566, 6567, 6568, 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578, 6579, 6580, 6581, 6582, 6583, 6584, 6585, 6586, 6587, 6588, 6589, 6590, 6591, 6592, 6593, 6594, 6595, 6596, 6597, 6598, 6599, 6600, 6601, 6602, 6603, 6604, 6605, 6606, 6607, 6608, 6609, 6610, 6611, 6612, 6613, 6614, 6615, 6616, 6617, 6618, 6619, 6620, 6621, 6622, 6623, 6624, 6625, 6626, 6627, 6628, 6629, 6630, 6631, 6632, 6633, 6634, 6635, 6636, 6637, 6638, 6639, 6640, 6641, 6642, 6643, 6644, 6645, 6646, 6647, 6648, 6649, 6650, 6651, 6652, 6653, 6654, 6655, 6656, 6657, 6658, 6659, 6660, 6661, 6662, 6663, 6664, 6665, 6666, 6667, 6668, 6669, 6670, 6671, 6672, 6673, 6674, 6675, 6676, 6677, 6678, 6679, 6680, 6681, 6682, 6683, 6684, 6685, 6686, 6687, 6688, 6689, 6690, 6691, 6692, 6693, 6694, 6695, 6696, 6697, 6698, 6699, 6700, 6701, 6702, 6703, 6704, 6705, 6706, 6707, 6708, 6709, 6710, 6711, 6712, 6713, 6714, 6715, 6716, 6717, 6718, 6719, 6720, 6721, 6722, 6723, 6724, 6725, 6726, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6735, 6736, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 6745, 6746, 6747, 6748, 6749, 6750, 6751, 6752, 6753, 6754, 6755, 6756, 6757, 6758, 6759, 6760, 6761, 6762, 6763, 6764, 6765, 6766, 6767, 6768, 6769, 6770, 6771, 6772, 6773, 6774, 6775, 6776, 6777, 6778, 6779, 6780, 6781, 6782, 6783, 6784, 6785, 6786, 6787, 6788, 6789, 6790, 6791, 6792, 6793, 6794, 6795, 6796, 6797, 6798, 6799, 6800, 6801, 6802, 6803, 6804, 6805, 6806, 6807, 6808, 6809, 6810, 6811, 6812, 6813, 6814, 6815, 6816, 6817, 6818, 6819, 6820, 6821, 6822, 6823, 6824, 6825, 6826, 6827, 6828, 6829, 6830, 6831, 6832, 6833, 6834, 6835, 6836, 6837, 6838, 6839, 6840, 6841, 6842, 6843, 6844, 6845, 6846, 6847, 6848, 6849, 6850, 6851, 6852, 6853, 6854, 6855, 6856, 6857, 6858, 6859, 6860, 6861, 6862, 6863, 6864, 6865, 6866, 6867, 6868, 6869, 6870, 6871, 6872, 6873, 6874, 6875, 6876, 6877, 6878, 6879, 6880, 6881, 6882, 6883, 6884, 6885, 6886, 6887, 6888, 6889, 6890, 6891, 6892, 6893, 6894, 6895, 6896, 6897, 6898, 6899, 6900, 6901, 6902, 6903, 6904, 6905, 6906, 6907, 6908, 6909, 6910, 6911, 6912, 6913, 6914, 6915, 6916, 6917, 6918, 6919, 6920, 6921, 6922, 6923, 6924, 6925, 6926, 6927, 6928, 6929, 6930, 6931, 6932, 6933, 6934, 6935, 6936, 6937, 6938, 6939, 6940, 6941, 6942, 6943, 6944, 6945, 6946, 6947, 6948, 6949, 6950, 6951, 6952, 6953, 6954, 6955, 6956, 6957, 6958, 6959, 6960, 6961, 6962, 6963, 6964, 6965, 6966, 6967, 6968, 6969, 6970, 6971, 6972, 6973, 6974, 6975, 6976, 6977, 6978, 6979, 6980, 6981, 6982, 6983, 6984, 6985, 6986, 6987, 6988, 6989, 6990, 6991, 6992, 6993, 6994, 6995, 6996, 6997, 6998, 6999, 7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020, 7021, 7022, 7023, 7024, 7025, 7026, 7027, 7028, 7029, 7030, 7031, 7032, 7033, 7034, 7035, 7036, 7037, 7038, 7039, 7040, 7041, 7042, 7043, 7044, 7045, 7046, 7047, 7048, 7049, 7050, 7051, 7052, 7053, 7054, 7055, 7056, 7057, 7058, 7059, 7060, 7061, 7062, 7063, 7064, 7065, 7066, 7067, 7068, 7069, 7070, 7071, 7072, 7073, 7074, 7075, 7076, 7077, 7078, 7079, 7080, 7081, 7082, 7083, 7084, 7085, 7086, 7087, 7088, 7089, 7090, 7091, 7092, 7093, 7094, 7095, 7096, 7097, 7098, 7099, 7100, 7101, 7102, 7103, 7104, 7105, 7106, 7107, 7108, 7109, 7110, 7111, 7112, 7113, 7114, 7115, 7116, 7117, 7118, 7119, 7120, 7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130, 7131, 7132, 7133, 7134, 7135, 7136, 7137, 7138, 7139, 7140, 7141, 7142, 7143, 7144, 7145, 7146, 7147, 7148, 7149, 7150, 7151, 7152, 7153, 7154, 7155, 7156, 7157, 7158, 7159, 7160, 7161, 7162, 7163, 7164, 7165, 7166, 7167, 7168, 7169, 7170, 7171, 7172, 7173, 7174, 7175, 7176, 7177, 7178, 7179, 7180, 7181, 7182, 7183, 7184, 7185, 7186, 7187, 7188, 7189, 7190, 7191, 7192, 7193, 7194, 7195, 7196, 7197, 7198, 7199, 7200, 7201, 7202, 7203, 7204, 7205, 7206, 7207, 7208, 7209, 7210, 7211, 7212, 7213, 7214, 7215, 7216, 7217, 7218, 7219, 7220, 7221, 7222, 7223, 7224, 7225, 7226, 7227, 7228, 7229, 7230, 7231, 7232, 7233, 7234, 7235, 7236, 7237, 7238, 7239, 7240, 7241, 7242, 7243, 7244, 7245, 7246, 7247, 7248, 7249, 7250, 7251, 7252, 7253, 7254, 7255, 7256, 7257, 7258, 7259, 7260, 7261, 7262, 7263, 7264, 7265, 7266, 7267, 7268, 7269, 7270, 7271, 7272, 7273, 7274, 7275, 7276, 7277, 7278, 7279, 7280, 7281, 7282, 7283, 7284, 7285, 7286, 7287, 7288, 7289, 7290, 7291, 7292, 7293, 7294, 7295, 7296, 7297, 7298, 7299, 7300, 7301, 7302, 7303, 7304, 7305, 7306, 7307, 7308, 7309, 7310, 7311, 7312, 7313, 7314, 7315, 7316, 7317, 7318, 7319, 7320, 7321, 7322, 7323, 7324, 7325, 7326, 7327, 7328, 7329, 7330, 7331, 7332, 7333, 7334, 7335, 7336, 7337, 7338, 7339, 7340, 7341, 7342, 7343, 7344, 7345, 7346, 7347, 7348, 7349, 7350, 7351, 7352, 7353, 7354, 7355, 7356, 7357, 7358, 7359, 7360, 7361, 7362, 7363, 7364, 7365, 7366, 7367, 7368, 7369, 7370, 7371, 7372, 7373, 7374, 7375, 7376, 7377, 7378, 7379, 7380, 7381, 7382, 7383, 7384, 7385, 7386, 7387, 7388, 7389, 7390, 7391, 7392, 7393, 7394, 7395, 7396, 7397, 7398, 7399, 7400, 7401, 7402, 7403, 7404, 7405, 7406, 7407, 7408, 7409, 7410, 7411, 7412, 7413, 7414, 7415, 7416, 7417, 7418, 7419, 7420, 7421, 7422, 7423, 7424, 7425, 7426, 7427, 7428, 7429, 7430, 7431, 7432, 7433, 7434, 7435, 7436, 7437, 7438, 7439, 7440, 7441, 7442, 7443, 7444, 7445, 7446, 7447, 7448, 7449, 7450, 7451, 7452, 7453, 7454, 7455, 7456, 7457, 7458, 7459, 7460, 7461, 7462, 7463, 7464, 7465, 7466, 7467, 7468, 7469, 7470, 7471, 7472, 7473, 7474, 7475, 7476, 7477, 7478, 7479, 7480, 7481, 7482, 7483, 7484, 7485, 7486, 7487, 7488, 7489, 7490, 7491, 7492, 7493, 7494, 7495, 7496, 7497, 7498, 7499, 7500, 7501, 7502, 7503, 7504, 7505, 7506, 7507, 7508, 7509, 7510, 7511, 7512, 7513, 7514, 7515, 7516, 7517, 7518, 7519, 7520, 7521, 7522, 7523, 7524, 7525, 7526, 7527, 7528, 7529, 7530, 7531, 7532, 7533, 7534, 7535, 7536, 7537, 7538, 7539, 7540, 7541, 7542, 7543, 7544, 7545, 7546, 7547, 7548, 7549, 7550, 7551, 7552, 7553, 7554, 7555, 7556, 7557, 7558, 7559, 7560, 7561, 7562, 7563, 7564, 7565, 7566, 7567, 7568, 7569, 7570, 7571, 7572, 7573, 7574, 7575, 7576, 7577, 7578, 7579, 7580, 7581, 7582, 7583, 7584, 7585, 7586, 7587, 7588, 7589, 7590, 7591, 7592, 7593, 7594, 7595, 7596, 7597, 7598, 7599, 7600, 7601, 7602, 7603, 7604, 7605, 7606, 7607, 7608, 7609, 7610, 7611, 7612, 7613, 7614, 7615, 7616, 7617, 7618, 7619, 7620, 7621, 7622, 7623, 7624, 7625, 7626, 7627, 7628, 7629, 7630, 7631, 7632, 7633, 7634, 7635, 7636, 7637, 7638, 7639, 7640, 7641, 7642, 7643, 7644, 7645, 7646, 7647, 7648, 7649, 7650, 7651, 7652, 7653, 7654, 7655, 7656, 7657, 7658, 7659, 7660, 7661, 7662, 7663, 7664, 7665, 7666, 7667, 7668, 7669, 7670, 7671, 7672, 7673, 7674, 7675, 7676, 7677, 7678, 7679, 7680, 7681, 7682, 7683, 7684, 7685, 7686, 7687, 7688, 7689, 7690, 7691, 7692, 7693, 7694, 7695, 7696, 7697, 7698, 7699, 7700, 7701, 7702, 7703, 7704, 7705, 7706, 7707, 7708, 7709, 7710, 7711, 7712, 7713, 7714, 7715, 7716, 7717, 7718, 7719, 7720, 7721, 7722, 7723, 7724, 7725, 7726, 7727, 7728, 7729, 7730, 7731, 7732, 7733, 7734, 7735, 7736, 7737, 7738, 7739, 7740, 7741, 7742, 7743, 7744, 7745, 7746, 7747, 7748, 7749, 7750, 7751, 7752, 7753, 7754, 7755, 7756, 7757, 7758, 7759, 7760, 7761, 7762, 7763, 7764, 7765, 7766, 7767, 7768, 7769, 7770, 7771, 7772, 7773, 7774, 7775, 7776, 7777, 7778, 7779, 7780, 7781, 7782, 7783, 7784, 7785, 7786, 7787, 7788, 7789, 7790, 7791, 7792, 7793, 7794, 7795, 7796, 7797, 7798, 7799, 7800, 7801, 7802, 7803, 7804, 7805, 7806, 7807, 7808, 7809, 7810, 7811, 7812, 7813, 7814, 7815, 7816, 7817, 7818, 7819, 7820, 7821, 7822, 7823, 7824, 7825, 7826, 7827, 7828, 7829, 7830, 7831, 7832, 7833, 7834, 7835, 7836, 7837, 7838, 7839, 7840, 7841, 7842, 7843, 7844, 7845, 7846, 7847, 7848, 7849, 7850, 7851, 7852, 7853, 7854, 7855, 7856, 7857, 7858, 7859, 7860, 7861, 7862, 7863, 7864, 7865, 7866, 7867, 7868, 7869, 7870, 7871, 7872, 7873, 7874, 7875, 7876, 7877, 7878, 7879, 7880, 7881, 7882, 7883, 7884, 7885, 7886, 7887, 7888, 7889, 7890, 7891, 7892, 7893, 7894, 7895, 7896, 7897, 7898, 7899, 7900, 7901, 7902, 7903, 7904, 7905, 7906, 7907, 7908, 7909, 7910, 7911, 7912, 7913, 7914, 7915, 7916, 7917, 7918, 7919, 7920, 7921, 7922, 7923, 7924, 7925, 7926, 7927, 7928, 7929, 7930, 7931, 7932, 7933, 7934, 7935, 7936, 7937, 7938, 7939, 7940, 7941, 7942, 7943, 7944, 7945, 7946, 7947, 7948, 7949, 7950, 7951, 7952, 7953, 7954, 7955, 7956, 7957, 7958, 7959, 7960, 7961, 7962, 7963, 7964, 7965, 7966, 7967, 7968, 7969, 7970, 7971, 7972, 7973, 7974, 7975, 7976, 7977, 7978, 7979, 7980, 7981, 7982, 7983, 7984, 7985, 7986, 7987, 7988, 7989, 7990, 7991, 7992, 7993, 7994, 7995, 7996, 7997, 7998, 7999, 8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023, 8024, 8025, 8026, 8027, 8028, 8029, 8030, 8031, 8032, 8033, 8034, 8035, 8036, 8037, 8038, 8039, 8040, 8041, 8042, 8043, 8044, 8045, 8046, 8047, 8048, 8049, 8050, 8051, 8052, 8053, 8054, 8055, 8056, 8057, 8058, 8059, 8060, 8061, 8062, 8063, 8064, 8065, 8066, 8067, 8068, 8069, 8070, 8071, 8072, 8073, 8074, 8075, 8076, 8077, 8078, 8079, 8080, 8081, 8082, 8083, 8084, 8085, 8086, 8087, 8088, 8089, 8090, 8091, 8092, 8093, 8094, 8095, 8096, 8097, 8098, 8099, 8100, 8101, 8102, 8103, 8104, 8105, 8106, 8107, 8108, 8109, 8110, 8111, 8112, 8113, 8114, 8115, 8116, 8117, 8118, 8119, 8120, 8121, 8122, 8123, 8124, 8125, 8126, 8127, 8128, 8129, 8130, 8131, 8132, 8133, 8134, 8135, 8136, 8137, 8138, 8139, 8140, 8141, 8142, 8143, 8144, 8145, 8146, 8147, 8148, 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156, 8157, 8158, 8159, 8160, 8161, 8162, 8163, 8164, 8165, 8166, 8167, 8168, 8169, 8170, 8171, 8172, 8173, 8174, 8175, 8176, 8177, 8178, default */\\n/***/ (function(module) {\\n\\nmodule.exports = JSON.parse(\\\"[[[0,44],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[45,46],\\\\\\\"valid\\\\\\\"],[[47,47],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[48,57],\\\\\\\"valid\\\\\\\"],[[58,64],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[65,65],\\\\\\\"mapped\\\\\\\",[97]],[[66,66],\\\\\\\"mapped\\\\\\\",[98]],[[67,67],\\\\\\\"mapped\\\\\\\",[99]],[[68,68],\\\\\\\"mapped\\\\\\\",[100]],[[69,69],\\\\\\\"mapped\\\\\\\",[101]],[[70,70],\\\\\\\"mapped\\\\\\\",[102]],[[71,71],\\\\\\\"mapped\\\\\\\",[103]],[[72,72],\\\\\\\"mapped\\\\\\\",[104]],[[73,73],\\\\\\\"mapped\\\\\\\",[105]],[[74,74],\\\\\\\"mapped\\\\\\\",[106]],[[75,75],\\\\\\\"mapped\\\\\\\",[107]],[[76,76],\\\\\\\"mapped\\\\\\\",[108]],[[77,77],\\\\\\\"mapped\\\\\\\",[109]],[[78,78],\\\\\\\"mapped\\\\\\\",[110]],[[79,79],\\\\\\\"mapped\\\\\\\",[111]],[[80,80],\\\\\\\"mapped\\\\\\\",[112]],[[81,81],\\\\\\\"mapped\\\\\\\",[113]],[[82,82],\\\\\\\"mapped\\\\\\\",[114]],[[83,83],\\\\\\\"mapped\\\\\\\",[115]],[[84,84],\\\\\\\"mapped\\\\\\\",[116]],[[85,85],\\\\\\\"mapped\\\\\\\",[117]],[[86,86],\\\\\\\"mapped\\\\\\\",[118]],[[87,87],\\\\\\\"mapped\\\\\\\",[119]],[[88,88],\\\\\\\"mapped\\\\\\\",[120]],[[89,89],\\\\\\\"mapped\\\\\\\",[121]],[[90,90],\\\\\\\"mapped\\\\\\\",[122]],[[91,96],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[97,122],\\\\\\\"valid\\\\\\\"],[[123,127],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[128,159],\\\\\\\"disallowed\\\\\\\"],[[160,160],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32]],[[161,167],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[168,168],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,776]],[[169,169],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[170,170],\\\\\\\"mapped\\\\\\\",[97]],[[171,172],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[173,173],\\\\\\\"ignored\\\\\\\"],[[174,174],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[175,175],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,772]],[[176,177],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[178,178],\\\\\\\"mapped\\\\\\\",[50]],[[179,179],\\\\\\\"mapped\\\\\\\",[51]],[[180,180],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,769]],[[181,181],\\\\\\\"mapped\\\\\\\",[956]],[[182,182],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[183,183],\\\\\\\"valid\\\\\\\"],[[184,184],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,807]],[[185,185],\\\\\\\"mapped\\\\\\\",[49]],[[186,186],\\\\\\\"mapped\\\\\\\",[111]],[[187,187],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[188,188],\\\\\\\"mapped\\\\\\\",[49,8260,52]],[[189,189],\\\\\\\"mapped\\\\\\\",[49,8260,50]],[[190,190],\\\\\\\"mapped\\\\\\\",[51,8260,52]],[[191,191],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[192,192],\\\\\\\"mapped\\\\\\\",[224]],[[193,193],\\\\\\\"mapped\\\\\\\",[225]],[[194,194],\\\\\\\"mapped\\\\\\\",[226]],[[195,195],\\\\\\\"mapped\\\\\\\",[227]],[[196,196],\\\\\\\"mapped\\\\\\\",[228]],[[197,197],\\\\\\\"mapped\\\\\\\",[229]],[[198,198],\\\\\\\"mapped\\\\\\\",[230]],[[199,199],\\\\\\\"mapped\\\\\\\",[231]],[[200,200],\\\\\\\"mapped\\\\\\\",[232]],[[201,201],\\\\\\\"mapped\\\\\\\",[233]],[[202,202],\\\\\\\"mapped\\\\\\\",[234]],[[203,203],\\\\\\\"mapped\\\\\\\",[235]],[[204,204],\\\\\\\"mapped\\\\\\\",[236]],[[205,205],\\\\\\\"mapped\\\\\\\",[237]],[[206,206],\\\\\\\"mapped\\\\\\\",[238]],[[207,207],\\\\\\\"mapped\\\\\\\",[239]],[[208,208],\\\\\\\"mapped\\\\\\\",[240]],[[209,209],\\\\\\\"mapped\\\\\\\",[241]],[[210,210],\\\\\\\"mapped\\\\\\\",[242]],[[211,211],\\\\\\\"mapped\\\\\\\",[243]],[[212,212],\\\\\\\"mapped\\\\\\\",[244]],[[213,213],\\\\\\\"mapped\\\\\\\",[245]],[[214,214],\\\\\\\"mapped\\\\\\\",[246]],[[215,215],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[216,216],\\\\\\\"mapped\\\\\\\",[248]],[[217,217],\\\\\\\"mapped\\\\\\\",[249]],[[218,218],\\\\\\\"mapped\\\\\\\",[250]],[[219,219],\\\\\\\"mapped\\\\\\\",[251]],[[220,220],\\\\\\\"mapped\\\\\\\",[252]],[[221,221],\\\\\\\"mapped\\\\\\\",[253]],[[222,222],\\\\\\\"mapped\\\\\\\",[254]],[[223,223],\\\\\\\"deviation\\\\\\\",[115,115]],[[224,246],\\\\\\\"valid\\\\\\\"],[[247,247],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[248,255],\\\\\\\"valid\\\\\\\"],[[256,256],\\\\\\\"mapped\\\\\\\",[257]],[[257,257],\\\\\\\"valid\\\\\\\"],[[258,258],\\\\\\\"mapped\\\\\\\",[259]],[[259,259],\\\\\\\"valid\\\\\\\"],[[260,260],\\\\\\\"mapped\\\\\\\",[261]],[[261,261],\\\\\\\"valid\\\\\\\"],[[262,262],\\\\\\\"mapped\\\\\\\",[263]],[[263,263],\\\\\\\"valid\\\\\\\"],[[264,264],\\\\\\\"mapped\\\\\\\",[265]],[[265,265],\\\\\\\"valid\\\\\\\"],[[266,266],\\\\\\\"mapped\\\\\\\",[267]],[[267,267],\\\\\\\"valid\\\\\\\"],[[268,268],\\\\\\\"mapped\\\\\\\",[269]],[[269,269],\\\\\\\"valid\\\\\\\"],[[270,270],\\\\\\\"mapped\\\\\\\",[271]],[[271,271],\\\\\\\"valid\\\\\\\"],[[272,272],\\\\\\\"mapped\\\\\\\",[273]],[[273,273],\\\\\\\"valid\\\\\\\"],[[274,274],\\\\\\\"mapped\\\\\\\",[275]],[[275,275],\\\\\\\"valid\\\\\\\"],[[276,276],\\\\\\\"mapped\\\\\\\",[277]],[[277,277],\\\\\\\"valid\\\\\\\"],[[278,278],\\\\\\\"mapped\\\\\\\",[279]],[[279,279],\\\\\\\"valid\\\\\\\"],[[280,280],\\\\\\\"mapped\\\\\\\",[281]],[[281,281],\\\\\\\"valid\\\\\\\"],[[282,282],\\\\\\\"mapped\\\\\\\",[283]],[[283,283],\\\\\\\"valid\\\\\\\"],[[284,284],\\\\\\\"mapped\\\\\\\",[285]],[[285,285],\\\\\\\"valid\\\\\\\"],[[286,286],\\\\\\\"mapped\\\\\\\",[287]],[[287,287],\\\\\\\"valid\\\\\\\"],[[288,288],\\\\\\\"mapped\\\\\\\",[289]],[[289,289],\\\\\\\"valid\\\\\\\"],[[290,290],\\\\\\\"mapped\\\\\\\",[291]],[[291,291],\\\\\\\"valid\\\\\\\"],[[292,292],\\\\\\\"mapped\\\\\\\",[293]],[[293,293],\\\\\\\"valid\\\\\\\"],[[294,294],\\\\\\\"mapped\\\\\\\",[295]],[[295,295],\\\\\\\"valid\\\\\\\"],[[296,296],\\\\\\\"mapped\\\\\\\",[297]],[[297,297],\\\\\\\"valid\\\\\\\"],[[298,298],\\\\\\\"mapped\\\\\\\",[299]],[[299,299],\\\\\\\"valid\\\\\\\"],[[300,300],\\\\\\\"mapped\\\\\\\",[301]],[[301,301],\\\\\\\"valid\\\\\\\"],[[302,302],\\\\\\\"mapped\\\\\\\",[303]],[[303,303],\\\\\\\"valid\\\\\\\"],[[304,304],\\\\\\\"mapped\\\\\\\",[105,775]],[[305,305],\\\\\\\"valid\\\\\\\"],[[306,307],\\\\\\\"mapped\\\\\\\",[105,106]],[[308,308],\\\\\\\"mapped\\\\\\\",[309]],[[309,309],\\\\\\\"valid\\\\\\\"],[[310,310],\\\\\\\"mapped\\\\\\\",[311]],[[311,312],\\\\\\\"valid\\\\\\\"],[[313,313],\\\\\\\"mapped\\\\\\\",[314]],[[314,314],\\\\\\\"valid\\\\\\\"],[[315,315],\\\\\\\"mapped\\\\\\\",[316]],[[316,316],\\\\\\\"valid\\\\\\\"],[[317,317],\\\\\\\"mapped\\\\\\\",[318]],[[318,318],\\\\\\\"valid\\\\\\\"],[[319,320],\\\\\\\"mapped\\\\\\\",[108,183]],[[321,321],\\\\\\\"mapped\\\\\\\",[322]],[[322,322],\\\\\\\"valid\\\\\\\"],[[323,323],\\\\\\\"mapped\\\\\\\",[324]],[[324,324],\\\\\\\"valid\\\\\\\"],[[325,325],\\\\\\\"mapped\\\\\\\",[326]],[[326,326],\\\\\\\"valid\\\\\\\"],[[327,327],\\\\\\\"mapped\\\\\\\",[328]],[[328,328],\\\\\\\"valid\\\\\\\"],[[329,329],\\\\\\\"mapped\\\\\\\",[700,110]],[[330,330],\\\\\\\"mapped\\\\\\\",[331]],[[331,331],\\\\\\\"valid\\\\\\\"],[[332,332],\\\\\\\"mapped\\\\\\\",[333]],[[333,333],\\\\\\\"valid\\\\\\\"],[[334,334],\\\\\\\"mapped\\\\\\\",[335]],[[335,335],\\\\\\\"valid\\\\\\\"],[[336,336],\\\\\\\"mapped\\\\\\\",[337]],[[337,337],\\\\\\\"valid\\\\\\\"],[[338,338],\\\\\\\"mapped\\\\\\\",[339]],[[339,339],\\\\\\\"valid\\\\\\\"],[[340,340],\\\\\\\"mapped\\\\\\\",[341]],[[341,341],\\\\\\\"valid\\\\\\\"],[[342,342],\\\\\\\"mapped\\\\\\\",[343]],[[343,343],\\\\\\\"valid\\\\\\\"],[[344,344],\\\\\\\"mapped\\\\\\\",[345]],[[345,345],\\\\\\\"valid\\\\\\\"],[[346,346],\\\\\\\"mapped\\\\\\\",[347]],[[347,347],\\\\\\\"valid\\\\\\\"],[[348,348],\\\\\\\"mapped\\\\\\\",[349]],[[349,349],\\\\\\\"valid\\\\\\\"],[[350,350],\\\\\\\"mapped\\\\\\\",[351]],[[351,351],\\\\\\\"valid\\\\\\\"],[[352,352],\\\\\\\"mapped\\\\\\\",[353]],[[353,353],\\\\\\\"valid\\\\\\\"],[[354,354],\\\\\\\"mapped\\\\\\\",[355]],[[355,355],\\\\\\\"valid\\\\\\\"],[[356,356],\\\\\\\"mapped\\\\\\\",[357]],[[357,357],\\\\\\\"valid\\\\\\\"],[[358,358],\\\\\\\"mapped\\\\\\\",[359]],[[359,359],\\\\\\\"valid\\\\\\\"],[[360,360],\\\\\\\"mapped\\\\\\\",[361]],[[361,361],\\\\\\\"valid\\\\\\\"],[[362,362],\\\\\\\"mapped\\\\\\\",[363]],[[363,363],\\\\\\\"valid\\\\\\\"],[[364,364],\\\\\\\"mapped\\\\\\\",[365]],[[365,365],\\\\\\\"valid\\\\\\\"],[[366,366],\\\\\\\"mapped\\\\\\\",[367]],[[367,367],\\\\\\\"valid\\\\\\\"],[[368,368],\\\\\\\"mapped\\\\\\\",[369]],[[369,369],\\\\\\\"valid\\\\\\\"],[[370,370],\\\\\\\"mapped\\\\\\\",[371]],[[371,371],\\\\\\\"valid\\\\\\\"],[[372,372],\\\\\\\"mapped\\\\\\\",[373]],[[373,373],\\\\\\\"valid\\\\\\\"],[[374,374],\\\\\\\"mapped\\\\\\\",[375]],[[375,375],\\\\\\\"valid\\\\\\\"],[[376,376],\\\\\\\"mapped\\\\\\\",[255]],[[377,377],\\\\\\\"mapped\\\\\\\",[378]],[[378,378],\\\\\\\"valid\\\\\\\"],[[379,379],\\\\\\\"mapped\\\\\\\",[380]],[[380,380],\\\\\\\"valid\\\\\\\"],[[381,381],\\\\\\\"mapped\\\\\\\",[382]],[[382,382],\\\\\\\"valid\\\\\\\"],[[383,383],\\\\\\\"mapped\\\\\\\",[115]],[[384,384],\\\\\\\"valid\\\\\\\"],[[385,385],\\\\\\\"mapped\\\\\\\",[595]],[[386,386],\\\\\\\"mapped\\\\\\\",[387]],[[387,387],\\\\\\\"valid\\\\\\\"],[[388,388],\\\\\\\"mapped\\\\\\\",[389]],[[389,389],\\\\\\\"valid\\\\\\\"],[[390,390],\\\\\\\"mapped\\\\\\\",[596]],[[391,391],\\\\\\\"mapped\\\\\\\",[392]],[[392,392],\\\\\\\"valid\\\\\\\"],[[393,393],\\\\\\\"mapped\\\\\\\",[598]],[[394,394],\\\\\\\"mapped\\\\\\\",[599]],[[395,395],\\\\\\\"mapped\\\\\\\",[396]],[[396,397],\\\\\\\"valid\\\\\\\"],[[398,398],\\\\\\\"mapped\\\\\\\",[477]],[[399,399],\\\\\\\"mapped\\\\\\\",[601]],[[400,400],\\\\\\\"mapped\\\\\\\",[603]],[[401,401],\\\\\\\"mapped\\\\\\\",[402]],[[402,402],\\\\\\\"valid\\\\\\\"],[[403,403],\\\\\\\"mapped\\\\\\\",[608]],[[404,404],\\\\\\\"mapped\\\\\\\",[611]],[[405,405],\\\\\\\"valid\\\\\\\"],[[406,406],\\\\\\\"mapped\\\\\\\",[617]],[[407,407],\\\\\\\"mapped\\\\\\\",[616]],[[408,408],\\\\\\\"mapped\\\\\\\",[409]],[[409,411],\\\\\\\"valid\\\\\\\"],[[412,412],\\\\\\\"mapped\\\\\\\",[623]],[[413,413],\\\\\\\"mapped\\\\\\\",[626]],[[414,414],\\\\\\\"valid\\\\\\\"],[[415,415],\\\\\\\"mapped\\\\\\\",[629]],[[416,416],\\\\\\\"mapped\\\\\\\",[417]],[[417,417],\\\\\\\"valid\\\\\\\"],[[418,418],\\\\\\\"mapped\\\\\\\",[419]],[[419,419],\\\\\\\"valid\\\\\\\"],[[420,420],\\\\\\\"mapped\\\\\\\",[421]],[[421,421],\\\\\\\"valid\\\\\\\"],[[422,422],\\\\\\\"mapped\\\\\\\",[640]],[[423,423],\\\\\\\"mapped\\\\\\\",[424]],[[424,424],\\\\\\\"valid\\\\\\\"],[[425,425],\\\\\\\"mapped\\\\\\\",[643]],[[426,427],\\\\\\\"valid\\\\\\\"],[[428,428],\\\\\\\"mapped\\\\\\\",[429]],[[429,429],\\\\\\\"valid\\\\\\\"],[[430,430],\\\\\\\"mapped\\\\\\\",[648]],[[431,431],\\\\\\\"mapped\\\\\\\",[432]],[[432,432],\\\\\\\"valid\\\\\\\"],[[433,433],\\\\\\\"mapped\\\\\\\",[650]],[[434,434],\\\\\\\"mapped\\\\\\\",[651]],[[435,435],\\\\\\\"mapped\\\\\\\",[436]],[[436,436],\\\\\\\"valid\\\\\\\"],[[437,437],\\\\\\\"mapped\\\\\\\",[438]],[[438,438],\\\\\\\"valid\\\\\\\"],[[439,439],\\\\\\\"mapped\\\\\\\",[658]],[[440,440],\\\\\\\"mapped\\\\\\\",[441]],[[441,443],\\\\\\\"valid\\\\\\\"],[[444,444],\\\\\\\"mapped\\\\\\\",[445]],[[445,451],\\\\\\\"valid\\\\\\\"],[[452,454],\\\\\\\"mapped\\\\\\\",[100,382]],[[455,457],\\\\\\\"mapped\\\\\\\",[108,106]],[[458,460],\\\\\\\"mapped\\\\\\\",[110,106]],[[461,461],\\\\\\\"mapped\\\\\\\",[462]],[[462,462],\\\\\\\"valid\\\\\\\"],[[463,463],\\\\\\\"mapped\\\\\\\",[464]],[[464,464],\\\\\\\"valid\\\\\\\"],[[465,465],\\\\\\\"mapped\\\\\\\",[466]],[[466,466],\\\\\\\"valid\\\\\\\"],[[467,467],\\\\\\\"mapped\\\\\\\",[468]],[[468,468],\\\\\\\"valid\\\\\\\"],[[469,469],\\\\\\\"mapped\\\\\\\",[470]],[[470,470],\\\\\\\"valid\\\\\\\"],[[471,471],\\\\\\\"mapped\\\\\\\",[472]],[[472,472],\\\\\\\"valid\\\\\\\"],[[473,473],\\\\\\\"mapped\\\\\\\",[474]],[[474,474],\\\\\\\"valid\\\\\\\"],[[475,475],\\\\\\\"mapped\\\\\\\",[476]],[[476,477],\\\\\\\"valid\\\\\\\"],[[478,478],\\\\\\\"mapped\\\\\\\",[479]],[[479,479],\\\\\\\"valid\\\\\\\"],[[480,480],\\\\\\\"mapped\\\\\\\",[481]],[[481,481],\\\\\\\"valid\\\\\\\"],[[482,482],\\\\\\\"mapped\\\\\\\",[483]],[[483,483],\\\\\\\"valid\\\\\\\"],[[484,484],\\\\\\\"mapped\\\\\\\",[485]],[[485,485],\\\\\\\"valid\\\\\\\"],[[486,486],\\\\\\\"mapped\\\\\\\",[487]],[[487,487],\\\\\\\"valid\\\\\\\"],[[488,488],\\\\\\\"mapped\\\\\\\",[489]],[[489,489],\\\\\\\"valid\\\\\\\"],[[490,490],\\\\\\\"mapped\\\\\\\",[491]],[[491,491],\\\\\\\"valid\\\\\\\"],[[492,492],\\\\\\\"mapped\\\\\\\",[493]],[[493,493],\\\\\\\"valid\\\\\\\"],[[494,494],\\\\\\\"mapped\\\\\\\",[495]],[[495,496],\\\\\\\"valid\\\\\\\"],[[497,499],\\\\\\\"mapped\\\\\\\",[100,122]],[[500,500],\\\\\\\"mapped\\\\\\\",[501]],[[501,501],\\\\\\\"valid\\\\\\\"],[[502,502],\\\\\\\"mapped\\\\\\\",[405]],[[503,503],\\\\\\\"mapped\\\\\\\",[447]],[[504,504],\\\\\\\"mapped\\\\\\\",[505]],[[505,505],\\\\\\\"valid\\\\\\\"],[[506,506],\\\\\\\"mapped\\\\\\\",[507]],[[507,507],\\\\\\\"valid\\\\\\\"],[[508,508],\\\\\\\"mapped\\\\\\\",[509]],[[509,509],\\\\\\\"valid\\\\\\\"],[[510,510],\\\\\\\"mapped\\\\\\\",[511]],[[511,511],\\\\\\\"valid\\\\\\\"],[[512,512],\\\\\\\"mapped\\\\\\\",[513]],[[513,513],\\\\\\\"valid\\\\\\\"],[[514,514],\\\\\\\"mapped\\\\\\\",[515]],[[515,515],\\\\\\\"valid\\\\\\\"],[[516,516],\\\\\\\"mapped\\\\\\\",[517]],[[517,517],\\\\\\\"valid\\\\\\\"],[[518,518],\\\\\\\"mapped\\\\\\\",[519]],[[519,519],\\\\\\\"valid\\\\\\\"],[[520,520],\\\\\\\"mapped\\\\\\\",[521]],[[521,521],\\\\\\\"valid\\\\\\\"],[[522,522],\\\\\\\"mapped\\\\\\\",[523]],[[523,523],\\\\\\\"valid\\\\\\\"],[[524,524],\\\\\\\"mapped\\\\\\\",[525]],[[525,525],\\\\\\\"valid\\\\\\\"],[[526,526],\\\\\\\"mapped\\\\\\\",[527]],[[527,527],\\\\\\\"valid\\\\\\\"],[[528,528],\\\\\\\"mapped\\\\\\\",[529]],[[529,529],\\\\\\\"valid\\\\\\\"],[[530,530],\\\\\\\"mapped\\\\\\\",[531]],[[531,531],\\\\\\\"valid\\\\\\\"],[[532,532],\\\\\\\"mapped\\\\\\\",[533]],[[533,533],\\\\\\\"valid\\\\\\\"],[[534,534],\\\\\\\"mapped\\\\\\\",[535]],[[535,535],\\\\\\\"valid\\\\\\\"],[[536,536],\\\\\\\"mapped\\\\\\\",[537]],[[537,537],\\\\\\\"valid\\\\\\\"],[[538,538],\\\\\\\"mapped\\\\\\\",[539]],[[539,539],\\\\\\\"valid\\\\\\\"],[[540,540],\\\\\\\"mapped\\\\\\\",[541]],[[541,541],\\\\\\\"valid\\\\\\\"],[[542,542],\\\\\\\"mapped\\\\\\\",[543]],[[543,543],\\\\\\\"valid\\\\\\\"],[[544,544],\\\\\\\"mapped\\\\\\\",[414]],[[545,545],\\\\\\\"valid\\\\\\\"],[[546,546],\\\\\\\"mapped\\\\\\\",[547]],[[547,547],\\\\\\\"valid\\\\\\\"],[[548,548],\\\\\\\"mapped\\\\\\\",[549]],[[549,549],\\\\\\\"valid\\\\\\\"],[[550,550],\\\\\\\"mapped\\\\\\\",[551]],[[551,551],\\\\\\\"valid\\\\\\\"],[[552,552],\\\\\\\"mapped\\\\\\\",[553]],[[553,553],\\\\\\\"valid\\\\\\\"],[[554,554],\\\\\\\"mapped\\\\\\\",[555]],[[555,555],\\\\\\\"valid\\\\\\\"],[[556,556],\\\\\\\"mapped\\\\\\\",[557]],[[557,557],\\\\\\\"valid\\\\\\\"],[[558,558],\\\\\\\"mapped\\\\\\\",[559]],[[559,559],\\\\\\\"valid\\\\\\\"],[[560,560],\\\\\\\"mapped\\\\\\\",[561]],[[561,561],\\\\\\\"valid\\\\\\\"],[[562,562],\\\\\\\"mapped\\\\\\\",[563]],[[563,563],\\\\\\\"valid\\\\\\\"],[[564,566],\\\\\\\"valid\\\\\\\"],[[567,569],\\\\\\\"valid\\\\\\\"],[[570,570],\\\\\\\"mapped\\\\\\\",[11365]],[[571,571],\\\\\\\"mapped\\\\\\\",[572]],[[572,572],\\\\\\\"valid\\\\\\\"],[[573,573],\\\\\\\"mapped\\\\\\\",[410]],[[574,574],\\\\\\\"mapped\\\\\\\",[11366]],[[575,576],\\\\\\\"valid\\\\\\\"],[[577,577],\\\\\\\"mapped\\\\\\\",[578]],[[578,578],\\\\\\\"valid\\\\\\\"],[[579,579],\\\\\\\"mapped\\\\\\\",[384]],[[580,580],\\\\\\\"mapped\\\\\\\",[649]],[[581,581],\\\\\\\"mapped\\\\\\\",[652]],[[582,582],\\\\\\\"mapped\\\\\\\",[583]],[[583,583],\\\\\\\"valid\\\\\\\"],[[584,584],\\\\\\\"mapped\\\\\\\",[585]],[[585,585],\\\\\\\"valid\\\\\\\"],[[586,586],\\\\\\\"mapped\\\\\\\",[587]],[[587,587],\\\\\\\"valid\\\\\\\"],[[588,588],\\\\\\\"mapped\\\\\\\",[589]],[[589,589],\\\\\\\"valid\\\\\\\"],[[590,590],\\\\\\\"mapped\\\\\\\",[591]],[[591,591],\\\\\\\"valid\\\\\\\"],[[592,680],\\\\\\\"valid\\\\\\\"],[[681,685],\\\\\\\"valid\\\\\\\"],[[686,687],\\\\\\\"valid\\\\\\\"],[[688,688],\\\\\\\"mapped\\\\\\\",[104]],[[689,689],\\\\\\\"mapped\\\\\\\",[614]],[[690,690],\\\\\\\"mapped\\\\\\\",[106]],[[691,691],\\\\\\\"mapped\\\\\\\",[114]],[[692,692],\\\\\\\"mapped\\\\\\\",[633]],[[693,693],\\\\\\\"mapped\\\\\\\",[635]],[[694,694],\\\\\\\"mapped\\\\\\\",[641]],[[695,695],\\\\\\\"mapped\\\\\\\",[119]],[[696,696],\\\\\\\"mapped\\\\\\\",[121]],[[697,705],\\\\\\\"valid\\\\\\\"],[[706,709],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[710,721],\\\\\\\"valid\\\\\\\"],[[722,727],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[728,728],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,774]],[[729,729],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,775]],[[730,730],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,778]],[[731,731],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,808]],[[732,732],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,771]],[[733,733],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,779]],[[734,734],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[735,735],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[736,736],\\\\\\\"mapped\\\\\\\",[611]],[[737,737],\\\\\\\"mapped\\\\\\\",[108]],[[738,738],\\\\\\\"mapped\\\\\\\",[115]],[[739,739],\\\\\\\"mapped\\\\\\\",[120]],[[740,740],\\\\\\\"mapped\\\\\\\",[661]],[[741,745],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[746,747],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[748,748],\\\\\\\"valid\\\\\\\"],[[749,749],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[750,750],\\\\\\\"valid\\\\\\\"],[[751,767],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[768,831],\\\\\\\"valid\\\\\\\"],[[832,832],\\\\\\\"mapped\\\\\\\",[768]],[[833,833],\\\\\\\"mapped\\\\\\\",[769]],[[834,834],\\\\\\\"valid\\\\\\\"],[[835,835],\\\\\\\"mapped\\\\\\\",[787]],[[836,836],\\\\\\\"mapped\\\\\\\",[776,769]],[[837,837],\\\\\\\"mapped\\\\\\\",[953]],[[838,846],\\\\\\\"valid\\\\\\\"],[[847,847],\\\\\\\"ignored\\\\\\\"],[[848,855],\\\\\\\"valid\\\\\\\"],[[856,860],\\\\\\\"valid\\\\\\\"],[[861,863],\\\\\\\"valid\\\\\\\"],[[864,865],\\\\\\\"valid\\\\\\\"],[[866,866],\\\\\\\"valid\\\\\\\"],[[867,879],\\\\\\\"valid\\\\\\\"],[[880,880],\\\\\\\"mapped\\\\\\\",[881]],[[881,881],\\\\\\\"valid\\\\\\\"],[[882,882],\\\\\\\"mapped\\\\\\\",[883]],[[883,883],\\\\\\\"valid\\\\\\\"],[[884,884],\\\\\\\"mapped\\\\\\\",[697]],[[885,885],\\\\\\\"valid\\\\\\\"],[[886,886],\\\\\\\"mapped\\\\\\\",[887]],[[887,887],\\\\\\\"valid\\\\\\\"],[[888,889],\\\\\\\"disallowed\\\\\\\"],[[890,890],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,953]],[[891,893],\\\\\\\"valid\\\\\\\"],[[894,894],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[59]],[[895,895],\\\\\\\"mapped\\\\\\\",[1011]],[[896,899],\\\\\\\"disallowed\\\\\\\"],[[900,900],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,769]],[[901,901],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,776,769]],[[902,902],\\\\\\\"mapped\\\\\\\",[940]],[[903,903],\\\\\\\"mapped\\\\\\\",[183]],[[904,904],\\\\\\\"mapped\\\\\\\",[941]],[[905,905],\\\\\\\"mapped\\\\\\\",[942]],[[906,906],\\\\\\\"mapped\\\\\\\",[943]],[[907,907],\\\\\\\"disallowed\\\\\\\"],[[908,908],\\\\\\\"mapped\\\\\\\",[972]],[[909,909],\\\\\\\"disallowed\\\\\\\"],[[910,910],\\\\\\\"mapped\\\\\\\",[973]],[[911,911],\\\\\\\"mapped\\\\\\\",[974]],[[912,912],\\\\\\\"valid\\\\\\\"],[[913,913],\\\\\\\"mapped\\\\\\\",[945]],[[914,914],\\\\\\\"mapped\\\\\\\",[946]],[[915,915],\\\\\\\"mapped\\\\\\\",[947]],[[916,916],\\\\\\\"mapped\\\\\\\",[948]],[[917,917],\\\\\\\"mapped\\\\\\\",[949]],[[918,918],\\\\\\\"mapped\\\\\\\",[950]],[[919,919],\\\\\\\"mapped\\\\\\\",[951]],[[920,920],\\\\\\\"mapped\\\\\\\",[952]],[[921,921],\\\\\\\"mapped\\\\\\\",[953]],[[922,922],\\\\\\\"mapped\\\\\\\",[954]],[[923,923],\\\\\\\"mapped\\\\\\\",[955]],[[924,924],\\\\\\\"mapped\\\\\\\",[956]],[[925,925],\\\\\\\"mapped\\\\\\\",[957]],[[926,926],\\\\\\\"mapped\\\\\\\",[958]],[[927,927],\\\\\\\"mapped\\\\\\\",[959]],[[928,928],\\\\\\\"mapped\\\\\\\",[960]],[[929,929],\\\\\\\"mapped\\\\\\\",[961]],[[930,930],\\\\\\\"disallowed\\\\\\\"],[[931,931],\\\\\\\"mapped\\\\\\\",[963]],[[932,932],\\\\\\\"mapped\\\\\\\",[964]],[[933,933],\\\\\\\"mapped\\\\\\\",[965]],[[934,934],\\\\\\\"mapped\\\\\\\",[966]],[[935,935],\\\\\\\"mapped\\\\\\\",[967]],[[936,936],\\\\\\\"mapped\\\\\\\",[968]],[[937,937],\\\\\\\"mapped\\\\\\\",[969]],[[938,938],\\\\\\\"mapped\\\\\\\",[970]],[[939,939],\\\\\\\"mapped\\\\\\\",[971]],[[940,961],\\\\\\\"valid\\\\\\\"],[[962,962],\\\\\\\"deviation\\\\\\\",[963]],[[963,974],\\\\\\\"valid\\\\\\\"],[[975,975],\\\\\\\"mapped\\\\\\\",[983]],[[976,976],\\\\\\\"mapped\\\\\\\",[946]],[[977,977],\\\\\\\"mapped\\\\\\\",[952]],[[978,978],\\\\\\\"mapped\\\\\\\",[965]],[[979,979],\\\\\\\"mapped\\\\\\\",[973]],[[980,980],\\\\\\\"mapped\\\\\\\",[971]],[[981,981],\\\\\\\"mapped\\\\\\\",[966]],[[982,982],\\\\\\\"mapped\\\\\\\",[960]],[[983,983],\\\\\\\"valid\\\\\\\"],[[984,984],\\\\\\\"mapped\\\\\\\",[985]],[[985,985],\\\\\\\"valid\\\\\\\"],[[986,986],\\\\\\\"mapped\\\\\\\",[987]],[[987,987],\\\\\\\"valid\\\\\\\"],[[988,988],\\\\\\\"mapped\\\\\\\",[989]],[[989,989],\\\\\\\"valid\\\\\\\"],[[990,990],\\\\\\\"mapped\\\\\\\",[991]],[[991,991],\\\\\\\"valid\\\\\\\"],[[992,992],\\\\\\\"mapped\\\\\\\",[993]],[[993,993],\\\\\\\"valid\\\\\\\"],[[994,994],\\\\\\\"mapped\\\\\\\",[995]],[[995,995],\\\\\\\"valid\\\\\\\"],[[996,996],\\\\\\\"mapped\\\\\\\",[997]],[[997,997],\\\\\\\"valid\\\\\\\"],[[998,998],\\\\\\\"mapped\\\\\\\",[999]],[[999,999],\\\\\\\"valid\\\\\\\"],[[1000,1000],\\\\\\\"mapped\\\\\\\",[1001]],[[1001,1001],\\\\\\\"valid\\\\\\\"],[[1002,1002],\\\\\\\"mapped\\\\\\\",[1003]],[[1003,1003],\\\\\\\"valid\\\\\\\"],[[1004,1004],\\\\\\\"mapped\\\\\\\",[1005]],[[1005,1005],\\\\\\\"valid\\\\\\\"],[[1006,1006],\\\\\\\"mapped\\\\\\\",[1007]],[[1007,1007],\\\\\\\"valid\\\\\\\"],[[1008,1008],\\\\\\\"mapped\\\\\\\",[954]],[[1009,1009],\\\\\\\"mapped\\\\\\\",[961]],[[1010,1010],\\\\\\\"mapped\\\\\\\",[963]],[[1011,1011],\\\\\\\"valid\\\\\\\"],[[1012,1012],\\\\\\\"mapped\\\\\\\",[952]],[[1013,1013],\\\\\\\"mapped\\\\\\\",[949]],[[1014,1014],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1015,1015],\\\\\\\"mapped\\\\\\\",[1016]],[[1016,1016],\\\\\\\"valid\\\\\\\"],[[1017,1017],\\\\\\\"mapped\\\\\\\",[963]],[[1018,1018],\\\\\\\"mapped\\\\\\\",[1019]],[[1019,1019],\\\\\\\"valid\\\\\\\"],[[1020,1020],\\\\\\\"valid\\\\\\\"],[[1021,1021],\\\\\\\"mapped\\\\\\\",[891]],[[1022,1022],\\\\\\\"mapped\\\\\\\",[892]],[[1023,1023],\\\\\\\"mapped\\\\\\\",[893]],[[1024,1024],\\\\\\\"mapped\\\\\\\",[1104]],[[1025,1025],\\\\\\\"mapped\\\\\\\",[1105]],[[1026,1026],\\\\\\\"mapped\\\\\\\",[1106]],[[1027,1027],\\\\\\\"mapped\\\\\\\",[1107]],[[1028,1028],\\\\\\\"mapped\\\\\\\",[1108]],[[1029,1029],\\\\\\\"mapped\\\\\\\",[1109]],[[1030,1030],\\\\\\\"mapped\\\\\\\",[1110]],[[1031,1031],\\\\\\\"mapped\\\\\\\",[1111]],[[1032,1032],\\\\\\\"mapped\\\\\\\",[1112]],[[1033,1033],\\\\\\\"mapped\\\\\\\",[1113]],[[1034,1034],\\\\\\\"mapped\\\\\\\",[1114]],[[1035,1035],\\\\\\\"mapped\\\\\\\",[1115]],[[1036,1036],\\\\\\\"mapped\\\\\\\",[1116]],[[1037,1037],\\\\\\\"mapped\\\\\\\",[1117]],[[1038,1038],\\\\\\\"mapped\\\\\\\",[1118]],[[1039,1039],\\\\\\\"mapped\\\\\\\",[1119]],[[1040,1040],\\\\\\\"mapped\\\\\\\",[1072]],[[1041,1041],\\\\\\\"mapped\\\\\\\",[1073]],[[1042,1042],\\\\\\\"mapped\\\\\\\",[1074]],[[1043,1043],\\\\\\\"mapped\\\\\\\",[1075]],[[1044,1044],\\\\\\\"mapped\\\\\\\",[1076]],[[1045,1045],\\\\\\\"mapped\\\\\\\",[1077]],[[1046,1046],\\\\\\\"mapped\\\\\\\",[1078]],[[1047,1047],\\\\\\\"mapped\\\\\\\",[1079]],[[1048,1048],\\\\\\\"mapped\\\\\\\",[1080]],[[1049,1049],\\\\\\\"mapped\\\\\\\",[1081]],[[1050,1050],\\\\\\\"mapped\\\\\\\",[1082]],[[1051,1051],\\\\\\\"mapped\\\\\\\",[1083]],[[1052,1052],\\\\\\\"mapped\\\\\\\",[1084]],[[1053,1053],\\\\\\\"mapped\\\\\\\",[1085]],[[1054,1054],\\\\\\\"mapped\\\\\\\",[1086]],[[1055,1055],\\\\\\\"mapped\\\\\\\",[1087]],[[1056,1056],\\\\\\\"mapped\\\\\\\",[1088]],[[1057,1057],\\\\\\\"mapped\\\\\\\",[1089]],[[1058,1058],\\\\\\\"mapped\\\\\\\",[1090]],[[1059,1059],\\\\\\\"mapped\\\\\\\",[1091]],[[1060,1060],\\\\\\\"mapped\\\\\\\",[1092]],[[1061,1061],\\\\\\\"mapped\\\\\\\",[1093]],[[1062,1062],\\\\\\\"mapped\\\\\\\",[1094]],[[1063,1063],\\\\\\\"mapped\\\\\\\",[1095]],[[1064,1064],\\\\\\\"mapped\\\\\\\",[1096]],[[1065,1065],\\\\\\\"mapped\\\\\\\",[1097]],[[1066,1066],\\\\\\\"mapped\\\\\\\",[1098]],[[1067,1067],\\\\\\\"mapped\\\\\\\",[1099]],[[1068,1068],\\\\\\\"mapped\\\\\\\",[1100]],[[1069,1069],\\\\\\\"mapped\\\\\\\",[1101]],[[1070,1070],\\\\\\\"mapped\\\\\\\",[1102]],[[1071,1071],\\\\\\\"mapped\\\\\\\",[1103]],[[1072,1103],\\\\\\\"valid\\\\\\\"],[[1104,1104],\\\\\\\"valid\\\\\\\"],[[1105,1116],\\\\\\\"valid\\\\\\\"],[[1117,1117],\\\\\\\"valid\\\\\\\"],[[1118,1119],\\\\\\\"valid\\\\\\\"],[[1120,1120],\\\\\\\"mapped\\\\\\\",[1121]],[[1121,1121],\\\\\\\"valid\\\\\\\"],[[1122,1122],\\\\\\\"mapped\\\\\\\",[1123]],[[1123,1123],\\\\\\\"valid\\\\\\\"],[[1124,1124],\\\\\\\"mapped\\\\\\\",[1125]],[[1125,1125],\\\\\\\"valid\\\\\\\"],[[1126,1126],\\\\\\\"mapped\\\\\\\",[1127]],[[1127,1127],\\\\\\\"valid\\\\\\\"],[[1128,1128],\\\\\\\"mapped\\\\\\\",[1129]],[[1129,1129],\\\\\\\"valid\\\\\\\"],[[1130,1130],\\\\\\\"mapped\\\\\\\",[1131]],[[1131,1131],\\\\\\\"valid\\\\\\\"],[[1132,1132],\\\\\\\"mapped\\\\\\\",[1133]],[[1133,1133],\\\\\\\"valid\\\\\\\"],[[1134,1134],\\\\\\\"mapped\\\\\\\",[1135]],[[1135,1135],\\\\\\\"valid\\\\\\\"],[[1136,1136],\\\\\\\"mapped\\\\\\\",[1137]],[[1137,1137],\\\\\\\"valid\\\\\\\"],[[1138,1138],\\\\\\\"mapped\\\\\\\",[1139]],[[1139,1139],\\\\\\\"valid\\\\\\\"],[[1140,1140],\\\\\\\"mapped\\\\\\\",[1141]],[[1141,1141],\\\\\\\"valid\\\\\\\"],[[1142,1142],\\\\\\\"mapped\\\\\\\",[1143]],[[1143,1143],\\\\\\\"valid\\\\\\\"],[[1144,1144],\\\\\\\"mapped\\\\\\\",[1145]],[[1145,1145],\\\\\\\"valid\\\\\\\"],[[1146,1146],\\\\\\\"mapped\\\\\\\",[1147]],[[1147,1147],\\\\\\\"valid\\\\\\\"],[[1148,1148],\\\\\\\"mapped\\\\\\\",[1149]],[[1149,1149],\\\\\\\"valid\\\\\\\"],[[1150,1150],\\\\\\\"mapped\\\\\\\",[1151]],[[1151,1151],\\\\\\\"valid\\\\\\\"],[[1152,1152],\\\\\\\"mapped\\\\\\\",[1153]],[[1153,1153],\\\\\\\"valid\\\\\\\"],[[1154,1154],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1155,1158],\\\\\\\"valid\\\\\\\"],[[1159,1159],\\\\\\\"valid\\\\\\\"],[[1160,1161],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1162,1162],\\\\\\\"mapped\\\\\\\",[1163]],[[1163,1163],\\\\\\\"valid\\\\\\\"],[[1164,1164],\\\\\\\"mapped\\\\\\\",[1165]],[[1165,1165],\\\\\\\"valid\\\\\\\"],[[1166,1166],\\\\\\\"mapped\\\\\\\",[1167]],[[1167,1167],\\\\\\\"valid\\\\\\\"],[[1168,1168],\\\\\\\"mapped\\\\\\\",[1169]],[[1169,1169],\\\\\\\"valid\\\\\\\"],[[1170,1170],\\\\\\\"mapped\\\\\\\",[1171]],[[1171,1171],\\\\\\\"valid\\\\\\\"],[[1172,1172],\\\\\\\"mapped\\\\\\\",[1173]],[[1173,1173],\\\\\\\"valid\\\\\\\"],[[1174,1174],\\\\\\\"mapped\\\\\\\",[1175]],[[1175,1175],\\\\\\\"valid\\\\\\\"],[[1176,1176],\\\\\\\"mapped\\\\\\\",[1177]],[[1177,1177],\\\\\\\"valid\\\\\\\"],[[1178,1178],\\\\\\\"mapped\\\\\\\",[1179]],[[1179,1179],\\\\\\\"valid\\\\\\\"],[[1180,1180],\\\\\\\"mapped\\\\\\\",[1181]],[[1181,1181],\\\\\\\"valid\\\\\\\"],[[1182,1182],\\\\\\\"mapped\\\\\\\",[1183]],[[1183,1183],\\\\\\\"valid\\\\\\\"],[[1184,1184],\\\\\\\"mapped\\\\\\\",[1185]],[[1185,1185],\\\\\\\"valid\\\\\\\"],[[1186,1186],\\\\\\\"mapped\\\\\\\",[1187]],[[1187,1187],\\\\\\\"valid\\\\\\\"],[[1188,1188],\\\\\\\"mapped\\\\\\\",[1189]],[[1189,1189],\\\\\\\"valid\\\\\\\"],[[1190,1190],\\\\\\\"mapped\\\\\\\",[1191]],[[1191,1191],\\\\\\\"valid\\\\\\\"],[[1192,1192],\\\\\\\"mapped\\\\\\\",[1193]],[[1193,1193],\\\\\\\"valid\\\\\\\"],[[1194,1194],\\\\\\\"mapped\\\\\\\",[1195]],[[1195,1195],\\\\\\\"valid\\\\\\\"],[[1196,1196],\\\\\\\"mapped\\\\\\\",[1197]],[[1197,1197],\\\\\\\"valid\\\\\\\"],[[1198,1198],\\\\\\\"mapped\\\\\\\",[1199]],[[1199,1199],\\\\\\\"valid\\\\\\\"],[[1200,1200],\\\\\\\"mapped\\\\\\\",[1201]],[[1201,1201],\\\\\\\"valid\\\\\\\"],[[1202,1202],\\\\\\\"mapped\\\\\\\",[1203]],[[1203,1203],\\\\\\\"valid\\\\\\\"],[[1204,1204],\\\\\\\"mapped\\\\\\\",[1205]],[[1205,1205],\\\\\\\"valid\\\\\\\"],[[1206,1206],\\\\\\\"mapped\\\\\\\",[1207]],[[1207,1207],\\\\\\\"valid\\\\\\\"],[[1208,1208],\\\\\\\"mapped\\\\\\\",[1209]],[[1209,1209],\\\\\\\"valid\\\\\\\"],[[1210,1210],\\\\\\\"mapped\\\\\\\",[1211]],[[1211,1211],\\\\\\\"valid\\\\\\\"],[[1212,1212],\\\\\\\"mapped\\\\\\\",[1213]],[[1213,1213],\\\\\\\"valid\\\\\\\"],[[1214,1214],\\\\\\\"mapped\\\\\\\",[1215]],[[1215,1215],\\\\\\\"valid\\\\\\\"],[[1216,1216],\\\\\\\"disallowed\\\\\\\"],[[1217,1217],\\\\\\\"mapped\\\\\\\",[1218]],[[1218,1218],\\\\\\\"valid\\\\\\\"],[[1219,1219],\\\\\\\"mapped\\\\\\\",[1220]],[[1220,1220],\\\\\\\"valid\\\\\\\"],[[1221,1221],\\\\\\\"mapped\\\\\\\",[1222]],[[1222,1222],\\\\\\\"valid\\\\\\\"],[[1223,1223],\\\\\\\"mapped\\\\\\\",[1224]],[[1224,1224],\\\\\\\"valid\\\\\\\"],[[1225,1225],\\\\\\\"mapped\\\\\\\",[1226]],[[1226,1226],\\\\\\\"valid\\\\\\\"],[[1227,1227],\\\\\\\"mapped\\\\\\\",[1228]],[[1228,1228],\\\\\\\"valid\\\\\\\"],[[1229,1229],\\\\\\\"mapped\\\\\\\",[1230]],[[1230,1230],\\\\\\\"valid\\\\\\\"],[[1231,1231],\\\\\\\"valid\\\\\\\"],[[1232,1232],\\\\\\\"mapped\\\\\\\",[1233]],[[1233,1233],\\\\\\\"valid\\\\\\\"],[[1234,1234],\\\\\\\"mapped\\\\\\\",[1235]],[[1235,1235],\\\\\\\"valid\\\\\\\"],[[1236,1236],\\\\\\\"mapped\\\\\\\",[1237]],[[1237,1237],\\\\\\\"valid\\\\\\\"],[[1238,1238],\\\\\\\"mapped\\\\\\\",[1239]],[[1239,1239],\\\\\\\"valid\\\\\\\"],[[1240,1240],\\\\\\\"mapped\\\\\\\",[1241]],[[1241,1241],\\\\\\\"valid\\\\\\\"],[[1242,1242],\\\\\\\"mapped\\\\\\\",[1243]],[[1243,1243],\\\\\\\"valid\\\\\\\"],[[1244,1244],\\\\\\\"mapped\\\\\\\",[1245]],[[1245,1245],\\\\\\\"valid\\\\\\\"],[[1246,1246],\\\\\\\"mapped\\\\\\\",[1247]],[[1247,1247],\\\\\\\"valid\\\\\\\"],[[1248,1248],\\\\\\\"mapped\\\\\\\",[1249]],[[1249,1249],\\\\\\\"valid\\\\\\\"],[[1250,1250],\\\\\\\"mapped\\\\\\\",[1251]],[[1251,1251],\\\\\\\"valid\\\\\\\"],[[1252,1252],\\\\\\\"mapped\\\\\\\",[1253]],[[1253,1253],\\\\\\\"valid\\\\\\\"],[[1254,1254],\\\\\\\"mapped\\\\\\\",[1255]],[[1255,1255],\\\\\\\"valid\\\\\\\"],[[1256,1256],\\\\\\\"mapped\\\\\\\",[1257]],[[1257,1257],\\\\\\\"valid\\\\\\\"],[[1258,1258],\\\\\\\"mapped\\\\\\\",[1259]],[[1259,1259],\\\\\\\"valid\\\\\\\"],[[1260,1260],\\\\\\\"mapped\\\\\\\",[1261]],[[1261,1261],\\\\\\\"valid\\\\\\\"],[[1262,1262],\\\\\\\"mapped\\\\\\\",[1263]],[[1263,1263],\\\\\\\"valid\\\\\\\"],[[1264,1264],\\\\\\\"mapped\\\\\\\",[1265]],[[1265,1265],\\\\\\\"valid\\\\\\\"],[[1266,1266],\\\\\\\"mapped\\\\\\\",[1267]],[[1267,1267],\\\\\\\"valid\\\\\\\"],[[1268,1268],\\\\\\\"mapped\\\\\\\",[1269]],[[1269,1269],\\\\\\\"valid\\\\\\\"],[[1270,1270],\\\\\\\"mapped\\\\\\\",[1271]],[[1271,1271],\\\\\\\"valid\\\\\\\"],[[1272,1272],\\\\\\\"mapped\\\\\\\",[1273]],[[1273,1273],\\\\\\\"valid\\\\\\\"],[[1274,1274],\\\\\\\"mapped\\\\\\\",[1275]],[[1275,1275],\\\\\\\"valid\\\\\\\"],[[1276,1276],\\\\\\\"mapped\\\\\\\",[1277]],[[1277,1277],\\\\\\\"valid\\\\\\\"],[[1278,1278],\\\\\\\"mapped\\\\\\\",[1279]],[[1279,1279],\\\\\\\"valid\\\\\\\"],[[1280,1280],\\\\\\\"mapped\\\\\\\",[1281]],[[1281,1281],\\\\\\\"valid\\\\\\\"],[[1282,1282],\\\\\\\"mapped\\\\\\\",[1283]],[[1283,1283],\\\\\\\"valid\\\\\\\"],[[1284,1284],\\\\\\\"mapped\\\\\\\",[1285]],[[1285,1285],\\\\\\\"valid\\\\\\\"],[[1286,1286],\\\\\\\"mapped\\\\\\\",[1287]],[[1287,1287],\\\\\\\"valid\\\\\\\"],[[1288,1288],\\\\\\\"mapped\\\\\\\",[1289]],[[1289,1289],\\\\\\\"valid\\\\\\\"],[[1290,1290],\\\\\\\"mapped\\\\\\\",[1291]],[[1291,1291],\\\\\\\"valid\\\\\\\"],[[1292,1292],\\\\\\\"mapped\\\\\\\",[1293]],[[1293,1293],\\\\\\\"valid\\\\\\\"],[[1294,1294],\\\\\\\"mapped\\\\\\\",[1295]],[[1295,1295],\\\\\\\"valid\\\\\\\"],[[1296,1296],\\\\\\\"mapped\\\\\\\",[1297]],[[1297,1297],\\\\\\\"valid\\\\\\\"],[[1298,1298],\\\\\\\"mapped\\\\\\\",[1299]],[[1299,1299],\\\\\\\"valid\\\\\\\"],[[1300,1300],\\\\\\\"mapped\\\\\\\",[1301]],[[1301,1301],\\\\\\\"valid\\\\\\\"],[[1302,1302],\\\\\\\"mapped\\\\\\\",[1303]],[[1303,1303],\\\\\\\"valid\\\\\\\"],[[1304,1304],\\\\\\\"mapped\\\\\\\",[1305]],[[1305,1305],\\\\\\\"valid\\\\\\\"],[[1306,1306],\\\\\\\"mapped\\\\\\\",[1307]],[[1307,1307],\\\\\\\"valid\\\\\\\"],[[1308,1308],\\\\\\\"mapped\\\\\\\",[1309]],[[1309,1309],\\\\\\\"valid\\\\\\\"],[[1310,1310],\\\\\\\"mapped\\\\\\\",[1311]],[[1311,1311],\\\\\\\"valid\\\\\\\"],[[1312,1312],\\\\\\\"mapped\\\\\\\",[1313]],[[1313,1313],\\\\\\\"valid\\\\\\\"],[[1314,1314],\\\\\\\"mapped\\\\\\\",[1315]],[[1315,1315],\\\\\\\"valid\\\\\\\"],[[1316,1316],\\\\\\\"mapped\\\\\\\",[1317]],[[1317,1317],\\\\\\\"valid\\\\\\\"],[[1318,1318],\\\\\\\"mapped\\\\\\\",[1319]],[[1319,1319],\\\\\\\"valid\\\\\\\"],[[1320,1320],\\\\\\\"mapped\\\\\\\",[1321]],[[1321,1321],\\\\\\\"valid\\\\\\\"],[[1322,1322],\\\\\\\"mapped\\\\\\\",[1323]],[[1323,1323],\\\\\\\"valid\\\\\\\"],[[1324,1324],\\\\\\\"mapped\\\\\\\",[1325]],[[1325,1325],\\\\\\\"valid\\\\\\\"],[[1326,1326],\\\\\\\"mapped\\\\\\\",[1327]],[[1327,1327],\\\\\\\"valid\\\\\\\"],[[1328,1328],\\\\\\\"disallowed\\\\\\\"],[[1329,1329],\\\\\\\"mapped\\\\\\\",[1377]],[[1330,1330],\\\\\\\"mapped\\\\\\\",[1378]],[[1331,1331],\\\\\\\"mapped\\\\\\\",[1379]],[[1332,1332],\\\\\\\"mapped\\\\\\\",[1380]],[[1333,1333],\\\\\\\"mapped\\\\\\\",[1381]],[[1334,1334],\\\\\\\"mapped\\\\\\\",[1382]],[[1335,1335],\\\\\\\"mapped\\\\\\\",[1383]],[[1336,1336],\\\\\\\"mapped\\\\\\\",[1384]],[[1337,1337],\\\\\\\"mapped\\\\\\\",[1385]],[[1338,1338],\\\\\\\"mapped\\\\\\\",[1386]],[[1339,1339],\\\\\\\"mapped\\\\\\\",[1387]],[[1340,1340],\\\\\\\"mapped\\\\\\\",[1388]],[[1341,1341],\\\\\\\"mapped\\\\\\\",[1389]],[[1342,1342],\\\\\\\"mapped\\\\\\\",[1390]],[[1343,1343],\\\\\\\"mapped\\\\\\\",[1391]],[[1344,1344],\\\\\\\"mapped\\\\\\\",[1392]],[[1345,1345],\\\\\\\"mapped\\\\\\\",[1393]],[[1346,1346],\\\\\\\"mapped\\\\\\\",[1394]],[[1347,1347],\\\\\\\"mapped\\\\\\\",[1395]],[[1348,1348],\\\\\\\"mapped\\\\\\\",[1396]],[[1349,1349],\\\\\\\"mapped\\\\\\\",[1397]],[[1350,1350],\\\\\\\"mapped\\\\\\\",[1398]],[[1351,1351],\\\\\\\"mapped\\\\\\\",[1399]],[[1352,1352],\\\\\\\"mapped\\\\\\\",[1400]],[[1353,1353],\\\\\\\"mapped\\\\\\\",[1401]],[[1354,1354],\\\\\\\"mapped\\\\\\\",[1402]],[[1355,1355],\\\\\\\"mapped\\\\\\\",[1403]],[[1356,1356],\\\\\\\"mapped\\\\\\\",[1404]],[[1357,1357],\\\\\\\"mapped\\\\\\\",[1405]],[[1358,1358],\\\\\\\"mapped\\\\\\\",[1406]],[[1359,1359],\\\\\\\"mapped\\\\\\\",[1407]],[[1360,1360],\\\\\\\"mapped\\\\\\\",[1408]],[[1361,1361],\\\\\\\"mapped\\\\\\\",[1409]],[[1362,1362],\\\\\\\"mapped\\\\\\\",[1410]],[[1363,1363],\\\\\\\"mapped\\\\\\\",[1411]],[[1364,1364],\\\\\\\"mapped\\\\\\\",[1412]],[[1365,1365],\\\\\\\"mapped\\\\\\\",[1413]],[[1366,1366],\\\\\\\"mapped\\\\\\\",[1414]],[[1367,1368],\\\\\\\"disallowed\\\\\\\"],[[1369,1369],\\\\\\\"valid\\\\\\\"],[[1370,1375],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1376,1376],\\\\\\\"disallowed\\\\\\\"],[[1377,1414],\\\\\\\"valid\\\\\\\"],[[1415,1415],\\\\\\\"mapped\\\\\\\",[1381,1410]],[[1416,1416],\\\\\\\"disallowed\\\\\\\"],[[1417,1417],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1418,1418],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1419,1420],\\\\\\\"disallowed\\\\\\\"],[[1421,1422],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1423,1423],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1424,1424],\\\\\\\"disallowed\\\\\\\"],[[1425,1441],\\\\\\\"valid\\\\\\\"],[[1442,1442],\\\\\\\"valid\\\\\\\"],[[1443,1455],\\\\\\\"valid\\\\\\\"],[[1456,1465],\\\\\\\"valid\\\\\\\"],[[1466,1466],\\\\\\\"valid\\\\\\\"],[[1467,1469],\\\\\\\"valid\\\\\\\"],[[1470,1470],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1471,1471],\\\\\\\"valid\\\\\\\"],[[1472,1472],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1473,1474],\\\\\\\"valid\\\\\\\"],[[1475,1475],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1476,1476],\\\\\\\"valid\\\\\\\"],[[1477,1477],\\\\\\\"valid\\\\\\\"],[[1478,1478],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1479,1479],\\\\\\\"valid\\\\\\\"],[[1480,1487],\\\\\\\"disallowed\\\\\\\"],[[1488,1514],\\\\\\\"valid\\\\\\\"],[[1515,1519],\\\\\\\"disallowed\\\\\\\"],[[1520,1524],\\\\\\\"valid\\\\\\\"],[[1525,1535],\\\\\\\"disallowed\\\\\\\"],[[1536,1539],\\\\\\\"disallowed\\\\\\\"],[[1540,1540],\\\\\\\"disallowed\\\\\\\"],[[1541,1541],\\\\\\\"disallowed\\\\\\\"],[[1542,1546],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1547,1547],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1548,1548],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1549,1551],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1552,1557],\\\\\\\"valid\\\\\\\"],[[1558,1562],\\\\\\\"valid\\\\\\\"],[[1563,1563],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1564,1564],\\\\\\\"disallowed\\\\\\\"],[[1565,1565],\\\\\\\"disallowed\\\\\\\"],[[1566,1566],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1567,1567],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1568,1568],\\\\\\\"valid\\\\\\\"],[[1569,1594],\\\\\\\"valid\\\\\\\"],[[1595,1599],\\\\\\\"valid\\\\\\\"],[[1600,1600],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1601,1618],\\\\\\\"valid\\\\\\\"],[[1619,1621],\\\\\\\"valid\\\\\\\"],[[1622,1624],\\\\\\\"valid\\\\\\\"],[[1625,1630],\\\\\\\"valid\\\\\\\"],[[1631,1631],\\\\\\\"valid\\\\\\\"],[[1632,1641],\\\\\\\"valid\\\\\\\"],[[1642,1645],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1646,1647],\\\\\\\"valid\\\\\\\"],[[1648,1652],\\\\\\\"valid\\\\\\\"],[[1653,1653],\\\\\\\"mapped\\\\\\\",[1575,1652]],[[1654,1654],\\\\\\\"mapped\\\\\\\",[1608,1652]],[[1655,1655],\\\\\\\"mapped\\\\\\\",[1735,1652]],[[1656,1656],\\\\\\\"mapped\\\\\\\",[1610,1652]],[[1657,1719],\\\\\\\"valid\\\\\\\"],[[1720,1721],\\\\\\\"valid\\\\\\\"],[[1722,1726],\\\\\\\"valid\\\\\\\"],[[1727,1727],\\\\\\\"valid\\\\\\\"],[[1728,1742],\\\\\\\"valid\\\\\\\"],[[1743,1743],\\\\\\\"valid\\\\\\\"],[[1744,1747],\\\\\\\"valid\\\\\\\"],[[1748,1748],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1749,1756],\\\\\\\"valid\\\\\\\"],[[1757,1757],\\\\\\\"disallowed\\\\\\\"],[[1758,1758],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1759,1768],\\\\\\\"valid\\\\\\\"],[[1769,1769],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1770,1773],\\\\\\\"valid\\\\\\\"],[[1774,1775],\\\\\\\"valid\\\\\\\"],[[1776,1785],\\\\\\\"valid\\\\\\\"],[[1786,1790],\\\\\\\"valid\\\\\\\"],[[1791,1791],\\\\\\\"valid\\\\\\\"],[[1792,1805],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[1806,1806],\\\\\\\"disallowed\\\\\\\"],[[1807,1807],\\\\\\\"disallowed\\\\\\\"],[[1808,1836],\\\\\\\"valid\\\\\\\"],[[1837,1839],\\\\\\\"valid\\\\\\\"],[[1840,1866],\\\\\\\"valid\\\\\\\"],[[1867,1868],\\\\\\\"disallowed\\\\\\\"],[[1869,1871],\\\\\\\"valid\\\\\\\"],[[1872,1901],\\\\\\\"valid\\\\\\\"],[[1902,1919],\\\\\\\"valid\\\\\\\"],[[1920,1968],\\\\\\\"valid\\\\\\\"],[[1969,1969],\\\\\\\"valid\\\\\\\"],[[1970,1983],\\\\\\\"disallowed\\\\\\\"],[[1984,2037],\\\\\\\"valid\\\\\\\"],[[2038,2042],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2043,2047],\\\\\\\"disallowed\\\\\\\"],[[2048,2093],\\\\\\\"valid\\\\\\\"],[[2094,2095],\\\\\\\"disallowed\\\\\\\"],[[2096,2110],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2111,2111],\\\\\\\"disallowed\\\\\\\"],[[2112,2139],\\\\\\\"valid\\\\\\\"],[[2140,2141],\\\\\\\"disallowed\\\\\\\"],[[2142,2142],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2143,2207],\\\\\\\"disallowed\\\\\\\"],[[2208,2208],\\\\\\\"valid\\\\\\\"],[[2209,2209],\\\\\\\"valid\\\\\\\"],[[2210,2220],\\\\\\\"valid\\\\\\\"],[[2221,2226],\\\\\\\"valid\\\\\\\"],[[2227,2228],\\\\\\\"valid\\\\\\\"],[[2229,2274],\\\\\\\"disallowed\\\\\\\"],[[2275,2275],\\\\\\\"valid\\\\\\\"],[[2276,2302],\\\\\\\"valid\\\\\\\"],[[2303,2303],\\\\\\\"valid\\\\\\\"],[[2304,2304],\\\\\\\"valid\\\\\\\"],[[2305,2307],\\\\\\\"valid\\\\\\\"],[[2308,2308],\\\\\\\"valid\\\\\\\"],[[2309,2361],\\\\\\\"valid\\\\\\\"],[[2362,2363],\\\\\\\"valid\\\\\\\"],[[2364,2381],\\\\\\\"valid\\\\\\\"],[[2382,2382],\\\\\\\"valid\\\\\\\"],[[2383,2383],\\\\\\\"valid\\\\\\\"],[[2384,2388],\\\\\\\"valid\\\\\\\"],[[2389,2389],\\\\\\\"valid\\\\\\\"],[[2390,2391],\\\\\\\"valid\\\\\\\"],[[2392,2392],\\\\\\\"mapped\\\\\\\",[2325,2364]],[[2393,2393],\\\\\\\"mapped\\\\\\\",[2326,2364]],[[2394,2394],\\\\\\\"mapped\\\\\\\",[2327,2364]],[[2395,2395],\\\\\\\"mapped\\\\\\\",[2332,2364]],[[2396,2396],\\\\\\\"mapped\\\\\\\",[2337,2364]],[[2397,2397],\\\\\\\"mapped\\\\\\\",[2338,2364]],[[2398,2398],\\\\\\\"mapped\\\\\\\",[2347,2364]],[[2399,2399],\\\\\\\"mapped\\\\\\\",[2351,2364]],[[2400,2403],\\\\\\\"valid\\\\\\\"],[[2404,2405],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2406,2415],\\\\\\\"valid\\\\\\\"],[[2416,2416],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2417,2418],\\\\\\\"valid\\\\\\\"],[[2419,2423],\\\\\\\"valid\\\\\\\"],[[2424,2424],\\\\\\\"valid\\\\\\\"],[[2425,2426],\\\\\\\"valid\\\\\\\"],[[2427,2428],\\\\\\\"valid\\\\\\\"],[[2429,2429],\\\\\\\"valid\\\\\\\"],[[2430,2431],\\\\\\\"valid\\\\\\\"],[[2432,2432],\\\\\\\"valid\\\\\\\"],[[2433,2435],\\\\\\\"valid\\\\\\\"],[[2436,2436],\\\\\\\"disallowed\\\\\\\"],[[2437,2444],\\\\\\\"valid\\\\\\\"],[[2445,2446],\\\\\\\"disallowed\\\\\\\"],[[2447,2448],\\\\\\\"valid\\\\\\\"],[[2449,2450],\\\\\\\"disallowed\\\\\\\"],[[2451,2472],\\\\\\\"valid\\\\\\\"],[[2473,2473],\\\\\\\"disallowed\\\\\\\"],[[2474,2480],\\\\\\\"valid\\\\\\\"],[[2481,2481],\\\\\\\"disallowed\\\\\\\"],[[2482,2482],\\\\\\\"valid\\\\\\\"],[[2483,2485],\\\\\\\"disallowed\\\\\\\"],[[2486,2489],\\\\\\\"valid\\\\\\\"],[[2490,2491],\\\\\\\"disallowed\\\\\\\"],[[2492,2492],\\\\\\\"valid\\\\\\\"],[[2493,2493],\\\\\\\"valid\\\\\\\"],[[2494,2500],\\\\\\\"valid\\\\\\\"],[[2501,2502],\\\\\\\"disallowed\\\\\\\"],[[2503,2504],\\\\\\\"valid\\\\\\\"],[[2505,2506],\\\\\\\"disallowed\\\\\\\"],[[2507,2509],\\\\\\\"valid\\\\\\\"],[[2510,2510],\\\\\\\"valid\\\\\\\"],[[2511,2518],\\\\\\\"disallowed\\\\\\\"],[[2519,2519],\\\\\\\"valid\\\\\\\"],[[2520,2523],\\\\\\\"disallowed\\\\\\\"],[[2524,2524],\\\\\\\"mapped\\\\\\\",[2465,2492]],[[2525,2525],\\\\\\\"mapped\\\\\\\",[2466,2492]],[[2526,2526],\\\\\\\"disallowed\\\\\\\"],[[2527,2527],\\\\\\\"mapped\\\\\\\",[2479,2492]],[[2528,2531],\\\\\\\"valid\\\\\\\"],[[2532,2533],\\\\\\\"disallowed\\\\\\\"],[[2534,2545],\\\\\\\"valid\\\\\\\"],[[2546,2554],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2555,2555],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2556,2560],\\\\\\\"disallowed\\\\\\\"],[[2561,2561],\\\\\\\"valid\\\\\\\"],[[2562,2562],\\\\\\\"valid\\\\\\\"],[[2563,2563],\\\\\\\"valid\\\\\\\"],[[2564,2564],\\\\\\\"disallowed\\\\\\\"],[[2565,2570],\\\\\\\"valid\\\\\\\"],[[2571,2574],\\\\\\\"disallowed\\\\\\\"],[[2575,2576],\\\\\\\"valid\\\\\\\"],[[2577,2578],\\\\\\\"disallowed\\\\\\\"],[[2579,2600],\\\\\\\"valid\\\\\\\"],[[2601,2601],\\\\\\\"disallowed\\\\\\\"],[[2602,2608],\\\\\\\"valid\\\\\\\"],[[2609,2609],\\\\\\\"disallowed\\\\\\\"],[[2610,2610],\\\\\\\"valid\\\\\\\"],[[2611,2611],\\\\\\\"mapped\\\\\\\",[2610,2620]],[[2612,2612],\\\\\\\"disallowed\\\\\\\"],[[2613,2613],\\\\\\\"valid\\\\\\\"],[[2614,2614],\\\\\\\"mapped\\\\\\\",[2616,2620]],[[2615,2615],\\\\\\\"disallowed\\\\\\\"],[[2616,2617],\\\\\\\"valid\\\\\\\"],[[2618,2619],\\\\\\\"disallowed\\\\\\\"],[[2620,2620],\\\\\\\"valid\\\\\\\"],[[2621,2621],\\\\\\\"disallowed\\\\\\\"],[[2622,2626],\\\\\\\"valid\\\\\\\"],[[2627,2630],\\\\\\\"disallowed\\\\\\\"],[[2631,2632],\\\\\\\"valid\\\\\\\"],[[2633,2634],\\\\\\\"disallowed\\\\\\\"],[[2635,2637],\\\\\\\"valid\\\\\\\"],[[2638,2640],\\\\\\\"disallowed\\\\\\\"],[[2641,2641],\\\\\\\"valid\\\\\\\"],[[2642,2648],\\\\\\\"disallowed\\\\\\\"],[[2649,2649],\\\\\\\"mapped\\\\\\\",[2582,2620]],[[2650,2650],\\\\\\\"mapped\\\\\\\",[2583,2620]],[[2651,2651],\\\\\\\"mapped\\\\\\\",[2588,2620]],[[2652,2652],\\\\\\\"valid\\\\\\\"],[[2653,2653],\\\\\\\"disallowed\\\\\\\"],[[2654,2654],\\\\\\\"mapped\\\\\\\",[2603,2620]],[[2655,2661],\\\\\\\"disallowed\\\\\\\"],[[2662,2676],\\\\\\\"valid\\\\\\\"],[[2677,2677],\\\\\\\"valid\\\\\\\"],[[2678,2688],\\\\\\\"disallowed\\\\\\\"],[[2689,2691],\\\\\\\"valid\\\\\\\"],[[2692,2692],\\\\\\\"disallowed\\\\\\\"],[[2693,2699],\\\\\\\"valid\\\\\\\"],[[2700,2700],\\\\\\\"valid\\\\\\\"],[[2701,2701],\\\\\\\"valid\\\\\\\"],[[2702,2702],\\\\\\\"disallowed\\\\\\\"],[[2703,2705],\\\\\\\"valid\\\\\\\"],[[2706,2706],\\\\\\\"disallowed\\\\\\\"],[[2707,2728],\\\\\\\"valid\\\\\\\"],[[2729,2729],\\\\\\\"disallowed\\\\\\\"],[[2730,2736],\\\\\\\"valid\\\\\\\"],[[2737,2737],\\\\\\\"disallowed\\\\\\\"],[[2738,2739],\\\\\\\"valid\\\\\\\"],[[2740,2740],\\\\\\\"disallowed\\\\\\\"],[[2741,2745],\\\\\\\"valid\\\\\\\"],[[2746,2747],\\\\\\\"disallowed\\\\\\\"],[[2748,2757],\\\\\\\"valid\\\\\\\"],[[2758,2758],\\\\\\\"disallowed\\\\\\\"],[[2759,2761],\\\\\\\"valid\\\\\\\"],[[2762,2762],\\\\\\\"disallowed\\\\\\\"],[[2763,2765],\\\\\\\"valid\\\\\\\"],[[2766,2767],\\\\\\\"disallowed\\\\\\\"],[[2768,2768],\\\\\\\"valid\\\\\\\"],[[2769,2783],\\\\\\\"disallowed\\\\\\\"],[[2784,2784],\\\\\\\"valid\\\\\\\"],[[2785,2787],\\\\\\\"valid\\\\\\\"],[[2788,2789],\\\\\\\"disallowed\\\\\\\"],[[2790,2799],\\\\\\\"valid\\\\\\\"],[[2800,2800],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2801,2801],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2802,2808],\\\\\\\"disallowed\\\\\\\"],[[2809,2809],\\\\\\\"valid\\\\\\\"],[[2810,2816],\\\\\\\"disallowed\\\\\\\"],[[2817,2819],\\\\\\\"valid\\\\\\\"],[[2820,2820],\\\\\\\"disallowed\\\\\\\"],[[2821,2828],\\\\\\\"valid\\\\\\\"],[[2829,2830],\\\\\\\"disallowed\\\\\\\"],[[2831,2832],\\\\\\\"valid\\\\\\\"],[[2833,2834],\\\\\\\"disallowed\\\\\\\"],[[2835,2856],\\\\\\\"valid\\\\\\\"],[[2857,2857],\\\\\\\"disallowed\\\\\\\"],[[2858,2864],\\\\\\\"valid\\\\\\\"],[[2865,2865],\\\\\\\"disallowed\\\\\\\"],[[2866,2867],\\\\\\\"valid\\\\\\\"],[[2868,2868],\\\\\\\"disallowed\\\\\\\"],[[2869,2869],\\\\\\\"valid\\\\\\\"],[[2870,2873],\\\\\\\"valid\\\\\\\"],[[2874,2875],\\\\\\\"disallowed\\\\\\\"],[[2876,2883],\\\\\\\"valid\\\\\\\"],[[2884,2884],\\\\\\\"valid\\\\\\\"],[[2885,2886],\\\\\\\"disallowed\\\\\\\"],[[2887,2888],\\\\\\\"valid\\\\\\\"],[[2889,2890],\\\\\\\"disallowed\\\\\\\"],[[2891,2893],\\\\\\\"valid\\\\\\\"],[[2894,2901],\\\\\\\"disallowed\\\\\\\"],[[2902,2903],\\\\\\\"valid\\\\\\\"],[[2904,2907],\\\\\\\"disallowed\\\\\\\"],[[2908,2908],\\\\\\\"mapped\\\\\\\",[2849,2876]],[[2909,2909],\\\\\\\"mapped\\\\\\\",[2850,2876]],[[2910,2910],\\\\\\\"disallowed\\\\\\\"],[[2911,2913],\\\\\\\"valid\\\\\\\"],[[2914,2915],\\\\\\\"valid\\\\\\\"],[[2916,2917],\\\\\\\"disallowed\\\\\\\"],[[2918,2927],\\\\\\\"valid\\\\\\\"],[[2928,2928],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2929,2929],\\\\\\\"valid\\\\\\\"],[[2930,2935],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[2936,2945],\\\\\\\"disallowed\\\\\\\"],[[2946,2947],\\\\\\\"valid\\\\\\\"],[[2948,2948],\\\\\\\"disallowed\\\\\\\"],[[2949,2954],\\\\\\\"valid\\\\\\\"],[[2955,2957],\\\\\\\"disallowed\\\\\\\"],[[2958,2960],\\\\\\\"valid\\\\\\\"],[[2961,2961],\\\\\\\"disallowed\\\\\\\"],[[2962,2965],\\\\\\\"valid\\\\\\\"],[[2966,2968],\\\\\\\"disallowed\\\\\\\"],[[2969,2970],\\\\\\\"valid\\\\\\\"],[[2971,2971],\\\\\\\"disallowed\\\\\\\"],[[2972,2972],\\\\\\\"valid\\\\\\\"],[[2973,2973],\\\\\\\"disallowed\\\\\\\"],[[2974,2975],\\\\\\\"valid\\\\\\\"],[[2976,2978],\\\\\\\"disallowed\\\\\\\"],[[2979,2980],\\\\\\\"valid\\\\\\\"],[[2981,2983],\\\\\\\"disallowed\\\\\\\"],[[2984,2986],\\\\\\\"valid\\\\\\\"],[[2987,2989],\\\\\\\"disallowed\\\\\\\"],[[2990,2997],\\\\\\\"valid\\\\\\\"],[[2998,2998],\\\\\\\"valid\\\\\\\"],[[2999,3001],\\\\\\\"valid\\\\\\\"],[[3002,3005],\\\\\\\"disallowed\\\\\\\"],[[3006,3010],\\\\\\\"valid\\\\\\\"],[[3011,3013],\\\\\\\"disallowed\\\\\\\"],[[3014,3016],\\\\\\\"valid\\\\\\\"],[[3017,3017],\\\\\\\"disallowed\\\\\\\"],[[3018,3021],\\\\\\\"valid\\\\\\\"],[[3022,3023],\\\\\\\"disallowed\\\\\\\"],[[3024,3024],\\\\\\\"valid\\\\\\\"],[[3025,3030],\\\\\\\"disallowed\\\\\\\"],[[3031,3031],\\\\\\\"valid\\\\\\\"],[[3032,3045],\\\\\\\"disallowed\\\\\\\"],[[3046,3046],\\\\\\\"valid\\\\\\\"],[[3047,3055],\\\\\\\"valid\\\\\\\"],[[3056,3058],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3059,3066],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3067,3071],\\\\\\\"disallowed\\\\\\\"],[[3072,3072],\\\\\\\"valid\\\\\\\"],[[3073,3075],\\\\\\\"valid\\\\\\\"],[[3076,3076],\\\\\\\"disallowed\\\\\\\"],[[3077,3084],\\\\\\\"valid\\\\\\\"],[[3085,3085],\\\\\\\"disallowed\\\\\\\"],[[3086,3088],\\\\\\\"valid\\\\\\\"],[[3089,3089],\\\\\\\"disallowed\\\\\\\"],[[3090,3112],\\\\\\\"valid\\\\\\\"],[[3113,3113],\\\\\\\"disallowed\\\\\\\"],[[3114,3123],\\\\\\\"valid\\\\\\\"],[[3124,3124],\\\\\\\"valid\\\\\\\"],[[3125,3129],\\\\\\\"valid\\\\\\\"],[[3130,3132],\\\\\\\"disallowed\\\\\\\"],[[3133,3133],\\\\\\\"valid\\\\\\\"],[[3134,3140],\\\\\\\"valid\\\\\\\"],[[3141,3141],\\\\\\\"disallowed\\\\\\\"],[[3142,3144],\\\\\\\"valid\\\\\\\"],[[3145,3145],\\\\\\\"disallowed\\\\\\\"],[[3146,3149],\\\\\\\"valid\\\\\\\"],[[3150,3156],\\\\\\\"disallowed\\\\\\\"],[[3157,3158],\\\\\\\"valid\\\\\\\"],[[3159,3159],\\\\\\\"disallowed\\\\\\\"],[[3160,3161],\\\\\\\"valid\\\\\\\"],[[3162,3162],\\\\\\\"valid\\\\\\\"],[[3163,3167],\\\\\\\"disallowed\\\\\\\"],[[3168,3169],\\\\\\\"valid\\\\\\\"],[[3170,3171],\\\\\\\"valid\\\\\\\"],[[3172,3173],\\\\\\\"disallowed\\\\\\\"],[[3174,3183],\\\\\\\"valid\\\\\\\"],[[3184,3191],\\\\\\\"disallowed\\\\\\\"],[[3192,3199],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3200,3200],\\\\\\\"disallowed\\\\\\\"],[[3201,3201],\\\\\\\"valid\\\\\\\"],[[3202,3203],\\\\\\\"valid\\\\\\\"],[[3204,3204],\\\\\\\"disallowed\\\\\\\"],[[3205,3212],\\\\\\\"valid\\\\\\\"],[[3213,3213],\\\\\\\"disallowed\\\\\\\"],[[3214,3216],\\\\\\\"valid\\\\\\\"],[[3217,3217],\\\\\\\"disallowed\\\\\\\"],[[3218,3240],\\\\\\\"valid\\\\\\\"],[[3241,3241],\\\\\\\"disallowed\\\\\\\"],[[3242,3251],\\\\\\\"valid\\\\\\\"],[[3252,3252],\\\\\\\"disallowed\\\\\\\"],[[3253,3257],\\\\\\\"valid\\\\\\\"],[[3258,3259],\\\\\\\"disallowed\\\\\\\"],[[3260,3261],\\\\\\\"valid\\\\\\\"],[[3262,3268],\\\\\\\"valid\\\\\\\"],[[3269,3269],\\\\\\\"disallowed\\\\\\\"],[[3270,3272],\\\\\\\"valid\\\\\\\"],[[3273,3273],\\\\\\\"disallowed\\\\\\\"],[[3274,3277],\\\\\\\"valid\\\\\\\"],[[3278,3284],\\\\\\\"disallowed\\\\\\\"],[[3285,3286],\\\\\\\"valid\\\\\\\"],[[3287,3293],\\\\\\\"disallowed\\\\\\\"],[[3294,3294],\\\\\\\"valid\\\\\\\"],[[3295,3295],\\\\\\\"disallowed\\\\\\\"],[[3296,3297],\\\\\\\"valid\\\\\\\"],[[3298,3299],\\\\\\\"valid\\\\\\\"],[[3300,3301],\\\\\\\"disallowed\\\\\\\"],[[3302,3311],\\\\\\\"valid\\\\\\\"],[[3312,3312],\\\\\\\"disallowed\\\\\\\"],[[3313,3314],\\\\\\\"valid\\\\\\\"],[[3315,3328],\\\\\\\"disallowed\\\\\\\"],[[3329,3329],\\\\\\\"valid\\\\\\\"],[[3330,3331],\\\\\\\"valid\\\\\\\"],[[3332,3332],\\\\\\\"disallowed\\\\\\\"],[[3333,3340],\\\\\\\"valid\\\\\\\"],[[3341,3341],\\\\\\\"disallowed\\\\\\\"],[[3342,3344],\\\\\\\"valid\\\\\\\"],[[3345,3345],\\\\\\\"disallowed\\\\\\\"],[[3346,3368],\\\\\\\"valid\\\\\\\"],[[3369,3369],\\\\\\\"valid\\\\\\\"],[[3370,3385],\\\\\\\"valid\\\\\\\"],[[3386,3386],\\\\\\\"valid\\\\\\\"],[[3387,3388],\\\\\\\"disallowed\\\\\\\"],[[3389,3389],\\\\\\\"valid\\\\\\\"],[[3390,3395],\\\\\\\"valid\\\\\\\"],[[3396,3396],\\\\\\\"valid\\\\\\\"],[[3397,3397],\\\\\\\"disallowed\\\\\\\"],[[3398,3400],\\\\\\\"valid\\\\\\\"],[[3401,3401],\\\\\\\"disallowed\\\\\\\"],[[3402,3405],\\\\\\\"valid\\\\\\\"],[[3406,3406],\\\\\\\"valid\\\\\\\"],[[3407,3414],\\\\\\\"disallowed\\\\\\\"],[[3415,3415],\\\\\\\"valid\\\\\\\"],[[3416,3422],\\\\\\\"disallowed\\\\\\\"],[[3423,3423],\\\\\\\"valid\\\\\\\"],[[3424,3425],\\\\\\\"valid\\\\\\\"],[[3426,3427],\\\\\\\"valid\\\\\\\"],[[3428,3429],\\\\\\\"disallowed\\\\\\\"],[[3430,3439],\\\\\\\"valid\\\\\\\"],[[3440,3445],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3446,3448],\\\\\\\"disallowed\\\\\\\"],[[3449,3449],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3450,3455],\\\\\\\"valid\\\\\\\"],[[3456,3457],\\\\\\\"disallowed\\\\\\\"],[[3458,3459],\\\\\\\"valid\\\\\\\"],[[3460,3460],\\\\\\\"disallowed\\\\\\\"],[[3461,3478],\\\\\\\"valid\\\\\\\"],[[3479,3481],\\\\\\\"disallowed\\\\\\\"],[[3482,3505],\\\\\\\"valid\\\\\\\"],[[3506,3506],\\\\\\\"disallowed\\\\\\\"],[[3507,3515],\\\\\\\"valid\\\\\\\"],[[3516,3516],\\\\\\\"disallowed\\\\\\\"],[[3517,3517],\\\\\\\"valid\\\\\\\"],[[3518,3519],\\\\\\\"disallowed\\\\\\\"],[[3520,3526],\\\\\\\"valid\\\\\\\"],[[3527,3529],\\\\\\\"disallowed\\\\\\\"],[[3530,3530],\\\\\\\"valid\\\\\\\"],[[3531,3534],\\\\\\\"disallowed\\\\\\\"],[[3535,3540],\\\\\\\"valid\\\\\\\"],[[3541,3541],\\\\\\\"disallowed\\\\\\\"],[[3542,3542],\\\\\\\"valid\\\\\\\"],[[3543,3543],\\\\\\\"disallowed\\\\\\\"],[[3544,3551],\\\\\\\"valid\\\\\\\"],[[3552,3557],\\\\\\\"disallowed\\\\\\\"],[[3558,3567],\\\\\\\"valid\\\\\\\"],[[3568,3569],\\\\\\\"disallowed\\\\\\\"],[[3570,3571],\\\\\\\"valid\\\\\\\"],[[3572,3572],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3573,3584],\\\\\\\"disallowed\\\\\\\"],[[3585,3634],\\\\\\\"valid\\\\\\\"],[[3635,3635],\\\\\\\"mapped\\\\\\\",[3661,3634]],[[3636,3642],\\\\\\\"valid\\\\\\\"],[[3643,3646],\\\\\\\"disallowed\\\\\\\"],[[3647,3647],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3648,3662],\\\\\\\"valid\\\\\\\"],[[3663,3663],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3664,3673],\\\\\\\"valid\\\\\\\"],[[3674,3675],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3676,3712],\\\\\\\"disallowed\\\\\\\"],[[3713,3714],\\\\\\\"valid\\\\\\\"],[[3715,3715],\\\\\\\"disallowed\\\\\\\"],[[3716,3716],\\\\\\\"valid\\\\\\\"],[[3717,3718],\\\\\\\"disallowed\\\\\\\"],[[3719,3720],\\\\\\\"valid\\\\\\\"],[[3721,3721],\\\\\\\"disallowed\\\\\\\"],[[3722,3722],\\\\\\\"valid\\\\\\\"],[[3723,3724],\\\\\\\"disallowed\\\\\\\"],[[3725,3725],\\\\\\\"valid\\\\\\\"],[[3726,3731],\\\\\\\"disallowed\\\\\\\"],[[3732,3735],\\\\\\\"valid\\\\\\\"],[[3736,3736],\\\\\\\"disallowed\\\\\\\"],[[3737,3743],\\\\\\\"valid\\\\\\\"],[[3744,3744],\\\\\\\"disallowed\\\\\\\"],[[3745,3747],\\\\\\\"valid\\\\\\\"],[[3748,3748],\\\\\\\"disallowed\\\\\\\"],[[3749,3749],\\\\\\\"valid\\\\\\\"],[[3750,3750],\\\\\\\"disallowed\\\\\\\"],[[3751,3751],\\\\\\\"valid\\\\\\\"],[[3752,3753],\\\\\\\"disallowed\\\\\\\"],[[3754,3755],\\\\\\\"valid\\\\\\\"],[[3756,3756],\\\\\\\"disallowed\\\\\\\"],[[3757,3762],\\\\\\\"valid\\\\\\\"],[[3763,3763],\\\\\\\"mapped\\\\\\\",[3789,3762]],[[3764,3769],\\\\\\\"valid\\\\\\\"],[[3770,3770],\\\\\\\"disallowed\\\\\\\"],[[3771,3773],\\\\\\\"valid\\\\\\\"],[[3774,3775],\\\\\\\"disallowed\\\\\\\"],[[3776,3780],\\\\\\\"valid\\\\\\\"],[[3781,3781],\\\\\\\"disallowed\\\\\\\"],[[3782,3782],\\\\\\\"valid\\\\\\\"],[[3783,3783],\\\\\\\"disallowed\\\\\\\"],[[3784,3789],\\\\\\\"valid\\\\\\\"],[[3790,3791],\\\\\\\"disallowed\\\\\\\"],[[3792,3801],\\\\\\\"valid\\\\\\\"],[[3802,3803],\\\\\\\"disallowed\\\\\\\"],[[3804,3804],\\\\\\\"mapped\\\\\\\",[3755,3737]],[[3805,3805],\\\\\\\"mapped\\\\\\\",[3755,3745]],[[3806,3807],\\\\\\\"valid\\\\\\\"],[[3808,3839],\\\\\\\"disallowed\\\\\\\"],[[3840,3840],\\\\\\\"valid\\\\\\\"],[[3841,3850],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3851,3851],\\\\\\\"valid\\\\\\\"],[[3852,3852],\\\\\\\"mapped\\\\\\\",[3851]],[[3853,3863],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3864,3865],\\\\\\\"valid\\\\\\\"],[[3866,3871],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3872,3881],\\\\\\\"valid\\\\\\\"],[[3882,3892],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3893,3893],\\\\\\\"valid\\\\\\\"],[[3894,3894],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3895,3895],\\\\\\\"valid\\\\\\\"],[[3896,3896],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3897,3897],\\\\\\\"valid\\\\\\\"],[[3898,3901],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3902,3906],\\\\\\\"valid\\\\\\\"],[[3907,3907],\\\\\\\"mapped\\\\\\\",[3906,4023]],[[3908,3911],\\\\\\\"valid\\\\\\\"],[[3912,3912],\\\\\\\"disallowed\\\\\\\"],[[3913,3916],\\\\\\\"valid\\\\\\\"],[[3917,3917],\\\\\\\"mapped\\\\\\\",[3916,4023]],[[3918,3921],\\\\\\\"valid\\\\\\\"],[[3922,3922],\\\\\\\"mapped\\\\\\\",[3921,4023]],[[3923,3926],\\\\\\\"valid\\\\\\\"],[[3927,3927],\\\\\\\"mapped\\\\\\\",[3926,4023]],[[3928,3931],\\\\\\\"valid\\\\\\\"],[[3932,3932],\\\\\\\"mapped\\\\\\\",[3931,4023]],[[3933,3944],\\\\\\\"valid\\\\\\\"],[[3945,3945],\\\\\\\"mapped\\\\\\\",[3904,4021]],[[3946,3946],\\\\\\\"valid\\\\\\\"],[[3947,3948],\\\\\\\"valid\\\\\\\"],[[3949,3952],\\\\\\\"disallowed\\\\\\\"],[[3953,3954],\\\\\\\"valid\\\\\\\"],[[3955,3955],\\\\\\\"mapped\\\\\\\",[3953,3954]],[[3956,3956],\\\\\\\"valid\\\\\\\"],[[3957,3957],\\\\\\\"mapped\\\\\\\",[3953,3956]],[[3958,3958],\\\\\\\"mapped\\\\\\\",[4018,3968]],[[3959,3959],\\\\\\\"mapped\\\\\\\",[4018,3953,3968]],[[3960,3960],\\\\\\\"mapped\\\\\\\",[4019,3968]],[[3961,3961],\\\\\\\"mapped\\\\\\\",[4019,3953,3968]],[[3962,3968],\\\\\\\"valid\\\\\\\"],[[3969,3969],\\\\\\\"mapped\\\\\\\",[3953,3968]],[[3970,3972],\\\\\\\"valid\\\\\\\"],[[3973,3973],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[3974,3979],\\\\\\\"valid\\\\\\\"],[[3980,3983],\\\\\\\"valid\\\\\\\"],[[3984,3986],\\\\\\\"valid\\\\\\\"],[[3987,3987],\\\\\\\"mapped\\\\\\\",[3986,4023]],[[3988,3989],\\\\\\\"valid\\\\\\\"],[[3990,3990],\\\\\\\"valid\\\\\\\"],[[3991,3991],\\\\\\\"valid\\\\\\\"],[[3992,3992],\\\\\\\"disallowed\\\\\\\"],[[3993,3996],\\\\\\\"valid\\\\\\\"],[[3997,3997],\\\\\\\"mapped\\\\\\\",[3996,4023]],[[3998,4001],\\\\\\\"valid\\\\\\\"],[[4002,4002],\\\\\\\"mapped\\\\\\\",[4001,4023]],[[4003,4006],\\\\\\\"valid\\\\\\\"],[[4007,4007],\\\\\\\"mapped\\\\\\\",[4006,4023]],[[4008,4011],\\\\\\\"valid\\\\\\\"],[[4012,4012],\\\\\\\"mapped\\\\\\\",[4011,4023]],[[4013,4013],\\\\\\\"valid\\\\\\\"],[[4014,4016],\\\\\\\"valid\\\\\\\"],[[4017,4023],\\\\\\\"valid\\\\\\\"],[[4024,4024],\\\\\\\"valid\\\\\\\"],[[4025,4025],\\\\\\\"mapped\\\\\\\",[3984,4021]],[[4026,4028],\\\\\\\"valid\\\\\\\"],[[4029,4029],\\\\\\\"disallowed\\\\\\\"],[[4030,4037],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4038,4038],\\\\\\\"valid\\\\\\\"],[[4039,4044],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4045,4045],\\\\\\\"disallowed\\\\\\\"],[[4046,4046],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4047,4047],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4048,4049],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4050,4052],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4053,4056],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4057,4058],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4059,4095],\\\\\\\"disallowed\\\\\\\"],[[4096,4129],\\\\\\\"valid\\\\\\\"],[[4130,4130],\\\\\\\"valid\\\\\\\"],[[4131,4135],\\\\\\\"valid\\\\\\\"],[[4136,4136],\\\\\\\"valid\\\\\\\"],[[4137,4138],\\\\\\\"valid\\\\\\\"],[[4139,4139],\\\\\\\"valid\\\\\\\"],[[4140,4146],\\\\\\\"valid\\\\\\\"],[[4147,4149],\\\\\\\"valid\\\\\\\"],[[4150,4153],\\\\\\\"valid\\\\\\\"],[[4154,4159],\\\\\\\"valid\\\\\\\"],[[4160,4169],\\\\\\\"valid\\\\\\\"],[[4170,4175],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4176,4185],\\\\\\\"valid\\\\\\\"],[[4186,4249],\\\\\\\"valid\\\\\\\"],[[4250,4253],\\\\\\\"valid\\\\\\\"],[[4254,4255],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4256,4293],\\\\\\\"disallowed\\\\\\\"],[[4294,4294],\\\\\\\"disallowed\\\\\\\"],[[4295,4295],\\\\\\\"mapped\\\\\\\",[11559]],[[4296,4300],\\\\\\\"disallowed\\\\\\\"],[[4301,4301],\\\\\\\"mapped\\\\\\\",[11565]],[[4302,4303],\\\\\\\"disallowed\\\\\\\"],[[4304,4342],\\\\\\\"valid\\\\\\\"],[[4343,4344],\\\\\\\"valid\\\\\\\"],[[4345,4346],\\\\\\\"valid\\\\\\\"],[[4347,4347],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4348,4348],\\\\\\\"mapped\\\\\\\",[4316]],[[4349,4351],\\\\\\\"valid\\\\\\\"],[[4352,4441],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4442,4446],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4447,4448],\\\\\\\"disallowed\\\\\\\"],[[4449,4514],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4515,4519],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4520,4601],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4602,4607],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4608,4614],\\\\\\\"valid\\\\\\\"],[[4615,4615],\\\\\\\"valid\\\\\\\"],[[4616,4678],\\\\\\\"valid\\\\\\\"],[[4679,4679],\\\\\\\"valid\\\\\\\"],[[4680,4680],\\\\\\\"valid\\\\\\\"],[[4681,4681],\\\\\\\"disallowed\\\\\\\"],[[4682,4685],\\\\\\\"valid\\\\\\\"],[[4686,4687],\\\\\\\"disallowed\\\\\\\"],[[4688,4694],\\\\\\\"valid\\\\\\\"],[[4695,4695],\\\\\\\"disallowed\\\\\\\"],[[4696,4696],\\\\\\\"valid\\\\\\\"],[[4697,4697],\\\\\\\"disallowed\\\\\\\"],[[4698,4701],\\\\\\\"valid\\\\\\\"],[[4702,4703],\\\\\\\"disallowed\\\\\\\"],[[4704,4742],\\\\\\\"valid\\\\\\\"],[[4743,4743],\\\\\\\"valid\\\\\\\"],[[4744,4744],\\\\\\\"valid\\\\\\\"],[[4745,4745],\\\\\\\"disallowed\\\\\\\"],[[4746,4749],\\\\\\\"valid\\\\\\\"],[[4750,4751],\\\\\\\"disallowed\\\\\\\"],[[4752,4782],\\\\\\\"valid\\\\\\\"],[[4783,4783],\\\\\\\"valid\\\\\\\"],[[4784,4784],\\\\\\\"valid\\\\\\\"],[[4785,4785],\\\\\\\"disallowed\\\\\\\"],[[4786,4789],\\\\\\\"valid\\\\\\\"],[[4790,4791],\\\\\\\"disallowed\\\\\\\"],[[4792,4798],\\\\\\\"valid\\\\\\\"],[[4799,4799],\\\\\\\"disallowed\\\\\\\"],[[4800,4800],\\\\\\\"valid\\\\\\\"],[[4801,4801],\\\\\\\"disallowed\\\\\\\"],[[4802,4805],\\\\\\\"valid\\\\\\\"],[[4806,4807],\\\\\\\"disallowed\\\\\\\"],[[4808,4814],\\\\\\\"valid\\\\\\\"],[[4815,4815],\\\\\\\"valid\\\\\\\"],[[4816,4822],\\\\\\\"valid\\\\\\\"],[[4823,4823],\\\\\\\"disallowed\\\\\\\"],[[4824,4846],\\\\\\\"valid\\\\\\\"],[[4847,4847],\\\\\\\"valid\\\\\\\"],[[4848,4878],\\\\\\\"valid\\\\\\\"],[[4879,4879],\\\\\\\"valid\\\\\\\"],[[4880,4880],\\\\\\\"valid\\\\\\\"],[[4881,4881],\\\\\\\"disallowed\\\\\\\"],[[4882,4885],\\\\\\\"valid\\\\\\\"],[[4886,4887],\\\\\\\"disallowed\\\\\\\"],[[4888,4894],\\\\\\\"valid\\\\\\\"],[[4895,4895],\\\\\\\"valid\\\\\\\"],[[4896,4934],\\\\\\\"valid\\\\\\\"],[[4935,4935],\\\\\\\"valid\\\\\\\"],[[4936,4954],\\\\\\\"valid\\\\\\\"],[[4955,4956],\\\\\\\"disallowed\\\\\\\"],[[4957,4958],\\\\\\\"valid\\\\\\\"],[[4959,4959],\\\\\\\"valid\\\\\\\"],[[4960,4960],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4961,4988],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[4989,4991],\\\\\\\"disallowed\\\\\\\"],[[4992,5007],\\\\\\\"valid\\\\\\\"],[[5008,5017],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[5018,5023],\\\\\\\"disallowed\\\\\\\"],[[5024,5108],\\\\\\\"valid\\\\\\\"],[[5109,5109],\\\\\\\"valid\\\\\\\"],[[5110,5111],\\\\\\\"disallowed\\\\\\\"],[[5112,5112],\\\\\\\"mapped\\\\\\\",[5104]],[[5113,5113],\\\\\\\"mapped\\\\\\\",[5105]],[[5114,5114],\\\\\\\"mapped\\\\\\\",[5106]],[[5115,5115],\\\\\\\"mapped\\\\\\\",[5107]],[[5116,5116],\\\\\\\"mapped\\\\\\\",[5108]],[[5117,5117],\\\\\\\"mapped\\\\\\\",[5109]],[[5118,5119],\\\\\\\"disallowed\\\\\\\"],[[5120,5120],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[5121,5740],\\\\\\\"valid\\\\\\\"],[[5741,5742],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[5743,5750],\\\\\\\"valid\\\\\\\"],[[5751,5759],\\\\\\\"valid\\\\\\\"],[[5760,5760],\\\\\\\"disallowed\\\\\\\"],[[5761,5786],\\\\\\\"valid\\\\\\\"],[[5787,5788],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[5789,5791],\\\\\\\"disallowed\\\\\\\"],[[5792,5866],\\\\\\\"valid\\\\\\\"],[[5867,5872],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[5873,5880],\\\\\\\"valid\\\\\\\"],[[5881,5887],\\\\\\\"disallowed\\\\\\\"],[[5888,5900],\\\\\\\"valid\\\\\\\"],[[5901,5901],\\\\\\\"disallowed\\\\\\\"],[[5902,5908],\\\\\\\"valid\\\\\\\"],[[5909,5919],\\\\\\\"disallowed\\\\\\\"],[[5920,5940],\\\\\\\"valid\\\\\\\"],[[5941,5942],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[5943,5951],\\\\\\\"disallowed\\\\\\\"],[[5952,5971],\\\\\\\"valid\\\\\\\"],[[5972,5983],\\\\\\\"disallowed\\\\\\\"],[[5984,5996],\\\\\\\"valid\\\\\\\"],[[5997,5997],\\\\\\\"disallowed\\\\\\\"],[[5998,6000],\\\\\\\"valid\\\\\\\"],[[6001,6001],\\\\\\\"disallowed\\\\\\\"],[[6002,6003],\\\\\\\"valid\\\\\\\"],[[6004,6015],\\\\\\\"disallowed\\\\\\\"],[[6016,6067],\\\\\\\"valid\\\\\\\"],[[6068,6069],\\\\\\\"disallowed\\\\\\\"],[[6070,6099],\\\\\\\"valid\\\\\\\"],[[6100,6102],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6103,6103],\\\\\\\"valid\\\\\\\"],[[6104,6107],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6108,6108],\\\\\\\"valid\\\\\\\"],[[6109,6109],\\\\\\\"valid\\\\\\\"],[[6110,6111],\\\\\\\"disallowed\\\\\\\"],[[6112,6121],\\\\\\\"valid\\\\\\\"],[[6122,6127],\\\\\\\"disallowed\\\\\\\"],[[6128,6137],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6138,6143],\\\\\\\"disallowed\\\\\\\"],[[6144,6149],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6150,6150],\\\\\\\"disallowed\\\\\\\"],[[6151,6154],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6155,6157],\\\\\\\"ignored\\\\\\\"],[[6158,6158],\\\\\\\"disallowed\\\\\\\"],[[6159,6159],\\\\\\\"disallowed\\\\\\\"],[[6160,6169],\\\\\\\"valid\\\\\\\"],[[6170,6175],\\\\\\\"disallowed\\\\\\\"],[[6176,6263],\\\\\\\"valid\\\\\\\"],[[6264,6271],\\\\\\\"disallowed\\\\\\\"],[[6272,6313],\\\\\\\"valid\\\\\\\"],[[6314,6314],\\\\\\\"valid\\\\\\\"],[[6315,6319],\\\\\\\"disallowed\\\\\\\"],[[6320,6389],\\\\\\\"valid\\\\\\\"],[[6390,6399],\\\\\\\"disallowed\\\\\\\"],[[6400,6428],\\\\\\\"valid\\\\\\\"],[[6429,6430],\\\\\\\"valid\\\\\\\"],[[6431,6431],\\\\\\\"disallowed\\\\\\\"],[[6432,6443],\\\\\\\"valid\\\\\\\"],[[6444,6447],\\\\\\\"disallowed\\\\\\\"],[[6448,6459],\\\\\\\"valid\\\\\\\"],[[6460,6463],\\\\\\\"disallowed\\\\\\\"],[[6464,6464],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6465,6467],\\\\\\\"disallowed\\\\\\\"],[[6468,6469],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6470,6509],\\\\\\\"valid\\\\\\\"],[[6510,6511],\\\\\\\"disallowed\\\\\\\"],[[6512,6516],\\\\\\\"valid\\\\\\\"],[[6517,6527],\\\\\\\"disallowed\\\\\\\"],[[6528,6569],\\\\\\\"valid\\\\\\\"],[[6570,6571],\\\\\\\"valid\\\\\\\"],[[6572,6575],\\\\\\\"disallowed\\\\\\\"],[[6576,6601],\\\\\\\"valid\\\\\\\"],[[6602,6607],\\\\\\\"disallowed\\\\\\\"],[[6608,6617],\\\\\\\"valid\\\\\\\"],[[6618,6618],\\\\\\\"valid\\\\\\\",[],\\\\\\\"XV8\\\\\\\"],[[6619,6621],\\\\\\\"disallowed\\\\\\\"],[[6622,6623],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6624,6655],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6656,6683],\\\\\\\"valid\\\\\\\"],[[6684,6685],\\\\\\\"disallowed\\\\\\\"],[[6686,6687],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6688,6750],\\\\\\\"valid\\\\\\\"],[[6751,6751],\\\\\\\"disallowed\\\\\\\"],[[6752,6780],\\\\\\\"valid\\\\\\\"],[[6781,6782],\\\\\\\"disallowed\\\\\\\"],[[6783,6793],\\\\\\\"valid\\\\\\\"],[[6794,6799],\\\\\\\"disallowed\\\\\\\"],[[6800,6809],\\\\\\\"valid\\\\\\\"],[[6810,6815],\\\\\\\"disallowed\\\\\\\"],[[6816,6822],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6823,6823],\\\\\\\"valid\\\\\\\"],[[6824,6829],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6830,6831],\\\\\\\"disallowed\\\\\\\"],[[6832,6845],\\\\\\\"valid\\\\\\\"],[[6846,6846],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[6847,6911],\\\\\\\"disallowed\\\\\\\"],[[6912,6987],\\\\\\\"valid\\\\\\\"],[[6988,6991],\\\\\\\"disallowed\\\\\\\"],[[6992,7001],\\\\\\\"valid\\\\\\\"],[[7002,7018],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7019,7027],\\\\\\\"valid\\\\\\\"],[[7028,7036],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7037,7039],\\\\\\\"disallowed\\\\\\\"],[[7040,7082],\\\\\\\"valid\\\\\\\"],[[7083,7085],\\\\\\\"valid\\\\\\\"],[[7086,7097],\\\\\\\"valid\\\\\\\"],[[7098,7103],\\\\\\\"valid\\\\\\\"],[[7104,7155],\\\\\\\"valid\\\\\\\"],[[7156,7163],\\\\\\\"disallowed\\\\\\\"],[[7164,7167],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7168,7223],\\\\\\\"valid\\\\\\\"],[[7224,7226],\\\\\\\"disallowed\\\\\\\"],[[7227,7231],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7232,7241],\\\\\\\"valid\\\\\\\"],[[7242,7244],\\\\\\\"disallowed\\\\\\\"],[[7245,7293],\\\\\\\"valid\\\\\\\"],[[7294,7295],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7296,7359],\\\\\\\"disallowed\\\\\\\"],[[7360,7367],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7368,7375],\\\\\\\"disallowed\\\\\\\"],[[7376,7378],\\\\\\\"valid\\\\\\\"],[[7379,7379],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[7380,7410],\\\\\\\"valid\\\\\\\"],[[7411,7414],\\\\\\\"valid\\\\\\\"],[[7415,7415],\\\\\\\"disallowed\\\\\\\"],[[7416,7417],\\\\\\\"valid\\\\\\\"],[[7418,7423],\\\\\\\"disallowed\\\\\\\"],[[7424,7467],\\\\\\\"valid\\\\\\\"],[[7468,7468],\\\\\\\"mapped\\\\\\\",[97]],[[7469,7469],\\\\\\\"mapped\\\\\\\",[230]],[[7470,7470],\\\\\\\"mapped\\\\\\\",[98]],[[7471,7471],\\\\\\\"valid\\\\\\\"],[[7472,7472],\\\\\\\"mapped\\\\\\\",[100]],[[7473,7473],\\\\\\\"mapped\\\\\\\",[101]],[[7474,7474],\\\\\\\"mapped\\\\\\\",[477]],[[7475,7475],\\\\\\\"mapped\\\\\\\",[103]],[[7476,7476],\\\\\\\"mapped\\\\\\\",[104]],[[7477,7477],\\\\\\\"mapped\\\\\\\",[105]],[[7478,7478],\\\\\\\"mapped\\\\\\\",[106]],[[7479,7479],\\\\\\\"mapped\\\\\\\",[107]],[[7480,7480],\\\\\\\"mapped\\\\\\\",[108]],[[7481,7481],\\\\\\\"mapped\\\\\\\",[109]],[[7482,7482],\\\\\\\"mapped\\\\\\\",[110]],[[7483,7483],\\\\\\\"valid\\\\\\\"],[[7484,7484],\\\\\\\"mapped\\\\\\\",[111]],[[7485,7485],\\\\\\\"mapped\\\\\\\",[547]],[[7486,7486],\\\\\\\"mapped\\\\\\\",[112]],[[7487,7487],\\\\\\\"mapped\\\\\\\",[114]],[[7488,7488],\\\\\\\"mapped\\\\\\\",[116]],[[7489,7489],\\\\\\\"mapped\\\\\\\",[117]],[[7490,7490],\\\\\\\"mapped\\\\\\\",[119]],[[7491,7491],\\\\\\\"mapped\\\\\\\",[97]],[[7492,7492],\\\\\\\"mapped\\\\\\\",[592]],[[7493,7493],\\\\\\\"mapped\\\\\\\",[593]],[[7494,7494],\\\\\\\"mapped\\\\\\\",[7426]],[[7495,7495],\\\\\\\"mapped\\\\\\\",[98]],[[7496,7496],\\\\\\\"mapped\\\\\\\",[100]],[[7497,7497],\\\\\\\"mapped\\\\\\\",[101]],[[7498,7498],\\\\\\\"mapped\\\\\\\",[601]],[[7499,7499],\\\\\\\"mapped\\\\\\\",[603]],[[7500,7500],\\\\\\\"mapped\\\\\\\",[604]],[[7501,7501],\\\\\\\"mapped\\\\\\\",[103]],[[7502,7502],\\\\\\\"valid\\\\\\\"],[[7503,7503],\\\\\\\"mapped\\\\\\\",[107]],[[7504,7504],\\\\\\\"mapped\\\\\\\",[109]],[[7505,7505],\\\\\\\"mapped\\\\\\\",[331]],[[7506,7506],\\\\\\\"mapped\\\\\\\",[111]],[[7507,7507],\\\\\\\"mapped\\\\\\\",[596]],[[7508,7508],\\\\\\\"mapped\\\\\\\",[7446]],[[7509,7509],\\\\\\\"mapped\\\\\\\",[7447]],[[7510,7510],\\\\\\\"mapped\\\\\\\",[112]],[[7511,7511],\\\\\\\"mapped\\\\\\\",[116]],[[7512,7512],\\\\\\\"mapped\\\\\\\",[117]],[[7513,7513],\\\\\\\"mapped\\\\\\\",[7453]],[[7514,7514],\\\\\\\"mapped\\\\\\\",[623]],[[7515,7515],\\\\\\\"mapped\\\\\\\",[118]],[[7516,7516],\\\\\\\"mapped\\\\\\\",[7461]],[[7517,7517],\\\\\\\"mapped\\\\\\\",[946]],[[7518,7518],\\\\\\\"mapped\\\\\\\",[947]],[[7519,7519],\\\\\\\"mapped\\\\\\\",[948]],[[7520,7520],\\\\\\\"mapped\\\\\\\",[966]],[[7521,7521],\\\\\\\"mapped\\\\\\\",[967]],[[7522,7522],\\\\\\\"mapped\\\\\\\",[105]],[[7523,7523],\\\\\\\"mapped\\\\\\\",[114]],[[7524,7524],\\\\\\\"mapped\\\\\\\",[117]],[[7525,7525],\\\\\\\"mapped\\\\\\\",[118]],[[7526,7526],\\\\\\\"mapped\\\\\\\",[946]],[[7527,7527],\\\\\\\"mapped\\\\\\\",[947]],[[7528,7528],\\\\\\\"mapped\\\\\\\",[961]],[[7529,7529],\\\\\\\"mapped\\\\\\\",[966]],[[7530,7530],\\\\\\\"mapped\\\\\\\",[967]],[[7531,7531],\\\\\\\"valid\\\\\\\"],[[7532,7543],\\\\\\\"valid\\\\\\\"],[[7544,7544],\\\\\\\"mapped\\\\\\\",[1085]],[[7545,7578],\\\\\\\"valid\\\\\\\"],[[7579,7579],\\\\\\\"mapped\\\\\\\",[594]],[[7580,7580],\\\\\\\"mapped\\\\\\\",[99]],[[7581,7581],\\\\\\\"mapped\\\\\\\",[597]],[[7582,7582],\\\\\\\"mapped\\\\\\\",[240]],[[7583,7583],\\\\\\\"mapped\\\\\\\",[604]],[[7584,7584],\\\\\\\"mapped\\\\\\\",[102]],[[7585,7585],\\\\\\\"mapped\\\\\\\",[607]],[[7586,7586],\\\\\\\"mapped\\\\\\\",[609]],[[7587,7587],\\\\\\\"mapped\\\\\\\",[613]],[[7588,7588],\\\\\\\"mapped\\\\\\\",[616]],[[7589,7589],\\\\\\\"mapped\\\\\\\",[617]],[[7590,7590],\\\\\\\"mapped\\\\\\\",[618]],[[7591,7591],\\\\\\\"mapped\\\\\\\",[7547]],[[7592,7592],\\\\\\\"mapped\\\\\\\",[669]],[[7593,7593],\\\\\\\"mapped\\\\\\\",[621]],[[7594,7594],\\\\\\\"mapped\\\\\\\",[7557]],[[7595,7595],\\\\\\\"mapped\\\\\\\",[671]],[[7596,7596],\\\\\\\"mapped\\\\\\\",[625]],[[7597,7597],\\\\\\\"mapped\\\\\\\",[624]],[[7598,7598],\\\\\\\"mapped\\\\\\\",[626]],[[7599,7599],\\\\\\\"mapped\\\\\\\",[627]],[[7600,7600],\\\\\\\"mapped\\\\\\\",[628]],[[7601,7601],\\\\\\\"mapped\\\\\\\",[629]],[[7602,7602],\\\\\\\"mapped\\\\\\\",[632]],[[7603,7603],\\\\\\\"mapped\\\\\\\",[642]],[[7604,7604],\\\\\\\"mapped\\\\\\\",[643]],[[7605,7605],\\\\\\\"mapped\\\\\\\",[427]],[[7606,7606],\\\\\\\"mapped\\\\\\\",[649]],[[7607,7607],\\\\\\\"mapped\\\\\\\",[650]],[[7608,7608],\\\\\\\"mapped\\\\\\\",[7452]],[[7609,7609],\\\\\\\"mapped\\\\\\\",[651]],[[7610,7610],\\\\\\\"mapped\\\\\\\",[652]],[[7611,7611],\\\\\\\"mapped\\\\\\\",[122]],[[7612,7612],\\\\\\\"mapped\\\\\\\",[656]],[[7613,7613],\\\\\\\"mapped\\\\\\\",[657]],[[7614,7614],\\\\\\\"mapped\\\\\\\",[658]],[[7615,7615],\\\\\\\"mapped\\\\\\\",[952]],[[7616,7619],\\\\\\\"valid\\\\\\\"],[[7620,7626],\\\\\\\"valid\\\\\\\"],[[7627,7654],\\\\\\\"valid\\\\\\\"],[[7655,7669],\\\\\\\"valid\\\\\\\"],[[7670,7675],\\\\\\\"disallowed\\\\\\\"],[[7676,7676],\\\\\\\"valid\\\\\\\"],[[7677,7677],\\\\\\\"valid\\\\\\\"],[[7678,7679],\\\\\\\"valid\\\\\\\"],[[7680,7680],\\\\\\\"mapped\\\\\\\",[7681]],[[7681,7681],\\\\\\\"valid\\\\\\\"],[[7682,7682],\\\\\\\"mapped\\\\\\\",[7683]],[[7683,7683],\\\\\\\"valid\\\\\\\"],[[7684,7684],\\\\\\\"mapped\\\\\\\",[7685]],[[7685,7685],\\\\\\\"valid\\\\\\\"],[[7686,7686],\\\\\\\"mapped\\\\\\\",[7687]],[[7687,7687],\\\\\\\"valid\\\\\\\"],[[7688,7688],\\\\\\\"mapped\\\\\\\",[7689]],[[7689,7689],\\\\\\\"valid\\\\\\\"],[[7690,7690],\\\\\\\"mapped\\\\\\\",[7691]],[[7691,7691],\\\\\\\"valid\\\\\\\"],[[7692,7692],\\\\\\\"mapped\\\\\\\",[7693]],[[7693,7693],\\\\\\\"valid\\\\\\\"],[[7694,7694],\\\\\\\"mapped\\\\\\\",[7695]],[[7695,7695],\\\\\\\"valid\\\\\\\"],[[7696,7696],\\\\\\\"mapped\\\\\\\",[7697]],[[7697,7697],\\\\\\\"valid\\\\\\\"],[[7698,7698],\\\\\\\"mapped\\\\\\\",[7699]],[[7699,7699],\\\\\\\"valid\\\\\\\"],[[7700,7700],\\\\\\\"mapped\\\\\\\",[7701]],[[7701,7701],\\\\\\\"valid\\\\\\\"],[[7702,7702],\\\\\\\"mapped\\\\\\\",[7703]],[[7703,7703],\\\\\\\"valid\\\\\\\"],[[7704,7704],\\\\\\\"mapped\\\\\\\",[7705]],[[7705,7705],\\\\\\\"valid\\\\\\\"],[[7706,7706],\\\\\\\"mapped\\\\\\\",[7707]],[[7707,7707],\\\\\\\"valid\\\\\\\"],[[7708,7708],\\\\\\\"mapped\\\\\\\",[7709]],[[7709,7709],\\\\\\\"valid\\\\\\\"],[[7710,7710],\\\\\\\"mapped\\\\\\\",[7711]],[[7711,7711],\\\\\\\"valid\\\\\\\"],[[7712,7712],\\\\\\\"mapped\\\\\\\",[7713]],[[7713,7713],\\\\\\\"valid\\\\\\\"],[[7714,7714],\\\\\\\"mapped\\\\\\\",[7715]],[[7715,7715],\\\\\\\"valid\\\\\\\"],[[7716,7716],\\\\\\\"mapped\\\\\\\",[7717]],[[7717,7717],\\\\\\\"valid\\\\\\\"],[[7718,7718],\\\\\\\"mapped\\\\\\\",[7719]],[[7719,7719],\\\\\\\"valid\\\\\\\"],[[7720,7720],\\\\\\\"mapped\\\\\\\",[7721]],[[7721,7721],\\\\\\\"valid\\\\\\\"],[[7722,7722],\\\\\\\"mapped\\\\\\\",[7723]],[[7723,7723],\\\\\\\"valid\\\\\\\"],[[7724,7724],\\\\\\\"mapped\\\\\\\",[7725]],[[7725,7725],\\\\\\\"valid\\\\\\\"],[[7726,7726],\\\\\\\"mapped\\\\\\\",[7727]],[[7727,7727],\\\\\\\"valid\\\\\\\"],[[7728,7728],\\\\\\\"mapped\\\\\\\",[7729]],[[7729,7729],\\\\\\\"valid\\\\\\\"],[[7730,7730],\\\\\\\"mapped\\\\\\\",[7731]],[[7731,7731],\\\\\\\"valid\\\\\\\"],[[7732,7732],\\\\\\\"mapped\\\\\\\",[7733]],[[7733,7733],\\\\\\\"valid\\\\\\\"],[[7734,7734],\\\\\\\"mapped\\\\\\\",[7735]],[[7735,7735],\\\\\\\"valid\\\\\\\"],[[7736,7736],\\\\\\\"mapped\\\\\\\",[7737]],[[7737,7737],\\\\\\\"valid\\\\\\\"],[[7738,7738],\\\\\\\"mapped\\\\\\\",[7739]],[[7739,7739],\\\\\\\"valid\\\\\\\"],[[7740,7740],\\\\\\\"mapped\\\\\\\",[7741]],[[7741,7741],\\\\\\\"valid\\\\\\\"],[[7742,7742],\\\\\\\"mapped\\\\\\\",[7743]],[[7743,7743],\\\\\\\"valid\\\\\\\"],[[7744,7744],\\\\\\\"mapped\\\\\\\",[7745]],[[7745,7745],\\\\\\\"valid\\\\\\\"],[[7746,7746],\\\\\\\"mapped\\\\\\\",[7747]],[[7747,7747],\\\\\\\"valid\\\\\\\"],[[7748,7748],\\\\\\\"mapped\\\\\\\",[7749]],[[7749,7749],\\\\\\\"valid\\\\\\\"],[[7750,7750],\\\\\\\"mapped\\\\\\\",[7751]],[[7751,7751],\\\\\\\"valid\\\\\\\"],[[7752,7752],\\\\\\\"mapped\\\\\\\",[7753]],[[7753,7753],\\\\\\\"valid\\\\\\\"],[[7754,7754],\\\\\\\"mapped\\\\\\\",[7755]],[[7755,7755],\\\\\\\"valid\\\\\\\"],[[7756,7756],\\\\\\\"mapped\\\\\\\",[7757]],[[7757,7757],\\\\\\\"valid\\\\\\\"],[[7758,7758],\\\\\\\"mapped\\\\\\\",[7759]],[[7759,7759],\\\\\\\"valid\\\\\\\"],[[7760,7760],\\\\\\\"mapped\\\\\\\",[7761]],[[7761,7761],\\\\\\\"valid\\\\\\\"],[[7762,7762],\\\\\\\"mapped\\\\\\\",[7763]],[[7763,7763],\\\\\\\"valid\\\\\\\"],[[7764,7764],\\\\\\\"mapped\\\\\\\",[7765]],[[7765,7765],\\\\\\\"valid\\\\\\\"],[[7766,7766],\\\\\\\"mapped\\\\\\\",[7767]],[[7767,7767],\\\\\\\"valid\\\\\\\"],[[7768,7768],\\\\\\\"mapped\\\\\\\",[7769]],[[7769,7769],\\\\\\\"valid\\\\\\\"],[[7770,7770],\\\\\\\"mapped\\\\\\\",[7771]],[[7771,7771],\\\\\\\"valid\\\\\\\"],[[7772,7772],\\\\\\\"mapped\\\\\\\",[7773]],[[7773,7773],\\\\\\\"valid\\\\\\\"],[[7774,7774],\\\\\\\"mapped\\\\\\\",[7775]],[[7775,7775],\\\\\\\"valid\\\\\\\"],[[7776,7776],\\\\\\\"mapped\\\\\\\",[7777]],[[7777,7777],\\\\\\\"valid\\\\\\\"],[[7778,7778],\\\\\\\"mapped\\\\\\\",[7779]],[[7779,7779],\\\\\\\"valid\\\\\\\"],[[7780,7780],\\\\\\\"mapped\\\\\\\",[7781]],[[7781,7781],\\\\\\\"valid\\\\\\\"],[[7782,7782],\\\\\\\"mapped\\\\\\\",[7783]],[[7783,7783],\\\\\\\"valid\\\\\\\"],[[7784,7784],\\\\\\\"mapped\\\\\\\",[7785]],[[7785,7785],\\\\\\\"valid\\\\\\\"],[[7786,7786],\\\\\\\"mapped\\\\\\\",[7787]],[[7787,7787],\\\\\\\"valid\\\\\\\"],[[7788,7788],\\\\\\\"mapped\\\\\\\",[7789]],[[7789,7789],\\\\\\\"valid\\\\\\\"],[[7790,7790],\\\\\\\"mapped\\\\\\\",[7791]],[[7791,7791],\\\\\\\"valid\\\\\\\"],[[7792,7792],\\\\\\\"mapped\\\\\\\",[7793]],[[7793,7793],\\\\\\\"valid\\\\\\\"],[[7794,7794],\\\\\\\"mapped\\\\\\\",[7795]],[[7795,7795],\\\\\\\"valid\\\\\\\"],[[7796,7796],\\\\\\\"mapped\\\\\\\",[7797]],[[7797,7797],\\\\\\\"valid\\\\\\\"],[[7798,7798],\\\\\\\"mapped\\\\\\\",[7799]],[[7799,7799],\\\\\\\"valid\\\\\\\"],[[7800,7800],\\\\\\\"mapped\\\\\\\",[7801]],[[7801,7801],\\\\\\\"valid\\\\\\\"],[[7802,7802],\\\\\\\"mapped\\\\\\\",[7803]],[[7803,7803],\\\\\\\"valid\\\\\\\"],[[7804,7804],\\\\\\\"mapped\\\\\\\",[7805]],[[7805,7805],\\\\\\\"valid\\\\\\\"],[[7806,7806],\\\\\\\"mapped\\\\\\\",[7807]],[[7807,7807],\\\\\\\"valid\\\\\\\"],[[7808,7808],\\\\\\\"mapped\\\\\\\",[7809]],[[7809,7809],\\\\\\\"valid\\\\\\\"],[[7810,7810],\\\\\\\"mapped\\\\\\\",[7811]],[[7811,7811],\\\\\\\"valid\\\\\\\"],[[7812,7812],\\\\\\\"mapped\\\\\\\",[7813]],[[7813,7813],\\\\\\\"valid\\\\\\\"],[[7814,7814],\\\\\\\"mapped\\\\\\\",[7815]],[[7815,7815],\\\\\\\"valid\\\\\\\"],[[7816,7816],\\\\\\\"mapped\\\\\\\",[7817]],[[7817,7817],\\\\\\\"valid\\\\\\\"],[[7818,7818],\\\\\\\"mapped\\\\\\\",[7819]],[[7819,7819],\\\\\\\"valid\\\\\\\"],[[7820,7820],\\\\\\\"mapped\\\\\\\",[7821]],[[7821,7821],\\\\\\\"valid\\\\\\\"],[[7822,7822],\\\\\\\"mapped\\\\\\\",[7823]],[[7823,7823],\\\\\\\"valid\\\\\\\"],[[7824,7824],\\\\\\\"mapped\\\\\\\",[7825]],[[7825,7825],\\\\\\\"valid\\\\\\\"],[[7826,7826],\\\\\\\"mapped\\\\\\\",[7827]],[[7827,7827],\\\\\\\"valid\\\\\\\"],[[7828,7828],\\\\\\\"mapped\\\\\\\",[7829]],[[7829,7833],\\\\\\\"valid\\\\\\\"],[[7834,7834],\\\\\\\"mapped\\\\\\\",[97,702]],[[7835,7835],\\\\\\\"mapped\\\\\\\",[7777]],[[7836,7837],\\\\\\\"valid\\\\\\\"],[[7838,7838],\\\\\\\"mapped\\\\\\\",[115,115]],[[7839,7839],\\\\\\\"valid\\\\\\\"],[[7840,7840],\\\\\\\"mapped\\\\\\\",[7841]],[[7841,7841],\\\\\\\"valid\\\\\\\"],[[7842,7842],\\\\\\\"mapped\\\\\\\",[7843]],[[7843,7843],\\\\\\\"valid\\\\\\\"],[[7844,7844],\\\\\\\"mapped\\\\\\\",[7845]],[[7845,7845],\\\\\\\"valid\\\\\\\"],[[7846,7846],\\\\\\\"mapped\\\\\\\",[7847]],[[7847,7847],\\\\\\\"valid\\\\\\\"],[[7848,7848],\\\\\\\"mapped\\\\\\\",[7849]],[[7849,7849],\\\\\\\"valid\\\\\\\"],[[7850,7850],\\\\\\\"mapped\\\\\\\",[7851]],[[7851,7851],\\\\\\\"valid\\\\\\\"],[[7852,7852],\\\\\\\"mapped\\\\\\\",[7853]],[[7853,7853],\\\\\\\"valid\\\\\\\"],[[7854,7854],\\\\\\\"mapped\\\\\\\",[7855]],[[7855,7855],\\\\\\\"valid\\\\\\\"],[[7856,7856],\\\\\\\"mapped\\\\\\\",[7857]],[[7857,7857],\\\\\\\"valid\\\\\\\"],[[7858,7858],\\\\\\\"mapped\\\\\\\",[7859]],[[7859,7859],\\\\\\\"valid\\\\\\\"],[[7860,7860],\\\\\\\"mapped\\\\\\\",[7861]],[[7861,7861],\\\\\\\"valid\\\\\\\"],[[7862,7862],\\\\\\\"mapped\\\\\\\",[7863]],[[7863,7863],\\\\\\\"valid\\\\\\\"],[[7864,7864],\\\\\\\"mapped\\\\\\\",[7865]],[[7865,7865],\\\\\\\"valid\\\\\\\"],[[7866,7866],\\\\\\\"mapped\\\\\\\",[7867]],[[7867,7867],\\\\\\\"valid\\\\\\\"],[[7868,7868],\\\\\\\"mapped\\\\\\\",[7869]],[[7869,7869],\\\\\\\"valid\\\\\\\"],[[7870,7870],\\\\\\\"mapped\\\\\\\",[7871]],[[7871,7871],\\\\\\\"valid\\\\\\\"],[[7872,7872],\\\\\\\"mapped\\\\\\\",[7873]],[[7873,7873],\\\\\\\"valid\\\\\\\"],[[7874,7874],\\\\\\\"mapped\\\\\\\",[7875]],[[7875,7875],\\\\\\\"valid\\\\\\\"],[[7876,7876],\\\\\\\"mapped\\\\\\\",[7877]],[[7877,7877],\\\\\\\"valid\\\\\\\"],[[7878,7878],\\\\\\\"mapped\\\\\\\",[7879]],[[7879,7879],\\\\\\\"valid\\\\\\\"],[[7880,7880],\\\\\\\"mapped\\\\\\\",[7881]],[[7881,7881],\\\\\\\"valid\\\\\\\"],[[7882,7882],\\\\\\\"mapped\\\\\\\",[7883]],[[7883,7883],\\\\\\\"valid\\\\\\\"],[[7884,7884],\\\\\\\"mapped\\\\\\\",[7885]],[[7885,7885],\\\\\\\"valid\\\\\\\"],[[7886,7886],\\\\\\\"mapped\\\\\\\",[7887]],[[7887,7887],\\\\\\\"valid\\\\\\\"],[[7888,7888],\\\\\\\"mapped\\\\\\\",[7889]],[[7889,7889],\\\\\\\"valid\\\\\\\"],[[7890,7890],\\\\\\\"mapped\\\\\\\",[7891]],[[7891,7891],\\\\\\\"valid\\\\\\\"],[[7892,7892],\\\\\\\"mapped\\\\\\\",[7893]],[[7893,7893],\\\\\\\"valid\\\\\\\"],[[7894,7894],\\\\\\\"mapped\\\\\\\",[7895]],[[7895,7895],\\\\\\\"valid\\\\\\\"],[[7896,7896],\\\\\\\"mapped\\\\\\\",[7897]],[[7897,7897],\\\\\\\"valid\\\\\\\"],[[7898,7898],\\\\\\\"mapped\\\\\\\",[7899]],[[7899,7899],\\\\\\\"valid\\\\\\\"],[[7900,7900],\\\\\\\"mapped\\\\\\\",[7901]],[[7901,7901],\\\\\\\"valid\\\\\\\"],[[7902,7902],\\\\\\\"mapped\\\\\\\",[7903]],[[7903,7903],\\\\\\\"valid\\\\\\\"],[[7904,7904],\\\\\\\"mapped\\\\\\\",[7905]],[[7905,7905],\\\\\\\"valid\\\\\\\"],[[7906,7906],\\\\\\\"mapped\\\\\\\",[7907]],[[7907,7907],\\\\\\\"valid\\\\\\\"],[[7908,7908],\\\\\\\"mapped\\\\\\\",[7909]],[[7909,7909],\\\\\\\"valid\\\\\\\"],[[7910,7910],\\\\\\\"mapped\\\\\\\",[7911]],[[7911,7911],\\\\\\\"valid\\\\\\\"],[[7912,7912],\\\\\\\"mapped\\\\\\\",[7913]],[[7913,7913],\\\\\\\"valid\\\\\\\"],[[7914,7914],\\\\\\\"mapped\\\\\\\",[7915]],[[7915,7915],\\\\\\\"valid\\\\\\\"],[[7916,7916],\\\\\\\"mapped\\\\\\\",[7917]],[[7917,7917],\\\\\\\"valid\\\\\\\"],[[7918,7918],\\\\\\\"mapped\\\\\\\",[7919]],[[7919,7919],\\\\\\\"valid\\\\\\\"],[[7920,7920],\\\\\\\"mapped\\\\\\\",[7921]],[[7921,7921],\\\\\\\"valid\\\\\\\"],[[7922,7922],\\\\\\\"mapped\\\\\\\",[7923]],[[7923,7923],\\\\\\\"valid\\\\\\\"],[[7924,7924],\\\\\\\"mapped\\\\\\\",[7925]],[[7925,7925],\\\\\\\"valid\\\\\\\"],[[7926,7926],\\\\\\\"mapped\\\\\\\",[7927]],[[7927,7927],\\\\\\\"valid\\\\\\\"],[[7928,7928],\\\\\\\"mapped\\\\\\\",[7929]],[[7929,7929],\\\\\\\"valid\\\\\\\"],[[7930,7930],\\\\\\\"mapped\\\\\\\",[7931]],[[7931,7931],\\\\\\\"valid\\\\\\\"],[[7932,7932],\\\\\\\"mapped\\\\\\\",[7933]],[[7933,7933],\\\\\\\"valid\\\\\\\"],[[7934,7934],\\\\\\\"mapped\\\\\\\",[7935]],[[7935,7935],\\\\\\\"valid\\\\\\\"],[[7936,7943],\\\\\\\"valid\\\\\\\"],[[7944,7944],\\\\\\\"mapped\\\\\\\",[7936]],[[7945,7945],\\\\\\\"mapped\\\\\\\",[7937]],[[7946,7946],\\\\\\\"mapped\\\\\\\",[7938]],[[7947,7947],\\\\\\\"mapped\\\\\\\",[7939]],[[7948,7948],\\\\\\\"mapped\\\\\\\",[7940]],[[7949,7949],\\\\\\\"mapped\\\\\\\",[7941]],[[7950,7950],\\\\\\\"mapped\\\\\\\",[7942]],[[7951,7951],\\\\\\\"mapped\\\\\\\",[7943]],[[7952,7957],\\\\\\\"valid\\\\\\\"],[[7958,7959],\\\\\\\"disallowed\\\\\\\"],[[7960,7960],\\\\\\\"mapped\\\\\\\",[7952]],[[7961,7961],\\\\\\\"mapped\\\\\\\",[7953]],[[7962,7962],\\\\\\\"mapped\\\\\\\",[7954]],[[7963,7963],\\\\\\\"mapped\\\\\\\",[7955]],[[7964,7964],\\\\\\\"mapped\\\\\\\",[7956]],[[7965,7965],\\\\\\\"mapped\\\\\\\",[7957]],[[7966,7967],\\\\\\\"disallowed\\\\\\\"],[[7968,7975],\\\\\\\"valid\\\\\\\"],[[7976,7976],\\\\\\\"mapped\\\\\\\",[7968]],[[7977,7977],\\\\\\\"mapped\\\\\\\",[7969]],[[7978,7978],\\\\\\\"mapped\\\\\\\",[7970]],[[7979,7979],\\\\\\\"mapped\\\\\\\",[7971]],[[7980,7980],\\\\\\\"mapped\\\\\\\",[7972]],[[7981,7981],\\\\\\\"mapped\\\\\\\",[7973]],[[7982,7982],\\\\\\\"mapped\\\\\\\",[7974]],[[7983,7983],\\\\\\\"mapped\\\\\\\",[7975]],[[7984,7991],\\\\\\\"valid\\\\\\\"],[[7992,7992],\\\\\\\"mapped\\\\\\\",[7984]],[[7993,7993],\\\\\\\"mapped\\\\\\\",[7985]],[[7994,7994],\\\\\\\"mapped\\\\\\\",[7986]],[[7995,7995],\\\\\\\"mapped\\\\\\\",[7987]],[[7996,7996],\\\\\\\"mapped\\\\\\\",[7988]],[[7997,7997],\\\\\\\"mapped\\\\\\\",[7989]],[[7998,7998],\\\\\\\"mapped\\\\\\\",[7990]],[[7999,7999],\\\\\\\"mapped\\\\\\\",[7991]],[[8000,8005],\\\\\\\"valid\\\\\\\"],[[8006,8007],\\\\\\\"disallowed\\\\\\\"],[[8008,8008],\\\\\\\"mapped\\\\\\\",[8000]],[[8009,8009],\\\\\\\"mapped\\\\\\\",[8001]],[[8010,8010],\\\\\\\"mapped\\\\\\\",[8002]],[[8011,8011],\\\\\\\"mapped\\\\\\\",[8003]],[[8012,8012],\\\\\\\"mapped\\\\\\\",[8004]],[[8013,8013],\\\\\\\"mapped\\\\\\\",[8005]],[[8014,8015],\\\\\\\"disallowed\\\\\\\"],[[8016,8023],\\\\\\\"valid\\\\\\\"],[[8024,8024],\\\\\\\"disallowed\\\\\\\"],[[8025,8025],\\\\\\\"mapped\\\\\\\",[8017]],[[8026,8026],\\\\\\\"disallowed\\\\\\\"],[[8027,8027],\\\\\\\"mapped\\\\\\\",[8019]],[[8028,8028],\\\\\\\"disallowed\\\\\\\"],[[8029,8029],\\\\\\\"mapped\\\\\\\",[8021]],[[8030,8030],\\\\\\\"disallowed\\\\\\\"],[[8031,8031],\\\\\\\"mapped\\\\\\\",[8023]],[[8032,8039],\\\\\\\"valid\\\\\\\"],[[8040,8040],\\\\\\\"mapped\\\\\\\",[8032]],[[8041,8041],\\\\\\\"mapped\\\\\\\",[8033]],[[8042,8042],\\\\\\\"mapped\\\\\\\",[8034]],[[8043,8043],\\\\\\\"mapped\\\\\\\",[8035]],[[8044,8044],\\\\\\\"mapped\\\\\\\",[8036]],[[8045,8045],\\\\\\\"mapped\\\\\\\",[8037]],[[8046,8046],\\\\\\\"mapped\\\\\\\",[8038]],[[8047,8047],\\\\\\\"mapped\\\\\\\",[8039]],[[8048,8048],\\\\\\\"valid\\\\\\\"],[[8049,8049],\\\\\\\"mapped\\\\\\\",[940]],[[8050,8050],\\\\\\\"valid\\\\\\\"],[[8051,8051],\\\\\\\"mapped\\\\\\\",[941]],[[8052,8052],\\\\\\\"valid\\\\\\\"],[[8053,8053],\\\\\\\"mapped\\\\\\\",[942]],[[8054,8054],\\\\\\\"valid\\\\\\\"],[[8055,8055],\\\\\\\"mapped\\\\\\\",[943]],[[8056,8056],\\\\\\\"valid\\\\\\\"],[[8057,8057],\\\\\\\"mapped\\\\\\\",[972]],[[8058,8058],\\\\\\\"valid\\\\\\\"],[[8059,8059],\\\\\\\"mapped\\\\\\\",[973]],[[8060,8060],\\\\\\\"valid\\\\\\\"],[[8061,8061],\\\\\\\"mapped\\\\\\\",[974]],[[8062,8063],\\\\\\\"disallowed\\\\\\\"],[[8064,8064],\\\\\\\"mapped\\\\\\\",[7936,953]],[[8065,8065],\\\\\\\"mapped\\\\\\\",[7937,953]],[[8066,8066],\\\\\\\"mapped\\\\\\\",[7938,953]],[[8067,8067],\\\\\\\"mapped\\\\\\\",[7939,953]],[[8068,8068],\\\\\\\"mapped\\\\\\\",[7940,953]],[[8069,8069],\\\\\\\"mapped\\\\\\\",[7941,953]],[[8070,8070],\\\\\\\"mapped\\\\\\\",[7942,953]],[[8071,8071],\\\\\\\"mapped\\\\\\\",[7943,953]],[[8072,8072],\\\\\\\"mapped\\\\\\\",[7936,953]],[[8073,8073],\\\\\\\"mapped\\\\\\\",[7937,953]],[[8074,8074],\\\\\\\"mapped\\\\\\\",[7938,953]],[[8075,8075],\\\\\\\"mapped\\\\\\\",[7939,953]],[[8076,8076],\\\\\\\"mapped\\\\\\\",[7940,953]],[[8077,8077],\\\\\\\"mapped\\\\\\\",[7941,953]],[[8078,8078],\\\\\\\"mapped\\\\\\\",[7942,953]],[[8079,8079],\\\\\\\"mapped\\\\\\\",[7943,953]],[[8080,8080],\\\\\\\"mapped\\\\\\\",[7968,953]],[[8081,8081],\\\\\\\"mapped\\\\\\\",[7969,953]],[[8082,8082],\\\\\\\"mapped\\\\\\\",[7970,953]],[[8083,8083],\\\\\\\"mapped\\\\\\\",[7971,953]],[[8084,8084],\\\\\\\"mapped\\\\\\\",[7972,953]],[[8085,8085],\\\\\\\"mapped\\\\\\\",[7973,953]],[[8086,8086],\\\\\\\"mapped\\\\\\\",[7974,953]],[[8087,8087],\\\\\\\"mapped\\\\\\\",[7975,953]],[[8088,8088],\\\\\\\"mapped\\\\\\\",[7968,953]],[[8089,8089],\\\\\\\"mapped\\\\\\\",[7969,953]],[[8090,8090],\\\\\\\"mapped\\\\\\\",[7970,953]],[[8091,8091],\\\\\\\"mapped\\\\\\\",[7971,953]],[[8092,8092],\\\\\\\"mapped\\\\\\\",[7972,953]],[[8093,8093],\\\\\\\"mapped\\\\\\\",[7973,953]],[[8094,8094],\\\\\\\"mapped\\\\\\\",[7974,953]],[[8095,8095],\\\\\\\"mapped\\\\\\\",[7975,953]],[[8096,8096],\\\\\\\"mapped\\\\\\\",[8032,953]],[[8097,8097],\\\\\\\"mapped\\\\\\\",[8033,953]],[[8098,8098],\\\\\\\"mapped\\\\\\\",[8034,953]],[[8099,8099],\\\\\\\"mapped\\\\\\\",[8035,953]],[[8100,8100],\\\\\\\"mapped\\\\\\\",[8036,953]],[[8101,8101],\\\\\\\"mapped\\\\\\\",[8037,953]],[[8102,8102],\\\\\\\"mapped\\\\\\\",[8038,953]],[[8103,8103],\\\\\\\"mapped\\\\\\\",[8039,953]],[[8104,8104],\\\\\\\"mapped\\\\\\\",[8032,953]],[[8105,8105],\\\\\\\"mapped\\\\\\\",[8033,953]],[[8106,8106],\\\\\\\"mapped\\\\\\\",[8034,953]],[[8107,8107],\\\\\\\"mapped\\\\\\\",[8035,953]],[[8108,8108],\\\\\\\"mapped\\\\\\\",[8036,953]],[[8109,8109],\\\\\\\"mapped\\\\\\\",[8037,953]],[[8110,8110],\\\\\\\"mapped\\\\\\\",[8038,953]],[[8111,8111],\\\\\\\"mapped\\\\\\\",[8039,953]],[[8112,8113],\\\\\\\"valid\\\\\\\"],[[8114,8114],\\\\\\\"mapped\\\\\\\",[8048,953]],[[8115,8115],\\\\\\\"mapped\\\\\\\",[945,953]],[[8116,8116],\\\\\\\"mapped\\\\\\\",[940,953]],[[8117,8117],\\\\\\\"disallowed\\\\\\\"],[[8118,8118],\\\\\\\"valid\\\\\\\"],[[8119,8119],\\\\\\\"mapped\\\\\\\",[8118,953]],[[8120,8120],\\\\\\\"mapped\\\\\\\",[8112]],[[8121,8121],\\\\\\\"mapped\\\\\\\",[8113]],[[8122,8122],\\\\\\\"mapped\\\\\\\",[8048]],[[8123,8123],\\\\\\\"mapped\\\\\\\",[940]],[[8124,8124],\\\\\\\"mapped\\\\\\\",[945,953]],[[8125,8125],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,787]],[[8126,8126],\\\\\\\"mapped\\\\\\\",[953]],[[8127,8127],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,787]],[[8128,8128],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,834]],[[8129,8129],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,776,834]],[[8130,8130],\\\\\\\"mapped\\\\\\\",[8052,953]],[[8131,8131],\\\\\\\"mapped\\\\\\\",[951,953]],[[8132,8132],\\\\\\\"mapped\\\\\\\",[942,953]],[[8133,8133],\\\\\\\"disallowed\\\\\\\"],[[8134,8134],\\\\\\\"valid\\\\\\\"],[[8135,8135],\\\\\\\"mapped\\\\\\\",[8134,953]],[[8136,8136],\\\\\\\"mapped\\\\\\\",[8050]],[[8137,8137],\\\\\\\"mapped\\\\\\\",[941]],[[8138,8138],\\\\\\\"mapped\\\\\\\",[8052]],[[8139,8139],\\\\\\\"mapped\\\\\\\",[942]],[[8140,8140],\\\\\\\"mapped\\\\\\\",[951,953]],[[8141,8141],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,787,768]],[[8142,8142],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,787,769]],[[8143,8143],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,787,834]],[[8144,8146],\\\\\\\"valid\\\\\\\"],[[8147,8147],\\\\\\\"mapped\\\\\\\",[912]],[[8148,8149],\\\\\\\"disallowed\\\\\\\"],[[8150,8151],\\\\\\\"valid\\\\\\\"],[[8152,8152],\\\\\\\"mapped\\\\\\\",[8144]],[[8153,8153],\\\\\\\"mapped\\\\\\\",[8145]],[[8154,8154],\\\\\\\"mapped\\\\\\\",[8054]],[[8155,8155],\\\\\\\"mapped\\\\\\\",[943]],[[8156,8156],\\\\\\\"disallowed\\\\\\\"],[[8157,8157],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,788,768]],[[8158,8158],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,788,769]],[[8159,8159],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,788,834]],[[8160,8162],\\\\\\\"valid\\\\\\\"],[[8163,8163],\\\\\\\"mapped\\\\\\\",[944]],[[8164,8167],\\\\\\\"valid\\\\\\\"],[[8168,8168],\\\\\\\"mapped\\\\\\\",[8160]],[[8169,8169],\\\\\\\"mapped\\\\\\\",[8161]],[[8170,8170],\\\\\\\"mapped\\\\\\\",[8058]],[[8171,8171],\\\\\\\"mapped\\\\\\\",[973]],[[8172,8172],\\\\\\\"mapped\\\\\\\",[8165]],[[8173,8173],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,776,768]],[[8174,8174],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,776,769]],[[8175,8175],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[96]],[[8176,8177],\\\\\\\"disallowed\\\\\\\"],[[8178,8178],\\\\\\\"mapped\\\\\\\",[8060,953]],[[8179,8179],\\\\\\\"mapped\\\\\\\",[969,953]],[[8180,8180],\\\\\\\"mapped\\\\\\\",[974,953]],[[8181,8181],\\\\\\\"disallowed\\\\\\\"],[[8182,8182],\\\\\\\"valid\\\\\\\"],[[8183,8183],\\\\\\\"mapped\\\\\\\",[8182,953]],[[8184,8184],\\\\\\\"mapped\\\\\\\",[8056]],[[8185,8185],\\\\\\\"mapped\\\\\\\",[972]],[[8186,8186],\\\\\\\"mapped\\\\\\\",[8060]],[[8187,8187],\\\\\\\"mapped\\\\\\\",[974]],[[8188,8188],\\\\\\\"mapped\\\\\\\",[969,953]],[[8189,8189],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,769]],[[8190,8190],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,788]],[[8191,8191],\\\\\\\"disallowed\\\\\\\"],[[8192,8202],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32]],[[8203,8203],\\\\\\\"ignored\\\\\\\"],[[8204,8205],\\\\\\\"deviation\\\\\\\",[]],[[8206,8207],\\\\\\\"disallowed\\\\\\\"],[[8208,8208],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8209,8209],\\\\\\\"mapped\\\\\\\",[8208]],[[8210,8214],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8215,8215],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,819]],[[8216,8227],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8228,8230],\\\\\\\"disallowed\\\\\\\"],[[8231,8231],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8232,8238],\\\\\\\"disallowed\\\\\\\"],[[8239,8239],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32]],[[8240,8242],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8243,8243],\\\\\\\"mapped\\\\\\\",[8242,8242]],[[8244,8244],\\\\\\\"mapped\\\\\\\",[8242,8242,8242]],[[8245,8245],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8246,8246],\\\\\\\"mapped\\\\\\\",[8245,8245]],[[8247,8247],\\\\\\\"mapped\\\\\\\",[8245,8245,8245]],[[8248,8251],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8252,8252],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[33,33]],[[8253,8253],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8254,8254],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,773]],[[8255,8262],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8263,8263],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[63,63]],[[8264,8264],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[63,33]],[[8265,8265],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[33,63]],[[8266,8269],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8270,8274],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8275,8276],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8277,8278],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8279,8279],\\\\\\\"mapped\\\\\\\",[8242,8242,8242,8242]],[[8280,8286],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8287,8287],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32]],[[8288,8288],\\\\\\\"ignored\\\\\\\"],[[8289,8291],\\\\\\\"disallowed\\\\\\\"],[[8292,8292],\\\\\\\"ignored\\\\\\\"],[[8293,8293],\\\\\\\"disallowed\\\\\\\"],[[8294,8297],\\\\\\\"disallowed\\\\\\\"],[[8298,8303],\\\\\\\"disallowed\\\\\\\"],[[8304,8304],\\\\\\\"mapped\\\\\\\",[48]],[[8305,8305],\\\\\\\"mapped\\\\\\\",[105]],[[8306,8307],\\\\\\\"disallowed\\\\\\\"],[[8308,8308],\\\\\\\"mapped\\\\\\\",[52]],[[8309,8309],\\\\\\\"mapped\\\\\\\",[53]],[[8310,8310],\\\\\\\"mapped\\\\\\\",[54]],[[8311,8311],\\\\\\\"mapped\\\\\\\",[55]],[[8312,8312],\\\\\\\"mapped\\\\\\\",[56]],[[8313,8313],\\\\\\\"mapped\\\\\\\",[57]],[[8314,8314],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[43]],[[8315,8315],\\\\\\\"mapped\\\\\\\",[8722]],[[8316,8316],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[61]],[[8317,8317],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40]],[[8318,8318],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[41]],[[8319,8319],\\\\\\\"mapped\\\\\\\",[110]],[[8320,8320],\\\\\\\"mapped\\\\\\\",[48]],[[8321,8321],\\\\\\\"mapped\\\\\\\",[49]],[[8322,8322],\\\\\\\"mapped\\\\\\\",[50]],[[8323,8323],\\\\\\\"mapped\\\\\\\",[51]],[[8324,8324],\\\\\\\"mapped\\\\\\\",[52]],[[8325,8325],\\\\\\\"mapped\\\\\\\",[53]],[[8326,8326],\\\\\\\"mapped\\\\\\\",[54]],[[8327,8327],\\\\\\\"mapped\\\\\\\",[55]],[[8328,8328],\\\\\\\"mapped\\\\\\\",[56]],[[8329,8329],\\\\\\\"mapped\\\\\\\",[57]],[[8330,8330],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[43]],[[8331,8331],\\\\\\\"mapped\\\\\\\",[8722]],[[8332,8332],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[61]],[[8333,8333],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40]],[[8334,8334],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[41]],[[8335,8335],\\\\\\\"disallowed\\\\\\\"],[[8336,8336],\\\\\\\"mapped\\\\\\\",[97]],[[8337,8337],\\\\\\\"mapped\\\\\\\",[101]],[[8338,8338],\\\\\\\"mapped\\\\\\\",[111]],[[8339,8339],\\\\\\\"mapped\\\\\\\",[120]],[[8340,8340],\\\\\\\"mapped\\\\\\\",[601]],[[8341,8341],\\\\\\\"mapped\\\\\\\",[104]],[[8342,8342],\\\\\\\"mapped\\\\\\\",[107]],[[8343,8343],\\\\\\\"mapped\\\\\\\",[108]],[[8344,8344],\\\\\\\"mapped\\\\\\\",[109]],[[8345,8345],\\\\\\\"mapped\\\\\\\",[110]],[[8346,8346],\\\\\\\"mapped\\\\\\\",[112]],[[8347,8347],\\\\\\\"mapped\\\\\\\",[115]],[[8348,8348],\\\\\\\"mapped\\\\\\\",[116]],[[8349,8351],\\\\\\\"disallowed\\\\\\\"],[[8352,8359],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8360,8360],\\\\\\\"mapped\\\\\\\",[114,115]],[[8361,8362],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8363,8363],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8364,8364],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8365,8367],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8368,8369],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8370,8373],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8374,8376],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8377,8377],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8378,8378],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8379,8381],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8382,8382],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8383,8399],\\\\\\\"disallowed\\\\\\\"],[[8400,8417],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8418,8419],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8420,8426],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8427,8427],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8428,8431],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8432,8432],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8433,8447],\\\\\\\"disallowed\\\\\\\"],[[8448,8448],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[97,47,99]],[[8449,8449],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[97,47,115]],[[8450,8450],\\\\\\\"mapped\\\\\\\",[99]],[[8451,8451],\\\\\\\"mapped\\\\\\\",[176,99]],[[8452,8452],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8453,8453],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[99,47,111]],[[8454,8454],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[99,47,117]],[[8455,8455],\\\\\\\"mapped\\\\\\\",[603]],[[8456,8456],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8457,8457],\\\\\\\"mapped\\\\\\\",[176,102]],[[8458,8458],\\\\\\\"mapped\\\\\\\",[103]],[[8459,8462],\\\\\\\"mapped\\\\\\\",[104]],[[8463,8463],\\\\\\\"mapped\\\\\\\",[295]],[[8464,8465],\\\\\\\"mapped\\\\\\\",[105]],[[8466,8467],\\\\\\\"mapped\\\\\\\",[108]],[[8468,8468],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8469,8469],\\\\\\\"mapped\\\\\\\",[110]],[[8470,8470],\\\\\\\"mapped\\\\\\\",[110,111]],[[8471,8472],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8473,8473],\\\\\\\"mapped\\\\\\\",[112]],[[8474,8474],\\\\\\\"mapped\\\\\\\",[113]],[[8475,8477],\\\\\\\"mapped\\\\\\\",[114]],[[8478,8479],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8480,8480],\\\\\\\"mapped\\\\\\\",[115,109]],[[8481,8481],\\\\\\\"mapped\\\\\\\",[116,101,108]],[[8482,8482],\\\\\\\"mapped\\\\\\\",[116,109]],[[8483,8483],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8484,8484],\\\\\\\"mapped\\\\\\\",[122]],[[8485,8485],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8486,8486],\\\\\\\"mapped\\\\\\\",[969]],[[8487,8487],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8488,8488],\\\\\\\"mapped\\\\\\\",[122]],[[8489,8489],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8490,8490],\\\\\\\"mapped\\\\\\\",[107]],[[8491,8491],\\\\\\\"mapped\\\\\\\",[229]],[[8492,8492],\\\\\\\"mapped\\\\\\\",[98]],[[8493,8493],\\\\\\\"mapped\\\\\\\",[99]],[[8494,8494],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8495,8496],\\\\\\\"mapped\\\\\\\",[101]],[[8497,8497],\\\\\\\"mapped\\\\\\\",[102]],[[8498,8498],\\\\\\\"disallowed\\\\\\\"],[[8499,8499],\\\\\\\"mapped\\\\\\\",[109]],[[8500,8500],\\\\\\\"mapped\\\\\\\",[111]],[[8501,8501],\\\\\\\"mapped\\\\\\\",[1488]],[[8502,8502],\\\\\\\"mapped\\\\\\\",[1489]],[[8503,8503],\\\\\\\"mapped\\\\\\\",[1490]],[[8504,8504],\\\\\\\"mapped\\\\\\\",[1491]],[[8505,8505],\\\\\\\"mapped\\\\\\\",[105]],[[8506,8506],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8507,8507],\\\\\\\"mapped\\\\\\\",[102,97,120]],[[8508,8508],\\\\\\\"mapped\\\\\\\",[960]],[[8509,8510],\\\\\\\"mapped\\\\\\\",[947]],[[8511,8511],\\\\\\\"mapped\\\\\\\",[960]],[[8512,8512],\\\\\\\"mapped\\\\\\\",[8721]],[[8513,8516],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8517,8518],\\\\\\\"mapped\\\\\\\",[100]],[[8519,8519],\\\\\\\"mapped\\\\\\\",[101]],[[8520,8520],\\\\\\\"mapped\\\\\\\",[105]],[[8521,8521],\\\\\\\"mapped\\\\\\\",[106]],[[8522,8523],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8524,8524],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8525,8525],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8526,8526],\\\\\\\"valid\\\\\\\"],[[8527,8527],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8528,8528],\\\\\\\"mapped\\\\\\\",[49,8260,55]],[[8529,8529],\\\\\\\"mapped\\\\\\\",[49,8260,57]],[[8530,8530],\\\\\\\"mapped\\\\\\\",[49,8260,49,48]],[[8531,8531],\\\\\\\"mapped\\\\\\\",[49,8260,51]],[[8532,8532],\\\\\\\"mapped\\\\\\\",[50,8260,51]],[[8533,8533],\\\\\\\"mapped\\\\\\\",[49,8260,53]],[[8534,8534],\\\\\\\"mapped\\\\\\\",[50,8260,53]],[[8535,8535],\\\\\\\"mapped\\\\\\\",[51,8260,53]],[[8536,8536],\\\\\\\"mapped\\\\\\\",[52,8260,53]],[[8537,8537],\\\\\\\"mapped\\\\\\\",[49,8260,54]],[[8538,8538],\\\\\\\"mapped\\\\\\\",[53,8260,54]],[[8539,8539],\\\\\\\"mapped\\\\\\\",[49,8260,56]],[[8540,8540],\\\\\\\"mapped\\\\\\\",[51,8260,56]],[[8541,8541],\\\\\\\"mapped\\\\\\\",[53,8260,56]],[[8542,8542],\\\\\\\"mapped\\\\\\\",[55,8260,56]],[[8543,8543],\\\\\\\"mapped\\\\\\\",[49,8260]],[[8544,8544],\\\\\\\"mapped\\\\\\\",[105]],[[8545,8545],\\\\\\\"mapped\\\\\\\",[105,105]],[[8546,8546],\\\\\\\"mapped\\\\\\\",[105,105,105]],[[8547,8547],\\\\\\\"mapped\\\\\\\",[105,118]],[[8548,8548],\\\\\\\"mapped\\\\\\\",[118]],[[8549,8549],\\\\\\\"mapped\\\\\\\",[118,105]],[[8550,8550],\\\\\\\"mapped\\\\\\\",[118,105,105]],[[8551,8551],\\\\\\\"mapped\\\\\\\",[118,105,105,105]],[[8552,8552],\\\\\\\"mapped\\\\\\\",[105,120]],[[8553,8553],\\\\\\\"mapped\\\\\\\",[120]],[[8554,8554],\\\\\\\"mapped\\\\\\\",[120,105]],[[8555,8555],\\\\\\\"mapped\\\\\\\",[120,105,105]],[[8556,8556],\\\\\\\"mapped\\\\\\\",[108]],[[8557,8557],\\\\\\\"mapped\\\\\\\",[99]],[[8558,8558],\\\\\\\"mapped\\\\\\\",[100]],[[8559,8559],\\\\\\\"mapped\\\\\\\",[109]],[[8560,8560],\\\\\\\"mapped\\\\\\\",[105]],[[8561,8561],\\\\\\\"mapped\\\\\\\",[105,105]],[[8562,8562],\\\\\\\"mapped\\\\\\\",[105,105,105]],[[8563,8563],\\\\\\\"mapped\\\\\\\",[105,118]],[[8564,8564],\\\\\\\"mapped\\\\\\\",[118]],[[8565,8565],\\\\\\\"mapped\\\\\\\",[118,105]],[[8566,8566],\\\\\\\"mapped\\\\\\\",[118,105,105]],[[8567,8567],\\\\\\\"mapped\\\\\\\",[118,105,105,105]],[[8568,8568],\\\\\\\"mapped\\\\\\\",[105,120]],[[8569,8569],\\\\\\\"mapped\\\\\\\",[120]],[[8570,8570],\\\\\\\"mapped\\\\\\\",[120,105]],[[8571,8571],\\\\\\\"mapped\\\\\\\",[120,105,105]],[[8572,8572],\\\\\\\"mapped\\\\\\\",[108]],[[8573,8573],\\\\\\\"mapped\\\\\\\",[99]],[[8574,8574],\\\\\\\"mapped\\\\\\\",[100]],[[8575,8575],\\\\\\\"mapped\\\\\\\",[109]],[[8576,8578],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8579,8579],\\\\\\\"disallowed\\\\\\\"],[[8580,8580],\\\\\\\"valid\\\\\\\"],[[8581,8584],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8585,8585],\\\\\\\"mapped\\\\\\\",[48,8260,51]],[[8586,8587],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8588,8591],\\\\\\\"disallowed\\\\\\\"],[[8592,8682],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8683,8691],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8692,8703],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8704,8747],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8748,8748],\\\\\\\"mapped\\\\\\\",[8747,8747]],[[8749,8749],\\\\\\\"mapped\\\\\\\",[8747,8747,8747]],[[8750,8750],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8751,8751],\\\\\\\"mapped\\\\\\\",[8750,8750]],[[8752,8752],\\\\\\\"mapped\\\\\\\",[8750,8750,8750]],[[8753,8799],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8800,8800],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[8801,8813],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8814,8815],\\\\\\\"disallowed_STD3_valid\\\\\\\"],[[8816,8945],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8946,8959],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8960,8960],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8961,8961],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[8962,9000],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9001,9001],\\\\\\\"mapped\\\\\\\",[12296]],[[9002,9002],\\\\\\\"mapped\\\\\\\",[12297]],[[9003,9082],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9083,9083],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9084,9084],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9085,9114],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9115,9166],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9167,9168],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9169,9179],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9180,9191],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9192,9192],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9193,9203],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9204,9210],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9211,9215],\\\\\\\"disallowed\\\\\\\"],[[9216,9252],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9253,9254],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9255,9279],\\\\\\\"disallowed\\\\\\\"],[[9280,9290],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9291,9311],\\\\\\\"disallowed\\\\\\\"],[[9312,9312],\\\\\\\"mapped\\\\\\\",[49]],[[9313,9313],\\\\\\\"mapped\\\\\\\",[50]],[[9314,9314],\\\\\\\"mapped\\\\\\\",[51]],[[9315,9315],\\\\\\\"mapped\\\\\\\",[52]],[[9316,9316],\\\\\\\"mapped\\\\\\\",[53]],[[9317,9317],\\\\\\\"mapped\\\\\\\",[54]],[[9318,9318],\\\\\\\"mapped\\\\\\\",[55]],[[9319,9319],\\\\\\\"mapped\\\\\\\",[56]],[[9320,9320],\\\\\\\"mapped\\\\\\\",[57]],[[9321,9321],\\\\\\\"mapped\\\\\\\",[49,48]],[[9322,9322],\\\\\\\"mapped\\\\\\\",[49,49]],[[9323,9323],\\\\\\\"mapped\\\\\\\",[49,50]],[[9324,9324],\\\\\\\"mapped\\\\\\\",[49,51]],[[9325,9325],\\\\\\\"mapped\\\\\\\",[49,52]],[[9326,9326],\\\\\\\"mapped\\\\\\\",[49,53]],[[9327,9327],\\\\\\\"mapped\\\\\\\",[49,54]],[[9328,9328],\\\\\\\"mapped\\\\\\\",[49,55]],[[9329,9329],\\\\\\\"mapped\\\\\\\",[49,56]],[[9330,9330],\\\\\\\"mapped\\\\\\\",[49,57]],[[9331,9331],\\\\\\\"mapped\\\\\\\",[50,48]],[[9332,9332],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,41]],[[9333,9333],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,50,41]],[[9334,9334],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,51,41]],[[9335,9335],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,52,41]],[[9336,9336],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,53,41]],[[9337,9337],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,54,41]],[[9338,9338],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,55,41]],[[9339,9339],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,56,41]],[[9340,9340],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,57,41]],[[9341,9341],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,48,41]],[[9342,9342],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,49,41]],[[9343,9343],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,50,41]],[[9344,9344],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,51,41]],[[9345,9345],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,52,41]],[[9346,9346],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,53,41]],[[9347,9347],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,54,41]],[[9348,9348],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,55,41]],[[9349,9349],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,56,41]],[[9350,9350],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49,57,41]],[[9351,9351],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,50,48,41]],[[9352,9371],\\\\\\\"disallowed\\\\\\\"],[[9372,9372],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,97,41]],[[9373,9373],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,98,41]],[[9374,9374],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,99,41]],[[9375,9375],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,100,41]],[[9376,9376],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,101,41]],[[9377,9377],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,102,41]],[[9378,9378],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,103,41]],[[9379,9379],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,104,41]],[[9380,9380],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,105,41]],[[9381,9381],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,106,41]],[[9382,9382],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,107,41]],[[9383,9383],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,108,41]],[[9384,9384],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,109,41]],[[9385,9385],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,110,41]],[[9386,9386],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,111,41]],[[9387,9387],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,112,41]],[[9388,9388],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,113,41]],[[9389,9389],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,114,41]],[[9390,9390],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,115,41]],[[9391,9391],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,116,41]],[[9392,9392],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,117,41]],[[9393,9393],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,118,41]],[[9394,9394],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,119,41]],[[9395,9395],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,120,41]],[[9396,9396],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,121,41]],[[9397,9397],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,122,41]],[[9398,9398],\\\\\\\"mapped\\\\\\\",[97]],[[9399,9399],\\\\\\\"mapped\\\\\\\",[98]],[[9400,9400],\\\\\\\"mapped\\\\\\\",[99]],[[9401,9401],\\\\\\\"mapped\\\\\\\",[100]],[[9402,9402],\\\\\\\"mapped\\\\\\\",[101]],[[9403,9403],\\\\\\\"mapped\\\\\\\",[102]],[[9404,9404],\\\\\\\"mapped\\\\\\\",[103]],[[9405,9405],\\\\\\\"mapped\\\\\\\",[104]],[[9406,9406],\\\\\\\"mapped\\\\\\\",[105]],[[9407,9407],\\\\\\\"mapped\\\\\\\",[106]],[[9408,9408],\\\\\\\"mapped\\\\\\\",[107]],[[9409,9409],\\\\\\\"mapped\\\\\\\",[108]],[[9410,9410],\\\\\\\"mapped\\\\\\\",[109]],[[9411,9411],\\\\\\\"mapped\\\\\\\",[110]],[[9412,9412],\\\\\\\"mapped\\\\\\\",[111]],[[9413,9413],\\\\\\\"mapped\\\\\\\",[112]],[[9414,9414],\\\\\\\"mapped\\\\\\\",[113]],[[9415,9415],\\\\\\\"mapped\\\\\\\",[114]],[[9416,9416],\\\\\\\"mapped\\\\\\\",[115]],[[9417,9417],\\\\\\\"mapped\\\\\\\",[116]],[[9418,9418],\\\\\\\"mapped\\\\\\\",[117]],[[9419,9419],\\\\\\\"mapped\\\\\\\",[118]],[[9420,9420],\\\\\\\"mapped\\\\\\\",[119]],[[9421,9421],\\\\\\\"mapped\\\\\\\",[120]],[[9422,9422],\\\\\\\"mapped\\\\\\\",[121]],[[9423,9423],\\\\\\\"mapped\\\\\\\",[122]],[[9424,9424],\\\\\\\"mapped\\\\\\\",[97]],[[9425,9425],\\\\\\\"mapped\\\\\\\",[98]],[[9426,9426],\\\\\\\"mapped\\\\\\\",[99]],[[9427,9427],\\\\\\\"mapped\\\\\\\",[100]],[[9428,9428],\\\\\\\"mapped\\\\\\\",[101]],[[9429,9429],\\\\\\\"mapped\\\\\\\",[102]],[[9430,9430],\\\\\\\"mapped\\\\\\\",[103]],[[9431,9431],\\\\\\\"mapped\\\\\\\",[104]],[[9432,9432],\\\\\\\"mapped\\\\\\\",[105]],[[9433,9433],\\\\\\\"mapped\\\\\\\",[106]],[[9434,9434],\\\\\\\"mapped\\\\\\\",[107]],[[9435,9435],\\\\\\\"mapped\\\\\\\",[108]],[[9436,9436],\\\\\\\"mapped\\\\\\\",[109]],[[9437,9437],\\\\\\\"mapped\\\\\\\",[110]],[[9438,9438],\\\\\\\"mapped\\\\\\\",[111]],[[9439,9439],\\\\\\\"mapped\\\\\\\",[112]],[[9440,9440],\\\\\\\"mapped\\\\\\\",[113]],[[9441,9441],\\\\\\\"mapped\\\\\\\",[114]],[[9442,9442],\\\\\\\"mapped\\\\\\\",[115]],[[9443,9443],\\\\\\\"mapped\\\\\\\",[116]],[[9444,9444],\\\\\\\"mapped\\\\\\\",[117]],[[9445,9445],\\\\\\\"mapped\\\\\\\",[118]],[[9446,9446],\\\\\\\"mapped\\\\\\\",[119]],[[9447,9447],\\\\\\\"mapped\\\\\\\",[120]],[[9448,9448],\\\\\\\"mapped\\\\\\\",[121]],[[9449,9449],\\\\\\\"mapped\\\\\\\",[122]],[[9450,9450],\\\\\\\"mapped\\\\\\\",[48]],[[9451,9470],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9471,9471],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9472,9621],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9622,9631],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9632,9711],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9712,9719],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9720,9727],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9728,9747],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9748,9749],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9750,9751],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9752,9752],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9753,9753],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9754,9839],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9840,9841],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9842,9853],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9854,9855],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9856,9865],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9866,9873],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9874,9884],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9885,9885],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9886,9887],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9888,9889],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9890,9905],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9906,9906],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9907,9916],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9917,9919],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9920,9923],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9924,9933],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9934,9934],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9935,9953],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9954,9954],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9955,9955],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9956,9959],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9960,9983],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9984,9984],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9985,9988],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9989,9989],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9990,9993],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9994,9995],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[9996,10023],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10024,10024],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10025,10059],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10060,10060],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10061,10061],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10062,10062],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10063,10066],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10067,10069],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10070,10070],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10071,10071],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10072,10078],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10079,10080],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10081,10087],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10088,10101],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10102,10132],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10133,10135],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10136,10159],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10160,10160],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10161,10174],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10175,10175],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10176,10182],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10183,10186],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10187,10187],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10188,10188],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10189,10189],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10190,10191],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10192,10219],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10220,10223],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10224,10239],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10240,10495],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10496,10763],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10764,10764],\\\\\\\"mapped\\\\\\\",[8747,8747,8747,8747]],[[10765,10867],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10868,10868],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[58,58,61]],[[10869,10869],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[61,61]],[[10870,10870],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[61,61,61]],[[10871,10971],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[10972,10972],\\\\\\\"mapped\\\\\\\",[10973,824]],[[10973,11007],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11008,11021],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11022,11027],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11028,11034],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11035,11039],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11040,11043],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11044,11084],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11085,11087],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11088,11092],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11093,11097],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11098,11123],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11124,11125],\\\\\\\"disallowed\\\\\\\"],[[11126,11157],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11158,11159],\\\\\\\"disallowed\\\\\\\"],[[11160,11193],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11194,11196],\\\\\\\"disallowed\\\\\\\"],[[11197,11208],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11209,11209],\\\\\\\"disallowed\\\\\\\"],[[11210,11217],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11218,11243],\\\\\\\"disallowed\\\\\\\"],[[11244,11247],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11248,11263],\\\\\\\"disallowed\\\\\\\"],[[11264,11264],\\\\\\\"mapped\\\\\\\",[11312]],[[11265,11265],\\\\\\\"mapped\\\\\\\",[11313]],[[11266,11266],\\\\\\\"mapped\\\\\\\",[11314]],[[11267,11267],\\\\\\\"mapped\\\\\\\",[11315]],[[11268,11268],\\\\\\\"mapped\\\\\\\",[11316]],[[11269,11269],\\\\\\\"mapped\\\\\\\",[11317]],[[11270,11270],\\\\\\\"mapped\\\\\\\",[11318]],[[11271,11271],\\\\\\\"mapped\\\\\\\",[11319]],[[11272,11272],\\\\\\\"mapped\\\\\\\",[11320]],[[11273,11273],\\\\\\\"mapped\\\\\\\",[11321]],[[11274,11274],\\\\\\\"mapped\\\\\\\",[11322]],[[11275,11275],\\\\\\\"mapped\\\\\\\",[11323]],[[11276,11276],\\\\\\\"mapped\\\\\\\",[11324]],[[11277,11277],\\\\\\\"mapped\\\\\\\",[11325]],[[11278,11278],\\\\\\\"mapped\\\\\\\",[11326]],[[11279,11279],\\\\\\\"mapped\\\\\\\",[11327]],[[11280,11280],\\\\\\\"mapped\\\\\\\",[11328]],[[11281,11281],\\\\\\\"mapped\\\\\\\",[11329]],[[11282,11282],\\\\\\\"mapped\\\\\\\",[11330]],[[11283,11283],\\\\\\\"mapped\\\\\\\",[11331]],[[11284,11284],\\\\\\\"mapped\\\\\\\",[11332]],[[11285,11285],\\\\\\\"mapped\\\\\\\",[11333]],[[11286,11286],\\\\\\\"mapped\\\\\\\",[11334]],[[11287,11287],\\\\\\\"mapped\\\\\\\",[11335]],[[11288,11288],\\\\\\\"mapped\\\\\\\",[11336]],[[11289,11289],\\\\\\\"mapped\\\\\\\",[11337]],[[11290,11290],\\\\\\\"mapped\\\\\\\",[11338]],[[11291,11291],\\\\\\\"mapped\\\\\\\",[11339]],[[11292,11292],\\\\\\\"mapped\\\\\\\",[11340]],[[11293,11293],\\\\\\\"mapped\\\\\\\",[11341]],[[11294,11294],\\\\\\\"mapped\\\\\\\",[11342]],[[11295,11295],\\\\\\\"mapped\\\\\\\",[11343]],[[11296,11296],\\\\\\\"mapped\\\\\\\",[11344]],[[11297,11297],\\\\\\\"mapped\\\\\\\",[11345]],[[11298,11298],\\\\\\\"mapped\\\\\\\",[11346]],[[11299,11299],\\\\\\\"mapped\\\\\\\",[11347]],[[11300,11300],\\\\\\\"mapped\\\\\\\",[11348]],[[11301,11301],\\\\\\\"mapped\\\\\\\",[11349]],[[11302,11302],\\\\\\\"mapped\\\\\\\",[11350]],[[11303,11303],\\\\\\\"mapped\\\\\\\",[11351]],[[11304,11304],\\\\\\\"mapped\\\\\\\",[11352]],[[11305,11305],\\\\\\\"mapped\\\\\\\",[11353]],[[11306,11306],\\\\\\\"mapped\\\\\\\",[11354]],[[11307,11307],\\\\\\\"mapped\\\\\\\",[11355]],[[11308,11308],\\\\\\\"mapped\\\\\\\",[11356]],[[11309,11309],\\\\\\\"mapped\\\\\\\",[11357]],[[11310,11310],\\\\\\\"mapped\\\\\\\",[11358]],[[11311,11311],\\\\\\\"disallowed\\\\\\\"],[[11312,11358],\\\\\\\"valid\\\\\\\"],[[11359,11359],\\\\\\\"disallowed\\\\\\\"],[[11360,11360],\\\\\\\"mapped\\\\\\\",[11361]],[[11361,11361],\\\\\\\"valid\\\\\\\"],[[11362,11362],\\\\\\\"mapped\\\\\\\",[619]],[[11363,11363],\\\\\\\"mapped\\\\\\\",[7549]],[[11364,11364],\\\\\\\"mapped\\\\\\\",[637]],[[11365,11366],\\\\\\\"valid\\\\\\\"],[[11367,11367],\\\\\\\"mapped\\\\\\\",[11368]],[[11368,11368],\\\\\\\"valid\\\\\\\"],[[11369,11369],\\\\\\\"mapped\\\\\\\",[11370]],[[11370,11370],\\\\\\\"valid\\\\\\\"],[[11371,11371],\\\\\\\"mapped\\\\\\\",[11372]],[[11372,11372],\\\\\\\"valid\\\\\\\"],[[11373,11373],\\\\\\\"mapped\\\\\\\",[593]],[[11374,11374],\\\\\\\"mapped\\\\\\\",[625]],[[11375,11375],\\\\\\\"mapped\\\\\\\",[592]],[[11376,11376],\\\\\\\"mapped\\\\\\\",[594]],[[11377,11377],\\\\\\\"valid\\\\\\\"],[[11378,11378],\\\\\\\"mapped\\\\\\\",[11379]],[[11379,11379],\\\\\\\"valid\\\\\\\"],[[11380,11380],\\\\\\\"valid\\\\\\\"],[[11381,11381],\\\\\\\"mapped\\\\\\\",[11382]],[[11382,11383],\\\\\\\"valid\\\\\\\"],[[11384,11387],\\\\\\\"valid\\\\\\\"],[[11388,11388],\\\\\\\"mapped\\\\\\\",[106]],[[11389,11389],\\\\\\\"mapped\\\\\\\",[118]],[[11390,11390],\\\\\\\"mapped\\\\\\\",[575]],[[11391,11391],\\\\\\\"mapped\\\\\\\",[576]],[[11392,11392],\\\\\\\"mapped\\\\\\\",[11393]],[[11393,11393],\\\\\\\"valid\\\\\\\"],[[11394,11394],\\\\\\\"mapped\\\\\\\",[11395]],[[11395,11395],\\\\\\\"valid\\\\\\\"],[[11396,11396],\\\\\\\"mapped\\\\\\\",[11397]],[[11397,11397],\\\\\\\"valid\\\\\\\"],[[11398,11398],\\\\\\\"mapped\\\\\\\",[11399]],[[11399,11399],\\\\\\\"valid\\\\\\\"],[[11400,11400],\\\\\\\"mapped\\\\\\\",[11401]],[[11401,11401],\\\\\\\"valid\\\\\\\"],[[11402,11402],\\\\\\\"mapped\\\\\\\",[11403]],[[11403,11403],\\\\\\\"valid\\\\\\\"],[[11404,11404],\\\\\\\"mapped\\\\\\\",[11405]],[[11405,11405],\\\\\\\"valid\\\\\\\"],[[11406,11406],\\\\\\\"mapped\\\\\\\",[11407]],[[11407,11407],\\\\\\\"valid\\\\\\\"],[[11408,11408],\\\\\\\"mapped\\\\\\\",[11409]],[[11409,11409],\\\\\\\"valid\\\\\\\"],[[11410,11410],\\\\\\\"mapped\\\\\\\",[11411]],[[11411,11411],\\\\\\\"valid\\\\\\\"],[[11412,11412],\\\\\\\"mapped\\\\\\\",[11413]],[[11413,11413],\\\\\\\"valid\\\\\\\"],[[11414,11414],\\\\\\\"mapped\\\\\\\",[11415]],[[11415,11415],\\\\\\\"valid\\\\\\\"],[[11416,11416],\\\\\\\"mapped\\\\\\\",[11417]],[[11417,11417],\\\\\\\"valid\\\\\\\"],[[11418,11418],\\\\\\\"mapped\\\\\\\",[11419]],[[11419,11419],\\\\\\\"valid\\\\\\\"],[[11420,11420],\\\\\\\"mapped\\\\\\\",[11421]],[[11421,11421],\\\\\\\"valid\\\\\\\"],[[11422,11422],\\\\\\\"mapped\\\\\\\",[11423]],[[11423,11423],\\\\\\\"valid\\\\\\\"],[[11424,11424],\\\\\\\"mapped\\\\\\\",[11425]],[[11425,11425],\\\\\\\"valid\\\\\\\"],[[11426,11426],\\\\\\\"mapped\\\\\\\",[11427]],[[11427,11427],\\\\\\\"valid\\\\\\\"],[[11428,11428],\\\\\\\"mapped\\\\\\\",[11429]],[[11429,11429],\\\\\\\"valid\\\\\\\"],[[11430,11430],\\\\\\\"mapped\\\\\\\",[11431]],[[11431,11431],\\\\\\\"valid\\\\\\\"],[[11432,11432],\\\\\\\"mapped\\\\\\\",[11433]],[[11433,11433],\\\\\\\"valid\\\\\\\"],[[11434,11434],\\\\\\\"mapped\\\\\\\",[11435]],[[11435,11435],\\\\\\\"valid\\\\\\\"],[[11436,11436],\\\\\\\"mapped\\\\\\\",[11437]],[[11437,11437],\\\\\\\"valid\\\\\\\"],[[11438,11438],\\\\\\\"mapped\\\\\\\",[11439]],[[11439,11439],\\\\\\\"valid\\\\\\\"],[[11440,11440],\\\\\\\"mapped\\\\\\\",[11441]],[[11441,11441],\\\\\\\"valid\\\\\\\"],[[11442,11442],\\\\\\\"mapped\\\\\\\",[11443]],[[11443,11443],\\\\\\\"valid\\\\\\\"],[[11444,11444],\\\\\\\"mapped\\\\\\\",[11445]],[[11445,11445],\\\\\\\"valid\\\\\\\"],[[11446,11446],\\\\\\\"mapped\\\\\\\",[11447]],[[11447,11447],\\\\\\\"valid\\\\\\\"],[[11448,11448],\\\\\\\"mapped\\\\\\\",[11449]],[[11449,11449],\\\\\\\"valid\\\\\\\"],[[11450,11450],\\\\\\\"mapped\\\\\\\",[11451]],[[11451,11451],\\\\\\\"valid\\\\\\\"],[[11452,11452],\\\\\\\"mapped\\\\\\\",[11453]],[[11453,11453],\\\\\\\"valid\\\\\\\"],[[11454,11454],\\\\\\\"mapped\\\\\\\",[11455]],[[11455,11455],\\\\\\\"valid\\\\\\\"],[[11456,11456],\\\\\\\"mapped\\\\\\\",[11457]],[[11457,11457],\\\\\\\"valid\\\\\\\"],[[11458,11458],\\\\\\\"mapped\\\\\\\",[11459]],[[11459,11459],\\\\\\\"valid\\\\\\\"],[[11460,11460],\\\\\\\"mapped\\\\\\\",[11461]],[[11461,11461],\\\\\\\"valid\\\\\\\"],[[11462,11462],\\\\\\\"mapped\\\\\\\",[11463]],[[11463,11463],\\\\\\\"valid\\\\\\\"],[[11464,11464],\\\\\\\"mapped\\\\\\\",[11465]],[[11465,11465],\\\\\\\"valid\\\\\\\"],[[11466,11466],\\\\\\\"mapped\\\\\\\",[11467]],[[11467,11467],\\\\\\\"valid\\\\\\\"],[[11468,11468],\\\\\\\"mapped\\\\\\\",[11469]],[[11469,11469],\\\\\\\"valid\\\\\\\"],[[11470,11470],\\\\\\\"mapped\\\\\\\",[11471]],[[11471,11471],\\\\\\\"valid\\\\\\\"],[[11472,11472],\\\\\\\"mapped\\\\\\\",[11473]],[[11473,11473],\\\\\\\"valid\\\\\\\"],[[11474,11474],\\\\\\\"mapped\\\\\\\",[11475]],[[11475,11475],\\\\\\\"valid\\\\\\\"],[[11476,11476],\\\\\\\"mapped\\\\\\\",[11477]],[[11477,11477],\\\\\\\"valid\\\\\\\"],[[11478,11478],\\\\\\\"mapped\\\\\\\",[11479]],[[11479,11479],\\\\\\\"valid\\\\\\\"],[[11480,11480],\\\\\\\"mapped\\\\\\\",[11481]],[[11481,11481],\\\\\\\"valid\\\\\\\"],[[11482,11482],\\\\\\\"mapped\\\\\\\",[11483]],[[11483,11483],\\\\\\\"valid\\\\\\\"],[[11484,11484],\\\\\\\"mapped\\\\\\\",[11485]],[[11485,11485],\\\\\\\"valid\\\\\\\"],[[11486,11486],\\\\\\\"mapped\\\\\\\",[11487]],[[11487,11487],\\\\\\\"valid\\\\\\\"],[[11488,11488],\\\\\\\"mapped\\\\\\\",[11489]],[[11489,11489],\\\\\\\"valid\\\\\\\"],[[11490,11490],\\\\\\\"mapped\\\\\\\",[11491]],[[11491,11492],\\\\\\\"valid\\\\\\\"],[[11493,11498],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11499,11499],\\\\\\\"mapped\\\\\\\",[11500]],[[11500,11500],\\\\\\\"valid\\\\\\\"],[[11501,11501],\\\\\\\"mapped\\\\\\\",[11502]],[[11502,11505],\\\\\\\"valid\\\\\\\"],[[11506,11506],\\\\\\\"mapped\\\\\\\",[11507]],[[11507,11507],\\\\\\\"valid\\\\\\\"],[[11508,11512],\\\\\\\"disallowed\\\\\\\"],[[11513,11519],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11520,11557],\\\\\\\"valid\\\\\\\"],[[11558,11558],\\\\\\\"disallowed\\\\\\\"],[[11559,11559],\\\\\\\"valid\\\\\\\"],[[11560,11564],\\\\\\\"disallowed\\\\\\\"],[[11565,11565],\\\\\\\"valid\\\\\\\"],[[11566,11567],\\\\\\\"disallowed\\\\\\\"],[[11568,11621],\\\\\\\"valid\\\\\\\"],[[11622,11623],\\\\\\\"valid\\\\\\\"],[[11624,11630],\\\\\\\"disallowed\\\\\\\"],[[11631,11631],\\\\\\\"mapped\\\\\\\",[11617]],[[11632,11632],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11633,11646],\\\\\\\"disallowed\\\\\\\"],[[11647,11647],\\\\\\\"valid\\\\\\\"],[[11648,11670],\\\\\\\"valid\\\\\\\"],[[11671,11679],\\\\\\\"disallowed\\\\\\\"],[[11680,11686],\\\\\\\"valid\\\\\\\"],[[11687,11687],\\\\\\\"disallowed\\\\\\\"],[[11688,11694],\\\\\\\"valid\\\\\\\"],[[11695,11695],\\\\\\\"disallowed\\\\\\\"],[[11696,11702],\\\\\\\"valid\\\\\\\"],[[11703,11703],\\\\\\\"disallowed\\\\\\\"],[[11704,11710],\\\\\\\"valid\\\\\\\"],[[11711,11711],\\\\\\\"disallowed\\\\\\\"],[[11712,11718],\\\\\\\"valid\\\\\\\"],[[11719,11719],\\\\\\\"disallowed\\\\\\\"],[[11720,11726],\\\\\\\"valid\\\\\\\"],[[11727,11727],\\\\\\\"disallowed\\\\\\\"],[[11728,11734],\\\\\\\"valid\\\\\\\"],[[11735,11735],\\\\\\\"disallowed\\\\\\\"],[[11736,11742],\\\\\\\"valid\\\\\\\"],[[11743,11743],\\\\\\\"disallowed\\\\\\\"],[[11744,11775],\\\\\\\"valid\\\\\\\"],[[11776,11799],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11800,11803],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11804,11805],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11806,11822],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11823,11823],\\\\\\\"valid\\\\\\\"],[[11824,11824],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11825,11825],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11826,11835],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11836,11842],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11843,11903],\\\\\\\"disallowed\\\\\\\"],[[11904,11929],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11930,11930],\\\\\\\"disallowed\\\\\\\"],[[11931,11934],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[11935,11935],\\\\\\\"mapped\\\\\\\",[27597]],[[11936,12018],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12019,12019],\\\\\\\"mapped\\\\\\\",[40863]],[[12020,12031],\\\\\\\"disallowed\\\\\\\"],[[12032,12032],\\\\\\\"mapped\\\\\\\",[19968]],[[12033,12033],\\\\\\\"mapped\\\\\\\",[20008]],[[12034,12034],\\\\\\\"mapped\\\\\\\",[20022]],[[12035,12035],\\\\\\\"mapped\\\\\\\",[20031]],[[12036,12036],\\\\\\\"mapped\\\\\\\",[20057]],[[12037,12037],\\\\\\\"mapped\\\\\\\",[20101]],[[12038,12038],\\\\\\\"mapped\\\\\\\",[20108]],[[12039,12039],\\\\\\\"mapped\\\\\\\",[20128]],[[12040,12040],\\\\\\\"mapped\\\\\\\",[20154]],[[12041,12041],\\\\\\\"mapped\\\\\\\",[20799]],[[12042,12042],\\\\\\\"mapped\\\\\\\",[20837]],[[12043,12043],\\\\\\\"mapped\\\\\\\",[20843]],[[12044,12044],\\\\\\\"mapped\\\\\\\",[20866]],[[12045,12045],\\\\\\\"mapped\\\\\\\",[20886]],[[12046,12046],\\\\\\\"mapped\\\\\\\",[20907]],[[12047,12047],\\\\\\\"mapped\\\\\\\",[20960]],[[12048,12048],\\\\\\\"mapped\\\\\\\",[20981]],[[12049,12049],\\\\\\\"mapped\\\\\\\",[20992]],[[12050,12050],\\\\\\\"mapped\\\\\\\",[21147]],[[12051,12051],\\\\\\\"mapped\\\\\\\",[21241]],[[12052,12052],\\\\\\\"mapped\\\\\\\",[21269]],[[12053,12053],\\\\\\\"mapped\\\\\\\",[21274]],[[12054,12054],\\\\\\\"mapped\\\\\\\",[21304]],[[12055,12055],\\\\\\\"mapped\\\\\\\",[21313]],[[12056,12056],\\\\\\\"mapped\\\\\\\",[21340]],[[12057,12057],\\\\\\\"mapped\\\\\\\",[21353]],[[12058,12058],\\\\\\\"mapped\\\\\\\",[21378]],[[12059,12059],\\\\\\\"mapped\\\\\\\",[21430]],[[12060,12060],\\\\\\\"mapped\\\\\\\",[21448]],[[12061,12061],\\\\\\\"mapped\\\\\\\",[21475]],[[12062,12062],\\\\\\\"mapped\\\\\\\",[22231]],[[12063,12063],\\\\\\\"mapped\\\\\\\",[22303]],[[12064,12064],\\\\\\\"mapped\\\\\\\",[22763]],[[12065,12065],\\\\\\\"mapped\\\\\\\",[22786]],[[12066,12066],\\\\\\\"mapped\\\\\\\",[22794]],[[12067,12067],\\\\\\\"mapped\\\\\\\",[22805]],[[12068,12068],\\\\\\\"mapped\\\\\\\",[22823]],[[12069,12069],\\\\\\\"mapped\\\\\\\",[22899]],[[12070,12070],\\\\\\\"mapped\\\\\\\",[23376]],[[12071,12071],\\\\\\\"mapped\\\\\\\",[23424]],[[12072,12072],\\\\\\\"mapped\\\\\\\",[23544]],[[12073,12073],\\\\\\\"mapped\\\\\\\",[23567]],[[12074,12074],\\\\\\\"mapped\\\\\\\",[23586]],[[12075,12075],\\\\\\\"mapped\\\\\\\",[23608]],[[12076,12076],\\\\\\\"mapped\\\\\\\",[23662]],[[12077,12077],\\\\\\\"mapped\\\\\\\",[23665]],[[12078,12078],\\\\\\\"mapped\\\\\\\",[24027]],[[12079,12079],\\\\\\\"mapped\\\\\\\",[24037]],[[12080,12080],\\\\\\\"mapped\\\\\\\",[24049]],[[12081,12081],\\\\\\\"mapped\\\\\\\",[24062]],[[12082,12082],\\\\\\\"mapped\\\\\\\",[24178]],[[12083,12083],\\\\\\\"mapped\\\\\\\",[24186]],[[12084,12084],\\\\\\\"mapped\\\\\\\",[24191]],[[12085,12085],\\\\\\\"mapped\\\\\\\",[24308]],[[12086,12086],\\\\\\\"mapped\\\\\\\",[24318]],[[12087,12087],\\\\\\\"mapped\\\\\\\",[24331]],[[12088,12088],\\\\\\\"mapped\\\\\\\",[24339]],[[12089,12089],\\\\\\\"mapped\\\\\\\",[24400]],[[12090,12090],\\\\\\\"mapped\\\\\\\",[24417]],[[12091,12091],\\\\\\\"mapped\\\\\\\",[24435]],[[12092,12092],\\\\\\\"mapped\\\\\\\",[24515]],[[12093,12093],\\\\\\\"mapped\\\\\\\",[25096]],[[12094,12094],\\\\\\\"mapped\\\\\\\",[25142]],[[12095,12095],\\\\\\\"mapped\\\\\\\",[25163]],[[12096,12096],\\\\\\\"mapped\\\\\\\",[25903]],[[12097,12097],\\\\\\\"mapped\\\\\\\",[25908]],[[12098,12098],\\\\\\\"mapped\\\\\\\",[25991]],[[12099,12099],\\\\\\\"mapped\\\\\\\",[26007]],[[12100,12100],\\\\\\\"mapped\\\\\\\",[26020]],[[12101,12101],\\\\\\\"mapped\\\\\\\",[26041]],[[12102,12102],\\\\\\\"mapped\\\\\\\",[26080]],[[12103,12103],\\\\\\\"mapped\\\\\\\",[26085]],[[12104,12104],\\\\\\\"mapped\\\\\\\",[26352]],[[12105,12105],\\\\\\\"mapped\\\\\\\",[26376]],[[12106,12106],\\\\\\\"mapped\\\\\\\",[26408]],[[12107,12107],\\\\\\\"mapped\\\\\\\",[27424]],[[12108,12108],\\\\\\\"mapped\\\\\\\",[27490]],[[12109,12109],\\\\\\\"mapped\\\\\\\",[27513]],[[12110,12110],\\\\\\\"mapped\\\\\\\",[27571]],[[12111,12111],\\\\\\\"mapped\\\\\\\",[27595]],[[12112,12112],\\\\\\\"mapped\\\\\\\",[27604]],[[12113,12113],\\\\\\\"mapped\\\\\\\",[27611]],[[12114,12114],\\\\\\\"mapped\\\\\\\",[27663]],[[12115,12115],\\\\\\\"mapped\\\\\\\",[27668]],[[12116,12116],\\\\\\\"mapped\\\\\\\",[27700]],[[12117,12117],\\\\\\\"mapped\\\\\\\",[28779]],[[12118,12118],\\\\\\\"mapped\\\\\\\",[29226]],[[12119,12119],\\\\\\\"mapped\\\\\\\",[29238]],[[12120,12120],\\\\\\\"mapped\\\\\\\",[29243]],[[12121,12121],\\\\\\\"mapped\\\\\\\",[29247]],[[12122,12122],\\\\\\\"mapped\\\\\\\",[29255]],[[12123,12123],\\\\\\\"mapped\\\\\\\",[29273]],[[12124,12124],\\\\\\\"mapped\\\\\\\",[29275]],[[12125,12125],\\\\\\\"mapped\\\\\\\",[29356]],[[12126,12126],\\\\\\\"mapped\\\\\\\",[29572]],[[12127,12127],\\\\\\\"mapped\\\\\\\",[29577]],[[12128,12128],\\\\\\\"mapped\\\\\\\",[29916]],[[12129,12129],\\\\\\\"mapped\\\\\\\",[29926]],[[12130,12130],\\\\\\\"mapped\\\\\\\",[29976]],[[12131,12131],\\\\\\\"mapped\\\\\\\",[29983]],[[12132,12132],\\\\\\\"mapped\\\\\\\",[29992]],[[12133,12133],\\\\\\\"mapped\\\\\\\",[30000]],[[12134,12134],\\\\\\\"mapped\\\\\\\",[30091]],[[12135,12135],\\\\\\\"mapped\\\\\\\",[30098]],[[12136,12136],\\\\\\\"mapped\\\\\\\",[30326]],[[12137,12137],\\\\\\\"mapped\\\\\\\",[30333]],[[12138,12138],\\\\\\\"mapped\\\\\\\",[30382]],[[12139,12139],\\\\\\\"mapped\\\\\\\",[30399]],[[12140,12140],\\\\\\\"mapped\\\\\\\",[30446]],[[12141,12141],\\\\\\\"mapped\\\\\\\",[30683]],[[12142,12142],\\\\\\\"mapped\\\\\\\",[30690]],[[12143,12143],\\\\\\\"mapped\\\\\\\",[30707]],[[12144,12144],\\\\\\\"mapped\\\\\\\",[31034]],[[12145,12145],\\\\\\\"mapped\\\\\\\",[31160]],[[12146,12146],\\\\\\\"mapped\\\\\\\",[31166]],[[12147,12147],\\\\\\\"mapped\\\\\\\",[31348]],[[12148,12148],\\\\\\\"mapped\\\\\\\",[31435]],[[12149,12149],\\\\\\\"mapped\\\\\\\",[31481]],[[12150,12150],\\\\\\\"mapped\\\\\\\",[31859]],[[12151,12151],\\\\\\\"mapped\\\\\\\",[31992]],[[12152,12152],\\\\\\\"mapped\\\\\\\",[32566]],[[12153,12153],\\\\\\\"mapped\\\\\\\",[32593]],[[12154,12154],\\\\\\\"mapped\\\\\\\",[32650]],[[12155,12155],\\\\\\\"mapped\\\\\\\",[32701]],[[12156,12156],\\\\\\\"mapped\\\\\\\",[32769]],[[12157,12157],\\\\\\\"mapped\\\\\\\",[32780]],[[12158,12158],\\\\\\\"mapped\\\\\\\",[32786]],[[12159,12159],\\\\\\\"mapped\\\\\\\",[32819]],[[12160,12160],\\\\\\\"mapped\\\\\\\",[32895]],[[12161,12161],\\\\\\\"mapped\\\\\\\",[32905]],[[12162,12162],\\\\\\\"mapped\\\\\\\",[33251]],[[12163,12163],\\\\\\\"mapped\\\\\\\",[33258]],[[12164,12164],\\\\\\\"mapped\\\\\\\",[33267]],[[12165,12165],\\\\\\\"mapped\\\\\\\",[33276]],[[12166,12166],\\\\\\\"mapped\\\\\\\",[33292]],[[12167,12167],\\\\\\\"mapped\\\\\\\",[33307]],[[12168,12168],\\\\\\\"mapped\\\\\\\",[33311]],[[12169,12169],\\\\\\\"mapped\\\\\\\",[33390]],[[12170,12170],\\\\\\\"mapped\\\\\\\",[33394]],[[12171,12171],\\\\\\\"mapped\\\\\\\",[33400]],[[12172,12172],\\\\\\\"mapped\\\\\\\",[34381]],[[12173,12173],\\\\\\\"mapped\\\\\\\",[34411]],[[12174,12174],\\\\\\\"mapped\\\\\\\",[34880]],[[12175,12175],\\\\\\\"mapped\\\\\\\",[34892]],[[12176,12176],\\\\\\\"mapped\\\\\\\",[34915]],[[12177,12177],\\\\\\\"mapped\\\\\\\",[35198]],[[12178,12178],\\\\\\\"mapped\\\\\\\",[35211]],[[12179,12179],\\\\\\\"mapped\\\\\\\",[35282]],[[12180,12180],\\\\\\\"mapped\\\\\\\",[35328]],[[12181,12181],\\\\\\\"mapped\\\\\\\",[35895]],[[12182,12182],\\\\\\\"mapped\\\\\\\",[35910]],[[12183,12183],\\\\\\\"mapped\\\\\\\",[35925]],[[12184,12184],\\\\\\\"mapped\\\\\\\",[35960]],[[12185,12185],\\\\\\\"mapped\\\\\\\",[35997]],[[12186,12186],\\\\\\\"mapped\\\\\\\",[36196]],[[12187,12187],\\\\\\\"mapped\\\\\\\",[36208]],[[12188,12188],\\\\\\\"mapped\\\\\\\",[36275]],[[12189,12189],\\\\\\\"mapped\\\\\\\",[36523]],[[12190,12190],\\\\\\\"mapped\\\\\\\",[36554]],[[12191,12191],\\\\\\\"mapped\\\\\\\",[36763]],[[12192,12192],\\\\\\\"mapped\\\\\\\",[36784]],[[12193,12193],\\\\\\\"mapped\\\\\\\",[36789]],[[12194,12194],\\\\\\\"mapped\\\\\\\",[37009]],[[12195,12195],\\\\\\\"mapped\\\\\\\",[37193]],[[12196,12196],\\\\\\\"mapped\\\\\\\",[37318]],[[12197,12197],\\\\\\\"mapped\\\\\\\",[37324]],[[12198,12198],\\\\\\\"mapped\\\\\\\",[37329]],[[12199,12199],\\\\\\\"mapped\\\\\\\",[38263]],[[12200,12200],\\\\\\\"mapped\\\\\\\",[38272]],[[12201,12201],\\\\\\\"mapped\\\\\\\",[38428]],[[12202,12202],\\\\\\\"mapped\\\\\\\",[38582]],[[12203,12203],\\\\\\\"mapped\\\\\\\",[38585]],[[12204,12204],\\\\\\\"mapped\\\\\\\",[38632]],[[12205,12205],\\\\\\\"mapped\\\\\\\",[38737]],[[12206,12206],\\\\\\\"mapped\\\\\\\",[38750]],[[12207,12207],\\\\\\\"mapped\\\\\\\",[38754]],[[12208,12208],\\\\\\\"mapped\\\\\\\",[38761]],[[12209,12209],\\\\\\\"mapped\\\\\\\",[38859]],[[12210,12210],\\\\\\\"mapped\\\\\\\",[38893]],[[12211,12211],\\\\\\\"mapped\\\\\\\",[38899]],[[12212,12212],\\\\\\\"mapped\\\\\\\",[38913]],[[12213,12213],\\\\\\\"mapped\\\\\\\",[39080]],[[12214,12214],\\\\\\\"mapped\\\\\\\",[39131]],[[12215,12215],\\\\\\\"mapped\\\\\\\",[39135]],[[12216,12216],\\\\\\\"mapped\\\\\\\",[39318]],[[12217,12217],\\\\\\\"mapped\\\\\\\",[39321]],[[12218,12218],\\\\\\\"mapped\\\\\\\",[39340]],[[12219,12219],\\\\\\\"mapped\\\\\\\",[39592]],[[12220,12220],\\\\\\\"mapped\\\\\\\",[39640]],[[12221,12221],\\\\\\\"mapped\\\\\\\",[39647]],[[12222,12222],\\\\\\\"mapped\\\\\\\",[39717]],[[12223,12223],\\\\\\\"mapped\\\\\\\",[39727]],[[12224,12224],\\\\\\\"mapped\\\\\\\",[39730]],[[12225,12225],\\\\\\\"mapped\\\\\\\",[39740]],[[12226,12226],\\\\\\\"mapped\\\\\\\",[39770]],[[12227,12227],\\\\\\\"mapped\\\\\\\",[40165]],[[12228,12228],\\\\\\\"mapped\\\\\\\",[40565]],[[12229,12229],\\\\\\\"mapped\\\\\\\",[40575]],[[12230,12230],\\\\\\\"mapped\\\\\\\",[40613]],[[12231,12231],\\\\\\\"mapped\\\\\\\",[40635]],[[12232,12232],\\\\\\\"mapped\\\\\\\",[40643]],[[12233,12233],\\\\\\\"mapped\\\\\\\",[40653]],[[12234,12234],\\\\\\\"mapped\\\\\\\",[40657]],[[12235,12235],\\\\\\\"mapped\\\\\\\",[40697]],[[12236,12236],\\\\\\\"mapped\\\\\\\",[40701]],[[12237,12237],\\\\\\\"mapped\\\\\\\",[40718]],[[12238,12238],\\\\\\\"mapped\\\\\\\",[40723]],[[12239,12239],\\\\\\\"mapped\\\\\\\",[40736]],[[12240,12240],\\\\\\\"mapped\\\\\\\",[40763]],[[12241,12241],\\\\\\\"mapped\\\\\\\",[40778]],[[12242,12242],\\\\\\\"mapped\\\\\\\",[40786]],[[12243,12243],\\\\\\\"mapped\\\\\\\",[40845]],[[12244,12244],\\\\\\\"mapped\\\\\\\",[40860]],[[12245,12245],\\\\\\\"mapped\\\\\\\",[40864]],[[12246,12271],\\\\\\\"disallowed\\\\\\\"],[[12272,12283],\\\\\\\"disallowed\\\\\\\"],[[12284,12287],\\\\\\\"disallowed\\\\\\\"],[[12288,12288],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32]],[[12289,12289],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12290,12290],\\\\\\\"mapped\\\\\\\",[46]],[[12291,12292],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12293,12295],\\\\\\\"valid\\\\\\\"],[[12296,12329],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12330,12333],\\\\\\\"valid\\\\\\\"],[[12334,12341],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12342,12342],\\\\\\\"mapped\\\\\\\",[12306]],[[12343,12343],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12344,12344],\\\\\\\"mapped\\\\\\\",[21313]],[[12345,12345],\\\\\\\"mapped\\\\\\\",[21316]],[[12346,12346],\\\\\\\"mapped\\\\\\\",[21317]],[[12347,12347],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12348,12348],\\\\\\\"valid\\\\\\\"],[[12349,12349],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12350,12350],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12351,12351],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12352,12352],\\\\\\\"disallowed\\\\\\\"],[[12353,12436],\\\\\\\"valid\\\\\\\"],[[12437,12438],\\\\\\\"valid\\\\\\\"],[[12439,12440],\\\\\\\"disallowed\\\\\\\"],[[12441,12442],\\\\\\\"valid\\\\\\\"],[[12443,12443],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,12441]],[[12444,12444],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,12442]],[[12445,12446],\\\\\\\"valid\\\\\\\"],[[12447,12447],\\\\\\\"mapped\\\\\\\",[12424,12426]],[[12448,12448],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12449,12542],\\\\\\\"valid\\\\\\\"],[[12543,12543],\\\\\\\"mapped\\\\\\\",[12467,12488]],[[12544,12548],\\\\\\\"disallowed\\\\\\\"],[[12549,12588],\\\\\\\"valid\\\\\\\"],[[12589,12589],\\\\\\\"valid\\\\\\\"],[[12590,12592],\\\\\\\"disallowed\\\\\\\"],[[12593,12593],\\\\\\\"mapped\\\\\\\",[4352]],[[12594,12594],\\\\\\\"mapped\\\\\\\",[4353]],[[12595,12595],\\\\\\\"mapped\\\\\\\",[4522]],[[12596,12596],\\\\\\\"mapped\\\\\\\",[4354]],[[12597,12597],\\\\\\\"mapped\\\\\\\",[4524]],[[12598,12598],\\\\\\\"mapped\\\\\\\",[4525]],[[12599,12599],\\\\\\\"mapped\\\\\\\",[4355]],[[12600,12600],\\\\\\\"mapped\\\\\\\",[4356]],[[12601,12601],\\\\\\\"mapped\\\\\\\",[4357]],[[12602,12602],\\\\\\\"mapped\\\\\\\",[4528]],[[12603,12603],\\\\\\\"mapped\\\\\\\",[4529]],[[12604,12604],\\\\\\\"mapped\\\\\\\",[4530]],[[12605,12605],\\\\\\\"mapped\\\\\\\",[4531]],[[12606,12606],\\\\\\\"mapped\\\\\\\",[4532]],[[12607,12607],\\\\\\\"mapped\\\\\\\",[4533]],[[12608,12608],\\\\\\\"mapped\\\\\\\",[4378]],[[12609,12609],\\\\\\\"mapped\\\\\\\",[4358]],[[12610,12610],\\\\\\\"mapped\\\\\\\",[4359]],[[12611,12611],\\\\\\\"mapped\\\\\\\",[4360]],[[12612,12612],\\\\\\\"mapped\\\\\\\",[4385]],[[12613,12613],\\\\\\\"mapped\\\\\\\",[4361]],[[12614,12614],\\\\\\\"mapped\\\\\\\",[4362]],[[12615,12615],\\\\\\\"mapped\\\\\\\",[4363]],[[12616,12616],\\\\\\\"mapped\\\\\\\",[4364]],[[12617,12617],\\\\\\\"mapped\\\\\\\",[4365]],[[12618,12618],\\\\\\\"mapped\\\\\\\",[4366]],[[12619,12619],\\\\\\\"mapped\\\\\\\",[4367]],[[12620,12620],\\\\\\\"mapped\\\\\\\",[4368]],[[12621,12621],\\\\\\\"mapped\\\\\\\",[4369]],[[12622,12622],\\\\\\\"mapped\\\\\\\",[4370]],[[12623,12623],\\\\\\\"mapped\\\\\\\",[4449]],[[12624,12624],\\\\\\\"mapped\\\\\\\",[4450]],[[12625,12625],\\\\\\\"mapped\\\\\\\",[4451]],[[12626,12626],\\\\\\\"mapped\\\\\\\",[4452]],[[12627,12627],\\\\\\\"mapped\\\\\\\",[4453]],[[12628,12628],\\\\\\\"mapped\\\\\\\",[4454]],[[12629,12629],\\\\\\\"mapped\\\\\\\",[4455]],[[12630,12630],\\\\\\\"mapped\\\\\\\",[4456]],[[12631,12631],\\\\\\\"mapped\\\\\\\",[4457]],[[12632,12632],\\\\\\\"mapped\\\\\\\",[4458]],[[12633,12633],\\\\\\\"mapped\\\\\\\",[4459]],[[12634,12634],\\\\\\\"mapped\\\\\\\",[4460]],[[12635,12635],\\\\\\\"mapped\\\\\\\",[4461]],[[12636,12636],\\\\\\\"mapped\\\\\\\",[4462]],[[12637,12637],\\\\\\\"mapped\\\\\\\",[4463]],[[12638,12638],\\\\\\\"mapped\\\\\\\",[4464]],[[12639,12639],\\\\\\\"mapped\\\\\\\",[4465]],[[12640,12640],\\\\\\\"mapped\\\\\\\",[4466]],[[12641,12641],\\\\\\\"mapped\\\\\\\",[4467]],[[12642,12642],\\\\\\\"mapped\\\\\\\",[4468]],[[12643,12643],\\\\\\\"mapped\\\\\\\",[4469]],[[12644,12644],\\\\\\\"disallowed\\\\\\\"],[[12645,12645],\\\\\\\"mapped\\\\\\\",[4372]],[[12646,12646],\\\\\\\"mapped\\\\\\\",[4373]],[[12647,12647],\\\\\\\"mapped\\\\\\\",[4551]],[[12648,12648],\\\\\\\"mapped\\\\\\\",[4552]],[[12649,12649],\\\\\\\"mapped\\\\\\\",[4556]],[[12650,12650],\\\\\\\"mapped\\\\\\\",[4558]],[[12651,12651],\\\\\\\"mapped\\\\\\\",[4563]],[[12652,12652],\\\\\\\"mapped\\\\\\\",[4567]],[[12653,12653],\\\\\\\"mapped\\\\\\\",[4569]],[[12654,12654],\\\\\\\"mapped\\\\\\\",[4380]],[[12655,12655],\\\\\\\"mapped\\\\\\\",[4573]],[[12656,12656],\\\\\\\"mapped\\\\\\\",[4575]],[[12657,12657],\\\\\\\"mapped\\\\\\\",[4381]],[[12658,12658],\\\\\\\"mapped\\\\\\\",[4382]],[[12659,12659],\\\\\\\"mapped\\\\\\\",[4384]],[[12660,12660],\\\\\\\"mapped\\\\\\\",[4386]],[[12661,12661],\\\\\\\"mapped\\\\\\\",[4387]],[[12662,12662],\\\\\\\"mapped\\\\\\\",[4391]],[[12663,12663],\\\\\\\"mapped\\\\\\\",[4393]],[[12664,12664],\\\\\\\"mapped\\\\\\\",[4395]],[[12665,12665],\\\\\\\"mapped\\\\\\\",[4396]],[[12666,12666],\\\\\\\"mapped\\\\\\\",[4397]],[[12667,12667],\\\\\\\"mapped\\\\\\\",[4398]],[[12668,12668],\\\\\\\"mapped\\\\\\\",[4399]],[[12669,12669],\\\\\\\"mapped\\\\\\\",[4402]],[[12670,12670],\\\\\\\"mapped\\\\\\\",[4406]],[[12671,12671],\\\\\\\"mapped\\\\\\\",[4416]],[[12672,12672],\\\\\\\"mapped\\\\\\\",[4423]],[[12673,12673],\\\\\\\"mapped\\\\\\\",[4428]],[[12674,12674],\\\\\\\"mapped\\\\\\\",[4593]],[[12675,12675],\\\\\\\"mapped\\\\\\\",[4594]],[[12676,12676],\\\\\\\"mapped\\\\\\\",[4439]],[[12677,12677],\\\\\\\"mapped\\\\\\\",[4440]],[[12678,12678],\\\\\\\"mapped\\\\\\\",[4441]],[[12679,12679],\\\\\\\"mapped\\\\\\\",[4484]],[[12680,12680],\\\\\\\"mapped\\\\\\\",[4485]],[[12681,12681],\\\\\\\"mapped\\\\\\\",[4488]],[[12682,12682],\\\\\\\"mapped\\\\\\\",[4497]],[[12683,12683],\\\\\\\"mapped\\\\\\\",[4498]],[[12684,12684],\\\\\\\"mapped\\\\\\\",[4500]],[[12685,12685],\\\\\\\"mapped\\\\\\\",[4510]],[[12686,12686],\\\\\\\"mapped\\\\\\\",[4513]],[[12687,12687],\\\\\\\"disallowed\\\\\\\"],[[12688,12689],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12690,12690],\\\\\\\"mapped\\\\\\\",[19968]],[[12691,12691],\\\\\\\"mapped\\\\\\\",[20108]],[[12692,12692],\\\\\\\"mapped\\\\\\\",[19977]],[[12693,12693],\\\\\\\"mapped\\\\\\\",[22235]],[[12694,12694],\\\\\\\"mapped\\\\\\\",[19978]],[[12695,12695],\\\\\\\"mapped\\\\\\\",[20013]],[[12696,12696],\\\\\\\"mapped\\\\\\\",[19979]],[[12697,12697],\\\\\\\"mapped\\\\\\\",[30002]],[[12698,12698],\\\\\\\"mapped\\\\\\\",[20057]],[[12699,12699],\\\\\\\"mapped\\\\\\\",[19993]],[[12700,12700],\\\\\\\"mapped\\\\\\\",[19969]],[[12701,12701],\\\\\\\"mapped\\\\\\\",[22825]],[[12702,12702],\\\\\\\"mapped\\\\\\\",[22320]],[[12703,12703],\\\\\\\"mapped\\\\\\\",[20154]],[[12704,12727],\\\\\\\"valid\\\\\\\"],[[12728,12730],\\\\\\\"valid\\\\\\\"],[[12731,12735],\\\\\\\"disallowed\\\\\\\"],[[12736,12751],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12752,12771],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12772,12783],\\\\\\\"disallowed\\\\\\\"],[[12784,12799],\\\\\\\"valid\\\\\\\"],[[12800,12800],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4352,41]],[[12801,12801],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4354,41]],[[12802,12802],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4355,41]],[[12803,12803],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4357,41]],[[12804,12804],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4358,41]],[[12805,12805],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4359,41]],[[12806,12806],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4361,41]],[[12807,12807],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4363,41]],[[12808,12808],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4364,41]],[[12809,12809],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4366,41]],[[12810,12810],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4367,41]],[[12811,12811],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4368,41]],[[12812,12812],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4369,41]],[[12813,12813],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,4370,41]],[[12814,12814],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,44032,41]],[[12815,12815],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,45208,41]],[[12816,12816],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,45796,41]],[[12817,12817],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,46972,41]],[[12818,12818],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,47560,41]],[[12819,12819],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,48148,41]],[[12820,12820],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,49324,41]],[[12821,12821],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,50500,41]],[[12822,12822],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,51088,41]],[[12823,12823],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,52264,41]],[[12824,12824],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,52852,41]],[[12825,12825],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,53440,41]],[[12826,12826],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,54028,41]],[[12827,12827],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,54616,41]],[[12828,12828],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,51452,41]],[[12829,12829],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,50724,51204,41]],[[12830,12830],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,50724,54980,41]],[[12831,12831],\\\\\\\"disallowed\\\\\\\"],[[12832,12832],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,19968,41]],[[12833,12833],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20108,41]],[[12834,12834],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,19977,41]],[[12835,12835],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,22235,41]],[[12836,12836],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20116,41]],[[12837,12837],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20845,41]],[[12838,12838],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,19971,41]],[[12839,12839],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20843,41]],[[12840,12840],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20061,41]],[[12841,12841],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,21313,41]],[[12842,12842],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,26376,41]],[[12843,12843],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,28779,41]],[[12844,12844],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,27700,41]],[[12845,12845],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,26408,41]],[[12846,12846],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,37329,41]],[[12847,12847],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,22303,41]],[[12848,12848],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,26085,41]],[[12849,12849],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,26666,41]],[[12850,12850],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,26377,41]],[[12851,12851],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,31038,41]],[[12852,12852],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,21517,41]],[[12853,12853],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,29305,41]],[[12854,12854],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,36001,41]],[[12855,12855],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,31069,41]],[[12856,12856],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,21172,41]],[[12857,12857],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20195,41]],[[12858,12858],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,21628,41]],[[12859,12859],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,23398,41]],[[12860,12860],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,30435,41]],[[12861,12861],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20225,41]],[[12862,12862],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,36039,41]],[[12863,12863],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,21332,41]],[[12864,12864],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,31085,41]],[[12865,12865],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,20241,41]],[[12866,12866],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,33258,41]],[[12867,12867],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,33267,41]],[[12868,12868],\\\\\\\"mapped\\\\\\\",[21839]],[[12869,12869],\\\\\\\"mapped\\\\\\\",[24188]],[[12870,12870],\\\\\\\"mapped\\\\\\\",[25991]],[[12871,12871],\\\\\\\"mapped\\\\\\\",[31631]],[[12872,12879],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12880,12880],\\\\\\\"mapped\\\\\\\",[112,116,101]],[[12881,12881],\\\\\\\"mapped\\\\\\\",[50,49]],[[12882,12882],\\\\\\\"mapped\\\\\\\",[50,50]],[[12883,12883],\\\\\\\"mapped\\\\\\\",[50,51]],[[12884,12884],\\\\\\\"mapped\\\\\\\",[50,52]],[[12885,12885],\\\\\\\"mapped\\\\\\\",[50,53]],[[12886,12886],\\\\\\\"mapped\\\\\\\",[50,54]],[[12887,12887],\\\\\\\"mapped\\\\\\\",[50,55]],[[12888,12888],\\\\\\\"mapped\\\\\\\",[50,56]],[[12889,12889],\\\\\\\"mapped\\\\\\\",[50,57]],[[12890,12890],\\\\\\\"mapped\\\\\\\",[51,48]],[[12891,12891],\\\\\\\"mapped\\\\\\\",[51,49]],[[12892,12892],\\\\\\\"mapped\\\\\\\",[51,50]],[[12893,12893],\\\\\\\"mapped\\\\\\\",[51,51]],[[12894,12894],\\\\\\\"mapped\\\\\\\",[51,52]],[[12895,12895],\\\\\\\"mapped\\\\\\\",[51,53]],[[12896,12896],\\\\\\\"mapped\\\\\\\",[4352]],[[12897,12897],\\\\\\\"mapped\\\\\\\",[4354]],[[12898,12898],\\\\\\\"mapped\\\\\\\",[4355]],[[12899,12899],\\\\\\\"mapped\\\\\\\",[4357]],[[12900,12900],\\\\\\\"mapped\\\\\\\",[4358]],[[12901,12901],\\\\\\\"mapped\\\\\\\",[4359]],[[12902,12902],\\\\\\\"mapped\\\\\\\",[4361]],[[12903,12903],\\\\\\\"mapped\\\\\\\",[4363]],[[12904,12904],\\\\\\\"mapped\\\\\\\",[4364]],[[12905,12905],\\\\\\\"mapped\\\\\\\",[4366]],[[12906,12906],\\\\\\\"mapped\\\\\\\",[4367]],[[12907,12907],\\\\\\\"mapped\\\\\\\",[4368]],[[12908,12908],\\\\\\\"mapped\\\\\\\",[4369]],[[12909,12909],\\\\\\\"mapped\\\\\\\",[4370]],[[12910,12910],\\\\\\\"mapped\\\\\\\",[44032]],[[12911,12911],\\\\\\\"mapped\\\\\\\",[45208]],[[12912,12912],\\\\\\\"mapped\\\\\\\",[45796]],[[12913,12913],\\\\\\\"mapped\\\\\\\",[46972]],[[12914,12914],\\\\\\\"mapped\\\\\\\",[47560]],[[12915,12915],\\\\\\\"mapped\\\\\\\",[48148]],[[12916,12916],\\\\\\\"mapped\\\\\\\",[49324]],[[12917,12917],\\\\\\\"mapped\\\\\\\",[50500]],[[12918,12918],\\\\\\\"mapped\\\\\\\",[51088]],[[12919,12919],\\\\\\\"mapped\\\\\\\",[52264]],[[12920,12920],\\\\\\\"mapped\\\\\\\",[52852]],[[12921,12921],\\\\\\\"mapped\\\\\\\",[53440]],[[12922,12922],\\\\\\\"mapped\\\\\\\",[54028]],[[12923,12923],\\\\\\\"mapped\\\\\\\",[54616]],[[12924,12924],\\\\\\\"mapped\\\\\\\",[52280,44256]],[[12925,12925],\\\\\\\"mapped\\\\\\\",[51452,51032]],[[12926,12926],\\\\\\\"mapped\\\\\\\",[50864]],[[12927,12927],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[12928,12928],\\\\\\\"mapped\\\\\\\",[19968]],[[12929,12929],\\\\\\\"mapped\\\\\\\",[20108]],[[12930,12930],\\\\\\\"mapped\\\\\\\",[19977]],[[12931,12931],\\\\\\\"mapped\\\\\\\",[22235]],[[12932,12932],\\\\\\\"mapped\\\\\\\",[20116]],[[12933,12933],\\\\\\\"mapped\\\\\\\",[20845]],[[12934,12934],\\\\\\\"mapped\\\\\\\",[19971]],[[12935,12935],\\\\\\\"mapped\\\\\\\",[20843]],[[12936,12936],\\\\\\\"mapped\\\\\\\",[20061]],[[12937,12937],\\\\\\\"mapped\\\\\\\",[21313]],[[12938,12938],\\\\\\\"mapped\\\\\\\",[26376]],[[12939,12939],\\\\\\\"mapped\\\\\\\",[28779]],[[12940,12940],\\\\\\\"mapped\\\\\\\",[27700]],[[12941,12941],\\\\\\\"mapped\\\\\\\",[26408]],[[12942,12942],\\\\\\\"mapped\\\\\\\",[37329]],[[12943,12943],\\\\\\\"mapped\\\\\\\",[22303]],[[12944,12944],\\\\\\\"mapped\\\\\\\",[26085]],[[12945,12945],\\\\\\\"mapped\\\\\\\",[26666]],[[12946,12946],\\\\\\\"mapped\\\\\\\",[26377]],[[12947,12947],\\\\\\\"mapped\\\\\\\",[31038]],[[12948,12948],\\\\\\\"mapped\\\\\\\",[21517]],[[12949,12949],\\\\\\\"mapped\\\\\\\",[29305]],[[12950,12950],\\\\\\\"mapped\\\\\\\",[36001]],[[12951,12951],\\\\\\\"mapped\\\\\\\",[31069]],[[12952,12952],\\\\\\\"mapped\\\\\\\",[21172]],[[12953,12953],\\\\\\\"mapped\\\\\\\",[31192]],[[12954,12954],\\\\\\\"mapped\\\\\\\",[30007]],[[12955,12955],\\\\\\\"mapped\\\\\\\",[22899]],[[12956,12956],\\\\\\\"mapped\\\\\\\",[36969]],[[12957,12957],\\\\\\\"mapped\\\\\\\",[20778]],[[12958,12958],\\\\\\\"mapped\\\\\\\",[21360]],[[12959,12959],\\\\\\\"mapped\\\\\\\",[27880]],[[12960,12960],\\\\\\\"mapped\\\\\\\",[38917]],[[12961,12961],\\\\\\\"mapped\\\\\\\",[20241]],[[12962,12962],\\\\\\\"mapped\\\\\\\",[20889]],[[12963,12963],\\\\\\\"mapped\\\\\\\",[27491]],[[12964,12964],\\\\\\\"mapped\\\\\\\",[19978]],[[12965,12965],\\\\\\\"mapped\\\\\\\",[20013]],[[12966,12966],\\\\\\\"mapped\\\\\\\",[19979]],[[12967,12967],\\\\\\\"mapped\\\\\\\",[24038]],[[12968,12968],\\\\\\\"mapped\\\\\\\",[21491]],[[12969,12969],\\\\\\\"mapped\\\\\\\",[21307]],[[12970,12970],\\\\\\\"mapped\\\\\\\",[23447]],[[12971,12971],\\\\\\\"mapped\\\\\\\",[23398]],[[12972,12972],\\\\\\\"mapped\\\\\\\",[30435]],[[12973,12973],\\\\\\\"mapped\\\\\\\",[20225]],[[12974,12974],\\\\\\\"mapped\\\\\\\",[36039]],[[12975,12975],\\\\\\\"mapped\\\\\\\",[21332]],[[12976,12976],\\\\\\\"mapped\\\\\\\",[22812]],[[12977,12977],\\\\\\\"mapped\\\\\\\",[51,54]],[[12978,12978],\\\\\\\"mapped\\\\\\\",[51,55]],[[12979,12979],\\\\\\\"mapped\\\\\\\",[51,56]],[[12980,12980],\\\\\\\"mapped\\\\\\\",[51,57]],[[12981,12981],\\\\\\\"mapped\\\\\\\",[52,48]],[[12982,12982],\\\\\\\"mapped\\\\\\\",[52,49]],[[12983,12983],\\\\\\\"mapped\\\\\\\",[52,50]],[[12984,12984],\\\\\\\"mapped\\\\\\\",[52,51]],[[12985,12985],\\\\\\\"mapped\\\\\\\",[52,52]],[[12986,12986],\\\\\\\"mapped\\\\\\\",[52,53]],[[12987,12987],\\\\\\\"mapped\\\\\\\",[52,54]],[[12988,12988],\\\\\\\"mapped\\\\\\\",[52,55]],[[12989,12989],\\\\\\\"mapped\\\\\\\",[52,56]],[[12990,12990],\\\\\\\"mapped\\\\\\\",[52,57]],[[12991,12991],\\\\\\\"mapped\\\\\\\",[53,48]],[[12992,12992],\\\\\\\"mapped\\\\\\\",[49,26376]],[[12993,12993],\\\\\\\"mapped\\\\\\\",[50,26376]],[[12994,12994],\\\\\\\"mapped\\\\\\\",[51,26376]],[[12995,12995],\\\\\\\"mapped\\\\\\\",[52,26376]],[[12996,12996],\\\\\\\"mapped\\\\\\\",[53,26376]],[[12997,12997],\\\\\\\"mapped\\\\\\\",[54,26376]],[[12998,12998],\\\\\\\"mapped\\\\\\\",[55,26376]],[[12999,12999],\\\\\\\"mapped\\\\\\\",[56,26376]],[[13000,13000],\\\\\\\"mapped\\\\\\\",[57,26376]],[[13001,13001],\\\\\\\"mapped\\\\\\\",[49,48,26376]],[[13002,13002],\\\\\\\"mapped\\\\\\\",[49,49,26376]],[[13003,13003],\\\\\\\"mapped\\\\\\\",[49,50,26376]],[[13004,13004],\\\\\\\"mapped\\\\\\\",[104,103]],[[13005,13005],\\\\\\\"mapped\\\\\\\",[101,114,103]],[[13006,13006],\\\\\\\"mapped\\\\\\\",[101,118]],[[13007,13007],\\\\\\\"mapped\\\\\\\",[108,116,100]],[[13008,13008],\\\\\\\"mapped\\\\\\\",[12450]],[[13009,13009],\\\\\\\"mapped\\\\\\\",[12452]],[[13010,13010],\\\\\\\"mapped\\\\\\\",[12454]],[[13011,13011],\\\\\\\"mapped\\\\\\\",[12456]],[[13012,13012],\\\\\\\"mapped\\\\\\\",[12458]],[[13013,13013],\\\\\\\"mapped\\\\\\\",[12459]],[[13014,13014],\\\\\\\"mapped\\\\\\\",[12461]],[[13015,13015],\\\\\\\"mapped\\\\\\\",[12463]],[[13016,13016],\\\\\\\"mapped\\\\\\\",[12465]],[[13017,13017],\\\\\\\"mapped\\\\\\\",[12467]],[[13018,13018],\\\\\\\"mapped\\\\\\\",[12469]],[[13019,13019],\\\\\\\"mapped\\\\\\\",[12471]],[[13020,13020],\\\\\\\"mapped\\\\\\\",[12473]],[[13021,13021],\\\\\\\"mapped\\\\\\\",[12475]],[[13022,13022],\\\\\\\"mapped\\\\\\\",[12477]],[[13023,13023],\\\\\\\"mapped\\\\\\\",[12479]],[[13024,13024],\\\\\\\"mapped\\\\\\\",[12481]],[[13025,13025],\\\\\\\"mapped\\\\\\\",[12484]],[[13026,13026],\\\\\\\"mapped\\\\\\\",[12486]],[[13027,13027],\\\\\\\"mapped\\\\\\\",[12488]],[[13028,13028],\\\\\\\"mapped\\\\\\\",[12490]],[[13029,13029],\\\\\\\"mapped\\\\\\\",[12491]],[[13030,13030],\\\\\\\"mapped\\\\\\\",[12492]],[[13031,13031],\\\\\\\"mapped\\\\\\\",[12493]],[[13032,13032],\\\\\\\"mapped\\\\\\\",[12494]],[[13033,13033],\\\\\\\"mapped\\\\\\\",[12495]],[[13034,13034],\\\\\\\"mapped\\\\\\\",[12498]],[[13035,13035],\\\\\\\"mapped\\\\\\\",[12501]],[[13036,13036],\\\\\\\"mapped\\\\\\\",[12504]],[[13037,13037],\\\\\\\"mapped\\\\\\\",[12507]],[[13038,13038],\\\\\\\"mapped\\\\\\\",[12510]],[[13039,13039],\\\\\\\"mapped\\\\\\\",[12511]],[[13040,13040],\\\\\\\"mapped\\\\\\\",[12512]],[[13041,13041],\\\\\\\"mapped\\\\\\\",[12513]],[[13042,13042],\\\\\\\"mapped\\\\\\\",[12514]],[[13043,13043],\\\\\\\"mapped\\\\\\\",[12516]],[[13044,13044],\\\\\\\"mapped\\\\\\\",[12518]],[[13045,13045],\\\\\\\"mapped\\\\\\\",[12520]],[[13046,13046],\\\\\\\"mapped\\\\\\\",[12521]],[[13047,13047],\\\\\\\"mapped\\\\\\\",[12522]],[[13048,13048],\\\\\\\"mapped\\\\\\\",[12523]],[[13049,13049],\\\\\\\"mapped\\\\\\\",[12524]],[[13050,13050],\\\\\\\"mapped\\\\\\\",[12525]],[[13051,13051],\\\\\\\"mapped\\\\\\\",[12527]],[[13052,13052],\\\\\\\"mapped\\\\\\\",[12528]],[[13053,13053],\\\\\\\"mapped\\\\\\\",[12529]],[[13054,13054],\\\\\\\"mapped\\\\\\\",[12530]],[[13055,13055],\\\\\\\"disallowed\\\\\\\"],[[13056,13056],\\\\\\\"mapped\\\\\\\",[12450,12497,12540,12488]],[[13057,13057],\\\\\\\"mapped\\\\\\\",[12450,12523,12501,12449]],[[13058,13058],\\\\\\\"mapped\\\\\\\",[12450,12531,12506,12450]],[[13059,13059],\\\\\\\"mapped\\\\\\\",[12450,12540,12523]],[[13060,13060],\\\\\\\"mapped\\\\\\\",[12452,12491,12531,12464]],[[13061,13061],\\\\\\\"mapped\\\\\\\",[12452,12531,12481]],[[13062,13062],\\\\\\\"mapped\\\\\\\",[12454,12457,12531]],[[13063,13063],\\\\\\\"mapped\\\\\\\",[12456,12473,12463,12540,12489]],[[13064,13064],\\\\\\\"mapped\\\\\\\",[12456,12540,12459,12540]],[[13065,13065],\\\\\\\"mapped\\\\\\\",[12458,12531,12473]],[[13066,13066],\\\\\\\"mapped\\\\\\\",[12458,12540,12512]],[[13067,13067],\\\\\\\"mapped\\\\\\\",[12459,12452,12522]],[[13068,13068],\\\\\\\"mapped\\\\\\\",[12459,12521,12483,12488]],[[13069,13069],\\\\\\\"mapped\\\\\\\",[12459,12525,12522,12540]],[[13070,13070],\\\\\\\"mapped\\\\\\\",[12460,12525,12531]],[[13071,13071],\\\\\\\"mapped\\\\\\\",[12460,12531,12510]],[[13072,13072],\\\\\\\"mapped\\\\\\\",[12462,12460]],[[13073,13073],\\\\\\\"mapped\\\\\\\",[12462,12491,12540]],[[13074,13074],\\\\\\\"mapped\\\\\\\",[12461,12517,12522,12540]],[[13075,13075],\\\\\\\"mapped\\\\\\\",[12462,12523,12480,12540]],[[13076,13076],\\\\\\\"mapped\\\\\\\",[12461,12525]],[[13077,13077],\\\\\\\"mapped\\\\\\\",[12461,12525,12464,12521,12512]],[[13078,13078],\\\\\\\"mapped\\\\\\\",[12461,12525,12513,12540,12488,12523]],[[13079,13079],\\\\\\\"mapped\\\\\\\",[12461,12525,12527,12483,12488]],[[13080,13080],\\\\\\\"mapped\\\\\\\",[12464,12521,12512]],[[13081,13081],\\\\\\\"mapped\\\\\\\",[12464,12521,12512,12488,12531]],[[13082,13082],\\\\\\\"mapped\\\\\\\",[12463,12523,12476,12452,12525]],[[13083,13083],\\\\\\\"mapped\\\\\\\",[12463,12525,12540,12493]],[[13084,13084],\\\\\\\"mapped\\\\\\\",[12465,12540,12473]],[[13085,13085],\\\\\\\"mapped\\\\\\\",[12467,12523,12490]],[[13086,13086],\\\\\\\"mapped\\\\\\\",[12467,12540,12509]],[[13087,13087],\\\\\\\"mapped\\\\\\\",[12469,12452,12463,12523]],[[13088,13088],\\\\\\\"mapped\\\\\\\",[12469,12531,12481,12540,12512]],[[13089,13089],\\\\\\\"mapped\\\\\\\",[12471,12522,12531,12464]],[[13090,13090],\\\\\\\"mapped\\\\\\\",[12475,12531,12481]],[[13091,13091],\\\\\\\"mapped\\\\\\\",[12475,12531,12488]],[[13092,13092],\\\\\\\"mapped\\\\\\\",[12480,12540,12473]],[[13093,13093],\\\\\\\"mapped\\\\\\\",[12487,12471]],[[13094,13094],\\\\\\\"mapped\\\\\\\",[12489,12523]],[[13095,13095],\\\\\\\"mapped\\\\\\\",[12488,12531]],[[13096,13096],\\\\\\\"mapped\\\\\\\",[12490,12494]],[[13097,13097],\\\\\\\"mapped\\\\\\\",[12494,12483,12488]],[[13098,13098],\\\\\\\"mapped\\\\\\\",[12495,12452,12484]],[[13099,13099],\\\\\\\"mapped\\\\\\\",[12497,12540,12475,12531,12488]],[[13100,13100],\\\\\\\"mapped\\\\\\\",[12497,12540,12484]],[[13101,13101],\\\\\\\"mapped\\\\\\\",[12496,12540,12524,12523]],[[13102,13102],\\\\\\\"mapped\\\\\\\",[12500,12450,12473,12488,12523]],[[13103,13103],\\\\\\\"mapped\\\\\\\",[12500,12463,12523]],[[13104,13104],\\\\\\\"mapped\\\\\\\",[12500,12467]],[[13105,13105],\\\\\\\"mapped\\\\\\\",[12499,12523]],[[13106,13106],\\\\\\\"mapped\\\\\\\",[12501,12449,12521,12483,12489]],[[13107,13107],\\\\\\\"mapped\\\\\\\",[12501,12451,12540,12488]],[[13108,13108],\\\\\\\"mapped\\\\\\\",[12502,12483,12471,12455,12523]],[[13109,13109],\\\\\\\"mapped\\\\\\\",[12501,12521,12531]],[[13110,13110],\\\\\\\"mapped\\\\\\\",[12504,12463,12479,12540,12523]],[[13111,13111],\\\\\\\"mapped\\\\\\\",[12506,12477]],[[13112,13112],\\\\\\\"mapped\\\\\\\",[12506,12491,12498]],[[13113,13113],\\\\\\\"mapped\\\\\\\",[12504,12523,12484]],[[13114,13114],\\\\\\\"mapped\\\\\\\",[12506,12531,12473]],[[13115,13115],\\\\\\\"mapped\\\\\\\",[12506,12540,12472]],[[13116,13116],\\\\\\\"mapped\\\\\\\",[12505,12540,12479]],[[13117,13117],\\\\\\\"mapped\\\\\\\",[12509,12452,12531,12488]],[[13118,13118],\\\\\\\"mapped\\\\\\\",[12508,12523,12488]],[[13119,13119],\\\\\\\"mapped\\\\\\\",[12507,12531]],[[13120,13120],\\\\\\\"mapped\\\\\\\",[12509,12531,12489]],[[13121,13121],\\\\\\\"mapped\\\\\\\",[12507,12540,12523]],[[13122,13122],\\\\\\\"mapped\\\\\\\",[12507,12540,12531]],[[13123,13123],\\\\\\\"mapped\\\\\\\",[12510,12452,12463,12525]],[[13124,13124],\\\\\\\"mapped\\\\\\\",[12510,12452,12523]],[[13125,13125],\\\\\\\"mapped\\\\\\\",[12510,12483,12495]],[[13126,13126],\\\\\\\"mapped\\\\\\\",[12510,12523,12463]],[[13127,13127],\\\\\\\"mapped\\\\\\\",[12510,12531,12471,12519,12531]],[[13128,13128],\\\\\\\"mapped\\\\\\\",[12511,12463,12525,12531]],[[13129,13129],\\\\\\\"mapped\\\\\\\",[12511,12522]],[[13130,13130],\\\\\\\"mapped\\\\\\\",[12511,12522,12496,12540,12523]],[[13131,13131],\\\\\\\"mapped\\\\\\\",[12513,12460]],[[13132,13132],\\\\\\\"mapped\\\\\\\",[12513,12460,12488,12531]],[[13133,13133],\\\\\\\"mapped\\\\\\\",[12513,12540,12488,12523]],[[13134,13134],\\\\\\\"mapped\\\\\\\",[12516,12540,12489]],[[13135,13135],\\\\\\\"mapped\\\\\\\",[12516,12540,12523]],[[13136,13136],\\\\\\\"mapped\\\\\\\",[12518,12450,12531]],[[13137,13137],\\\\\\\"mapped\\\\\\\",[12522,12483,12488,12523]],[[13138,13138],\\\\\\\"mapped\\\\\\\",[12522,12521]],[[13139,13139],\\\\\\\"mapped\\\\\\\",[12523,12500,12540]],[[13140,13140],\\\\\\\"mapped\\\\\\\",[12523,12540,12502,12523]],[[13141,13141],\\\\\\\"mapped\\\\\\\",[12524,12512]],[[13142,13142],\\\\\\\"mapped\\\\\\\",[12524,12531,12488,12466,12531]],[[13143,13143],\\\\\\\"mapped\\\\\\\",[12527,12483,12488]],[[13144,13144],\\\\\\\"mapped\\\\\\\",[48,28857]],[[13145,13145],\\\\\\\"mapped\\\\\\\",[49,28857]],[[13146,13146],\\\\\\\"mapped\\\\\\\",[50,28857]],[[13147,13147],\\\\\\\"mapped\\\\\\\",[51,28857]],[[13148,13148],\\\\\\\"mapped\\\\\\\",[52,28857]],[[13149,13149],\\\\\\\"mapped\\\\\\\",[53,28857]],[[13150,13150],\\\\\\\"mapped\\\\\\\",[54,28857]],[[13151,13151],\\\\\\\"mapped\\\\\\\",[55,28857]],[[13152,13152],\\\\\\\"mapped\\\\\\\",[56,28857]],[[13153,13153],\\\\\\\"mapped\\\\\\\",[57,28857]],[[13154,13154],\\\\\\\"mapped\\\\\\\",[49,48,28857]],[[13155,13155],\\\\\\\"mapped\\\\\\\",[49,49,28857]],[[13156,13156],\\\\\\\"mapped\\\\\\\",[49,50,28857]],[[13157,13157],\\\\\\\"mapped\\\\\\\",[49,51,28857]],[[13158,13158],\\\\\\\"mapped\\\\\\\",[49,52,28857]],[[13159,13159],\\\\\\\"mapped\\\\\\\",[49,53,28857]],[[13160,13160],\\\\\\\"mapped\\\\\\\",[49,54,28857]],[[13161,13161],\\\\\\\"mapped\\\\\\\",[49,55,28857]],[[13162,13162],\\\\\\\"mapped\\\\\\\",[49,56,28857]],[[13163,13163],\\\\\\\"mapped\\\\\\\",[49,57,28857]],[[13164,13164],\\\\\\\"mapped\\\\\\\",[50,48,28857]],[[13165,13165],\\\\\\\"mapped\\\\\\\",[50,49,28857]],[[13166,13166],\\\\\\\"mapped\\\\\\\",[50,50,28857]],[[13167,13167],\\\\\\\"mapped\\\\\\\",[50,51,28857]],[[13168,13168],\\\\\\\"mapped\\\\\\\",[50,52,28857]],[[13169,13169],\\\\\\\"mapped\\\\\\\",[104,112,97]],[[13170,13170],\\\\\\\"mapped\\\\\\\",[100,97]],[[13171,13171],\\\\\\\"mapped\\\\\\\",[97,117]],[[13172,13172],\\\\\\\"mapped\\\\\\\",[98,97,114]],[[13173,13173],\\\\\\\"mapped\\\\\\\",[111,118]],[[13174,13174],\\\\\\\"mapped\\\\\\\",[112,99]],[[13175,13175],\\\\\\\"mapped\\\\\\\",[100,109]],[[13176,13176],\\\\\\\"mapped\\\\\\\",[100,109,50]],[[13177,13177],\\\\\\\"mapped\\\\\\\",[100,109,51]],[[13178,13178],\\\\\\\"mapped\\\\\\\",[105,117]],[[13179,13179],\\\\\\\"mapped\\\\\\\",[24179,25104]],[[13180,13180],\\\\\\\"mapped\\\\\\\",[26157,21644]],[[13181,13181],\\\\\\\"mapped\\\\\\\",[22823,27491]],[[13182,13182],\\\\\\\"mapped\\\\\\\",[26126,27835]],[[13183,13183],\\\\\\\"mapped\\\\\\\",[26666,24335,20250,31038]],[[13184,13184],\\\\\\\"mapped\\\\\\\",[112,97]],[[13185,13185],\\\\\\\"mapped\\\\\\\",[110,97]],[[13186,13186],\\\\\\\"mapped\\\\\\\",[956,97]],[[13187,13187],\\\\\\\"mapped\\\\\\\",[109,97]],[[13188,13188],\\\\\\\"mapped\\\\\\\",[107,97]],[[13189,13189],\\\\\\\"mapped\\\\\\\",[107,98]],[[13190,13190],\\\\\\\"mapped\\\\\\\",[109,98]],[[13191,13191],\\\\\\\"mapped\\\\\\\",[103,98]],[[13192,13192],\\\\\\\"mapped\\\\\\\",[99,97,108]],[[13193,13193],\\\\\\\"mapped\\\\\\\",[107,99,97,108]],[[13194,13194],\\\\\\\"mapped\\\\\\\",[112,102]],[[13195,13195],\\\\\\\"mapped\\\\\\\",[110,102]],[[13196,13196],\\\\\\\"mapped\\\\\\\",[956,102]],[[13197,13197],\\\\\\\"mapped\\\\\\\",[956,103]],[[13198,13198],\\\\\\\"mapped\\\\\\\",[109,103]],[[13199,13199],\\\\\\\"mapped\\\\\\\",[107,103]],[[13200,13200],\\\\\\\"mapped\\\\\\\",[104,122]],[[13201,13201],\\\\\\\"mapped\\\\\\\",[107,104,122]],[[13202,13202],\\\\\\\"mapped\\\\\\\",[109,104,122]],[[13203,13203],\\\\\\\"mapped\\\\\\\",[103,104,122]],[[13204,13204],\\\\\\\"mapped\\\\\\\",[116,104,122]],[[13205,13205],\\\\\\\"mapped\\\\\\\",[956,108]],[[13206,13206],\\\\\\\"mapped\\\\\\\",[109,108]],[[13207,13207],\\\\\\\"mapped\\\\\\\",[100,108]],[[13208,13208],\\\\\\\"mapped\\\\\\\",[107,108]],[[13209,13209],\\\\\\\"mapped\\\\\\\",[102,109]],[[13210,13210],\\\\\\\"mapped\\\\\\\",[110,109]],[[13211,13211],\\\\\\\"mapped\\\\\\\",[956,109]],[[13212,13212],\\\\\\\"mapped\\\\\\\",[109,109]],[[13213,13213],\\\\\\\"mapped\\\\\\\",[99,109]],[[13214,13214],\\\\\\\"mapped\\\\\\\",[107,109]],[[13215,13215],\\\\\\\"mapped\\\\\\\",[109,109,50]],[[13216,13216],\\\\\\\"mapped\\\\\\\",[99,109,50]],[[13217,13217],\\\\\\\"mapped\\\\\\\",[109,50]],[[13218,13218],\\\\\\\"mapped\\\\\\\",[107,109,50]],[[13219,13219],\\\\\\\"mapped\\\\\\\",[109,109,51]],[[13220,13220],\\\\\\\"mapped\\\\\\\",[99,109,51]],[[13221,13221],\\\\\\\"mapped\\\\\\\",[109,51]],[[13222,13222],\\\\\\\"mapped\\\\\\\",[107,109,51]],[[13223,13223],\\\\\\\"mapped\\\\\\\",[109,8725,115]],[[13224,13224],\\\\\\\"mapped\\\\\\\",[109,8725,115,50]],[[13225,13225],\\\\\\\"mapped\\\\\\\",[112,97]],[[13226,13226],\\\\\\\"mapped\\\\\\\",[107,112,97]],[[13227,13227],\\\\\\\"mapped\\\\\\\",[109,112,97]],[[13228,13228],\\\\\\\"mapped\\\\\\\",[103,112,97]],[[13229,13229],\\\\\\\"mapped\\\\\\\",[114,97,100]],[[13230,13230],\\\\\\\"mapped\\\\\\\",[114,97,100,8725,115]],[[13231,13231],\\\\\\\"mapped\\\\\\\",[114,97,100,8725,115,50]],[[13232,13232],\\\\\\\"mapped\\\\\\\",[112,115]],[[13233,13233],\\\\\\\"mapped\\\\\\\",[110,115]],[[13234,13234],\\\\\\\"mapped\\\\\\\",[956,115]],[[13235,13235],\\\\\\\"mapped\\\\\\\",[109,115]],[[13236,13236],\\\\\\\"mapped\\\\\\\",[112,118]],[[13237,13237],\\\\\\\"mapped\\\\\\\",[110,118]],[[13238,13238],\\\\\\\"mapped\\\\\\\",[956,118]],[[13239,13239],\\\\\\\"mapped\\\\\\\",[109,118]],[[13240,13240],\\\\\\\"mapped\\\\\\\",[107,118]],[[13241,13241],\\\\\\\"mapped\\\\\\\",[109,118]],[[13242,13242],\\\\\\\"mapped\\\\\\\",[112,119]],[[13243,13243],\\\\\\\"mapped\\\\\\\",[110,119]],[[13244,13244],\\\\\\\"mapped\\\\\\\",[956,119]],[[13245,13245],\\\\\\\"mapped\\\\\\\",[109,119]],[[13246,13246],\\\\\\\"mapped\\\\\\\",[107,119]],[[13247,13247],\\\\\\\"mapped\\\\\\\",[109,119]],[[13248,13248],\\\\\\\"mapped\\\\\\\",[107,969]],[[13249,13249],\\\\\\\"mapped\\\\\\\",[109,969]],[[13250,13250],\\\\\\\"disallowed\\\\\\\"],[[13251,13251],\\\\\\\"mapped\\\\\\\",[98,113]],[[13252,13252],\\\\\\\"mapped\\\\\\\",[99,99]],[[13253,13253],\\\\\\\"mapped\\\\\\\",[99,100]],[[13254,13254],\\\\\\\"mapped\\\\\\\",[99,8725,107,103]],[[13255,13255],\\\\\\\"disallowed\\\\\\\"],[[13256,13256],\\\\\\\"mapped\\\\\\\",[100,98]],[[13257,13257],\\\\\\\"mapped\\\\\\\",[103,121]],[[13258,13258],\\\\\\\"mapped\\\\\\\",[104,97]],[[13259,13259],\\\\\\\"mapped\\\\\\\",[104,112]],[[13260,13260],\\\\\\\"mapped\\\\\\\",[105,110]],[[13261,13261],\\\\\\\"mapped\\\\\\\",[107,107]],[[13262,13262],\\\\\\\"mapped\\\\\\\",[107,109]],[[13263,13263],\\\\\\\"mapped\\\\\\\",[107,116]],[[13264,13264],\\\\\\\"mapped\\\\\\\",[108,109]],[[13265,13265],\\\\\\\"mapped\\\\\\\",[108,110]],[[13266,13266],\\\\\\\"mapped\\\\\\\",[108,111,103]],[[13267,13267],\\\\\\\"mapped\\\\\\\",[108,120]],[[13268,13268],\\\\\\\"mapped\\\\\\\",[109,98]],[[13269,13269],\\\\\\\"mapped\\\\\\\",[109,105,108]],[[13270,13270],\\\\\\\"mapped\\\\\\\",[109,111,108]],[[13271,13271],\\\\\\\"mapped\\\\\\\",[112,104]],[[13272,13272],\\\\\\\"disallowed\\\\\\\"],[[13273,13273],\\\\\\\"mapped\\\\\\\",[112,112,109]],[[13274,13274],\\\\\\\"mapped\\\\\\\",[112,114]],[[13275,13275],\\\\\\\"mapped\\\\\\\",[115,114]],[[13276,13276],\\\\\\\"mapped\\\\\\\",[115,118]],[[13277,13277],\\\\\\\"mapped\\\\\\\",[119,98]],[[13278,13278],\\\\\\\"mapped\\\\\\\",[118,8725,109]],[[13279,13279],\\\\\\\"mapped\\\\\\\",[97,8725,109]],[[13280,13280],\\\\\\\"mapped\\\\\\\",[49,26085]],[[13281,13281],\\\\\\\"mapped\\\\\\\",[50,26085]],[[13282,13282],\\\\\\\"mapped\\\\\\\",[51,26085]],[[13283,13283],\\\\\\\"mapped\\\\\\\",[52,26085]],[[13284,13284],\\\\\\\"mapped\\\\\\\",[53,26085]],[[13285,13285],\\\\\\\"mapped\\\\\\\",[54,26085]],[[13286,13286],\\\\\\\"mapped\\\\\\\",[55,26085]],[[13287,13287],\\\\\\\"mapped\\\\\\\",[56,26085]],[[13288,13288],\\\\\\\"mapped\\\\\\\",[57,26085]],[[13289,13289],\\\\\\\"mapped\\\\\\\",[49,48,26085]],[[13290,13290],\\\\\\\"mapped\\\\\\\",[49,49,26085]],[[13291,13291],\\\\\\\"mapped\\\\\\\",[49,50,26085]],[[13292,13292],\\\\\\\"mapped\\\\\\\",[49,51,26085]],[[13293,13293],\\\\\\\"mapped\\\\\\\",[49,52,26085]],[[13294,13294],\\\\\\\"mapped\\\\\\\",[49,53,26085]],[[13295,13295],\\\\\\\"mapped\\\\\\\",[49,54,26085]],[[13296,13296],\\\\\\\"mapped\\\\\\\",[49,55,26085]],[[13297,13297],\\\\\\\"mapped\\\\\\\",[49,56,26085]],[[13298,13298],\\\\\\\"mapped\\\\\\\",[49,57,26085]],[[13299,13299],\\\\\\\"mapped\\\\\\\",[50,48,26085]],[[13300,13300],\\\\\\\"mapped\\\\\\\",[50,49,26085]],[[13301,13301],\\\\\\\"mapped\\\\\\\",[50,50,26085]],[[13302,13302],\\\\\\\"mapped\\\\\\\",[50,51,26085]],[[13303,13303],\\\\\\\"mapped\\\\\\\",[50,52,26085]],[[13304,13304],\\\\\\\"mapped\\\\\\\",[50,53,26085]],[[13305,13305],\\\\\\\"mapped\\\\\\\",[50,54,26085]],[[13306,13306],\\\\\\\"mapped\\\\\\\",[50,55,26085]],[[13307,13307],\\\\\\\"mapped\\\\\\\",[50,56,26085]],[[13308,13308],\\\\\\\"mapped\\\\\\\",[50,57,26085]],[[13309,13309],\\\\\\\"mapped\\\\\\\",[51,48,26085]],[[13310,13310],\\\\\\\"mapped\\\\\\\",[51,49,26085]],[[13311,13311],\\\\\\\"mapped\\\\\\\",[103,97,108]],[[13312,19893],\\\\\\\"valid\\\\\\\"],[[19894,19903],\\\\\\\"disallowed\\\\\\\"],[[19904,19967],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[19968,40869],\\\\\\\"valid\\\\\\\"],[[40870,40891],\\\\\\\"valid\\\\\\\"],[[40892,40899],\\\\\\\"valid\\\\\\\"],[[40900,40907],\\\\\\\"valid\\\\\\\"],[[40908,40908],\\\\\\\"valid\\\\\\\"],[[40909,40917],\\\\\\\"valid\\\\\\\"],[[40918,40959],\\\\\\\"disallowed\\\\\\\"],[[40960,42124],\\\\\\\"valid\\\\\\\"],[[42125,42127],\\\\\\\"disallowed\\\\\\\"],[[42128,42145],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42146,42147],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42148,42163],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42164,42164],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42165,42176],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42177,42177],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42178,42180],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42181,42181],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42182,42182],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42183,42191],\\\\\\\"disallowed\\\\\\\"],[[42192,42237],\\\\\\\"valid\\\\\\\"],[[42238,42239],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42240,42508],\\\\\\\"valid\\\\\\\"],[[42509,42511],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42512,42539],\\\\\\\"valid\\\\\\\"],[[42540,42559],\\\\\\\"disallowed\\\\\\\"],[[42560,42560],\\\\\\\"mapped\\\\\\\",[42561]],[[42561,42561],\\\\\\\"valid\\\\\\\"],[[42562,42562],\\\\\\\"mapped\\\\\\\",[42563]],[[42563,42563],\\\\\\\"valid\\\\\\\"],[[42564,42564],\\\\\\\"mapped\\\\\\\",[42565]],[[42565,42565],\\\\\\\"valid\\\\\\\"],[[42566,42566],\\\\\\\"mapped\\\\\\\",[42567]],[[42567,42567],\\\\\\\"valid\\\\\\\"],[[42568,42568],\\\\\\\"mapped\\\\\\\",[42569]],[[42569,42569],\\\\\\\"valid\\\\\\\"],[[42570,42570],\\\\\\\"mapped\\\\\\\",[42571]],[[42571,42571],\\\\\\\"valid\\\\\\\"],[[42572,42572],\\\\\\\"mapped\\\\\\\",[42573]],[[42573,42573],\\\\\\\"valid\\\\\\\"],[[42574,42574],\\\\\\\"mapped\\\\\\\",[42575]],[[42575,42575],\\\\\\\"valid\\\\\\\"],[[42576,42576],\\\\\\\"mapped\\\\\\\",[42577]],[[42577,42577],\\\\\\\"valid\\\\\\\"],[[42578,42578],\\\\\\\"mapped\\\\\\\",[42579]],[[42579,42579],\\\\\\\"valid\\\\\\\"],[[42580,42580],\\\\\\\"mapped\\\\\\\",[42581]],[[42581,42581],\\\\\\\"valid\\\\\\\"],[[42582,42582],\\\\\\\"mapped\\\\\\\",[42583]],[[42583,42583],\\\\\\\"valid\\\\\\\"],[[42584,42584],\\\\\\\"mapped\\\\\\\",[42585]],[[42585,42585],\\\\\\\"valid\\\\\\\"],[[42586,42586],\\\\\\\"mapped\\\\\\\",[42587]],[[42587,42587],\\\\\\\"valid\\\\\\\"],[[42588,42588],\\\\\\\"mapped\\\\\\\",[42589]],[[42589,42589],\\\\\\\"valid\\\\\\\"],[[42590,42590],\\\\\\\"mapped\\\\\\\",[42591]],[[42591,42591],\\\\\\\"valid\\\\\\\"],[[42592,42592],\\\\\\\"mapped\\\\\\\",[42593]],[[42593,42593],\\\\\\\"valid\\\\\\\"],[[42594,42594],\\\\\\\"mapped\\\\\\\",[42595]],[[42595,42595],\\\\\\\"valid\\\\\\\"],[[42596,42596],\\\\\\\"mapped\\\\\\\",[42597]],[[42597,42597],\\\\\\\"valid\\\\\\\"],[[42598,42598],\\\\\\\"mapped\\\\\\\",[42599]],[[42599,42599],\\\\\\\"valid\\\\\\\"],[[42600,42600],\\\\\\\"mapped\\\\\\\",[42601]],[[42601,42601],\\\\\\\"valid\\\\\\\"],[[42602,42602],\\\\\\\"mapped\\\\\\\",[42603]],[[42603,42603],\\\\\\\"valid\\\\\\\"],[[42604,42604],\\\\\\\"mapped\\\\\\\",[42605]],[[42605,42607],\\\\\\\"valid\\\\\\\"],[[42608,42611],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42612,42619],\\\\\\\"valid\\\\\\\"],[[42620,42621],\\\\\\\"valid\\\\\\\"],[[42622,42622],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42623,42623],\\\\\\\"valid\\\\\\\"],[[42624,42624],\\\\\\\"mapped\\\\\\\",[42625]],[[42625,42625],\\\\\\\"valid\\\\\\\"],[[42626,42626],\\\\\\\"mapped\\\\\\\",[42627]],[[42627,42627],\\\\\\\"valid\\\\\\\"],[[42628,42628],\\\\\\\"mapped\\\\\\\",[42629]],[[42629,42629],\\\\\\\"valid\\\\\\\"],[[42630,42630],\\\\\\\"mapped\\\\\\\",[42631]],[[42631,42631],\\\\\\\"valid\\\\\\\"],[[42632,42632],\\\\\\\"mapped\\\\\\\",[42633]],[[42633,42633],\\\\\\\"valid\\\\\\\"],[[42634,42634],\\\\\\\"mapped\\\\\\\",[42635]],[[42635,42635],\\\\\\\"valid\\\\\\\"],[[42636,42636],\\\\\\\"mapped\\\\\\\",[42637]],[[42637,42637],\\\\\\\"valid\\\\\\\"],[[42638,42638],\\\\\\\"mapped\\\\\\\",[42639]],[[42639,42639],\\\\\\\"valid\\\\\\\"],[[42640,42640],\\\\\\\"mapped\\\\\\\",[42641]],[[42641,42641],\\\\\\\"valid\\\\\\\"],[[42642,42642],\\\\\\\"mapped\\\\\\\",[42643]],[[42643,42643],\\\\\\\"valid\\\\\\\"],[[42644,42644],\\\\\\\"mapped\\\\\\\",[42645]],[[42645,42645],\\\\\\\"valid\\\\\\\"],[[42646,42646],\\\\\\\"mapped\\\\\\\",[42647]],[[42647,42647],\\\\\\\"valid\\\\\\\"],[[42648,42648],\\\\\\\"mapped\\\\\\\",[42649]],[[42649,42649],\\\\\\\"valid\\\\\\\"],[[42650,42650],\\\\\\\"mapped\\\\\\\",[42651]],[[42651,42651],\\\\\\\"valid\\\\\\\"],[[42652,42652],\\\\\\\"mapped\\\\\\\",[1098]],[[42653,42653],\\\\\\\"mapped\\\\\\\",[1100]],[[42654,42654],\\\\\\\"valid\\\\\\\"],[[42655,42655],\\\\\\\"valid\\\\\\\"],[[42656,42725],\\\\\\\"valid\\\\\\\"],[[42726,42735],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42736,42737],\\\\\\\"valid\\\\\\\"],[[42738,42743],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42744,42751],\\\\\\\"disallowed\\\\\\\"],[[42752,42774],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42775,42778],\\\\\\\"valid\\\\\\\"],[[42779,42783],\\\\\\\"valid\\\\\\\"],[[42784,42785],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42786,42786],\\\\\\\"mapped\\\\\\\",[42787]],[[42787,42787],\\\\\\\"valid\\\\\\\"],[[42788,42788],\\\\\\\"mapped\\\\\\\",[42789]],[[42789,42789],\\\\\\\"valid\\\\\\\"],[[42790,42790],\\\\\\\"mapped\\\\\\\",[42791]],[[42791,42791],\\\\\\\"valid\\\\\\\"],[[42792,42792],\\\\\\\"mapped\\\\\\\",[42793]],[[42793,42793],\\\\\\\"valid\\\\\\\"],[[42794,42794],\\\\\\\"mapped\\\\\\\",[42795]],[[42795,42795],\\\\\\\"valid\\\\\\\"],[[42796,42796],\\\\\\\"mapped\\\\\\\",[42797]],[[42797,42797],\\\\\\\"valid\\\\\\\"],[[42798,42798],\\\\\\\"mapped\\\\\\\",[42799]],[[42799,42801],\\\\\\\"valid\\\\\\\"],[[42802,42802],\\\\\\\"mapped\\\\\\\",[42803]],[[42803,42803],\\\\\\\"valid\\\\\\\"],[[42804,42804],\\\\\\\"mapped\\\\\\\",[42805]],[[42805,42805],\\\\\\\"valid\\\\\\\"],[[42806,42806],\\\\\\\"mapped\\\\\\\",[42807]],[[42807,42807],\\\\\\\"valid\\\\\\\"],[[42808,42808],\\\\\\\"mapped\\\\\\\",[42809]],[[42809,42809],\\\\\\\"valid\\\\\\\"],[[42810,42810],\\\\\\\"mapped\\\\\\\",[42811]],[[42811,42811],\\\\\\\"valid\\\\\\\"],[[42812,42812],\\\\\\\"mapped\\\\\\\",[42813]],[[42813,42813],\\\\\\\"valid\\\\\\\"],[[42814,42814],\\\\\\\"mapped\\\\\\\",[42815]],[[42815,42815],\\\\\\\"valid\\\\\\\"],[[42816,42816],\\\\\\\"mapped\\\\\\\",[42817]],[[42817,42817],\\\\\\\"valid\\\\\\\"],[[42818,42818],\\\\\\\"mapped\\\\\\\",[42819]],[[42819,42819],\\\\\\\"valid\\\\\\\"],[[42820,42820],\\\\\\\"mapped\\\\\\\",[42821]],[[42821,42821],\\\\\\\"valid\\\\\\\"],[[42822,42822],\\\\\\\"mapped\\\\\\\",[42823]],[[42823,42823],\\\\\\\"valid\\\\\\\"],[[42824,42824],\\\\\\\"mapped\\\\\\\",[42825]],[[42825,42825],\\\\\\\"valid\\\\\\\"],[[42826,42826],\\\\\\\"mapped\\\\\\\",[42827]],[[42827,42827],\\\\\\\"valid\\\\\\\"],[[42828,42828],\\\\\\\"mapped\\\\\\\",[42829]],[[42829,42829],\\\\\\\"valid\\\\\\\"],[[42830,42830],\\\\\\\"mapped\\\\\\\",[42831]],[[42831,42831],\\\\\\\"valid\\\\\\\"],[[42832,42832],\\\\\\\"mapped\\\\\\\",[42833]],[[42833,42833],\\\\\\\"valid\\\\\\\"],[[42834,42834],\\\\\\\"mapped\\\\\\\",[42835]],[[42835,42835],\\\\\\\"valid\\\\\\\"],[[42836,42836],\\\\\\\"mapped\\\\\\\",[42837]],[[42837,42837],\\\\\\\"valid\\\\\\\"],[[42838,42838],\\\\\\\"mapped\\\\\\\",[42839]],[[42839,42839],\\\\\\\"valid\\\\\\\"],[[42840,42840],\\\\\\\"mapped\\\\\\\",[42841]],[[42841,42841],\\\\\\\"valid\\\\\\\"],[[42842,42842],\\\\\\\"mapped\\\\\\\",[42843]],[[42843,42843],\\\\\\\"valid\\\\\\\"],[[42844,42844],\\\\\\\"mapped\\\\\\\",[42845]],[[42845,42845],\\\\\\\"valid\\\\\\\"],[[42846,42846],\\\\\\\"mapped\\\\\\\",[42847]],[[42847,42847],\\\\\\\"valid\\\\\\\"],[[42848,42848],\\\\\\\"mapped\\\\\\\",[42849]],[[42849,42849],\\\\\\\"valid\\\\\\\"],[[42850,42850],\\\\\\\"mapped\\\\\\\",[42851]],[[42851,42851],\\\\\\\"valid\\\\\\\"],[[42852,42852],\\\\\\\"mapped\\\\\\\",[42853]],[[42853,42853],\\\\\\\"valid\\\\\\\"],[[42854,42854],\\\\\\\"mapped\\\\\\\",[42855]],[[42855,42855],\\\\\\\"valid\\\\\\\"],[[42856,42856],\\\\\\\"mapped\\\\\\\",[42857]],[[42857,42857],\\\\\\\"valid\\\\\\\"],[[42858,42858],\\\\\\\"mapped\\\\\\\",[42859]],[[42859,42859],\\\\\\\"valid\\\\\\\"],[[42860,42860],\\\\\\\"mapped\\\\\\\",[42861]],[[42861,42861],\\\\\\\"valid\\\\\\\"],[[42862,42862],\\\\\\\"mapped\\\\\\\",[42863]],[[42863,42863],\\\\\\\"valid\\\\\\\"],[[42864,42864],\\\\\\\"mapped\\\\\\\",[42863]],[[42865,42872],\\\\\\\"valid\\\\\\\"],[[42873,42873],\\\\\\\"mapped\\\\\\\",[42874]],[[42874,42874],\\\\\\\"valid\\\\\\\"],[[42875,42875],\\\\\\\"mapped\\\\\\\",[42876]],[[42876,42876],\\\\\\\"valid\\\\\\\"],[[42877,42877],\\\\\\\"mapped\\\\\\\",[7545]],[[42878,42878],\\\\\\\"mapped\\\\\\\",[42879]],[[42879,42879],\\\\\\\"valid\\\\\\\"],[[42880,42880],\\\\\\\"mapped\\\\\\\",[42881]],[[42881,42881],\\\\\\\"valid\\\\\\\"],[[42882,42882],\\\\\\\"mapped\\\\\\\",[42883]],[[42883,42883],\\\\\\\"valid\\\\\\\"],[[42884,42884],\\\\\\\"mapped\\\\\\\",[42885]],[[42885,42885],\\\\\\\"valid\\\\\\\"],[[42886,42886],\\\\\\\"mapped\\\\\\\",[42887]],[[42887,42888],\\\\\\\"valid\\\\\\\"],[[42889,42890],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[42891,42891],\\\\\\\"mapped\\\\\\\",[42892]],[[42892,42892],\\\\\\\"valid\\\\\\\"],[[42893,42893],\\\\\\\"mapped\\\\\\\",[613]],[[42894,42894],\\\\\\\"valid\\\\\\\"],[[42895,42895],\\\\\\\"valid\\\\\\\"],[[42896,42896],\\\\\\\"mapped\\\\\\\",[42897]],[[42897,42897],\\\\\\\"valid\\\\\\\"],[[42898,42898],\\\\\\\"mapped\\\\\\\",[42899]],[[42899,42899],\\\\\\\"valid\\\\\\\"],[[42900,42901],\\\\\\\"valid\\\\\\\"],[[42902,42902],\\\\\\\"mapped\\\\\\\",[42903]],[[42903,42903],\\\\\\\"valid\\\\\\\"],[[42904,42904],\\\\\\\"mapped\\\\\\\",[42905]],[[42905,42905],\\\\\\\"valid\\\\\\\"],[[42906,42906],\\\\\\\"mapped\\\\\\\",[42907]],[[42907,42907],\\\\\\\"valid\\\\\\\"],[[42908,42908],\\\\\\\"mapped\\\\\\\",[42909]],[[42909,42909],\\\\\\\"valid\\\\\\\"],[[42910,42910],\\\\\\\"mapped\\\\\\\",[42911]],[[42911,42911],\\\\\\\"valid\\\\\\\"],[[42912,42912],\\\\\\\"mapped\\\\\\\",[42913]],[[42913,42913],\\\\\\\"valid\\\\\\\"],[[42914,42914],\\\\\\\"mapped\\\\\\\",[42915]],[[42915,42915],\\\\\\\"valid\\\\\\\"],[[42916,42916],\\\\\\\"mapped\\\\\\\",[42917]],[[42917,42917],\\\\\\\"valid\\\\\\\"],[[42918,42918],\\\\\\\"mapped\\\\\\\",[42919]],[[42919,42919],\\\\\\\"valid\\\\\\\"],[[42920,42920],\\\\\\\"mapped\\\\\\\",[42921]],[[42921,42921],\\\\\\\"valid\\\\\\\"],[[42922,42922],\\\\\\\"mapped\\\\\\\",[614]],[[42923,42923],\\\\\\\"mapped\\\\\\\",[604]],[[42924,42924],\\\\\\\"mapped\\\\\\\",[609]],[[42925,42925],\\\\\\\"mapped\\\\\\\",[620]],[[42926,42927],\\\\\\\"disallowed\\\\\\\"],[[42928,42928],\\\\\\\"mapped\\\\\\\",[670]],[[42929,42929],\\\\\\\"mapped\\\\\\\",[647]],[[42930,42930],\\\\\\\"mapped\\\\\\\",[669]],[[42931,42931],\\\\\\\"mapped\\\\\\\",[43859]],[[42932,42932],\\\\\\\"mapped\\\\\\\",[42933]],[[42933,42933],\\\\\\\"valid\\\\\\\"],[[42934,42934],\\\\\\\"mapped\\\\\\\",[42935]],[[42935,42935],\\\\\\\"valid\\\\\\\"],[[42936,42998],\\\\\\\"disallowed\\\\\\\"],[[42999,42999],\\\\\\\"valid\\\\\\\"],[[43000,43000],\\\\\\\"mapped\\\\\\\",[295]],[[43001,43001],\\\\\\\"mapped\\\\\\\",[339]],[[43002,43002],\\\\\\\"valid\\\\\\\"],[[43003,43007],\\\\\\\"valid\\\\\\\"],[[43008,43047],\\\\\\\"valid\\\\\\\"],[[43048,43051],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43052,43055],\\\\\\\"disallowed\\\\\\\"],[[43056,43065],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43066,43071],\\\\\\\"disallowed\\\\\\\"],[[43072,43123],\\\\\\\"valid\\\\\\\"],[[43124,43127],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43128,43135],\\\\\\\"disallowed\\\\\\\"],[[43136,43204],\\\\\\\"valid\\\\\\\"],[[43205,43213],\\\\\\\"disallowed\\\\\\\"],[[43214,43215],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43216,43225],\\\\\\\"valid\\\\\\\"],[[43226,43231],\\\\\\\"disallowed\\\\\\\"],[[43232,43255],\\\\\\\"valid\\\\\\\"],[[43256,43258],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43259,43259],\\\\\\\"valid\\\\\\\"],[[43260,43260],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43261,43261],\\\\\\\"valid\\\\\\\"],[[43262,43263],\\\\\\\"disallowed\\\\\\\"],[[43264,43309],\\\\\\\"valid\\\\\\\"],[[43310,43311],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43312,43347],\\\\\\\"valid\\\\\\\"],[[43348,43358],\\\\\\\"disallowed\\\\\\\"],[[43359,43359],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43360,43388],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43389,43391],\\\\\\\"disallowed\\\\\\\"],[[43392,43456],\\\\\\\"valid\\\\\\\"],[[43457,43469],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43470,43470],\\\\\\\"disallowed\\\\\\\"],[[43471,43481],\\\\\\\"valid\\\\\\\"],[[43482,43485],\\\\\\\"disallowed\\\\\\\"],[[43486,43487],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43488,43518],\\\\\\\"valid\\\\\\\"],[[43519,43519],\\\\\\\"disallowed\\\\\\\"],[[43520,43574],\\\\\\\"valid\\\\\\\"],[[43575,43583],\\\\\\\"disallowed\\\\\\\"],[[43584,43597],\\\\\\\"valid\\\\\\\"],[[43598,43599],\\\\\\\"disallowed\\\\\\\"],[[43600,43609],\\\\\\\"valid\\\\\\\"],[[43610,43611],\\\\\\\"disallowed\\\\\\\"],[[43612,43615],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43616,43638],\\\\\\\"valid\\\\\\\"],[[43639,43641],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43642,43643],\\\\\\\"valid\\\\\\\"],[[43644,43647],\\\\\\\"valid\\\\\\\"],[[43648,43714],\\\\\\\"valid\\\\\\\"],[[43715,43738],\\\\\\\"disallowed\\\\\\\"],[[43739,43741],\\\\\\\"valid\\\\\\\"],[[43742,43743],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43744,43759],\\\\\\\"valid\\\\\\\"],[[43760,43761],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43762,43766],\\\\\\\"valid\\\\\\\"],[[43767,43776],\\\\\\\"disallowed\\\\\\\"],[[43777,43782],\\\\\\\"valid\\\\\\\"],[[43783,43784],\\\\\\\"disallowed\\\\\\\"],[[43785,43790],\\\\\\\"valid\\\\\\\"],[[43791,43792],\\\\\\\"disallowed\\\\\\\"],[[43793,43798],\\\\\\\"valid\\\\\\\"],[[43799,43807],\\\\\\\"disallowed\\\\\\\"],[[43808,43814],\\\\\\\"valid\\\\\\\"],[[43815,43815],\\\\\\\"disallowed\\\\\\\"],[[43816,43822],\\\\\\\"valid\\\\\\\"],[[43823,43823],\\\\\\\"disallowed\\\\\\\"],[[43824,43866],\\\\\\\"valid\\\\\\\"],[[43867,43867],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[43868,43868],\\\\\\\"mapped\\\\\\\",[42791]],[[43869,43869],\\\\\\\"mapped\\\\\\\",[43831]],[[43870,43870],\\\\\\\"mapped\\\\\\\",[619]],[[43871,43871],\\\\\\\"mapped\\\\\\\",[43858]],[[43872,43875],\\\\\\\"valid\\\\\\\"],[[43876,43877],\\\\\\\"valid\\\\\\\"],[[43878,43887],\\\\\\\"disallowed\\\\\\\"],[[43888,43888],\\\\\\\"mapped\\\\\\\",[5024]],[[43889,43889],\\\\\\\"mapped\\\\\\\",[5025]],[[43890,43890],\\\\\\\"mapped\\\\\\\",[5026]],[[43891,43891],\\\\\\\"mapped\\\\\\\",[5027]],[[43892,43892],\\\\\\\"mapped\\\\\\\",[5028]],[[43893,43893],\\\\\\\"mapped\\\\\\\",[5029]],[[43894,43894],\\\\\\\"mapped\\\\\\\",[5030]],[[43895,43895],\\\\\\\"mapped\\\\\\\",[5031]],[[43896,43896],\\\\\\\"mapped\\\\\\\",[5032]],[[43897,43897],\\\\\\\"mapped\\\\\\\",[5033]],[[43898,43898],\\\\\\\"mapped\\\\\\\",[5034]],[[43899,43899],\\\\\\\"mapped\\\\\\\",[5035]],[[43900,43900],\\\\\\\"mapped\\\\\\\",[5036]],[[43901,43901],\\\\\\\"mapped\\\\\\\",[5037]],[[43902,43902],\\\\\\\"mapped\\\\\\\",[5038]],[[43903,43903],\\\\\\\"mapped\\\\\\\",[5039]],[[43904,43904],\\\\\\\"mapped\\\\\\\",[5040]],[[43905,43905],\\\\\\\"mapped\\\\\\\",[5041]],[[43906,43906],\\\\\\\"mapped\\\\\\\",[5042]],[[43907,43907],\\\\\\\"mapped\\\\\\\",[5043]],[[43908,43908],\\\\\\\"mapped\\\\\\\",[5044]],[[43909,43909],\\\\\\\"mapped\\\\\\\",[5045]],[[43910,43910],\\\\\\\"mapped\\\\\\\",[5046]],[[43911,43911],\\\\\\\"mapped\\\\\\\",[5047]],[[43912,43912],\\\\\\\"mapped\\\\\\\",[5048]],[[43913,43913],\\\\\\\"mapped\\\\\\\",[5049]],[[43914,43914],\\\\\\\"mapped\\\\\\\",[5050]],[[43915,43915],\\\\\\\"mapped\\\\\\\",[5051]],[[43916,43916],\\\\\\\"mapped\\\\\\\",[5052]],[[43917,43917],\\\\\\\"mapped\\\\\\\",[5053]],[[43918,43918],\\\\\\\"mapped\\\\\\\",[5054]],[[43919,43919],\\\\\\\"mapped\\\\\\\",[5055]],[[43920,43920],\\\\\\\"mapped\\\\\\\",[5056]],[[43921,43921],\\\\\\\"mapped\\\\\\\",[5057]],[[43922,43922],\\\\\\\"mapped\\\\\\\",[5058]],[[43923,43923],\\\\\\\"mapped\\\\\\\",[5059]],[[43924,43924],\\\\\\\"mapped\\\\\\\",[5060]],[[43925,43925],\\\\\\\"mapped\\\\\\\",[5061]],[[43926,43926],\\\\\\\"mapped\\\\\\\",[5062]],[[43927,43927],\\\\\\\"mapped\\\\\\\",[5063]],[[43928,43928],\\\\\\\"mapped\\\\\\\",[5064]],[[43929,43929],\\\\\\\"mapped\\\\\\\",[5065]],[[43930,43930],\\\\\\\"mapped\\\\\\\",[5066]],[[43931,43931],\\\\\\\"mapped\\\\\\\",[5067]],[[43932,43932],\\\\\\\"mapped\\\\\\\",[5068]],[[43933,43933],\\\\\\\"mapped\\\\\\\",[5069]],[[43934,43934],\\\\\\\"mapped\\\\\\\",[5070]],[[43935,43935],\\\\\\\"mapped\\\\\\\",[5071]],[[43936,43936],\\\\\\\"mapped\\\\\\\",[5072]],[[43937,43937],\\\\\\\"mapped\\\\\\\",[5073]],[[43938,43938],\\\\\\\"mapped\\\\\\\",[5074]],[[43939,43939],\\\\\\\"mapped\\\\\\\",[5075]],[[43940,43940],\\\\\\\"mapped\\\\\\\",[5076]],[[43941,43941],\\\\\\\"mapped\\\\\\\",[5077]],[[43942,43942],\\\\\\\"mapped\\\\\\\",[5078]],[[43943,43943],\\\\\\\"mapped\\\\\\\",[5079]],[[43944,43944],\\\\\\\"mapped\\\\\\\",[5080]],[[43945,43945],\\\\\\\"mapped\\\\\\\",[5081]],[[43946,43946],\\\\\\\"mapped\\\\\\\",[5082]],[[43947,43947],\\\\\\\"mapped\\\\\\\",[5083]],[[43948,43948],\\\\\\\"mapped\\\\\\\",[5084]],[[43949,43949],\\\\\\\"mapped\\\\\\\",[5085]],[[43950,43950],\\\\\\\"mapped\\\\\\\",[5086]],[[43951,43951],\\\\\\\"mapped\\\\\\\",[5087]],[[43952,43952],\\\\\\\"mapped\\\\\\\",[5088]],[[43953,43953],\\\\\\\"mapped\\\\\\\",[5089]],[[43954,43954],\\\\\\\"mapped\\\\\\\",[5090]],[[43955,43955],\\\\\\\"mapped\\\\\\\",[5091]],[[43956,43956],\\\\\\\"mapped\\\\\\\",[5092]],[[43957,43957],\\\\\\\"mapped\\\\\\\",[5093]],[[43958,43958],\\\\\\\"mapped\\\\\\\",[5094]],[[43959,43959],\\\\\\\"mapped\\\\\\\",[5095]],[[43960,43960],\\\\\\\"mapped\\\\\\\",[5096]],[[43961,43961],\\\\\\\"mapped\\\\\\\",[5097]],[[43962,43962],\\\\\\\"mapped\\\\\\\",[5098]],[[43963,43963],\\\\\\\"mapped\\\\\\\",[5099]],[[43964,43964],\\\\\\\"mapped\\\\\\\",[5100]],[[43965,43965],\\\\\\\"mapped\\\\\\\",[5101]],[[43966,43966],\\\\\\\"mapped\\\\\\\",[5102]],[[43967,43967],\\\\\\\"mapped\\\\\\\",[5103]],[[43968,44010],\\\\\\\"valid\\\\\\\"],[[44011,44011],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[44012,44013],\\\\\\\"valid\\\\\\\"],[[44014,44015],\\\\\\\"disallowed\\\\\\\"],[[44016,44025],\\\\\\\"valid\\\\\\\"],[[44026,44031],\\\\\\\"disallowed\\\\\\\"],[[44032,55203],\\\\\\\"valid\\\\\\\"],[[55204,55215],\\\\\\\"disallowed\\\\\\\"],[[55216,55238],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[55239,55242],\\\\\\\"disallowed\\\\\\\"],[[55243,55291],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[55292,55295],\\\\\\\"disallowed\\\\\\\"],[[55296,57343],\\\\\\\"disallowed\\\\\\\"],[[57344,63743],\\\\\\\"disallowed\\\\\\\"],[[63744,63744],\\\\\\\"mapped\\\\\\\",[35912]],[[63745,63745],\\\\\\\"mapped\\\\\\\",[26356]],[[63746,63746],\\\\\\\"mapped\\\\\\\",[36554]],[[63747,63747],\\\\\\\"mapped\\\\\\\",[36040]],[[63748,63748],\\\\\\\"mapped\\\\\\\",[28369]],[[63749,63749],\\\\\\\"mapped\\\\\\\",[20018]],[[63750,63750],\\\\\\\"mapped\\\\\\\",[21477]],[[63751,63752],\\\\\\\"mapped\\\\\\\",[40860]],[[63753,63753],\\\\\\\"mapped\\\\\\\",[22865]],[[63754,63754],\\\\\\\"mapped\\\\\\\",[37329]],[[63755,63755],\\\\\\\"mapped\\\\\\\",[21895]],[[63756,63756],\\\\\\\"mapped\\\\\\\",[22856]],[[63757,63757],\\\\\\\"mapped\\\\\\\",[25078]],[[63758,63758],\\\\\\\"mapped\\\\\\\",[30313]],[[63759,63759],\\\\\\\"mapped\\\\\\\",[32645]],[[63760,63760],\\\\\\\"mapped\\\\\\\",[34367]],[[63761,63761],\\\\\\\"mapped\\\\\\\",[34746]],[[63762,63762],\\\\\\\"mapped\\\\\\\",[35064]],[[63763,63763],\\\\\\\"mapped\\\\\\\",[37007]],[[63764,63764],\\\\\\\"mapped\\\\\\\",[27138]],[[63765,63765],\\\\\\\"mapped\\\\\\\",[27931]],[[63766,63766],\\\\\\\"mapped\\\\\\\",[28889]],[[63767,63767],\\\\\\\"mapped\\\\\\\",[29662]],[[63768,63768],\\\\\\\"mapped\\\\\\\",[33853]],[[63769,63769],\\\\\\\"mapped\\\\\\\",[37226]],[[63770,63770],\\\\\\\"mapped\\\\\\\",[39409]],[[63771,63771],\\\\\\\"mapped\\\\\\\",[20098]],[[63772,63772],\\\\\\\"mapped\\\\\\\",[21365]],[[63773,63773],\\\\\\\"mapped\\\\\\\",[27396]],[[63774,63774],\\\\\\\"mapped\\\\\\\",[29211]],[[63775,63775],\\\\\\\"mapped\\\\\\\",[34349]],[[63776,63776],\\\\\\\"mapped\\\\\\\",[40478]],[[63777,63777],\\\\\\\"mapped\\\\\\\",[23888]],[[63778,63778],\\\\\\\"mapped\\\\\\\",[28651]],[[63779,63779],\\\\\\\"mapped\\\\\\\",[34253]],[[63780,63780],\\\\\\\"mapped\\\\\\\",[35172]],[[63781,63781],\\\\\\\"mapped\\\\\\\",[25289]],[[63782,63782],\\\\\\\"mapped\\\\\\\",[33240]],[[63783,63783],\\\\\\\"mapped\\\\\\\",[34847]],[[63784,63784],\\\\\\\"mapped\\\\\\\",[24266]],[[63785,63785],\\\\\\\"mapped\\\\\\\",[26391]],[[63786,63786],\\\\\\\"mapped\\\\\\\",[28010]],[[63787,63787],\\\\\\\"mapped\\\\\\\",[29436]],[[63788,63788],\\\\\\\"mapped\\\\\\\",[37070]],[[63789,63789],\\\\\\\"mapped\\\\\\\",[20358]],[[63790,63790],\\\\\\\"mapped\\\\\\\",[20919]],[[63791,63791],\\\\\\\"mapped\\\\\\\",[21214]],[[63792,63792],\\\\\\\"mapped\\\\\\\",[25796]],[[63793,63793],\\\\\\\"mapped\\\\\\\",[27347]],[[63794,63794],\\\\\\\"mapped\\\\\\\",[29200]],[[63795,63795],\\\\\\\"mapped\\\\\\\",[30439]],[[63796,63796],\\\\\\\"mapped\\\\\\\",[32769]],[[63797,63797],\\\\\\\"mapped\\\\\\\",[34310]],[[63798,63798],\\\\\\\"mapped\\\\\\\",[34396]],[[63799,63799],\\\\\\\"mapped\\\\\\\",[36335]],[[63800,63800],\\\\\\\"mapped\\\\\\\",[38706]],[[63801,63801],\\\\\\\"mapped\\\\\\\",[39791]],[[63802,63802],\\\\\\\"mapped\\\\\\\",[40442]],[[63803,63803],\\\\\\\"mapped\\\\\\\",[30860]],[[63804,63804],\\\\\\\"mapped\\\\\\\",[31103]],[[63805,63805],\\\\\\\"mapped\\\\\\\",[32160]],[[63806,63806],\\\\\\\"mapped\\\\\\\",[33737]],[[63807,63807],\\\\\\\"mapped\\\\\\\",[37636]],[[63808,63808],\\\\\\\"mapped\\\\\\\",[40575]],[[63809,63809],\\\\\\\"mapped\\\\\\\",[35542]],[[63810,63810],\\\\\\\"mapped\\\\\\\",[22751]],[[63811,63811],\\\\\\\"mapped\\\\\\\",[24324]],[[63812,63812],\\\\\\\"mapped\\\\\\\",[31840]],[[63813,63813],\\\\\\\"mapped\\\\\\\",[32894]],[[63814,63814],\\\\\\\"mapped\\\\\\\",[29282]],[[63815,63815],\\\\\\\"mapped\\\\\\\",[30922]],[[63816,63816],\\\\\\\"mapped\\\\\\\",[36034]],[[63817,63817],\\\\\\\"mapped\\\\\\\",[38647]],[[63818,63818],\\\\\\\"mapped\\\\\\\",[22744]],[[63819,63819],\\\\\\\"mapped\\\\\\\",[23650]],[[63820,63820],\\\\\\\"mapped\\\\\\\",[27155]],[[63821,63821],\\\\\\\"mapped\\\\\\\",[28122]],[[63822,63822],\\\\\\\"mapped\\\\\\\",[28431]],[[63823,63823],\\\\\\\"mapped\\\\\\\",[32047]],[[63824,63824],\\\\\\\"mapped\\\\\\\",[32311]],[[63825,63825],\\\\\\\"mapped\\\\\\\",[38475]],[[63826,63826],\\\\\\\"mapped\\\\\\\",[21202]],[[63827,63827],\\\\\\\"mapped\\\\\\\",[32907]],[[63828,63828],\\\\\\\"mapped\\\\\\\",[20956]],[[63829,63829],\\\\\\\"mapped\\\\\\\",[20940]],[[63830,63830],\\\\\\\"mapped\\\\\\\",[31260]],[[63831,63831],\\\\\\\"mapped\\\\\\\",[32190]],[[63832,63832],\\\\\\\"mapped\\\\\\\",[33777]],[[63833,63833],\\\\\\\"mapped\\\\\\\",[38517]],[[63834,63834],\\\\\\\"mapped\\\\\\\",[35712]],[[63835,63835],\\\\\\\"mapped\\\\\\\",[25295]],[[63836,63836],\\\\\\\"mapped\\\\\\\",[27138]],[[63837,63837],\\\\\\\"mapped\\\\\\\",[35582]],[[63838,63838],\\\\\\\"mapped\\\\\\\",[20025]],[[63839,63839],\\\\\\\"mapped\\\\\\\",[23527]],[[63840,63840],\\\\\\\"mapped\\\\\\\",[24594]],[[63841,63841],\\\\\\\"mapped\\\\\\\",[29575]],[[63842,63842],\\\\\\\"mapped\\\\\\\",[30064]],[[63843,63843],\\\\\\\"mapped\\\\\\\",[21271]],[[63844,63844],\\\\\\\"mapped\\\\\\\",[30971]],[[63845,63845],\\\\\\\"mapped\\\\\\\",[20415]],[[63846,63846],\\\\\\\"mapped\\\\\\\",[24489]],[[63847,63847],\\\\\\\"mapped\\\\\\\",[19981]],[[63848,63848],\\\\\\\"mapped\\\\\\\",[27852]],[[63849,63849],\\\\\\\"mapped\\\\\\\",[25976]],[[63850,63850],\\\\\\\"mapped\\\\\\\",[32034]],[[63851,63851],\\\\\\\"mapped\\\\\\\",[21443]],[[63852,63852],\\\\\\\"mapped\\\\\\\",[22622]],[[63853,63853],\\\\\\\"mapped\\\\\\\",[30465]],[[63854,63854],\\\\\\\"mapped\\\\\\\",[33865]],[[63855,63855],\\\\\\\"mapped\\\\\\\",[35498]],[[63856,63856],\\\\\\\"mapped\\\\\\\",[27578]],[[63857,63857],\\\\\\\"mapped\\\\\\\",[36784]],[[63858,63858],\\\\\\\"mapped\\\\\\\",[27784]],[[63859,63859],\\\\\\\"mapped\\\\\\\",[25342]],[[63860,63860],\\\\\\\"mapped\\\\\\\",[33509]],[[63861,63861],\\\\\\\"mapped\\\\\\\",[25504]],[[63862,63862],\\\\\\\"mapped\\\\\\\",[30053]],[[63863,63863],\\\\\\\"mapped\\\\\\\",[20142]],[[63864,63864],\\\\\\\"mapped\\\\\\\",[20841]],[[63865,63865],\\\\\\\"mapped\\\\\\\",[20937]],[[63866,63866],\\\\\\\"mapped\\\\\\\",[26753]],[[63867,63867],\\\\\\\"mapped\\\\\\\",[31975]],[[63868,63868],\\\\\\\"mapped\\\\\\\",[33391]],[[63869,63869],\\\\\\\"mapped\\\\\\\",[35538]],[[63870,63870],\\\\\\\"mapped\\\\\\\",[37327]],[[63871,63871],\\\\\\\"mapped\\\\\\\",[21237]],[[63872,63872],\\\\\\\"mapped\\\\\\\",[21570]],[[63873,63873],\\\\\\\"mapped\\\\\\\",[22899]],[[63874,63874],\\\\\\\"mapped\\\\\\\",[24300]],[[63875,63875],\\\\\\\"mapped\\\\\\\",[26053]],[[63876,63876],\\\\\\\"mapped\\\\\\\",[28670]],[[63877,63877],\\\\\\\"mapped\\\\\\\",[31018]],[[63878,63878],\\\\\\\"mapped\\\\\\\",[38317]],[[63879,63879],\\\\\\\"mapped\\\\\\\",[39530]],[[63880,63880],\\\\\\\"mapped\\\\\\\",[40599]],[[63881,63881],\\\\\\\"mapped\\\\\\\",[40654]],[[63882,63882],\\\\\\\"mapped\\\\\\\",[21147]],[[63883,63883],\\\\\\\"mapped\\\\\\\",[26310]],[[63884,63884],\\\\\\\"mapped\\\\\\\",[27511]],[[63885,63885],\\\\\\\"mapped\\\\\\\",[36706]],[[63886,63886],\\\\\\\"mapped\\\\\\\",[24180]],[[63887,63887],\\\\\\\"mapped\\\\\\\",[24976]],[[63888,63888],\\\\\\\"mapped\\\\\\\",[25088]],[[63889,63889],\\\\\\\"mapped\\\\\\\",[25754]],[[63890,63890],\\\\\\\"mapped\\\\\\\",[28451]],[[63891,63891],\\\\\\\"mapped\\\\\\\",[29001]],[[63892,63892],\\\\\\\"mapped\\\\\\\",[29833]],[[63893,63893],\\\\\\\"mapped\\\\\\\",[31178]],[[63894,63894],\\\\\\\"mapped\\\\\\\",[32244]],[[63895,63895],\\\\\\\"mapped\\\\\\\",[32879]],[[63896,63896],\\\\\\\"mapped\\\\\\\",[36646]],[[63897,63897],\\\\\\\"mapped\\\\\\\",[34030]],[[63898,63898],\\\\\\\"mapped\\\\\\\",[36899]],[[63899,63899],\\\\\\\"mapped\\\\\\\",[37706]],[[63900,63900],\\\\\\\"mapped\\\\\\\",[21015]],[[63901,63901],\\\\\\\"mapped\\\\\\\",[21155]],[[63902,63902],\\\\\\\"mapped\\\\\\\",[21693]],[[63903,63903],\\\\\\\"mapped\\\\\\\",[28872]],[[63904,63904],\\\\\\\"mapped\\\\\\\",[35010]],[[63905,63905],\\\\\\\"mapped\\\\\\\",[35498]],[[63906,63906],\\\\\\\"mapped\\\\\\\",[24265]],[[63907,63907],\\\\\\\"mapped\\\\\\\",[24565]],[[63908,63908],\\\\\\\"mapped\\\\\\\",[25467]],[[63909,63909],\\\\\\\"mapped\\\\\\\",[27566]],[[63910,63910],\\\\\\\"mapped\\\\\\\",[31806]],[[63911,63911],\\\\\\\"mapped\\\\\\\",[29557]],[[63912,63912],\\\\\\\"mapped\\\\\\\",[20196]],[[63913,63913],\\\\\\\"mapped\\\\\\\",[22265]],[[63914,63914],\\\\\\\"mapped\\\\\\\",[23527]],[[63915,63915],\\\\\\\"mapped\\\\\\\",[23994]],[[63916,63916],\\\\\\\"mapped\\\\\\\",[24604]],[[63917,63917],\\\\\\\"mapped\\\\\\\",[29618]],[[63918,63918],\\\\\\\"mapped\\\\\\\",[29801]],[[63919,63919],\\\\\\\"mapped\\\\\\\",[32666]],[[63920,63920],\\\\\\\"mapped\\\\\\\",[32838]],[[63921,63921],\\\\\\\"mapped\\\\\\\",[37428]],[[63922,63922],\\\\\\\"mapped\\\\\\\",[38646]],[[63923,63923],\\\\\\\"mapped\\\\\\\",[38728]],[[63924,63924],\\\\\\\"mapped\\\\\\\",[38936]],[[63925,63925],\\\\\\\"mapped\\\\\\\",[20363]],[[63926,63926],\\\\\\\"mapped\\\\\\\",[31150]],[[63927,63927],\\\\\\\"mapped\\\\\\\",[37300]],[[63928,63928],\\\\\\\"mapped\\\\\\\",[38584]],[[63929,63929],\\\\\\\"mapped\\\\\\\",[24801]],[[63930,63930],\\\\\\\"mapped\\\\\\\",[20102]],[[63931,63931],\\\\\\\"mapped\\\\\\\",[20698]],[[63932,63932],\\\\\\\"mapped\\\\\\\",[23534]],[[63933,63933],\\\\\\\"mapped\\\\\\\",[23615]],[[63934,63934],\\\\\\\"mapped\\\\\\\",[26009]],[[63935,63935],\\\\\\\"mapped\\\\\\\",[27138]],[[63936,63936],\\\\\\\"mapped\\\\\\\",[29134]],[[63937,63937],\\\\\\\"mapped\\\\\\\",[30274]],[[63938,63938],\\\\\\\"mapped\\\\\\\",[34044]],[[63939,63939],\\\\\\\"mapped\\\\\\\",[36988]],[[63940,63940],\\\\\\\"mapped\\\\\\\",[40845]],[[63941,63941],\\\\\\\"mapped\\\\\\\",[26248]],[[63942,63942],\\\\\\\"mapped\\\\\\\",[38446]],[[63943,63943],\\\\\\\"mapped\\\\\\\",[21129]],[[63944,63944],\\\\\\\"mapped\\\\\\\",[26491]],[[63945,63945],\\\\\\\"mapped\\\\\\\",[26611]],[[63946,63946],\\\\\\\"mapped\\\\\\\",[27969]],[[63947,63947],\\\\\\\"mapped\\\\\\\",[28316]],[[63948,63948],\\\\\\\"mapped\\\\\\\",[29705]],[[63949,63949],\\\\\\\"mapped\\\\\\\",[30041]],[[63950,63950],\\\\\\\"mapped\\\\\\\",[30827]],[[63951,63951],\\\\\\\"mapped\\\\\\\",[32016]],[[63952,63952],\\\\\\\"mapped\\\\\\\",[39006]],[[63953,63953],\\\\\\\"mapped\\\\\\\",[20845]],[[63954,63954],\\\\\\\"mapped\\\\\\\",[25134]],[[63955,63955],\\\\\\\"mapped\\\\\\\",[38520]],[[63956,63956],\\\\\\\"mapped\\\\\\\",[20523]],[[63957,63957],\\\\\\\"mapped\\\\\\\",[23833]],[[63958,63958],\\\\\\\"mapped\\\\\\\",[28138]],[[63959,63959],\\\\\\\"mapped\\\\\\\",[36650]],[[63960,63960],\\\\\\\"mapped\\\\\\\",[24459]],[[63961,63961],\\\\\\\"mapped\\\\\\\",[24900]],[[63962,63962],\\\\\\\"mapped\\\\\\\",[26647]],[[63963,63963],\\\\\\\"mapped\\\\\\\",[29575]],[[63964,63964],\\\\\\\"mapped\\\\\\\",[38534]],[[63965,63965],\\\\\\\"mapped\\\\\\\",[21033]],[[63966,63966],\\\\\\\"mapped\\\\\\\",[21519]],[[63967,63967],\\\\\\\"mapped\\\\\\\",[23653]],[[63968,63968],\\\\\\\"mapped\\\\\\\",[26131]],[[63969,63969],\\\\\\\"mapped\\\\\\\",[26446]],[[63970,63970],\\\\\\\"mapped\\\\\\\",[26792]],[[63971,63971],\\\\\\\"mapped\\\\\\\",[27877]],[[63972,63972],\\\\\\\"mapped\\\\\\\",[29702]],[[63973,63973],\\\\\\\"mapped\\\\\\\",[30178]],[[63974,63974],\\\\\\\"mapped\\\\\\\",[32633]],[[63975,63975],\\\\\\\"mapped\\\\\\\",[35023]],[[63976,63976],\\\\\\\"mapped\\\\\\\",[35041]],[[63977,63977],\\\\\\\"mapped\\\\\\\",[37324]],[[63978,63978],\\\\\\\"mapped\\\\\\\",[38626]],[[63979,63979],\\\\\\\"mapped\\\\\\\",[21311]],[[63980,63980],\\\\\\\"mapped\\\\\\\",[28346]],[[63981,63981],\\\\\\\"mapped\\\\\\\",[21533]],[[63982,63982],\\\\\\\"mapped\\\\\\\",[29136]],[[63983,63983],\\\\\\\"mapped\\\\\\\",[29848]],[[63984,63984],\\\\\\\"mapped\\\\\\\",[34298]],[[63985,63985],\\\\\\\"mapped\\\\\\\",[38563]],[[63986,63986],\\\\\\\"mapped\\\\\\\",[40023]],[[63987,63987],\\\\\\\"mapped\\\\\\\",[40607]],[[63988,63988],\\\\\\\"mapped\\\\\\\",[26519]],[[63989,63989],\\\\\\\"mapped\\\\\\\",[28107]],[[63990,63990],\\\\\\\"mapped\\\\\\\",[33256]],[[63991,63991],\\\\\\\"mapped\\\\\\\",[31435]],[[63992,63992],\\\\\\\"mapped\\\\\\\",[31520]],[[63993,63993],\\\\\\\"mapped\\\\\\\",[31890]],[[63994,63994],\\\\\\\"mapped\\\\\\\",[29376]],[[63995,63995],\\\\\\\"mapped\\\\\\\",[28825]],[[63996,63996],\\\\\\\"mapped\\\\\\\",[35672]],[[63997,63997],\\\\\\\"mapped\\\\\\\",[20160]],[[63998,63998],\\\\\\\"mapped\\\\\\\",[33590]],[[63999,63999],\\\\\\\"mapped\\\\\\\",[21050]],[[64000,64000],\\\\\\\"mapped\\\\\\\",[20999]],[[64001,64001],\\\\\\\"mapped\\\\\\\",[24230]],[[64002,64002],\\\\\\\"mapped\\\\\\\",[25299]],[[64003,64003],\\\\\\\"mapped\\\\\\\",[31958]],[[64004,64004],\\\\\\\"mapped\\\\\\\",[23429]],[[64005,64005],\\\\\\\"mapped\\\\\\\",[27934]],[[64006,64006],\\\\\\\"mapped\\\\\\\",[26292]],[[64007,64007],\\\\\\\"mapped\\\\\\\",[36667]],[[64008,64008],\\\\\\\"mapped\\\\\\\",[34892]],[[64009,64009],\\\\\\\"mapped\\\\\\\",[38477]],[[64010,64010],\\\\\\\"mapped\\\\\\\",[35211]],[[64011,64011],\\\\\\\"mapped\\\\\\\",[24275]],[[64012,64012],\\\\\\\"mapped\\\\\\\",[20800]],[[64013,64013],\\\\\\\"mapped\\\\\\\",[21952]],[[64014,64015],\\\\\\\"valid\\\\\\\"],[[64016,64016],\\\\\\\"mapped\\\\\\\",[22618]],[[64017,64017],\\\\\\\"valid\\\\\\\"],[[64018,64018],\\\\\\\"mapped\\\\\\\",[26228]],[[64019,64020],\\\\\\\"valid\\\\\\\"],[[64021,64021],\\\\\\\"mapped\\\\\\\",[20958]],[[64022,64022],\\\\\\\"mapped\\\\\\\",[29482]],[[64023,64023],\\\\\\\"mapped\\\\\\\",[30410]],[[64024,64024],\\\\\\\"mapped\\\\\\\",[31036]],[[64025,64025],\\\\\\\"mapped\\\\\\\",[31070]],[[64026,64026],\\\\\\\"mapped\\\\\\\",[31077]],[[64027,64027],\\\\\\\"mapped\\\\\\\",[31119]],[[64028,64028],\\\\\\\"mapped\\\\\\\",[38742]],[[64029,64029],\\\\\\\"mapped\\\\\\\",[31934]],[[64030,64030],\\\\\\\"mapped\\\\\\\",[32701]],[[64031,64031],\\\\\\\"valid\\\\\\\"],[[64032,64032],\\\\\\\"mapped\\\\\\\",[34322]],[[64033,64033],\\\\\\\"valid\\\\\\\"],[[64034,64034],\\\\\\\"mapped\\\\\\\",[35576]],[[64035,64036],\\\\\\\"valid\\\\\\\"],[[64037,64037],\\\\\\\"mapped\\\\\\\",[36920]],[[64038,64038],\\\\\\\"mapped\\\\\\\",[37117]],[[64039,64041],\\\\\\\"valid\\\\\\\"],[[64042,64042],\\\\\\\"mapped\\\\\\\",[39151]],[[64043,64043],\\\\\\\"mapped\\\\\\\",[39164]],[[64044,64044],\\\\\\\"mapped\\\\\\\",[39208]],[[64045,64045],\\\\\\\"mapped\\\\\\\",[40372]],[[64046,64046],\\\\\\\"mapped\\\\\\\",[37086]],[[64047,64047],\\\\\\\"mapped\\\\\\\",[38583]],[[64048,64048],\\\\\\\"mapped\\\\\\\",[20398]],[[64049,64049],\\\\\\\"mapped\\\\\\\",[20711]],[[64050,64050],\\\\\\\"mapped\\\\\\\",[20813]],[[64051,64051],\\\\\\\"mapped\\\\\\\",[21193]],[[64052,64052],\\\\\\\"mapped\\\\\\\",[21220]],[[64053,64053],\\\\\\\"mapped\\\\\\\",[21329]],[[64054,64054],\\\\\\\"mapped\\\\\\\",[21917]],[[64055,64055],\\\\\\\"mapped\\\\\\\",[22022]],[[64056,64056],\\\\\\\"mapped\\\\\\\",[22120]],[[64057,64057],\\\\\\\"mapped\\\\\\\",[22592]],[[64058,64058],\\\\\\\"mapped\\\\\\\",[22696]],[[64059,64059],\\\\\\\"mapped\\\\\\\",[23652]],[[64060,64060],\\\\\\\"mapped\\\\\\\",[23662]],[[64061,64061],\\\\\\\"mapped\\\\\\\",[24724]],[[64062,64062],\\\\\\\"mapped\\\\\\\",[24936]],[[64063,64063],\\\\\\\"mapped\\\\\\\",[24974]],[[64064,64064],\\\\\\\"mapped\\\\\\\",[25074]],[[64065,64065],\\\\\\\"mapped\\\\\\\",[25935]],[[64066,64066],\\\\\\\"mapped\\\\\\\",[26082]],[[64067,64067],\\\\\\\"mapped\\\\\\\",[26257]],[[64068,64068],\\\\\\\"mapped\\\\\\\",[26757]],[[64069,64069],\\\\\\\"mapped\\\\\\\",[28023]],[[64070,64070],\\\\\\\"mapped\\\\\\\",[28186]],[[64071,64071],\\\\\\\"mapped\\\\\\\",[28450]],[[64072,64072],\\\\\\\"mapped\\\\\\\",[29038]],[[64073,64073],\\\\\\\"mapped\\\\\\\",[29227]],[[64074,64074],\\\\\\\"mapped\\\\\\\",[29730]],[[64075,64075],\\\\\\\"mapped\\\\\\\",[30865]],[[64076,64076],\\\\\\\"mapped\\\\\\\",[31038]],[[64077,64077],\\\\\\\"mapped\\\\\\\",[31049]],[[64078,64078],\\\\\\\"mapped\\\\\\\",[31048]],[[64079,64079],\\\\\\\"mapped\\\\\\\",[31056]],[[64080,64080],\\\\\\\"mapped\\\\\\\",[31062]],[[64081,64081],\\\\\\\"mapped\\\\\\\",[31069]],[[64082,64082],\\\\\\\"mapped\\\\\\\",[31117]],[[64083,64083],\\\\\\\"mapped\\\\\\\",[31118]],[[64084,64084],\\\\\\\"mapped\\\\\\\",[31296]],[[64085,64085],\\\\\\\"mapped\\\\\\\",[31361]],[[64086,64086],\\\\\\\"mapped\\\\\\\",[31680]],[[64087,64087],\\\\\\\"mapped\\\\\\\",[32244]],[[64088,64088],\\\\\\\"mapped\\\\\\\",[32265]],[[64089,64089],\\\\\\\"mapped\\\\\\\",[32321]],[[64090,64090],\\\\\\\"mapped\\\\\\\",[32626]],[[64091,64091],\\\\\\\"mapped\\\\\\\",[32773]],[[64092,64092],\\\\\\\"mapped\\\\\\\",[33261]],[[64093,64094],\\\\\\\"mapped\\\\\\\",[33401]],[[64095,64095],\\\\\\\"mapped\\\\\\\",[33879]],[[64096,64096],\\\\\\\"mapped\\\\\\\",[35088]],[[64097,64097],\\\\\\\"mapped\\\\\\\",[35222]],[[64098,64098],\\\\\\\"mapped\\\\\\\",[35585]],[[64099,64099],\\\\\\\"mapped\\\\\\\",[35641]],[[64100,64100],\\\\\\\"mapped\\\\\\\",[36051]],[[64101,64101],\\\\\\\"mapped\\\\\\\",[36104]],[[64102,64102],\\\\\\\"mapped\\\\\\\",[36790]],[[64103,64103],\\\\\\\"mapped\\\\\\\",[36920]],[[64104,64104],\\\\\\\"mapped\\\\\\\",[38627]],[[64105,64105],\\\\\\\"mapped\\\\\\\",[38911]],[[64106,64106],\\\\\\\"mapped\\\\\\\",[38971]],[[64107,64107],\\\\\\\"mapped\\\\\\\",[24693]],[[64108,64108],\\\\\\\"mapped\\\\\\\",[148206]],[[64109,64109],\\\\\\\"mapped\\\\\\\",[33304]],[[64110,64111],\\\\\\\"disallowed\\\\\\\"],[[64112,64112],\\\\\\\"mapped\\\\\\\",[20006]],[[64113,64113],\\\\\\\"mapped\\\\\\\",[20917]],[[64114,64114],\\\\\\\"mapped\\\\\\\",[20840]],[[64115,64115],\\\\\\\"mapped\\\\\\\",[20352]],[[64116,64116],\\\\\\\"mapped\\\\\\\",[20805]],[[64117,64117],\\\\\\\"mapped\\\\\\\",[20864]],[[64118,64118],\\\\\\\"mapped\\\\\\\",[21191]],[[64119,64119],\\\\\\\"mapped\\\\\\\",[21242]],[[64120,64120],\\\\\\\"mapped\\\\\\\",[21917]],[[64121,64121],\\\\\\\"mapped\\\\\\\",[21845]],[[64122,64122],\\\\\\\"mapped\\\\\\\",[21913]],[[64123,64123],\\\\\\\"mapped\\\\\\\",[21986]],[[64124,64124],\\\\\\\"mapped\\\\\\\",[22618]],[[64125,64125],\\\\\\\"mapped\\\\\\\",[22707]],[[64126,64126],\\\\\\\"mapped\\\\\\\",[22852]],[[64127,64127],\\\\\\\"mapped\\\\\\\",[22868]],[[64128,64128],\\\\\\\"mapped\\\\\\\",[23138]],[[64129,64129],\\\\\\\"mapped\\\\\\\",[23336]],[[64130,64130],\\\\\\\"mapped\\\\\\\",[24274]],[[64131,64131],\\\\\\\"mapped\\\\\\\",[24281]],[[64132,64132],\\\\\\\"mapped\\\\\\\",[24425]],[[64133,64133],\\\\\\\"mapped\\\\\\\",[24493]],[[64134,64134],\\\\\\\"mapped\\\\\\\",[24792]],[[64135,64135],\\\\\\\"mapped\\\\\\\",[24910]],[[64136,64136],\\\\\\\"mapped\\\\\\\",[24840]],[[64137,64137],\\\\\\\"mapped\\\\\\\",[24974]],[[64138,64138],\\\\\\\"mapped\\\\\\\",[24928]],[[64139,64139],\\\\\\\"mapped\\\\\\\",[25074]],[[64140,64140],\\\\\\\"mapped\\\\\\\",[25140]],[[64141,64141],\\\\\\\"mapped\\\\\\\",[25540]],[[64142,64142],\\\\\\\"mapped\\\\\\\",[25628]],[[64143,64143],\\\\\\\"mapped\\\\\\\",[25682]],[[64144,64144],\\\\\\\"mapped\\\\\\\",[25942]],[[64145,64145],\\\\\\\"mapped\\\\\\\",[26228]],[[64146,64146],\\\\\\\"mapped\\\\\\\",[26391]],[[64147,64147],\\\\\\\"mapped\\\\\\\",[26395]],[[64148,64148],\\\\\\\"mapped\\\\\\\",[26454]],[[64149,64149],\\\\\\\"mapped\\\\\\\",[27513]],[[64150,64150],\\\\\\\"mapped\\\\\\\",[27578]],[[64151,64151],\\\\\\\"mapped\\\\\\\",[27969]],[[64152,64152],\\\\\\\"mapped\\\\\\\",[28379]],[[64153,64153],\\\\\\\"mapped\\\\\\\",[28363]],[[64154,64154],\\\\\\\"mapped\\\\\\\",[28450]],[[64155,64155],\\\\\\\"mapped\\\\\\\",[28702]],[[64156,64156],\\\\\\\"mapped\\\\\\\",[29038]],[[64157,64157],\\\\\\\"mapped\\\\\\\",[30631]],[[64158,64158],\\\\\\\"mapped\\\\\\\",[29237]],[[64159,64159],\\\\\\\"mapped\\\\\\\",[29359]],[[64160,64160],\\\\\\\"mapped\\\\\\\",[29482]],[[64161,64161],\\\\\\\"mapped\\\\\\\",[29809]],[[64162,64162],\\\\\\\"mapped\\\\\\\",[29958]],[[64163,64163],\\\\\\\"mapped\\\\\\\",[30011]],[[64164,64164],\\\\\\\"mapped\\\\\\\",[30237]],[[64165,64165],\\\\\\\"mapped\\\\\\\",[30239]],[[64166,64166],\\\\\\\"mapped\\\\\\\",[30410]],[[64167,64167],\\\\\\\"mapped\\\\\\\",[30427]],[[64168,64168],\\\\\\\"mapped\\\\\\\",[30452]],[[64169,64169],\\\\\\\"mapped\\\\\\\",[30538]],[[64170,64170],\\\\\\\"mapped\\\\\\\",[30528]],[[64171,64171],\\\\\\\"mapped\\\\\\\",[30924]],[[64172,64172],\\\\\\\"mapped\\\\\\\",[31409]],[[64173,64173],\\\\\\\"mapped\\\\\\\",[31680]],[[64174,64174],\\\\\\\"mapped\\\\\\\",[31867]],[[64175,64175],\\\\\\\"mapped\\\\\\\",[32091]],[[64176,64176],\\\\\\\"mapped\\\\\\\",[32244]],[[64177,64177],\\\\\\\"mapped\\\\\\\",[32574]],[[64178,64178],\\\\\\\"mapped\\\\\\\",[32773]],[[64179,64179],\\\\\\\"mapped\\\\\\\",[33618]],[[64180,64180],\\\\\\\"mapped\\\\\\\",[33775]],[[64181,64181],\\\\\\\"mapped\\\\\\\",[34681]],[[64182,64182],\\\\\\\"mapped\\\\\\\",[35137]],[[64183,64183],\\\\\\\"mapped\\\\\\\",[35206]],[[64184,64184],\\\\\\\"mapped\\\\\\\",[35222]],[[64185,64185],\\\\\\\"mapped\\\\\\\",[35519]],[[64186,64186],\\\\\\\"mapped\\\\\\\",[35576]],[[64187,64187],\\\\\\\"mapped\\\\\\\",[35531]],[[64188,64188],\\\\\\\"mapped\\\\\\\",[35585]],[[64189,64189],\\\\\\\"mapped\\\\\\\",[35582]],[[64190,64190],\\\\\\\"mapped\\\\\\\",[35565]],[[64191,64191],\\\\\\\"mapped\\\\\\\",[35641]],[[64192,64192],\\\\\\\"mapped\\\\\\\",[35722]],[[64193,64193],\\\\\\\"mapped\\\\\\\",[36104]],[[64194,64194],\\\\\\\"mapped\\\\\\\",[36664]],[[64195,64195],\\\\\\\"mapped\\\\\\\",[36978]],[[64196,64196],\\\\\\\"mapped\\\\\\\",[37273]],[[64197,64197],\\\\\\\"mapped\\\\\\\",[37494]],[[64198,64198],\\\\\\\"mapped\\\\\\\",[38524]],[[64199,64199],\\\\\\\"mapped\\\\\\\",[38627]],[[64200,64200],\\\\\\\"mapped\\\\\\\",[38742]],[[64201,64201],\\\\\\\"mapped\\\\\\\",[38875]],[[64202,64202],\\\\\\\"mapped\\\\\\\",[38911]],[[64203,64203],\\\\\\\"mapped\\\\\\\",[38923]],[[64204,64204],\\\\\\\"mapped\\\\\\\",[38971]],[[64205,64205],\\\\\\\"mapped\\\\\\\",[39698]],[[64206,64206],\\\\\\\"mapped\\\\\\\",[40860]],[[64207,64207],\\\\\\\"mapped\\\\\\\",[141386]],[[64208,64208],\\\\\\\"mapped\\\\\\\",[141380]],[[64209,64209],\\\\\\\"mapped\\\\\\\",[144341]],[[64210,64210],\\\\\\\"mapped\\\\\\\",[15261]],[[64211,64211],\\\\\\\"mapped\\\\\\\",[16408]],[[64212,64212],\\\\\\\"mapped\\\\\\\",[16441]],[[64213,64213],\\\\\\\"mapped\\\\\\\",[152137]],[[64214,64214],\\\\\\\"mapped\\\\\\\",[154832]],[[64215,64215],\\\\\\\"mapped\\\\\\\",[163539]],[[64216,64216],\\\\\\\"mapped\\\\\\\",[40771]],[[64217,64217],\\\\\\\"mapped\\\\\\\",[40846]],[[64218,64255],\\\\\\\"disallowed\\\\\\\"],[[64256,64256],\\\\\\\"mapped\\\\\\\",[102,102]],[[64257,64257],\\\\\\\"mapped\\\\\\\",[102,105]],[[64258,64258],\\\\\\\"mapped\\\\\\\",[102,108]],[[64259,64259],\\\\\\\"mapped\\\\\\\",[102,102,105]],[[64260,64260],\\\\\\\"mapped\\\\\\\",[102,102,108]],[[64261,64262],\\\\\\\"mapped\\\\\\\",[115,116]],[[64263,64274],\\\\\\\"disallowed\\\\\\\"],[[64275,64275],\\\\\\\"mapped\\\\\\\",[1396,1398]],[[64276,64276],\\\\\\\"mapped\\\\\\\",[1396,1381]],[[64277,64277],\\\\\\\"mapped\\\\\\\",[1396,1387]],[[64278,64278],\\\\\\\"mapped\\\\\\\",[1406,1398]],[[64279,64279],\\\\\\\"mapped\\\\\\\",[1396,1389]],[[64280,64284],\\\\\\\"disallowed\\\\\\\"],[[64285,64285],\\\\\\\"mapped\\\\\\\",[1497,1460]],[[64286,64286],\\\\\\\"valid\\\\\\\"],[[64287,64287],\\\\\\\"mapped\\\\\\\",[1522,1463]],[[64288,64288],\\\\\\\"mapped\\\\\\\",[1506]],[[64289,64289],\\\\\\\"mapped\\\\\\\",[1488]],[[64290,64290],\\\\\\\"mapped\\\\\\\",[1491]],[[64291,64291],\\\\\\\"mapped\\\\\\\",[1492]],[[64292,64292],\\\\\\\"mapped\\\\\\\",[1499]],[[64293,64293],\\\\\\\"mapped\\\\\\\",[1500]],[[64294,64294],\\\\\\\"mapped\\\\\\\",[1501]],[[64295,64295],\\\\\\\"mapped\\\\\\\",[1512]],[[64296,64296],\\\\\\\"mapped\\\\\\\",[1514]],[[64297,64297],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[43]],[[64298,64298],\\\\\\\"mapped\\\\\\\",[1513,1473]],[[64299,64299],\\\\\\\"mapped\\\\\\\",[1513,1474]],[[64300,64300],\\\\\\\"mapped\\\\\\\",[1513,1468,1473]],[[64301,64301],\\\\\\\"mapped\\\\\\\",[1513,1468,1474]],[[64302,64302],\\\\\\\"mapped\\\\\\\",[1488,1463]],[[64303,64303],\\\\\\\"mapped\\\\\\\",[1488,1464]],[[64304,64304],\\\\\\\"mapped\\\\\\\",[1488,1468]],[[64305,64305],\\\\\\\"mapped\\\\\\\",[1489,1468]],[[64306,64306],\\\\\\\"mapped\\\\\\\",[1490,1468]],[[64307,64307],\\\\\\\"mapped\\\\\\\",[1491,1468]],[[64308,64308],\\\\\\\"mapped\\\\\\\",[1492,1468]],[[64309,64309],\\\\\\\"mapped\\\\\\\",[1493,1468]],[[64310,64310],\\\\\\\"mapped\\\\\\\",[1494,1468]],[[64311,64311],\\\\\\\"disallowed\\\\\\\"],[[64312,64312],\\\\\\\"mapped\\\\\\\",[1496,1468]],[[64313,64313],\\\\\\\"mapped\\\\\\\",[1497,1468]],[[64314,64314],\\\\\\\"mapped\\\\\\\",[1498,1468]],[[64315,64315],\\\\\\\"mapped\\\\\\\",[1499,1468]],[[64316,64316],\\\\\\\"mapped\\\\\\\",[1500,1468]],[[64317,64317],\\\\\\\"disallowed\\\\\\\"],[[64318,64318],\\\\\\\"mapped\\\\\\\",[1502,1468]],[[64319,64319],\\\\\\\"disallowed\\\\\\\"],[[64320,64320],\\\\\\\"mapped\\\\\\\",[1504,1468]],[[64321,64321],\\\\\\\"mapped\\\\\\\",[1505,1468]],[[64322,64322],\\\\\\\"disallowed\\\\\\\"],[[64323,64323],\\\\\\\"mapped\\\\\\\",[1507,1468]],[[64324,64324],\\\\\\\"mapped\\\\\\\",[1508,1468]],[[64325,64325],\\\\\\\"disallowed\\\\\\\"],[[64326,64326],\\\\\\\"mapped\\\\\\\",[1510,1468]],[[64327,64327],\\\\\\\"mapped\\\\\\\",[1511,1468]],[[64328,64328],\\\\\\\"mapped\\\\\\\",[1512,1468]],[[64329,64329],\\\\\\\"mapped\\\\\\\",[1513,1468]],[[64330,64330],\\\\\\\"mapped\\\\\\\",[1514,1468]],[[64331,64331],\\\\\\\"mapped\\\\\\\",[1493,1465]],[[64332,64332],\\\\\\\"mapped\\\\\\\",[1489,1471]],[[64333,64333],\\\\\\\"mapped\\\\\\\",[1499,1471]],[[64334,64334],\\\\\\\"mapped\\\\\\\",[1508,1471]],[[64335,64335],\\\\\\\"mapped\\\\\\\",[1488,1500]],[[64336,64337],\\\\\\\"mapped\\\\\\\",[1649]],[[64338,64341],\\\\\\\"mapped\\\\\\\",[1659]],[[64342,64345],\\\\\\\"mapped\\\\\\\",[1662]],[[64346,64349],\\\\\\\"mapped\\\\\\\",[1664]],[[64350,64353],\\\\\\\"mapped\\\\\\\",[1658]],[[64354,64357],\\\\\\\"mapped\\\\\\\",[1663]],[[64358,64361],\\\\\\\"mapped\\\\\\\",[1657]],[[64362,64365],\\\\\\\"mapped\\\\\\\",[1700]],[[64366,64369],\\\\\\\"mapped\\\\\\\",[1702]],[[64370,64373],\\\\\\\"mapped\\\\\\\",[1668]],[[64374,64377],\\\\\\\"mapped\\\\\\\",[1667]],[[64378,64381],\\\\\\\"mapped\\\\\\\",[1670]],[[64382,64385],\\\\\\\"mapped\\\\\\\",[1671]],[[64386,64387],\\\\\\\"mapped\\\\\\\",[1677]],[[64388,64389],\\\\\\\"mapped\\\\\\\",[1676]],[[64390,64391],\\\\\\\"mapped\\\\\\\",[1678]],[[64392,64393],\\\\\\\"mapped\\\\\\\",[1672]],[[64394,64395],\\\\\\\"mapped\\\\\\\",[1688]],[[64396,64397],\\\\\\\"mapped\\\\\\\",[1681]],[[64398,64401],\\\\\\\"mapped\\\\\\\",[1705]],[[64402,64405],\\\\\\\"mapped\\\\\\\",[1711]],[[64406,64409],\\\\\\\"mapped\\\\\\\",[1715]],[[64410,64413],\\\\\\\"mapped\\\\\\\",[1713]],[[64414,64415],\\\\\\\"mapped\\\\\\\",[1722]],[[64416,64419],\\\\\\\"mapped\\\\\\\",[1723]],[[64420,64421],\\\\\\\"mapped\\\\\\\",[1728]],[[64422,64425],\\\\\\\"mapped\\\\\\\",[1729]],[[64426,64429],\\\\\\\"mapped\\\\\\\",[1726]],[[64430,64431],\\\\\\\"mapped\\\\\\\",[1746]],[[64432,64433],\\\\\\\"mapped\\\\\\\",[1747]],[[64434,64449],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[64450,64466],\\\\\\\"disallowed\\\\\\\"],[[64467,64470],\\\\\\\"mapped\\\\\\\",[1709]],[[64471,64472],\\\\\\\"mapped\\\\\\\",[1735]],[[64473,64474],\\\\\\\"mapped\\\\\\\",[1734]],[[64475,64476],\\\\\\\"mapped\\\\\\\",[1736]],[[64477,64477],\\\\\\\"mapped\\\\\\\",[1735,1652]],[[64478,64479],\\\\\\\"mapped\\\\\\\",[1739]],[[64480,64481],\\\\\\\"mapped\\\\\\\",[1733]],[[64482,64483],\\\\\\\"mapped\\\\\\\",[1737]],[[64484,64487],\\\\\\\"mapped\\\\\\\",[1744]],[[64488,64489],\\\\\\\"mapped\\\\\\\",[1609]],[[64490,64491],\\\\\\\"mapped\\\\\\\",[1574,1575]],[[64492,64493],\\\\\\\"mapped\\\\\\\",[1574,1749]],[[64494,64495],\\\\\\\"mapped\\\\\\\",[1574,1608]],[[64496,64497],\\\\\\\"mapped\\\\\\\",[1574,1735]],[[64498,64499],\\\\\\\"mapped\\\\\\\",[1574,1734]],[[64500,64501],\\\\\\\"mapped\\\\\\\",[1574,1736]],[[64502,64504],\\\\\\\"mapped\\\\\\\",[1574,1744]],[[64505,64507],\\\\\\\"mapped\\\\\\\",[1574,1609]],[[64508,64511],\\\\\\\"mapped\\\\\\\",[1740]],[[64512,64512],\\\\\\\"mapped\\\\\\\",[1574,1580]],[[64513,64513],\\\\\\\"mapped\\\\\\\",[1574,1581]],[[64514,64514],\\\\\\\"mapped\\\\\\\",[1574,1605]],[[64515,64515],\\\\\\\"mapped\\\\\\\",[1574,1609]],[[64516,64516],\\\\\\\"mapped\\\\\\\",[1574,1610]],[[64517,64517],\\\\\\\"mapped\\\\\\\",[1576,1580]],[[64518,64518],\\\\\\\"mapped\\\\\\\",[1576,1581]],[[64519,64519],\\\\\\\"mapped\\\\\\\",[1576,1582]],[[64520,64520],\\\\\\\"mapped\\\\\\\",[1576,1605]],[[64521,64521],\\\\\\\"mapped\\\\\\\",[1576,1609]],[[64522,64522],\\\\\\\"mapped\\\\\\\",[1576,1610]],[[64523,64523],\\\\\\\"mapped\\\\\\\",[1578,1580]],[[64524,64524],\\\\\\\"mapped\\\\\\\",[1578,1581]],[[64525,64525],\\\\\\\"mapped\\\\\\\",[1578,1582]],[[64526,64526],\\\\\\\"mapped\\\\\\\",[1578,1605]],[[64527,64527],\\\\\\\"mapped\\\\\\\",[1578,1609]],[[64528,64528],\\\\\\\"mapped\\\\\\\",[1578,1610]],[[64529,64529],\\\\\\\"mapped\\\\\\\",[1579,1580]],[[64530,64530],\\\\\\\"mapped\\\\\\\",[1579,1605]],[[64531,64531],\\\\\\\"mapped\\\\\\\",[1579,1609]],[[64532,64532],\\\\\\\"mapped\\\\\\\",[1579,1610]],[[64533,64533],\\\\\\\"mapped\\\\\\\",[1580,1581]],[[64534,64534],\\\\\\\"mapped\\\\\\\",[1580,1605]],[[64535,64535],\\\\\\\"mapped\\\\\\\",[1581,1580]],[[64536,64536],\\\\\\\"mapped\\\\\\\",[1581,1605]],[[64537,64537],\\\\\\\"mapped\\\\\\\",[1582,1580]],[[64538,64538],\\\\\\\"mapped\\\\\\\",[1582,1581]],[[64539,64539],\\\\\\\"mapped\\\\\\\",[1582,1605]],[[64540,64540],\\\\\\\"mapped\\\\\\\",[1587,1580]],[[64541,64541],\\\\\\\"mapped\\\\\\\",[1587,1581]],[[64542,64542],\\\\\\\"mapped\\\\\\\",[1587,1582]],[[64543,64543],\\\\\\\"mapped\\\\\\\",[1587,1605]],[[64544,64544],\\\\\\\"mapped\\\\\\\",[1589,1581]],[[64545,64545],\\\\\\\"mapped\\\\\\\",[1589,1605]],[[64546,64546],\\\\\\\"mapped\\\\\\\",[1590,1580]],[[64547,64547],\\\\\\\"mapped\\\\\\\",[1590,1581]],[[64548,64548],\\\\\\\"mapped\\\\\\\",[1590,1582]],[[64549,64549],\\\\\\\"mapped\\\\\\\",[1590,1605]],[[64550,64550],\\\\\\\"mapped\\\\\\\",[1591,1581]],[[64551,64551],\\\\\\\"mapped\\\\\\\",[1591,1605]],[[64552,64552],\\\\\\\"mapped\\\\\\\",[1592,1605]],[[64553,64553],\\\\\\\"mapped\\\\\\\",[1593,1580]],[[64554,64554],\\\\\\\"mapped\\\\\\\",[1593,1605]],[[64555,64555],\\\\\\\"mapped\\\\\\\",[1594,1580]],[[64556,64556],\\\\\\\"mapped\\\\\\\",[1594,1605]],[[64557,64557],\\\\\\\"mapped\\\\\\\",[1601,1580]],[[64558,64558],\\\\\\\"mapped\\\\\\\",[1601,1581]],[[64559,64559],\\\\\\\"mapped\\\\\\\",[1601,1582]],[[64560,64560],\\\\\\\"mapped\\\\\\\",[1601,1605]],[[64561,64561],\\\\\\\"mapped\\\\\\\",[1601,1609]],[[64562,64562],\\\\\\\"mapped\\\\\\\",[1601,1610]],[[64563,64563],\\\\\\\"mapped\\\\\\\",[1602,1581]],[[64564,64564],\\\\\\\"mapped\\\\\\\",[1602,1605]],[[64565,64565],\\\\\\\"mapped\\\\\\\",[1602,1609]],[[64566,64566],\\\\\\\"mapped\\\\\\\",[1602,1610]],[[64567,64567],\\\\\\\"mapped\\\\\\\",[1603,1575]],[[64568,64568],\\\\\\\"mapped\\\\\\\",[1603,1580]],[[64569,64569],\\\\\\\"mapped\\\\\\\",[1603,1581]],[[64570,64570],\\\\\\\"mapped\\\\\\\",[1603,1582]],[[64571,64571],\\\\\\\"mapped\\\\\\\",[1603,1604]],[[64572,64572],\\\\\\\"mapped\\\\\\\",[1603,1605]],[[64573,64573],\\\\\\\"mapped\\\\\\\",[1603,1609]],[[64574,64574],\\\\\\\"mapped\\\\\\\",[1603,1610]],[[64575,64575],\\\\\\\"mapped\\\\\\\",[1604,1580]],[[64576,64576],\\\\\\\"mapped\\\\\\\",[1604,1581]],[[64577,64577],\\\\\\\"mapped\\\\\\\",[1604,1582]],[[64578,64578],\\\\\\\"mapped\\\\\\\",[1604,1605]],[[64579,64579],\\\\\\\"mapped\\\\\\\",[1604,1609]],[[64580,64580],\\\\\\\"mapped\\\\\\\",[1604,1610]],[[64581,64581],\\\\\\\"mapped\\\\\\\",[1605,1580]],[[64582,64582],\\\\\\\"mapped\\\\\\\",[1605,1581]],[[64583,64583],\\\\\\\"mapped\\\\\\\",[1605,1582]],[[64584,64584],\\\\\\\"mapped\\\\\\\",[1605,1605]],[[64585,64585],\\\\\\\"mapped\\\\\\\",[1605,1609]],[[64586,64586],\\\\\\\"mapped\\\\\\\",[1605,1610]],[[64587,64587],\\\\\\\"mapped\\\\\\\",[1606,1580]],[[64588,64588],\\\\\\\"mapped\\\\\\\",[1606,1581]],[[64589,64589],\\\\\\\"mapped\\\\\\\",[1606,1582]],[[64590,64590],\\\\\\\"mapped\\\\\\\",[1606,1605]],[[64591,64591],\\\\\\\"mapped\\\\\\\",[1606,1609]],[[64592,64592],\\\\\\\"mapped\\\\\\\",[1606,1610]],[[64593,64593],\\\\\\\"mapped\\\\\\\",[1607,1580]],[[64594,64594],\\\\\\\"mapped\\\\\\\",[1607,1605]],[[64595,64595],\\\\\\\"mapped\\\\\\\",[1607,1609]],[[64596,64596],\\\\\\\"mapped\\\\\\\",[1607,1610]],[[64597,64597],\\\\\\\"mapped\\\\\\\",[1610,1580]],[[64598,64598],\\\\\\\"mapped\\\\\\\",[1610,1581]],[[64599,64599],\\\\\\\"mapped\\\\\\\",[1610,1582]],[[64600,64600],\\\\\\\"mapped\\\\\\\",[1610,1605]],[[64601,64601],\\\\\\\"mapped\\\\\\\",[1610,1609]],[[64602,64602],\\\\\\\"mapped\\\\\\\",[1610,1610]],[[64603,64603],\\\\\\\"mapped\\\\\\\",[1584,1648]],[[64604,64604],\\\\\\\"mapped\\\\\\\",[1585,1648]],[[64605,64605],\\\\\\\"mapped\\\\\\\",[1609,1648]],[[64606,64606],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1612,1617]],[[64607,64607],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1613,1617]],[[64608,64608],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1614,1617]],[[64609,64609],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1615,1617]],[[64610,64610],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1616,1617]],[[64611,64611],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1617,1648]],[[64612,64612],\\\\\\\"mapped\\\\\\\",[1574,1585]],[[64613,64613],\\\\\\\"mapped\\\\\\\",[1574,1586]],[[64614,64614],\\\\\\\"mapped\\\\\\\",[1574,1605]],[[64615,64615],\\\\\\\"mapped\\\\\\\",[1574,1606]],[[64616,64616],\\\\\\\"mapped\\\\\\\",[1574,1609]],[[64617,64617],\\\\\\\"mapped\\\\\\\",[1574,1610]],[[64618,64618],\\\\\\\"mapped\\\\\\\",[1576,1585]],[[64619,64619],\\\\\\\"mapped\\\\\\\",[1576,1586]],[[64620,64620],\\\\\\\"mapped\\\\\\\",[1576,1605]],[[64621,64621],\\\\\\\"mapped\\\\\\\",[1576,1606]],[[64622,64622],\\\\\\\"mapped\\\\\\\",[1576,1609]],[[64623,64623],\\\\\\\"mapped\\\\\\\",[1576,1610]],[[64624,64624],\\\\\\\"mapped\\\\\\\",[1578,1585]],[[64625,64625],\\\\\\\"mapped\\\\\\\",[1578,1586]],[[64626,64626],\\\\\\\"mapped\\\\\\\",[1578,1605]],[[64627,64627],\\\\\\\"mapped\\\\\\\",[1578,1606]],[[64628,64628],\\\\\\\"mapped\\\\\\\",[1578,1609]],[[64629,64629],\\\\\\\"mapped\\\\\\\",[1578,1610]],[[64630,64630],\\\\\\\"mapped\\\\\\\",[1579,1585]],[[64631,64631],\\\\\\\"mapped\\\\\\\",[1579,1586]],[[64632,64632],\\\\\\\"mapped\\\\\\\",[1579,1605]],[[64633,64633],\\\\\\\"mapped\\\\\\\",[1579,1606]],[[64634,64634],\\\\\\\"mapped\\\\\\\",[1579,1609]],[[64635,64635],\\\\\\\"mapped\\\\\\\",[1579,1610]],[[64636,64636],\\\\\\\"mapped\\\\\\\",[1601,1609]],[[64637,64637],\\\\\\\"mapped\\\\\\\",[1601,1610]],[[64638,64638],\\\\\\\"mapped\\\\\\\",[1602,1609]],[[64639,64639],\\\\\\\"mapped\\\\\\\",[1602,1610]],[[64640,64640],\\\\\\\"mapped\\\\\\\",[1603,1575]],[[64641,64641],\\\\\\\"mapped\\\\\\\",[1603,1604]],[[64642,64642],\\\\\\\"mapped\\\\\\\",[1603,1605]],[[64643,64643],\\\\\\\"mapped\\\\\\\",[1603,1609]],[[64644,64644],\\\\\\\"mapped\\\\\\\",[1603,1610]],[[64645,64645],\\\\\\\"mapped\\\\\\\",[1604,1605]],[[64646,64646],\\\\\\\"mapped\\\\\\\",[1604,1609]],[[64647,64647],\\\\\\\"mapped\\\\\\\",[1604,1610]],[[64648,64648],\\\\\\\"mapped\\\\\\\",[1605,1575]],[[64649,64649],\\\\\\\"mapped\\\\\\\",[1605,1605]],[[64650,64650],\\\\\\\"mapped\\\\\\\",[1606,1585]],[[64651,64651],\\\\\\\"mapped\\\\\\\",[1606,1586]],[[64652,64652],\\\\\\\"mapped\\\\\\\",[1606,1605]],[[64653,64653],\\\\\\\"mapped\\\\\\\",[1606,1606]],[[64654,64654],\\\\\\\"mapped\\\\\\\",[1606,1609]],[[64655,64655],\\\\\\\"mapped\\\\\\\",[1606,1610]],[[64656,64656],\\\\\\\"mapped\\\\\\\",[1609,1648]],[[64657,64657],\\\\\\\"mapped\\\\\\\",[1610,1585]],[[64658,64658],\\\\\\\"mapped\\\\\\\",[1610,1586]],[[64659,64659],\\\\\\\"mapped\\\\\\\",[1610,1605]],[[64660,64660],\\\\\\\"mapped\\\\\\\",[1610,1606]],[[64661,64661],\\\\\\\"mapped\\\\\\\",[1610,1609]],[[64662,64662],\\\\\\\"mapped\\\\\\\",[1610,1610]],[[64663,64663],\\\\\\\"mapped\\\\\\\",[1574,1580]],[[64664,64664],\\\\\\\"mapped\\\\\\\",[1574,1581]],[[64665,64665],\\\\\\\"mapped\\\\\\\",[1574,1582]],[[64666,64666],\\\\\\\"mapped\\\\\\\",[1574,1605]],[[64667,64667],\\\\\\\"mapped\\\\\\\",[1574,1607]],[[64668,64668],\\\\\\\"mapped\\\\\\\",[1576,1580]],[[64669,64669],\\\\\\\"mapped\\\\\\\",[1576,1581]],[[64670,64670],\\\\\\\"mapped\\\\\\\",[1576,1582]],[[64671,64671],\\\\\\\"mapped\\\\\\\",[1576,1605]],[[64672,64672],\\\\\\\"mapped\\\\\\\",[1576,1607]],[[64673,64673],\\\\\\\"mapped\\\\\\\",[1578,1580]],[[64674,64674],\\\\\\\"mapped\\\\\\\",[1578,1581]],[[64675,64675],\\\\\\\"mapped\\\\\\\",[1578,1582]],[[64676,64676],\\\\\\\"mapped\\\\\\\",[1578,1605]],[[64677,64677],\\\\\\\"mapped\\\\\\\",[1578,1607]],[[64678,64678],\\\\\\\"mapped\\\\\\\",[1579,1605]],[[64679,64679],\\\\\\\"mapped\\\\\\\",[1580,1581]],[[64680,64680],\\\\\\\"mapped\\\\\\\",[1580,1605]],[[64681,64681],\\\\\\\"mapped\\\\\\\",[1581,1580]],[[64682,64682],\\\\\\\"mapped\\\\\\\",[1581,1605]],[[64683,64683],\\\\\\\"mapped\\\\\\\",[1582,1580]],[[64684,64684],\\\\\\\"mapped\\\\\\\",[1582,1605]],[[64685,64685],\\\\\\\"mapped\\\\\\\",[1587,1580]],[[64686,64686],\\\\\\\"mapped\\\\\\\",[1587,1581]],[[64687,64687],\\\\\\\"mapped\\\\\\\",[1587,1582]],[[64688,64688],\\\\\\\"mapped\\\\\\\",[1587,1605]],[[64689,64689],\\\\\\\"mapped\\\\\\\",[1589,1581]],[[64690,64690],\\\\\\\"mapped\\\\\\\",[1589,1582]],[[64691,64691],\\\\\\\"mapped\\\\\\\",[1589,1605]],[[64692,64692],\\\\\\\"mapped\\\\\\\",[1590,1580]],[[64693,64693],\\\\\\\"mapped\\\\\\\",[1590,1581]],[[64694,64694],\\\\\\\"mapped\\\\\\\",[1590,1582]],[[64695,64695],\\\\\\\"mapped\\\\\\\",[1590,1605]],[[64696,64696],\\\\\\\"mapped\\\\\\\",[1591,1581]],[[64697,64697],\\\\\\\"mapped\\\\\\\",[1592,1605]],[[64698,64698],\\\\\\\"mapped\\\\\\\",[1593,1580]],[[64699,64699],\\\\\\\"mapped\\\\\\\",[1593,1605]],[[64700,64700],\\\\\\\"mapped\\\\\\\",[1594,1580]],[[64701,64701],\\\\\\\"mapped\\\\\\\",[1594,1605]],[[64702,64702],\\\\\\\"mapped\\\\\\\",[1601,1580]],[[64703,64703],\\\\\\\"mapped\\\\\\\",[1601,1581]],[[64704,64704],\\\\\\\"mapped\\\\\\\",[1601,1582]],[[64705,64705],\\\\\\\"mapped\\\\\\\",[1601,1605]],[[64706,64706],\\\\\\\"mapped\\\\\\\",[1602,1581]],[[64707,64707],\\\\\\\"mapped\\\\\\\",[1602,1605]],[[64708,64708],\\\\\\\"mapped\\\\\\\",[1603,1580]],[[64709,64709],\\\\\\\"mapped\\\\\\\",[1603,1581]],[[64710,64710],\\\\\\\"mapped\\\\\\\",[1603,1582]],[[64711,64711],\\\\\\\"mapped\\\\\\\",[1603,1604]],[[64712,64712],\\\\\\\"mapped\\\\\\\",[1603,1605]],[[64713,64713],\\\\\\\"mapped\\\\\\\",[1604,1580]],[[64714,64714],\\\\\\\"mapped\\\\\\\",[1604,1581]],[[64715,64715],\\\\\\\"mapped\\\\\\\",[1604,1582]],[[64716,64716],\\\\\\\"mapped\\\\\\\",[1604,1605]],[[64717,64717],\\\\\\\"mapped\\\\\\\",[1604,1607]],[[64718,64718],\\\\\\\"mapped\\\\\\\",[1605,1580]],[[64719,64719],\\\\\\\"mapped\\\\\\\",[1605,1581]],[[64720,64720],\\\\\\\"mapped\\\\\\\",[1605,1582]],[[64721,64721],\\\\\\\"mapped\\\\\\\",[1605,1605]],[[64722,64722],\\\\\\\"mapped\\\\\\\",[1606,1580]],[[64723,64723],\\\\\\\"mapped\\\\\\\",[1606,1581]],[[64724,64724],\\\\\\\"mapped\\\\\\\",[1606,1582]],[[64725,64725],\\\\\\\"mapped\\\\\\\",[1606,1605]],[[64726,64726],\\\\\\\"mapped\\\\\\\",[1606,1607]],[[64727,64727],\\\\\\\"mapped\\\\\\\",[1607,1580]],[[64728,64728],\\\\\\\"mapped\\\\\\\",[1607,1605]],[[64729,64729],\\\\\\\"mapped\\\\\\\",[1607,1648]],[[64730,64730],\\\\\\\"mapped\\\\\\\",[1610,1580]],[[64731,64731],\\\\\\\"mapped\\\\\\\",[1610,1581]],[[64732,64732],\\\\\\\"mapped\\\\\\\",[1610,1582]],[[64733,64733],\\\\\\\"mapped\\\\\\\",[1610,1605]],[[64734,64734],\\\\\\\"mapped\\\\\\\",[1610,1607]],[[64735,64735],\\\\\\\"mapped\\\\\\\",[1574,1605]],[[64736,64736],\\\\\\\"mapped\\\\\\\",[1574,1607]],[[64737,64737],\\\\\\\"mapped\\\\\\\",[1576,1605]],[[64738,64738],\\\\\\\"mapped\\\\\\\",[1576,1607]],[[64739,64739],\\\\\\\"mapped\\\\\\\",[1578,1605]],[[64740,64740],\\\\\\\"mapped\\\\\\\",[1578,1607]],[[64741,64741],\\\\\\\"mapped\\\\\\\",[1579,1605]],[[64742,64742],\\\\\\\"mapped\\\\\\\",[1579,1607]],[[64743,64743],\\\\\\\"mapped\\\\\\\",[1587,1605]],[[64744,64744],\\\\\\\"mapped\\\\\\\",[1587,1607]],[[64745,64745],\\\\\\\"mapped\\\\\\\",[1588,1605]],[[64746,64746],\\\\\\\"mapped\\\\\\\",[1588,1607]],[[64747,64747],\\\\\\\"mapped\\\\\\\",[1603,1604]],[[64748,64748],\\\\\\\"mapped\\\\\\\",[1603,1605]],[[64749,64749],\\\\\\\"mapped\\\\\\\",[1604,1605]],[[64750,64750],\\\\\\\"mapped\\\\\\\",[1606,1605]],[[64751,64751],\\\\\\\"mapped\\\\\\\",[1606,1607]],[[64752,64752],\\\\\\\"mapped\\\\\\\",[1610,1605]],[[64753,64753],\\\\\\\"mapped\\\\\\\",[1610,1607]],[[64754,64754],\\\\\\\"mapped\\\\\\\",[1600,1614,1617]],[[64755,64755],\\\\\\\"mapped\\\\\\\",[1600,1615,1617]],[[64756,64756],\\\\\\\"mapped\\\\\\\",[1600,1616,1617]],[[64757,64757],\\\\\\\"mapped\\\\\\\",[1591,1609]],[[64758,64758],\\\\\\\"mapped\\\\\\\",[1591,1610]],[[64759,64759],\\\\\\\"mapped\\\\\\\",[1593,1609]],[[64760,64760],\\\\\\\"mapped\\\\\\\",[1593,1610]],[[64761,64761],\\\\\\\"mapped\\\\\\\",[1594,1609]],[[64762,64762],\\\\\\\"mapped\\\\\\\",[1594,1610]],[[64763,64763],\\\\\\\"mapped\\\\\\\",[1587,1609]],[[64764,64764],\\\\\\\"mapped\\\\\\\",[1587,1610]],[[64765,64765],\\\\\\\"mapped\\\\\\\",[1588,1609]],[[64766,64766],\\\\\\\"mapped\\\\\\\",[1588,1610]],[[64767,64767],\\\\\\\"mapped\\\\\\\",[1581,1609]],[[64768,64768],\\\\\\\"mapped\\\\\\\",[1581,1610]],[[64769,64769],\\\\\\\"mapped\\\\\\\",[1580,1609]],[[64770,64770],\\\\\\\"mapped\\\\\\\",[1580,1610]],[[64771,64771],\\\\\\\"mapped\\\\\\\",[1582,1609]],[[64772,64772],\\\\\\\"mapped\\\\\\\",[1582,1610]],[[64773,64773],\\\\\\\"mapped\\\\\\\",[1589,1609]],[[64774,64774],\\\\\\\"mapped\\\\\\\",[1589,1610]],[[64775,64775],\\\\\\\"mapped\\\\\\\",[1590,1609]],[[64776,64776],\\\\\\\"mapped\\\\\\\",[1590,1610]],[[64777,64777],\\\\\\\"mapped\\\\\\\",[1588,1580]],[[64778,64778],\\\\\\\"mapped\\\\\\\",[1588,1581]],[[64779,64779],\\\\\\\"mapped\\\\\\\",[1588,1582]],[[64780,64780],\\\\\\\"mapped\\\\\\\",[1588,1605]],[[64781,64781],\\\\\\\"mapped\\\\\\\",[1588,1585]],[[64782,64782],\\\\\\\"mapped\\\\\\\",[1587,1585]],[[64783,64783],\\\\\\\"mapped\\\\\\\",[1589,1585]],[[64784,64784],\\\\\\\"mapped\\\\\\\",[1590,1585]],[[64785,64785],\\\\\\\"mapped\\\\\\\",[1591,1609]],[[64786,64786],\\\\\\\"mapped\\\\\\\",[1591,1610]],[[64787,64787],\\\\\\\"mapped\\\\\\\",[1593,1609]],[[64788,64788],\\\\\\\"mapped\\\\\\\",[1593,1610]],[[64789,64789],\\\\\\\"mapped\\\\\\\",[1594,1609]],[[64790,64790],\\\\\\\"mapped\\\\\\\",[1594,1610]],[[64791,64791],\\\\\\\"mapped\\\\\\\",[1587,1609]],[[64792,64792],\\\\\\\"mapped\\\\\\\",[1587,1610]],[[64793,64793],\\\\\\\"mapped\\\\\\\",[1588,1609]],[[64794,64794],\\\\\\\"mapped\\\\\\\",[1588,1610]],[[64795,64795],\\\\\\\"mapped\\\\\\\",[1581,1609]],[[64796,64796],\\\\\\\"mapped\\\\\\\",[1581,1610]],[[64797,64797],\\\\\\\"mapped\\\\\\\",[1580,1609]],[[64798,64798],\\\\\\\"mapped\\\\\\\",[1580,1610]],[[64799,64799],\\\\\\\"mapped\\\\\\\",[1582,1609]],[[64800,64800],\\\\\\\"mapped\\\\\\\",[1582,1610]],[[64801,64801],\\\\\\\"mapped\\\\\\\",[1589,1609]],[[64802,64802],\\\\\\\"mapped\\\\\\\",[1589,1610]],[[64803,64803],\\\\\\\"mapped\\\\\\\",[1590,1609]],[[64804,64804],\\\\\\\"mapped\\\\\\\",[1590,1610]],[[64805,64805],\\\\\\\"mapped\\\\\\\",[1588,1580]],[[64806,64806],\\\\\\\"mapped\\\\\\\",[1588,1581]],[[64807,64807],\\\\\\\"mapped\\\\\\\",[1588,1582]],[[64808,64808],\\\\\\\"mapped\\\\\\\",[1588,1605]],[[64809,64809],\\\\\\\"mapped\\\\\\\",[1588,1585]],[[64810,64810],\\\\\\\"mapped\\\\\\\",[1587,1585]],[[64811,64811],\\\\\\\"mapped\\\\\\\",[1589,1585]],[[64812,64812],\\\\\\\"mapped\\\\\\\",[1590,1585]],[[64813,64813],\\\\\\\"mapped\\\\\\\",[1588,1580]],[[64814,64814],\\\\\\\"mapped\\\\\\\",[1588,1581]],[[64815,64815],\\\\\\\"mapped\\\\\\\",[1588,1582]],[[64816,64816],\\\\\\\"mapped\\\\\\\",[1588,1605]],[[64817,64817],\\\\\\\"mapped\\\\\\\",[1587,1607]],[[64818,64818],\\\\\\\"mapped\\\\\\\",[1588,1607]],[[64819,64819],\\\\\\\"mapped\\\\\\\",[1591,1605]],[[64820,64820],\\\\\\\"mapped\\\\\\\",[1587,1580]],[[64821,64821],\\\\\\\"mapped\\\\\\\",[1587,1581]],[[64822,64822],\\\\\\\"mapped\\\\\\\",[1587,1582]],[[64823,64823],\\\\\\\"mapped\\\\\\\",[1588,1580]],[[64824,64824],\\\\\\\"mapped\\\\\\\",[1588,1581]],[[64825,64825],\\\\\\\"mapped\\\\\\\",[1588,1582]],[[64826,64826],\\\\\\\"mapped\\\\\\\",[1591,1605]],[[64827,64827],\\\\\\\"mapped\\\\\\\",[1592,1605]],[[64828,64829],\\\\\\\"mapped\\\\\\\",[1575,1611]],[[64830,64831],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[64832,64847],\\\\\\\"disallowed\\\\\\\"],[[64848,64848],\\\\\\\"mapped\\\\\\\",[1578,1580,1605]],[[64849,64850],\\\\\\\"mapped\\\\\\\",[1578,1581,1580]],[[64851,64851],\\\\\\\"mapped\\\\\\\",[1578,1581,1605]],[[64852,64852],\\\\\\\"mapped\\\\\\\",[1578,1582,1605]],[[64853,64853],\\\\\\\"mapped\\\\\\\",[1578,1605,1580]],[[64854,64854],\\\\\\\"mapped\\\\\\\",[1578,1605,1581]],[[64855,64855],\\\\\\\"mapped\\\\\\\",[1578,1605,1582]],[[64856,64857],\\\\\\\"mapped\\\\\\\",[1580,1605,1581]],[[64858,64858],\\\\\\\"mapped\\\\\\\",[1581,1605,1610]],[[64859,64859],\\\\\\\"mapped\\\\\\\",[1581,1605,1609]],[[64860,64860],\\\\\\\"mapped\\\\\\\",[1587,1581,1580]],[[64861,64861],\\\\\\\"mapped\\\\\\\",[1587,1580,1581]],[[64862,64862],\\\\\\\"mapped\\\\\\\",[1587,1580,1609]],[[64863,64864],\\\\\\\"mapped\\\\\\\",[1587,1605,1581]],[[64865,64865],\\\\\\\"mapped\\\\\\\",[1587,1605,1580]],[[64866,64867],\\\\\\\"mapped\\\\\\\",[1587,1605,1605]],[[64868,64869],\\\\\\\"mapped\\\\\\\",[1589,1581,1581]],[[64870,64870],\\\\\\\"mapped\\\\\\\",[1589,1605,1605]],[[64871,64872],\\\\\\\"mapped\\\\\\\",[1588,1581,1605]],[[64873,64873],\\\\\\\"mapped\\\\\\\",[1588,1580,1610]],[[64874,64875],\\\\\\\"mapped\\\\\\\",[1588,1605,1582]],[[64876,64877],\\\\\\\"mapped\\\\\\\",[1588,1605,1605]],[[64878,64878],\\\\\\\"mapped\\\\\\\",[1590,1581,1609]],[[64879,64880],\\\\\\\"mapped\\\\\\\",[1590,1582,1605]],[[64881,64882],\\\\\\\"mapped\\\\\\\",[1591,1605,1581]],[[64883,64883],\\\\\\\"mapped\\\\\\\",[1591,1605,1605]],[[64884,64884],\\\\\\\"mapped\\\\\\\",[1591,1605,1610]],[[64885,64885],\\\\\\\"mapped\\\\\\\",[1593,1580,1605]],[[64886,64887],\\\\\\\"mapped\\\\\\\",[1593,1605,1605]],[[64888,64888],\\\\\\\"mapped\\\\\\\",[1593,1605,1609]],[[64889,64889],\\\\\\\"mapped\\\\\\\",[1594,1605,1605]],[[64890,64890],\\\\\\\"mapped\\\\\\\",[1594,1605,1610]],[[64891,64891],\\\\\\\"mapped\\\\\\\",[1594,1605,1609]],[[64892,64893],\\\\\\\"mapped\\\\\\\",[1601,1582,1605]],[[64894,64894],\\\\\\\"mapped\\\\\\\",[1602,1605,1581]],[[64895,64895],\\\\\\\"mapped\\\\\\\",[1602,1605,1605]],[[64896,64896],\\\\\\\"mapped\\\\\\\",[1604,1581,1605]],[[64897,64897],\\\\\\\"mapped\\\\\\\",[1604,1581,1610]],[[64898,64898],\\\\\\\"mapped\\\\\\\",[1604,1581,1609]],[[64899,64900],\\\\\\\"mapped\\\\\\\",[1604,1580,1580]],[[64901,64902],\\\\\\\"mapped\\\\\\\",[1604,1582,1605]],[[64903,64904],\\\\\\\"mapped\\\\\\\",[1604,1605,1581]],[[64905,64905],\\\\\\\"mapped\\\\\\\",[1605,1581,1580]],[[64906,64906],\\\\\\\"mapped\\\\\\\",[1605,1581,1605]],[[64907,64907],\\\\\\\"mapped\\\\\\\",[1605,1581,1610]],[[64908,64908],\\\\\\\"mapped\\\\\\\",[1605,1580,1581]],[[64909,64909],\\\\\\\"mapped\\\\\\\",[1605,1580,1605]],[[64910,64910],\\\\\\\"mapped\\\\\\\",[1605,1582,1580]],[[64911,64911],\\\\\\\"mapped\\\\\\\",[1605,1582,1605]],[[64912,64913],\\\\\\\"disallowed\\\\\\\"],[[64914,64914],\\\\\\\"mapped\\\\\\\",[1605,1580,1582]],[[64915,64915],\\\\\\\"mapped\\\\\\\",[1607,1605,1580]],[[64916,64916],\\\\\\\"mapped\\\\\\\",[1607,1605,1605]],[[64917,64917],\\\\\\\"mapped\\\\\\\",[1606,1581,1605]],[[64918,64918],\\\\\\\"mapped\\\\\\\",[1606,1581,1609]],[[64919,64920],\\\\\\\"mapped\\\\\\\",[1606,1580,1605]],[[64921,64921],\\\\\\\"mapped\\\\\\\",[1606,1580,1609]],[[64922,64922],\\\\\\\"mapped\\\\\\\",[1606,1605,1610]],[[64923,64923],\\\\\\\"mapped\\\\\\\",[1606,1605,1609]],[[64924,64925],\\\\\\\"mapped\\\\\\\",[1610,1605,1605]],[[64926,64926],\\\\\\\"mapped\\\\\\\",[1576,1582,1610]],[[64927,64927],\\\\\\\"mapped\\\\\\\",[1578,1580,1610]],[[64928,64928],\\\\\\\"mapped\\\\\\\",[1578,1580,1609]],[[64929,64929],\\\\\\\"mapped\\\\\\\",[1578,1582,1610]],[[64930,64930],\\\\\\\"mapped\\\\\\\",[1578,1582,1609]],[[64931,64931],\\\\\\\"mapped\\\\\\\",[1578,1605,1610]],[[64932,64932],\\\\\\\"mapped\\\\\\\",[1578,1605,1609]],[[64933,64933],\\\\\\\"mapped\\\\\\\",[1580,1605,1610]],[[64934,64934],\\\\\\\"mapped\\\\\\\",[1580,1581,1609]],[[64935,64935],\\\\\\\"mapped\\\\\\\",[1580,1605,1609]],[[64936,64936],\\\\\\\"mapped\\\\\\\",[1587,1582,1609]],[[64937,64937],\\\\\\\"mapped\\\\\\\",[1589,1581,1610]],[[64938,64938],\\\\\\\"mapped\\\\\\\",[1588,1581,1610]],[[64939,64939],\\\\\\\"mapped\\\\\\\",[1590,1581,1610]],[[64940,64940],\\\\\\\"mapped\\\\\\\",[1604,1580,1610]],[[64941,64941],\\\\\\\"mapped\\\\\\\",[1604,1605,1610]],[[64942,64942],\\\\\\\"mapped\\\\\\\",[1610,1581,1610]],[[64943,64943],\\\\\\\"mapped\\\\\\\",[1610,1580,1610]],[[64944,64944],\\\\\\\"mapped\\\\\\\",[1610,1605,1610]],[[64945,64945],\\\\\\\"mapped\\\\\\\",[1605,1605,1610]],[[64946,64946],\\\\\\\"mapped\\\\\\\",[1602,1605,1610]],[[64947,64947],\\\\\\\"mapped\\\\\\\",[1606,1581,1610]],[[64948,64948],\\\\\\\"mapped\\\\\\\",[1602,1605,1581]],[[64949,64949],\\\\\\\"mapped\\\\\\\",[1604,1581,1605]],[[64950,64950],\\\\\\\"mapped\\\\\\\",[1593,1605,1610]],[[64951,64951],\\\\\\\"mapped\\\\\\\",[1603,1605,1610]],[[64952,64952],\\\\\\\"mapped\\\\\\\",[1606,1580,1581]],[[64953,64953],\\\\\\\"mapped\\\\\\\",[1605,1582,1610]],[[64954,64954],\\\\\\\"mapped\\\\\\\",[1604,1580,1605]],[[64955,64955],\\\\\\\"mapped\\\\\\\",[1603,1605,1605]],[[64956,64956],\\\\\\\"mapped\\\\\\\",[1604,1580,1605]],[[64957,64957],\\\\\\\"mapped\\\\\\\",[1606,1580,1581]],[[64958,64958],\\\\\\\"mapped\\\\\\\",[1580,1581,1610]],[[64959,64959],\\\\\\\"mapped\\\\\\\",[1581,1580,1610]],[[64960,64960],\\\\\\\"mapped\\\\\\\",[1605,1580,1610]],[[64961,64961],\\\\\\\"mapped\\\\\\\",[1601,1605,1610]],[[64962,64962],\\\\\\\"mapped\\\\\\\",[1576,1581,1610]],[[64963,64963],\\\\\\\"mapped\\\\\\\",[1603,1605,1605]],[[64964,64964],\\\\\\\"mapped\\\\\\\",[1593,1580,1605]],[[64965,64965],\\\\\\\"mapped\\\\\\\",[1589,1605,1605]],[[64966,64966],\\\\\\\"mapped\\\\\\\",[1587,1582,1610]],[[64967,64967],\\\\\\\"mapped\\\\\\\",[1606,1580,1610]],[[64968,64975],\\\\\\\"disallowed\\\\\\\"],[[64976,65007],\\\\\\\"disallowed\\\\\\\"],[[65008,65008],\\\\\\\"mapped\\\\\\\",[1589,1604,1746]],[[65009,65009],\\\\\\\"mapped\\\\\\\",[1602,1604,1746]],[[65010,65010],\\\\\\\"mapped\\\\\\\",[1575,1604,1604,1607]],[[65011,65011],\\\\\\\"mapped\\\\\\\",[1575,1603,1576,1585]],[[65012,65012],\\\\\\\"mapped\\\\\\\",[1605,1581,1605,1583]],[[65013,65013],\\\\\\\"mapped\\\\\\\",[1589,1604,1593,1605]],[[65014,65014],\\\\\\\"mapped\\\\\\\",[1585,1587,1608,1604]],[[65015,65015],\\\\\\\"mapped\\\\\\\",[1593,1604,1610,1607]],[[65016,65016],\\\\\\\"mapped\\\\\\\",[1608,1587,1604,1605]],[[65017,65017],\\\\\\\"mapped\\\\\\\",[1589,1604,1609]],[[65018,65018],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],\\\\\\\"mapped\\\\\\\",[1585,1740,1575,1604]],[[65021,65021],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65022,65023],\\\\\\\"disallowed\\\\\\\"],[[65024,65039],\\\\\\\"ignored\\\\\\\"],[[65040,65040],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[44]],[[65041,65041],\\\\\\\"mapped\\\\\\\",[12289]],[[65042,65042],\\\\\\\"disallowed\\\\\\\"],[[65043,65043],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[58]],[[65044,65044],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[59]],[[65045,65045],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[33]],[[65046,65046],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[63]],[[65047,65047],\\\\\\\"mapped\\\\\\\",[12310]],[[65048,65048],\\\\\\\"mapped\\\\\\\",[12311]],[[65049,65049],\\\\\\\"disallowed\\\\\\\"],[[65050,65055],\\\\\\\"disallowed\\\\\\\"],[[65056,65059],\\\\\\\"valid\\\\\\\"],[[65060,65062],\\\\\\\"valid\\\\\\\"],[[65063,65069],\\\\\\\"valid\\\\\\\"],[[65070,65071],\\\\\\\"valid\\\\\\\"],[[65072,65072],\\\\\\\"disallowed\\\\\\\"],[[65073,65073],\\\\\\\"mapped\\\\\\\",[8212]],[[65074,65074],\\\\\\\"mapped\\\\\\\",[8211]],[[65075,65076],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[95]],[[65077,65077],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40]],[[65078,65078],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[41]],[[65079,65079],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[123]],[[65080,65080],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[125]],[[65081,65081],\\\\\\\"mapped\\\\\\\",[12308]],[[65082,65082],\\\\\\\"mapped\\\\\\\",[12309]],[[65083,65083],\\\\\\\"mapped\\\\\\\",[12304]],[[65084,65084],\\\\\\\"mapped\\\\\\\",[12305]],[[65085,65085],\\\\\\\"mapped\\\\\\\",[12298]],[[65086,65086],\\\\\\\"mapped\\\\\\\",[12299]],[[65087,65087],\\\\\\\"mapped\\\\\\\",[12296]],[[65088,65088],\\\\\\\"mapped\\\\\\\",[12297]],[[65089,65089],\\\\\\\"mapped\\\\\\\",[12300]],[[65090,65090],\\\\\\\"mapped\\\\\\\",[12301]],[[65091,65091],\\\\\\\"mapped\\\\\\\",[12302]],[[65092,65092],\\\\\\\"mapped\\\\\\\",[12303]],[[65093,65094],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65095,65095],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[91]],[[65096,65096],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[93]],[[65097,65100],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,773]],[[65101,65103],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[95]],[[65104,65104],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[44]],[[65105,65105],\\\\\\\"mapped\\\\\\\",[12289]],[[65106,65106],\\\\\\\"disallowed\\\\\\\"],[[65107,65107],\\\\\\\"disallowed\\\\\\\"],[[65108,65108],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[59]],[[65109,65109],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[58]],[[65110,65110],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[63]],[[65111,65111],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[33]],[[65112,65112],\\\\\\\"mapped\\\\\\\",[8212]],[[65113,65113],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40]],[[65114,65114],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[41]],[[65115,65115],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[123]],[[65116,65116],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[125]],[[65117,65117],\\\\\\\"mapped\\\\\\\",[12308]],[[65118,65118],\\\\\\\"mapped\\\\\\\",[12309]],[[65119,65119],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[35]],[[65120,65120],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[38]],[[65121,65121],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[42]],[[65122,65122],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[43]],[[65123,65123],\\\\\\\"mapped\\\\\\\",[45]],[[65124,65124],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[60]],[[65125,65125],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[62]],[[65126,65126],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[61]],[[65127,65127],\\\\\\\"disallowed\\\\\\\"],[[65128,65128],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[92]],[[65129,65129],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[36]],[[65130,65130],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[37]],[[65131,65131],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[64]],[[65132,65135],\\\\\\\"disallowed\\\\\\\"],[[65136,65136],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1611]],[[65137,65137],\\\\\\\"mapped\\\\\\\",[1600,1611]],[[65138,65138],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1612]],[[65139,65139],\\\\\\\"valid\\\\\\\"],[[65140,65140],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1613]],[[65141,65141],\\\\\\\"disallowed\\\\\\\"],[[65142,65142],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1614]],[[65143,65143],\\\\\\\"mapped\\\\\\\",[1600,1614]],[[65144,65144],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1615]],[[65145,65145],\\\\\\\"mapped\\\\\\\",[1600,1615]],[[65146,65146],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1616]],[[65147,65147],\\\\\\\"mapped\\\\\\\",[1600,1616]],[[65148,65148],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1617]],[[65149,65149],\\\\\\\"mapped\\\\\\\",[1600,1617]],[[65150,65150],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,1618]],[[65151,65151],\\\\\\\"mapped\\\\\\\",[1600,1618]],[[65152,65152],\\\\\\\"mapped\\\\\\\",[1569]],[[65153,65154],\\\\\\\"mapped\\\\\\\",[1570]],[[65155,65156],\\\\\\\"mapped\\\\\\\",[1571]],[[65157,65158],\\\\\\\"mapped\\\\\\\",[1572]],[[65159,65160],\\\\\\\"mapped\\\\\\\",[1573]],[[65161,65164],\\\\\\\"mapped\\\\\\\",[1574]],[[65165,65166],\\\\\\\"mapped\\\\\\\",[1575]],[[65167,65170],\\\\\\\"mapped\\\\\\\",[1576]],[[65171,65172],\\\\\\\"mapped\\\\\\\",[1577]],[[65173,65176],\\\\\\\"mapped\\\\\\\",[1578]],[[65177,65180],\\\\\\\"mapped\\\\\\\",[1579]],[[65181,65184],\\\\\\\"mapped\\\\\\\",[1580]],[[65185,65188],\\\\\\\"mapped\\\\\\\",[1581]],[[65189,65192],\\\\\\\"mapped\\\\\\\",[1582]],[[65193,65194],\\\\\\\"mapped\\\\\\\",[1583]],[[65195,65196],\\\\\\\"mapped\\\\\\\",[1584]],[[65197,65198],\\\\\\\"mapped\\\\\\\",[1585]],[[65199,65200],\\\\\\\"mapped\\\\\\\",[1586]],[[65201,65204],\\\\\\\"mapped\\\\\\\",[1587]],[[65205,65208],\\\\\\\"mapped\\\\\\\",[1588]],[[65209,65212],\\\\\\\"mapped\\\\\\\",[1589]],[[65213,65216],\\\\\\\"mapped\\\\\\\",[1590]],[[65217,65220],\\\\\\\"mapped\\\\\\\",[1591]],[[65221,65224],\\\\\\\"mapped\\\\\\\",[1592]],[[65225,65228],\\\\\\\"mapped\\\\\\\",[1593]],[[65229,65232],\\\\\\\"mapped\\\\\\\",[1594]],[[65233,65236],\\\\\\\"mapped\\\\\\\",[1601]],[[65237,65240],\\\\\\\"mapped\\\\\\\",[1602]],[[65241,65244],\\\\\\\"mapped\\\\\\\",[1603]],[[65245,65248],\\\\\\\"mapped\\\\\\\",[1604]],[[65249,65252],\\\\\\\"mapped\\\\\\\",[1605]],[[65253,65256],\\\\\\\"mapped\\\\\\\",[1606]],[[65257,65260],\\\\\\\"mapped\\\\\\\",[1607]],[[65261,65262],\\\\\\\"mapped\\\\\\\",[1608]],[[65263,65264],\\\\\\\"mapped\\\\\\\",[1609]],[[65265,65268],\\\\\\\"mapped\\\\\\\",[1610]],[[65269,65270],\\\\\\\"mapped\\\\\\\",[1604,1570]],[[65271,65272],\\\\\\\"mapped\\\\\\\",[1604,1571]],[[65273,65274],\\\\\\\"mapped\\\\\\\",[1604,1573]],[[65275,65276],\\\\\\\"mapped\\\\\\\",[1604,1575]],[[65277,65278],\\\\\\\"disallowed\\\\\\\"],[[65279,65279],\\\\\\\"ignored\\\\\\\"],[[65280,65280],\\\\\\\"disallowed\\\\\\\"],[[65281,65281],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[33]],[[65282,65282],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[34]],[[65283,65283],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[35]],[[65284,65284],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[36]],[[65285,65285],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[37]],[[65286,65286],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[38]],[[65287,65287],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[39]],[[65288,65288],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40]],[[65289,65289],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[41]],[[65290,65290],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[42]],[[65291,65291],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[43]],[[65292,65292],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[44]],[[65293,65293],\\\\\\\"mapped\\\\\\\",[45]],[[65294,65294],\\\\\\\"mapped\\\\\\\",[46]],[[65295,65295],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[47]],[[65296,65296],\\\\\\\"mapped\\\\\\\",[48]],[[65297,65297],\\\\\\\"mapped\\\\\\\",[49]],[[65298,65298],\\\\\\\"mapped\\\\\\\",[50]],[[65299,65299],\\\\\\\"mapped\\\\\\\",[51]],[[65300,65300],\\\\\\\"mapped\\\\\\\",[52]],[[65301,65301],\\\\\\\"mapped\\\\\\\",[53]],[[65302,65302],\\\\\\\"mapped\\\\\\\",[54]],[[65303,65303],\\\\\\\"mapped\\\\\\\",[55]],[[65304,65304],\\\\\\\"mapped\\\\\\\",[56]],[[65305,65305],\\\\\\\"mapped\\\\\\\",[57]],[[65306,65306],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[58]],[[65307,65307],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[59]],[[65308,65308],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[60]],[[65309,65309],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[61]],[[65310,65310],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[62]],[[65311,65311],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[63]],[[65312,65312],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[64]],[[65313,65313],\\\\\\\"mapped\\\\\\\",[97]],[[65314,65314],\\\\\\\"mapped\\\\\\\",[98]],[[65315,65315],\\\\\\\"mapped\\\\\\\",[99]],[[65316,65316],\\\\\\\"mapped\\\\\\\",[100]],[[65317,65317],\\\\\\\"mapped\\\\\\\",[101]],[[65318,65318],\\\\\\\"mapped\\\\\\\",[102]],[[65319,65319],\\\\\\\"mapped\\\\\\\",[103]],[[65320,65320],\\\\\\\"mapped\\\\\\\",[104]],[[65321,65321],\\\\\\\"mapped\\\\\\\",[105]],[[65322,65322],\\\\\\\"mapped\\\\\\\",[106]],[[65323,65323],\\\\\\\"mapped\\\\\\\",[107]],[[65324,65324],\\\\\\\"mapped\\\\\\\",[108]],[[65325,65325],\\\\\\\"mapped\\\\\\\",[109]],[[65326,65326],\\\\\\\"mapped\\\\\\\",[110]],[[65327,65327],\\\\\\\"mapped\\\\\\\",[111]],[[65328,65328],\\\\\\\"mapped\\\\\\\",[112]],[[65329,65329],\\\\\\\"mapped\\\\\\\",[113]],[[65330,65330],\\\\\\\"mapped\\\\\\\",[114]],[[65331,65331],\\\\\\\"mapped\\\\\\\",[115]],[[65332,65332],\\\\\\\"mapped\\\\\\\",[116]],[[65333,65333],\\\\\\\"mapped\\\\\\\",[117]],[[65334,65334],\\\\\\\"mapped\\\\\\\",[118]],[[65335,65335],\\\\\\\"mapped\\\\\\\",[119]],[[65336,65336],\\\\\\\"mapped\\\\\\\",[120]],[[65337,65337],\\\\\\\"mapped\\\\\\\",[121]],[[65338,65338],\\\\\\\"mapped\\\\\\\",[122]],[[65339,65339],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[91]],[[65340,65340],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[92]],[[65341,65341],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[93]],[[65342,65342],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[94]],[[65343,65343],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[95]],[[65344,65344],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[96]],[[65345,65345],\\\\\\\"mapped\\\\\\\",[97]],[[65346,65346],\\\\\\\"mapped\\\\\\\",[98]],[[65347,65347],\\\\\\\"mapped\\\\\\\",[99]],[[65348,65348],\\\\\\\"mapped\\\\\\\",[100]],[[65349,65349],\\\\\\\"mapped\\\\\\\",[101]],[[65350,65350],\\\\\\\"mapped\\\\\\\",[102]],[[65351,65351],\\\\\\\"mapped\\\\\\\",[103]],[[65352,65352],\\\\\\\"mapped\\\\\\\",[104]],[[65353,65353],\\\\\\\"mapped\\\\\\\",[105]],[[65354,65354],\\\\\\\"mapped\\\\\\\",[106]],[[65355,65355],\\\\\\\"mapped\\\\\\\",[107]],[[65356,65356],\\\\\\\"mapped\\\\\\\",[108]],[[65357,65357],\\\\\\\"mapped\\\\\\\",[109]],[[65358,65358],\\\\\\\"mapped\\\\\\\",[110]],[[65359,65359],\\\\\\\"mapped\\\\\\\",[111]],[[65360,65360],\\\\\\\"mapped\\\\\\\",[112]],[[65361,65361],\\\\\\\"mapped\\\\\\\",[113]],[[65362,65362],\\\\\\\"mapped\\\\\\\",[114]],[[65363,65363],\\\\\\\"mapped\\\\\\\",[115]],[[65364,65364],\\\\\\\"mapped\\\\\\\",[116]],[[65365,65365],\\\\\\\"mapped\\\\\\\",[117]],[[65366,65366],\\\\\\\"mapped\\\\\\\",[118]],[[65367,65367],\\\\\\\"mapped\\\\\\\",[119]],[[65368,65368],\\\\\\\"mapped\\\\\\\",[120]],[[65369,65369],\\\\\\\"mapped\\\\\\\",[121]],[[65370,65370],\\\\\\\"mapped\\\\\\\",[122]],[[65371,65371],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[123]],[[65372,65372],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[124]],[[65373,65373],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[125]],[[65374,65374],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[126]],[[65375,65375],\\\\\\\"mapped\\\\\\\",[10629]],[[65376,65376],\\\\\\\"mapped\\\\\\\",[10630]],[[65377,65377],\\\\\\\"mapped\\\\\\\",[46]],[[65378,65378],\\\\\\\"mapped\\\\\\\",[12300]],[[65379,65379],\\\\\\\"mapped\\\\\\\",[12301]],[[65380,65380],\\\\\\\"mapped\\\\\\\",[12289]],[[65381,65381],\\\\\\\"mapped\\\\\\\",[12539]],[[65382,65382],\\\\\\\"mapped\\\\\\\",[12530]],[[65383,65383],\\\\\\\"mapped\\\\\\\",[12449]],[[65384,65384],\\\\\\\"mapped\\\\\\\",[12451]],[[65385,65385],\\\\\\\"mapped\\\\\\\",[12453]],[[65386,65386],\\\\\\\"mapped\\\\\\\",[12455]],[[65387,65387],\\\\\\\"mapped\\\\\\\",[12457]],[[65388,65388],\\\\\\\"mapped\\\\\\\",[12515]],[[65389,65389],\\\\\\\"mapped\\\\\\\",[12517]],[[65390,65390],\\\\\\\"mapped\\\\\\\",[12519]],[[65391,65391],\\\\\\\"mapped\\\\\\\",[12483]],[[65392,65392],\\\\\\\"mapped\\\\\\\",[12540]],[[65393,65393],\\\\\\\"mapped\\\\\\\",[12450]],[[65394,65394],\\\\\\\"mapped\\\\\\\",[12452]],[[65395,65395],\\\\\\\"mapped\\\\\\\",[12454]],[[65396,65396],\\\\\\\"mapped\\\\\\\",[12456]],[[65397,65397],\\\\\\\"mapped\\\\\\\",[12458]],[[65398,65398],\\\\\\\"mapped\\\\\\\",[12459]],[[65399,65399],\\\\\\\"mapped\\\\\\\",[12461]],[[65400,65400],\\\\\\\"mapped\\\\\\\",[12463]],[[65401,65401],\\\\\\\"mapped\\\\\\\",[12465]],[[65402,65402],\\\\\\\"mapped\\\\\\\",[12467]],[[65403,65403],\\\\\\\"mapped\\\\\\\",[12469]],[[65404,65404],\\\\\\\"mapped\\\\\\\",[12471]],[[65405,65405],\\\\\\\"mapped\\\\\\\",[12473]],[[65406,65406],\\\\\\\"mapped\\\\\\\",[12475]],[[65407,65407],\\\\\\\"mapped\\\\\\\",[12477]],[[65408,65408],\\\\\\\"mapped\\\\\\\",[12479]],[[65409,65409],\\\\\\\"mapped\\\\\\\",[12481]],[[65410,65410],\\\\\\\"mapped\\\\\\\",[12484]],[[65411,65411],\\\\\\\"mapped\\\\\\\",[12486]],[[65412,65412],\\\\\\\"mapped\\\\\\\",[12488]],[[65413,65413],\\\\\\\"mapped\\\\\\\",[12490]],[[65414,65414],\\\\\\\"mapped\\\\\\\",[12491]],[[65415,65415],\\\\\\\"mapped\\\\\\\",[12492]],[[65416,65416],\\\\\\\"mapped\\\\\\\",[12493]],[[65417,65417],\\\\\\\"mapped\\\\\\\",[12494]],[[65418,65418],\\\\\\\"mapped\\\\\\\",[12495]],[[65419,65419],\\\\\\\"mapped\\\\\\\",[12498]],[[65420,65420],\\\\\\\"mapped\\\\\\\",[12501]],[[65421,65421],\\\\\\\"mapped\\\\\\\",[12504]],[[65422,65422],\\\\\\\"mapped\\\\\\\",[12507]],[[65423,65423],\\\\\\\"mapped\\\\\\\",[12510]],[[65424,65424],\\\\\\\"mapped\\\\\\\",[12511]],[[65425,65425],\\\\\\\"mapped\\\\\\\",[12512]],[[65426,65426],\\\\\\\"mapped\\\\\\\",[12513]],[[65427,65427],\\\\\\\"mapped\\\\\\\",[12514]],[[65428,65428],\\\\\\\"mapped\\\\\\\",[12516]],[[65429,65429],\\\\\\\"mapped\\\\\\\",[12518]],[[65430,65430],\\\\\\\"mapped\\\\\\\",[12520]],[[65431,65431],\\\\\\\"mapped\\\\\\\",[12521]],[[65432,65432],\\\\\\\"mapped\\\\\\\",[12522]],[[65433,65433],\\\\\\\"mapped\\\\\\\",[12523]],[[65434,65434],\\\\\\\"mapped\\\\\\\",[12524]],[[65435,65435],\\\\\\\"mapped\\\\\\\",[12525]],[[65436,65436],\\\\\\\"mapped\\\\\\\",[12527]],[[65437,65437],\\\\\\\"mapped\\\\\\\",[12531]],[[65438,65438],\\\\\\\"mapped\\\\\\\",[12441]],[[65439,65439],\\\\\\\"mapped\\\\\\\",[12442]],[[65440,65440],\\\\\\\"disallowed\\\\\\\"],[[65441,65441],\\\\\\\"mapped\\\\\\\",[4352]],[[65442,65442],\\\\\\\"mapped\\\\\\\",[4353]],[[65443,65443],\\\\\\\"mapped\\\\\\\",[4522]],[[65444,65444],\\\\\\\"mapped\\\\\\\",[4354]],[[65445,65445],\\\\\\\"mapped\\\\\\\",[4524]],[[65446,65446],\\\\\\\"mapped\\\\\\\",[4525]],[[65447,65447],\\\\\\\"mapped\\\\\\\",[4355]],[[65448,65448],\\\\\\\"mapped\\\\\\\",[4356]],[[65449,65449],\\\\\\\"mapped\\\\\\\",[4357]],[[65450,65450],\\\\\\\"mapped\\\\\\\",[4528]],[[65451,65451],\\\\\\\"mapped\\\\\\\",[4529]],[[65452,65452],\\\\\\\"mapped\\\\\\\",[4530]],[[65453,65453],\\\\\\\"mapped\\\\\\\",[4531]],[[65454,65454],\\\\\\\"mapped\\\\\\\",[4532]],[[65455,65455],\\\\\\\"mapped\\\\\\\",[4533]],[[65456,65456],\\\\\\\"mapped\\\\\\\",[4378]],[[65457,65457],\\\\\\\"mapped\\\\\\\",[4358]],[[65458,65458],\\\\\\\"mapped\\\\\\\",[4359]],[[65459,65459],\\\\\\\"mapped\\\\\\\",[4360]],[[65460,65460],\\\\\\\"mapped\\\\\\\",[4385]],[[65461,65461],\\\\\\\"mapped\\\\\\\",[4361]],[[65462,65462],\\\\\\\"mapped\\\\\\\",[4362]],[[65463,65463],\\\\\\\"mapped\\\\\\\",[4363]],[[65464,65464],\\\\\\\"mapped\\\\\\\",[4364]],[[65465,65465],\\\\\\\"mapped\\\\\\\",[4365]],[[65466,65466],\\\\\\\"mapped\\\\\\\",[4366]],[[65467,65467],\\\\\\\"mapped\\\\\\\",[4367]],[[65468,65468],\\\\\\\"mapped\\\\\\\",[4368]],[[65469,65469],\\\\\\\"mapped\\\\\\\",[4369]],[[65470,65470],\\\\\\\"mapped\\\\\\\",[4370]],[[65471,65473],\\\\\\\"disallowed\\\\\\\"],[[65474,65474],\\\\\\\"mapped\\\\\\\",[4449]],[[65475,65475],\\\\\\\"mapped\\\\\\\",[4450]],[[65476,65476],\\\\\\\"mapped\\\\\\\",[4451]],[[65477,65477],\\\\\\\"mapped\\\\\\\",[4452]],[[65478,65478],\\\\\\\"mapped\\\\\\\",[4453]],[[65479,65479],\\\\\\\"mapped\\\\\\\",[4454]],[[65480,65481],\\\\\\\"disallowed\\\\\\\"],[[65482,65482],\\\\\\\"mapped\\\\\\\",[4455]],[[65483,65483],\\\\\\\"mapped\\\\\\\",[4456]],[[65484,65484],\\\\\\\"mapped\\\\\\\",[4457]],[[65485,65485],\\\\\\\"mapped\\\\\\\",[4458]],[[65486,65486],\\\\\\\"mapped\\\\\\\",[4459]],[[65487,65487],\\\\\\\"mapped\\\\\\\",[4460]],[[65488,65489],\\\\\\\"disallowed\\\\\\\"],[[65490,65490],\\\\\\\"mapped\\\\\\\",[4461]],[[65491,65491],\\\\\\\"mapped\\\\\\\",[4462]],[[65492,65492],\\\\\\\"mapped\\\\\\\",[4463]],[[65493,65493],\\\\\\\"mapped\\\\\\\",[4464]],[[65494,65494],\\\\\\\"mapped\\\\\\\",[4465]],[[65495,65495],\\\\\\\"mapped\\\\\\\",[4466]],[[65496,65497],\\\\\\\"disallowed\\\\\\\"],[[65498,65498],\\\\\\\"mapped\\\\\\\",[4467]],[[65499,65499],\\\\\\\"mapped\\\\\\\",[4468]],[[65500,65500],\\\\\\\"mapped\\\\\\\",[4469]],[[65501,65503],\\\\\\\"disallowed\\\\\\\"],[[65504,65504],\\\\\\\"mapped\\\\\\\",[162]],[[65505,65505],\\\\\\\"mapped\\\\\\\",[163]],[[65506,65506],\\\\\\\"mapped\\\\\\\",[172]],[[65507,65507],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[32,772]],[[65508,65508],\\\\\\\"mapped\\\\\\\",[166]],[[65509,65509],\\\\\\\"mapped\\\\\\\",[165]],[[65510,65510],\\\\\\\"mapped\\\\\\\",[8361]],[[65511,65511],\\\\\\\"disallowed\\\\\\\"],[[65512,65512],\\\\\\\"mapped\\\\\\\",[9474]],[[65513,65513],\\\\\\\"mapped\\\\\\\",[8592]],[[65514,65514],\\\\\\\"mapped\\\\\\\",[8593]],[[65515,65515],\\\\\\\"mapped\\\\\\\",[8594]],[[65516,65516],\\\\\\\"mapped\\\\\\\",[8595]],[[65517,65517],\\\\\\\"mapped\\\\\\\",[9632]],[[65518,65518],\\\\\\\"mapped\\\\\\\",[9675]],[[65519,65528],\\\\\\\"disallowed\\\\\\\"],[[65529,65531],\\\\\\\"disallowed\\\\\\\"],[[65532,65532],\\\\\\\"disallowed\\\\\\\"],[[65533,65533],\\\\\\\"disallowed\\\\\\\"],[[65534,65535],\\\\\\\"disallowed\\\\\\\"],[[65536,65547],\\\\\\\"valid\\\\\\\"],[[65548,65548],\\\\\\\"disallowed\\\\\\\"],[[65549,65574],\\\\\\\"valid\\\\\\\"],[[65575,65575],\\\\\\\"disallowed\\\\\\\"],[[65576,65594],\\\\\\\"valid\\\\\\\"],[[65595,65595],\\\\\\\"disallowed\\\\\\\"],[[65596,65597],\\\\\\\"valid\\\\\\\"],[[65598,65598],\\\\\\\"disallowed\\\\\\\"],[[65599,65613],\\\\\\\"valid\\\\\\\"],[[65614,65615],\\\\\\\"disallowed\\\\\\\"],[[65616,65629],\\\\\\\"valid\\\\\\\"],[[65630,65663],\\\\\\\"disallowed\\\\\\\"],[[65664,65786],\\\\\\\"valid\\\\\\\"],[[65787,65791],\\\\\\\"disallowed\\\\\\\"],[[65792,65794],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65795,65798],\\\\\\\"disallowed\\\\\\\"],[[65799,65843],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65844,65846],\\\\\\\"disallowed\\\\\\\"],[[65847,65855],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65856,65930],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65931,65932],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65933,65935],\\\\\\\"disallowed\\\\\\\"],[[65936,65947],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65948,65951],\\\\\\\"disallowed\\\\\\\"],[[65952,65952],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[65953,65999],\\\\\\\"disallowed\\\\\\\"],[[66000,66044],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66045,66045],\\\\\\\"valid\\\\\\\"],[[66046,66175],\\\\\\\"disallowed\\\\\\\"],[[66176,66204],\\\\\\\"valid\\\\\\\"],[[66205,66207],\\\\\\\"disallowed\\\\\\\"],[[66208,66256],\\\\\\\"valid\\\\\\\"],[[66257,66271],\\\\\\\"disallowed\\\\\\\"],[[66272,66272],\\\\\\\"valid\\\\\\\"],[[66273,66299],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66300,66303],\\\\\\\"disallowed\\\\\\\"],[[66304,66334],\\\\\\\"valid\\\\\\\"],[[66335,66335],\\\\\\\"valid\\\\\\\"],[[66336,66339],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66340,66351],\\\\\\\"disallowed\\\\\\\"],[[66352,66368],\\\\\\\"valid\\\\\\\"],[[66369,66369],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66370,66377],\\\\\\\"valid\\\\\\\"],[[66378,66378],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66379,66383],\\\\\\\"disallowed\\\\\\\"],[[66384,66426],\\\\\\\"valid\\\\\\\"],[[66427,66431],\\\\\\\"disallowed\\\\\\\"],[[66432,66461],\\\\\\\"valid\\\\\\\"],[[66462,66462],\\\\\\\"disallowed\\\\\\\"],[[66463,66463],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66464,66499],\\\\\\\"valid\\\\\\\"],[[66500,66503],\\\\\\\"disallowed\\\\\\\"],[[66504,66511],\\\\\\\"valid\\\\\\\"],[[66512,66517],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66518,66559],\\\\\\\"disallowed\\\\\\\"],[[66560,66560],\\\\\\\"mapped\\\\\\\",[66600]],[[66561,66561],\\\\\\\"mapped\\\\\\\",[66601]],[[66562,66562],\\\\\\\"mapped\\\\\\\",[66602]],[[66563,66563],\\\\\\\"mapped\\\\\\\",[66603]],[[66564,66564],\\\\\\\"mapped\\\\\\\",[66604]],[[66565,66565],\\\\\\\"mapped\\\\\\\",[66605]],[[66566,66566],\\\\\\\"mapped\\\\\\\",[66606]],[[66567,66567],\\\\\\\"mapped\\\\\\\",[66607]],[[66568,66568],\\\\\\\"mapped\\\\\\\",[66608]],[[66569,66569],\\\\\\\"mapped\\\\\\\",[66609]],[[66570,66570],\\\\\\\"mapped\\\\\\\",[66610]],[[66571,66571],\\\\\\\"mapped\\\\\\\",[66611]],[[66572,66572],\\\\\\\"mapped\\\\\\\",[66612]],[[66573,66573],\\\\\\\"mapped\\\\\\\",[66613]],[[66574,66574],\\\\\\\"mapped\\\\\\\",[66614]],[[66575,66575],\\\\\\\"mapped\\\\\\\",[66615]],[[66576,66576],\\\\\\\"mapped\\\\\\\",[66616]],[[66577,66577],\\\\\\\"mapped\\\\\\\",[66617]],[[66578,66578],\\\\\\\"mapped\\\\\\\",[66618]],[[66579,66579],\\\\\\\"mapped\\\\\\\",[66619]],[[66580,66580],\\\\\\\"mapped\\\\\\\",[66620]],[[66581,66581],\\\\\\\"mapped\\\\\\\",[66621]],[[66582,66582],\\\\\\\"mapped\\\\\\\",[66622]],[[66583,66583],\\\\\\\"mapped\\\\\\\",[66623]],[[66584,66584],\\\\\\\"mapped\\\\\\\",[66624]],[[66585,66585],\\\\\\\"mapped\\\\\\\",[66625]],[[66586,66586],\\\\\\\"mapped\\\\\\\",[66626]],[[66587,66587],\\\\\\\"mapped\\\\\\\",[66627]],[[66588,66588],\\\\\\\"mapped\\\\\\\",[66628]],[[66589,66589],\\\\\\\"mapped\\\\\\\",[66629]],[[66590,66590],\\\\\\\"mapped\\\\\\\",[66630]],[[66591,66591],\\\\\\\"mapped\\\\\\\",[66631]],[[66592,66592],\\\\\\\"mapped\\\\\\\",[66632]],[[66593,66593],\\\\\\\"mapped\\\\\\\",[66633]],[[66594,66594],\\\\\\\"mapped\\\\\\\",[66634]],[[66595,66595],\\\\\\\"mapped\\\\\\\",[66635]],[[66596,66596],\\\\\\\"mapped\\\\\\\",[66636]],[[66597,66597],\\\\\\\"mapped\\\\\\\",[66637]],[[66598,66598],\\\\\\\"mapped\\\\\\\",[66638]],[[66599,66599],\\\\\\\"mapped\\\\\\\",[66639]],[[66600,66637],\\\\\\\"valid\\\\\\\"],[[66638,66717],\\\\\\\"valid\\\\\\\"],[[66718,66719],\\\\\\\"disallowed\\\\\\\"],[[66720,66729],\\\\\\\"valid\\\\\\\"],[[66730,66815],\\\\\\\"disallowed\\\\\\\"],[[66816,66855],\\\\\\\"valid\\\\\\\"],[[66856,66863],\\\\\\\"disallowed\\\\\\\"],[[66864,66915],\\\\\\\"valid\\\\\\\"],[[66916,66926],\\\\\\\"disallowed\\\\\\\"],[[66927,66927],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[66928,67071],\\\\\\\"disallowed\\\\\\\"],[[67072,67382],\\\\\\\"valid\\\\\\\"],[[67383,67391],\\\\\\\"disallowed\\\\\\\"],[[67392,67413],\\\\\\\"valid\\\\\\\"],[[67414,67423],\\\\\\\"disallowed\\\\\\\"],[[67424,67431],\\\\\\\"valid\\\\\\\"],[[67432,67583],\\\\\\\"disallowed\\\\\\\"],[[67584,67589],\\\\\\\"valid\\\\\\\"],[[67590,67591],\\\\\\\"disallowed\\\\\\\"],[[67592,67592],\\\\\\\"valid\\\\\\\"],[[67593,67593],\\\\\\\"disallowed\\\\\\\"],[[67594,67637],\\\\\\\"valid\\\\\\\"],[[67638,67638],\\\\\\\"disallowed\\\\\\\"],[[67639,67640],\\\\\\\"valid\\\\\\\"],[[67641,67643],\\\\\\\"disallowed\\\\\\\"],[[67644,67644],\\\\\\\"valid\\\\\\\"],[[67645,67646],\\\\\\\"disallowed\\\\\\\"],[[67647,67647],\\\\\\\"valid\\\\\\\"],[[67648,67669],\\\\\\\"valid\\\\\\\"],[[67670,67670],\\\\\\\"disallowed\\\\\\\"],[[67671,67679],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67680,67702],\\\\\\\"valid\\\\\\\"],[[67703,67711],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67712,67742],\\\\\\\"valid\\\\\\\"],[[67743,67750],\\\\\\\"disallowed\\\\\\\"],[[67751,67759],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67760,67807],\\\\\\\"disallowed\\\\\\\"],[[67808,67826],\\\\\\\"valid\\\\\\\"],[[67827,67827],\\\\\\\"disallowed\\\\\\\"],[[67828,67829],\\\\\\\"valid\\\\\\\"],[[67830,67834],\\\\\\\"disallowed\\\\\\\"],[[67835,67839],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67840,67861],\\\\\\\"valid\\\\\\\"],[[67862,67865],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67866,67867],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67868,67870],\\\\\\\"disallowed\\\\\\\"],[[67871,67871],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67872,67897],\\\\\\\"valid\\\\\\\"],[[67898,67902],\\\\\\\"disallowed\\\\\\\"],[[67903,67903],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[67904,67967],\\\\\\\"disallowed\\\\\\\"],[[67968,68023],\\\\\\\"valid\\\\\\\"],[[68024,68027],\\\\\\\"disallowed\\\\\\\"],[[68028,68029],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68030,68031],\\\\\\\"valid\\\\\\\"],[[68032,68047],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68048,68049],\\\\\\\"disallowed\\\\\\\"],[[68050,68095],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68096,68099],\\\\\\\"valid\\\\\\\"],[[68100,68100],\\\\\\\"disallowed\\\\\\\"],[[68101,68102],\\\\\\\"valid\\\\\\\"],[[68103,68107],\\\\\\\"disallowed\\\\\\\"],[[68108,68115],\\\\\\\"valid\\\\\\\"],[[68116,68116],\\\\\\\"disallowed\\\\\\\"],[[68117,68119],\\\\\\\"valid\\\\\\\"],[[68120,68120],\\\\\\\"disallowed\\\\\\\"],[[68121,68147],\\\\\\\"valid\\\\\\\"],[[68148,68151],\\\\\\\"disallowed\\\\\\\"],[[68152,68154],\\\\\\\"valid\\\\\\\"],[[68155,68158],\\\\\\\"disallowed\\\\\\\"],[[68159,68159],\\\\\\\"valid\\\\\\\"],[[68160,68167],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68168,68175],\\\\\\\"disallowed\\\\\\\"],[[68176,68184],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68185,68191],\\\\\\\"disallowed\\\\\\\"],[[68192,68220],\\\\\\\"valid\\\\\\\"],[[68221,68223],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68224,68252],\\\\\\\"valid\\\\\\\"],[[68253,68255],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68256,68287],\\\\\\\"disallowed\\\\\\\"],[[68288,68295],\\\\\\\"valid\\\\\\\"],[[68296,68296],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68297,68326],\\\\\\\"valid\\\\\\\"],[[68327,68330],\\\\\\\"disallowed\\\\\\\"],[[68331,68342],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68343,68351],\\\\\\\"disallowed\\\\\\\"],[[68352,68405],\\\\\\\"valid\\\\\\\"],[[68406,68408],\\\\\\\"disallowed\\\\\\\"],[[68409,68415],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68416,68437],\\\\\\\"valid\\\\\\\"],[[68438,68439],\\\\\\\"disallowed\\\\\\\"],[[68440,68447],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68448,68466],\\\\\\\"valid\\\\\\\"],[[68467,68471],\\\\\\\"disallowed\\\\\\\"],[[68472,68479],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68480,68497],\\\\\\\"valid\\\\\\\"],[[68498,68504],\\\\\\\"disallowed\\\\\\\"],[[68505,68508],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68509,68520],\\\\\\\"disallowed\\\\\\\"],[[68521,68527],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68528,68607],\\\\\\\"disallowed\\\\\\\"],[[68608,68680],\\\\\\\"valid\\\\\\\"],[[68681,68735],\\\\\\\"disallowed\\\\\\\"],[[68736,68736],\\\\\\\"mapped\\\\\\\",[68800]],[[68737,68737],\\\\\\\"mapped\\\\\\\",[68801]],[[68738,68738],\\\\\\\"mapped\\\\\\\",[68802]],[[68739,68739],\\\\\\\"mapped\\\\\\\",[68803]],[[68740,68740],\\\\\\\"mapped\\\\\\\",[68804]],[[68741,68741],\\\\\\\"mapped\\\\\\\",[68805]],[[68742,68742],\\\\\\\"mapped\\\\\\\",[68806]],[[68743,68743],\\\\\\\"mapped\\\\\\\",[68807]],[[68744,68744],\\\\\\\"mapped\\\\\\\",[68808]],[[68745,68745],\\\\\\\"mapped\\\\\\\",[68809]],[[68746,68746],\\\\\\\"mapped\\\\\\\",[68810]],[[68747,68747],\\\\\\\"mapped\\\\\\\",[68811]],[[68748,68748],\\\\\\\"mapped\\\\\\\",[68812]],[[68749,68749],\\\\\\\"mapped\\\\\\\",[68813]],[[68750,68750],\\\\\\\"mapped\\\\\\\",[68814]],[[68751,68751],\\\\\\\"mapped\\\\\\\",[68815]],[[68752,68752],\\\\\\\"mapped\\\\\\\",[68816]],[[68753,68753],\\\\\\\"mapped\\\\\\\",[68817]],[[68754,68754],\\\\\\\"mapped\\\\\\\",[68818]],[[68755,68755],\\\\\\\"mapped\\\\\\\",[68819]],[[68756,68756],\\\\\\\"mapped\\\\\\\",[68820]],[[68757,68757],\\\\\\\"mapped\\\\\\\",[68821]],[[68758,68758],\\\\\\\"mapped\\\\\\\",[68822]],[[68759,68759],\\\\\\\"mapped\\\\\\\",[68823]],[[68760,68760],\\\\\\\"mapped\\\\\\\",[68824]],[[68761,68761],\\\\\\\"mapped\\\\\\\",[68825]],[[68762,68762],\\\\\\\"mapped\\\\\\\",[68826]],[[68763,68763],\\\\\\\"mapped\\\\\\\",[68827]],[[68764,68764],\\\\\\\"mapped\\\\\\\",[68828]],[[68765,68765],\\\\\\\"mapped\\\\\\\",[68829]],[[68766,68766],\\\\\\\"mapped\\\\\\\",[68830]],[[68767,68767],\\\\\\\"mapped\\\\\\\",[68831]],[[68768,68768],\\\\\\\"mapped\\\\\\\",[68832]],[[68769,68769],\\\\\\\"mapped\\\\\\\",[68833]],[[68770,68770],\\\\\\\"mapped\\\\\\\",[68834]],[[68771,68771],\\\\\\\"mapped\\\\\\\",[68835]],[[68772,68772],\\\\\\\"mapped\\\\\\\",[68836]],[[68773,68773],\\\\\\\"mapped\\\\\\\",[68837]],[[68774,68774],\\\\\\\"mapped\\\\\\\",[68838]],[[68775,68775],\\\\\\\"mapped\\\\\\\",[68839]],[[68776,68776],\\\\\\\"mapped\\\\\\\",[68840]],[[68777,68777],\\\\\\\"mapped\\\\\\\",[68841]],[[68778,68778],\\\\\\\"mapped\\\\\\\",[68842]],[[68779,68779],\\\\\\\"mapped\\\\\\\",[68843]],[[68780,68780],\\\\\\\"mapped\\\\\\\",[68844]],[[68781,68781],\\\\\\\"mapped\\\\\\\",[68845]],[[68782,68782],\\\\\\\"mapped\\\\\\\",[68846]],[[68783,68783],\\\\\\\"mapped\\\\\\\",[68847]],[[68784,68784],\\\\\\\"mapped\\\\\\\",[68848]],[[68785,68785],\\\\\\\"mapped\\\\\\\",[68849]],[[68786,68786],\\\\\\\"mapped\\\\\\\",[68850]],[[68787,68799],\\\\\\\"disallowed\\\\\\\"],[[68800,68850],\\\\\\\"valid\\\\\\\"],[[68851,68857],\\\\\\\"disallowed\\\\\\\"],[[68858,68863],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[68864,69215],\\\\\\\"disallowed\\\\\\\"],[[69216,69246],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[69247,69631],\\\\\\\"disallowed\\\\\\\"],[[69632,69702],\\\\\\\"valid\\\\\\\"],[[69703,69709],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[69710,69713],\\\\\\\"disallowed\\\\\\\"],[[69714,69733],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[69734,69743],\\\\\\\"valid\\\\\\\"],[[69744,69758],\\\\\\\"disallowed\\\\\\\"],[[69759,69759],\\\\\\\"valid\\\\\\\"],[[69760,69818],\\\\\\\"valid\\\\\\\"],[[69819,69820],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[69821,69821],\\\\\\\"disallowed\\\\\\\"],[[69822,69825],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[69826,69839],\\\\\\\"disallowed\\\\\\\"],[[69840,69864],\\\\\\\"valid\\\\\\\"],[[69865,69871],\\\\\\\"disallowed\\\\\\\"],[[69872,69881],\\\\\\\"valid\\\\\\\"],[[69882,69887],\\\\\\\"disallowed\\\\\\\"],[[69888,69940],\\\\\\\"valid\\\\\\\"],[[69941,69941],\\\\\\\"disallowed\\\\\\\"],[[69942,69951],\\\\\\\"valid\\\\\\\"],[[69952,69955],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[69956,69967],\\\\\\\"disallowed\\\\\\\"],[[69968,70003],\\\\\\\"valid\\\\\\\"],[[70004,70005],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70006,70006],\\\\\\\"valid\\\\\\\"],[[70007,70015],\\\\\\\"disallowed\\\\\\\"],[[70016,70084],\\\\\\\"valid\\\\\\\"],[[70085,70088],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70089,70089],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70090,70092],\\\\\\\"valid\\\\\\\"],[[70093,70093],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70094,70095],\\\\\\\"disallowed\\\\\\\"],[[70096,70105],\\\\\\\"valid\\\\\\\"],[[70106,70106],\\\\\\\"valid\\\\\\\"],[[70107,70107],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70108,70108],\\\\\\\"valid\\\\\\\"],[[70109,70111],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70112,70112],\\\\\\\"disallowed\\\\\\\"],[[70113,70132],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70133,70143],\\\\\\\"disallowed\\\\\\\"],[[70144,70161],\\\\\\\"valid\\\\\\\"],[[70162,70162],\\\\\\\"disallowed\\\\\\\"],[[70163,70199],\\\\\\\"valid\\\\\\\"],[[70200,70205],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70206,70271],\\\\\\\"disallowed\\\\\\\"],[[70272,70278],\\\\\\\"valid\\\\\\\"],[[70279,70279],\\\\\\\"disallowed\\\\\\\"],[[70280,70280],\\\\\\\"valid\\\\\\\"],[[70281,70281],\\\\\\\"disallowed\\\\\\\"],[[70282,70285],\\\\\\\"valid\\\\\\\"],[[70286,70286],\\\\\\\"disallowed\\\\\\\"],[[70287,70301],\\\\\\\"valid\\\\\\\"],[[70302,70302],\\\\\\\"disallowed\\\\\\\"],[[70303,70312],\\\\\\\"valid\\\\\\\"],[[70313,70313],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70314,70319],\\\\\\\"disallowed\\\\\\\"],[[70320,70378],\\\\\\\"valid\\\\\\\"],[[70379,70383],\\\\\\\"disallowed\\\\\\\"],[[70384,70393],\\\\\\\"valid\\\\\\\"],[[70394,70399],\\\\\\\"disallowed\\\\\\\"],[[70400,70400],\\\\\\\"valid\\\\\\\"],[[70401,70403],\\\\\\\"valid\\\\\\\"],[[70404,70404],\\\\\\\"disallowed\\\\\\\"],[[70405,70412],\\\\\\\"valid\\\\\\\"],[[70413,70414],\\\\\\\"disallowed\\\\\\\"],[[70415,70416],\\\\\\\"valid\\\\\\\"],[[70417,70418],\\\\\\\"disallowed\\\\\\\"],[[70419,70440],\\\\\\\"valid\\\\\\\"],[[70441,70441],\\\\\\\"disallowed\\\\\\\"],[[70442,70448],\\\\\\\"valid\\\\\\\"],[[70449,70449],\\\\\\\"disallowed\\\\\\\"],[[70450,70451],\\\\\\\"valid\\\\\\\"],[[70452,70452],\\\\\\\"disallowed\\\\\\\"],[[70453,70457],\\\\\\\"valid\\\\\\\"],[[70458,70459],\\\\\\\"disallowed\\\\\\\"],[[70460,70468],\\\\\\\"valid\\\\\\\"],[[70469,70470],\\\\\\\"disallowed\\\\\\\"],[[70471,70472],\\\\\\\"valid\\\\\\\"],[[70473,70474],\\\\\\\"disallowed\\\\\\\"],[[70475,70477],\\\\\\\"valid\\\\\\\"],[[70478,70479],\\\\\\\"disallowed\\\\\\\"],[[70480,70480],\\\\\\\"valid\\\\\\\"],[[70481,70486],\\\\\\\"disallowed\\\\\\\"],[[70487,70487],\\\\\\\"valid\\\\\\\"],[[70488,70492],\\\\\\\"disallowed\\\\\\\"],[[70493,70499],\\\\\\\"valid\\\\\\\"],[[70500,70501],\\\\\\\"disallowed\\\\\\\"],[[70502,70508],\\\\\\\"valid\\\\\\\"],[[70509,70511],\\\\\\\"disallowed\\\\\\\"],[[70512,70516],\\\\\\\"valid\\\\\\\"],[[70517,70783],\\\\\\\"disallowed\\\\\\\"],[[70784,70853],\\\\\\\"valid\\\\\\\"],[[70854,70854],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[70855,70855],\\\\\\\"valid\\\\\\\"],[[70856,70863],\\\\\\\"disallowed\\\\\\\"],[[70864,70873],\\\\\\\"valid\\\\\\\"],[[70874,71039],\\\\\\\"disallowed\\\\\\\"],[[71040,71093],\\\\\\\"valid\\\\\\\"],[[71094,71095],\\\\\\\"disallowed\\\\\\\"],[[71096,71104],\\\\\\\"valid\\\\\\\"],[[71105,71113],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[71114,71127],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[71128,71133],\\\\\\\"valid\\\\\\\"],[[71134,71167],\\\\\\\"disallowed\\\\\\\"],[[71168,71232],\\\\\\\"valid\\\\\\\"],[[71233,71235],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[71236,71236],\\\\\\\"valid\\\\\\\"],[[71237,71247],\\\\\\\"disallowed\\\\\\\"],[[71248,71257],\\\\\\\"valid\\\\\\\"],[[71258,71295],\\\\\\\"disallowed\\\\\\\"],[[71296,71351],\\\\\\\"valid\\\\\\\"],[[71352,71359],\\\\\\\"disallowed\\\\\\\"],[[71360,71369],\\\\\\\"valid\\\\\\\"],[[71370,71423],\\\\\\\"disallowed\\\\\\\"],[[71424,71449],\\\\\\\"valid\\\\\\\"],[[71450,71452],\\\\\\\"disallowed\\\\\\\"],[[71453,71467],\\\\\\\"valid\\\\\\\"],[[71468,71471],\\\\\\\"disallowed\\\\\\\"],[[71472,71481],\\\\\\\"valid\\\\\\\"],[[71482,71487],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[71488,71839],\\\\\\\"disallowed\\\\\\\"],[[71840,71840],\\\\\\\"mapped\\\\\\\",[71872]],[[71841,71841],\\\\\\\"mapped\\\\\\\",[71873]],[[71842,71842],\\\\\\\"mapped\\\\\\\",[71874]],[[71843,71843],\\\\\\\"mapped\\\\\\\",[71875]],[[71844,71844],\\\\\\\"mapped\\\\\\\",[71876]],[[71845,71845],\\\\\\\"mapped\\\\\\\",[71877]],[[71846,71846],\\\\\\\"mapped\\\\\\\",[71878]],[[71847,71847],\\\\\\\"mapped\\\\\\\",[71879]],[[71848,71848],\\\\\\\"mapped\\\\\\\",[71880]],[[71849,71849],\\\\\\\"mapped\\\\\\\",[71881]],[[71850,71850],\\\\\\\"mapped\\\\\\\",[71882]],[[71851,71851],\\\\\\\"mapped\\\\\\\",[71883]],[[71852,71852],\\\\\\\"mapped\\\\\\\",[71884]],[[71853,71853],\\\\\\\"mapped\\\\\\\",[71885]],[[71854,71854],\\\\\\\"mapped\\\\\\\",[71886]],[[71855,71855],\\\\\\\"mapped\\\\\\\",[71887]],[[71856,71856],\\\\\\\"mapped\\\\\\\",[71888]],[[71857,71857],\\\\\\\"mapped\\\\\\\",[71889]],[[71858,71858],\\\\\\\"mapped\\\\\\\",[71890]],[[71859,71859],\\\\\\\"mapped\\\\\\\",[71891]],[[71860,71860],\\\\\\\"mapped\\\\\\\",[71892]],[[71861,71861],\\\\\\\"mapped\\\\\\\",[71893]],[[71862,71862],\\\\\\\"mapped\\\\\\\",[71894]],[[71863,71863],\\\\\\\"mapped\\\\\\\",[71895]],[[71864,71864],\\\\\\\"mapped\\\\\\\",[71896]],[[71865,71865],\\\\\\\"mapped\\\\\\\",[71897]],[[71866,71866],\\\\\\\"mapped\\\\\\\",[71898]],[[71867,71867],\\\\\\\"mapped\\\\\\\",[71899]],[[71868,71868],\\\\\\\"mapped\\\\\\\",[71900]],[[71869,71869],\\\\\\\"mapped\\\\\\\",[71901]],[[71870,71870],\\\\\\\"mapped\\\\\\\",[71902]],[[71871,71871],\\\\\\\"mapped\\\\\\\",[71903]],[[71872,71913],\\\\\\\"valid\\\\\\\"],[[71914,71922],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[71923,71934],\\\\\\\"disallowed\\\\\\\"],[[71935,71935],\\\\\\\"valid\\\\\\\"],[[71936,72383],\\\\\\\"disallowed\\\\\\\"],[[72384,72440],\\\\\\\"valid\\\\\\\"],[[72441,73727],\\\\\\\"disallowed\\\\\\\"],[[73728,74606],\\\\\\\"valid\\\\\\\"],[[74607,74648],\\\\\\\"valid\\\\\\\"],[[74649,74649],\\\\\\\"valid\\\\\\\"],[[74650,74751],\\\\\\\"disallowed\\\\\\\"],[[74752,74850],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[74851,74862],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[74863,74863],\\\\\\\"disallowed\\\\\\\"],[[74864,74867],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[74868,74868],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[74869,74879],\\\\\\\"disallowed\\\\\\\"],[[74880,75075],\\\\\\\"valid\\\\\\\"],[[75076,77823],\\\\\\\"disallowed\\\\\\\"],[[77824,78894],\\\\\\\"valid\\\\\\\"],[[78895,82943],\\\\\\\"disallowed\\\\\\\"],[[82944,83526],\\\\\\\"valid\\\\\\\"],[[83527,92159],\\\\\\\"disallowed\\\\\\\"],[[92160,92728],\\\\\\\"valid\\\\\\\"],[[92729,92735],\\\\\\\"disallowed\\\\\\\"],[[92736,92766],\\\\\\\"valid\\\\\\\"],[[92767,92767],\\\\\\\"disallowed\\\\\\\"],[[92768,92777],\\\\\\\"valid\\\\\\\"],[[92778,92781],\\\\\\\"disallowed\\\\\\\"],[[92782,92783],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[92784,92879],\\\\\\\"disallowed\\\\\\\"],[[92880,92909],\\\\\\\"valid\\\\\\\"],[[92910,92911],\\\\\\\"disallowed\\\\\\\"],[[92912,92916],\\\\\\\"valid\\\\\\\"],[[92917,92917],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[92918,92927],\\\\\\\"disallowed\\\\\\\"],[[92928,92982],\\\\\\\"valid\\\\\\\"],[[92983,92991],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[92992,92995],\\\\\\\"valid\\\\\\\"],[[92996,92997],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[92998,93007],\\\\\\\"disallowed\\\\\\\"],[[93008,93017],\\\\\\\"valid\\\\\\\"],[[93018,93018],\\\\\\\"disallowed\\\\\\\"],[[93019,93025],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[93026,93026],\\\\\\\"disallowed\\\\\\\"],[[93027,93047],\\\\\\\"valid\\\\\\\"],[[93048,93052],\\\\\\\"disallowed\\\\\\\"],[[93053,93071],\\\\\\\"valid\\\\\\\"],[[93072,93951],\\\\\\\"disallowed\\\\\\\"],[[93952,94020],\\\\\\\"valid\\\\\\\"],[[94021,94031],\\\\\\\"disallowed\\\\\\\"],[[94032,94078],\\\\\\\"valid\\\\\\\"],[[94079,94094],\\\\\\\"disallowed\\\\\\\"],[[94095,94111],\\\\\\\"valid\\\\\\\"],[[94112,110591],\\\\\\\"disallowed\\\\\\\"],[[110592,110593],\\\\\\\"valid\\\\\\\"],[[110594,113663],\\\\\\\"disallowed\\\\\\\"],[[113664,113770],\\\\\\\"valid\\\\\\\"],[[113771,113775],\\\\\\\"disallowed\\\\\\\"],[[113776,113788],\\\\\\\"valid\\\\\\\"],[[113789,113791],\\\\\\\"disallowed\\\\\\\"],[[113792,113800],\\\\\\\"valid\\\\\\\"],[[113801,113807],\\\\\\\"disallowed\\\\\\\"],[[113808,113817],\\\\\\\"valid\\\\\\\"],[[113818,113819],\\\\\\\"disallowed\\\\\\\"],[[113820,113820],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[113821,113822],\\\\\\\"valid\\\\\\\"],[[113823,113823],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[113824,113827],\\\\\\\"ignored\\\\\\\"],[[113828,118783],\\\\\\\"disallowed\\\\\\\"],[[118784,119029],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119030,119039],\\\\\\\"disallowed\\\\\\\"],[[119040,119078],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119079,119080],\\\\\\\"disallowed\\\\\\\"],[[119081,119081],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119082,119133],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119134,119134],\\\\\\\"mapped\\\\\\\",[119127,119141]],[[119135,119135],\\\\\\\"mapped\\\\\\\",[119128,119141]],[[119136,119136],\\\\\\\"mapped\\\\\\\",[119128,119141,119150]],[[119137,119137],\\\\\\\"mapped\\\\\\\",[119128,119141,119151]],[[119138,119138],\\\\\\\"mapped\\\\\\\",[119128,119141,119152]],[[119139,119139],\\\\\\\"mapped\\\\\\\",[119128,119141,119153]],[[119140,119140],\\\\\\\"mapped\\\\\\\",[119128,119141,119154]],[[119141,119154],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119155,119162],\\\\\\\"disallowed\\\\\\\"],[[119163,119226],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119227,119227],\\\\\\\"mapped\\\\\\\",[119225,119141]],[[119228,119228],\\\\\\\"mapped\\\\\\\",[119226,119141]],[[119229,119229],\\\\\\\"mapped\\\\\\\",[119225,119141,119150]],[[119230,119230],\\\\\\\"mapped\\\\\\\",[119226,119141,119150]],[[119231,119231],\\\\\\\"mapped\\\\\\\",[119225,119141,119151]],[[119232,119232],\\\\\\\"mapped\\\\\\\",[119226,119141,119151]],[[119233,119261],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119262,119272],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119273,119295],\\\\\\\"disallowed\\\\\\\"],[[119296,119365],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119366,119551],\\\\\\\"disallowed\\\\\\\"],[[119552,119638],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119639,119647],\\\\\\\"disallowed\\\\\\\"],[[119648,119665],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[119666,119807],\\\\\\\"disallowed\\\\\\\"],[[119808,119808],\\\\\\\"mapped\\\\\\\",[97]],[[119809,119809],\\\\\\\"mapped\\\\\\\",[98]],[[119810,119810],\\\\\\\"mapped\\\\\\\",[99]],[[119811,119811],\\\\\\\"mapped\\\\\\\",[100]],[[119812,119812],\\\\\\\"mapped\\\\\\\",[101]],[[119813,119813],\\\\\\\"mapped\\\\\\\",[102]],[[119814,119814],\\\\\\\"mapped\\\\\\\",[103]],[[119815,119815],\\\\\\\"mapped\\\\\\\",[104]],[[119816,119816],\\\\\\\"mapped\\\\\\\",[105]],[[119817,119817],\\\\\\\"mapped\\\\\\\",[106]],[[119818,119818],\\\\\\\"mapped\\\\\\\",[107]],[[119819,119819],\\\\\\\"mapped\\\\\\\",[108]],[[119820,119820],\\\\\\\"mapped\\\\\\\",[109]],[[119821,119821],\\\\\\\"mapped\\\\\\\",[110]],[[119822,119822],\\\\\\\"mapped\\\\\\\",[111]],[[119823,119823],\\\\\\\"mapped\\\\\\\",[112]],[[119824,119824],\\\\\\\"mapped\\\\\\\",[113]],[[119825,119825],\\\\\\\"mapped\\\\\\\",[114]],[[119826,119826],\\\\\\\"mapped\\\\\\\",[115]],[[119827,119827],\\\\\\\"mapped\\\\\\\",[116]],[[119828,119828],\\\\\\\"mapped\\\\\\\",[117]],[[119829,119829],\\\\\\\"mapped\\\\\\\",[118]],[[119830,119830],\\\\\\\"mapped\\\\\\\",[119]],[[119831,119831],\\\\\\\"mapped\\\\\\\",[120]],[[119832,119832],\\\\\\\"mapped\\\\\\\",[121]],[[119833,119833],\\\\\\\"mapped\\\\\\\",[122]],[[119834,119834],\\\\\\\"mapped\\\\\\\",[97]],[[119835,119835],\\\\\\\"mapped\\\\\\\",[98]],[[119836,119836],\\\\\\\"mapped\\\\\\\",[99]],[[119837,119837],\\\\\\\"mapped\\\\\\\",[100]],[[119838,119838],\\\\\\\"mapped\\\\\\\",[101]],[[119839,119839],\\\\\\\"mapped\\\\\\\",[102]],[[119840,119840],\\\\\\\"mapped\\\\\\\",[103]],[[119841,119841],\\\\\\\"mapped\\\\\\\",[104]],[[119842,119842],\\\\\\\"mapped\\\\\\\",[105]],[[119843,119843],\\\\\\\"mapped\\\\\\\",[106]],[[119844,119844],\\\\\\\"mapped\\\\\\\",[107]],[[119845,119845],\\\\\\\"mapped\\\\\\\",[108]],[[119846,119846],\\\\\\\"mapped\\\\\\\",[109]],[[119847,119847],\\\\\\\"mapped\\\\\\\",[110]],[[119848,119848],\\\\\\\"mapped\\\\\\\",[111]],[[119849,119849],\\\\\\\"mapped\\\\\\\",[112]],[[119850,119850],\\\\\\\"mapped\\\\\\\",[113]],[[119851,119851],\\\\\\\"mapped\\\\\\\",[114]],[[119852,119852],\\\\\\\"mapped\\\\\\\",[115]],[[119853,119853],\\\\\\\"mapped\\\\\\\",[116]],[[119854,119854],\\\\\\\"mapped\\\\\\\",[117]],[[119855,119855],\\\\\\\"mapped\\\\\\\",[118]],[[119856,119856],\\\\\\\"mapped\\\\\\\",[119]],[[119857,119857],\\\\\\\"mapped\\\\\\\",[120]],[[119858,119858],\\\\\\\"mapped\\\\\\\",[121]],[[119859,119859],\\\\\\\"mapped\\\\\\\",[122]],[[119860,119860],\\\\\\\"mapped\\\\\\\",[97]],[[119861,119861],\\\\\\\"mapped\\\\\\\",[98]],[[119862,119862],\\\\\\\"mapped\\\\\\\",[99]],[[119863,119863],\\\\\\\"mapped\\\\\\\",[100]],[[119864,119864],\\\\\\\"mapped\\\\\\\",[101]],[[119865,119865],\\\\\\\"mapped\\\\\\\",[102]],[[119866,119866],\\\\\\\"mapped\\\\\\\",[103]],[[119867,119867],\\\\\\\"mapped\\\\\\\",[104]],[[119868,119868],\\\\\\\"mapped\\\\\\\",[105]],[[119869,119869],\\\\\\\"mapped\\\\\\\",[106]],[[119870,119870],\\\\\\\"mapped\\\\\\\",[107]],[[119871,119871],\\\\\\\"mapped\\\\\\\",[108]],[[119872,119872],\\\\\\\"mapped\\\\\\\",[109]],[[119873,119873],\\\\\\\"mapped\\\\\\\",[110]],[[119874,119874],\\\\\\\"mapped\\\\\\\",[111]],[[119875,119875],\\\\\\\"mapped\\\\\\\",[112]],[[119876,119876],\\\\\\\"mapped\\\\\\\",[113]],[[119877,119877],\\\\\\\"mapped\\\\\\\",[114]],[[119878,119878],\\\\\\\"mapped\\\\\\\",[115]],[[119879,119879],\\\\\\\"mapped\\\\\\\",[116]],[[119880,119880],\\\\\\\"mapped\\\\\\\",[117]],[[119881,119881],\\\\\\\"mapped\\\\\\\",[118]],[[119882,119882],\\\\\\\"mapped\\\\\\\",[119]],[[119883,119883],\\\\\\\"mapped\\\\\\\",[120]],[[119884,119884],\\\\\\\"mapped\\\\\\\",[121]],[[119885,119885],\\\\\\\"mapped\\\\\\\",[122]],[[119886,119886],\\\\\\\"mapped\\\\\\\",[97]],[[119887,119887],\\\\\\\"mapped\\\\\\\",[98]],[[119888,119888],\\\\\\\"mapped\\\\\\\",[99]],[[119889,119889],\\\\\\\"mapped\\\\\\\",[100]],[[119890,119890],\\\\\\\"mapped\\\\\\\",[101]],[[119891,119891],\\\\\\\"mapped\\\\\\\",[102]],[[119892,119892],\\\\\\\"mapped\\\\\\\",[103]],[[119893,119893],\\\\\\\"disallowed\\\\\\\"],[[119894,119894],\\\\\\\"mapped\\\\\\\",[105]],[[119895,119895],\\\\\\\"mapped\\\\\\\",[106]],[[119896,119896],\\\\\\\"mapped\\\\\\\",[107]],[[119897,119897],\\\\\\\"mapped\\\\\\\",[108]],[[119898,119898],\\\\\\\"mapped\\\\\\\",[109]],[[119899,119899],\\\\\\\"mapped\\\\\\\",[110]],[[119900,119900],\\\\\\\"mapped\\\\\\\",[111]],[[119901,119901],\\\\\\\"mapped\\\\\\\",[112]],[[119902,119902],\\\\\\\"mapped\\\\\\\",[113]],[[119903,119903],\\\\\\\"mapped\\\\\\\",[114]],[[119904,119904],\\\\\\\"mapped\\\\\\\",[115]],[[119905,119905],\\\\\\\"mapped\\\\\\\",[116]],[[119906,119906],\\\\\\\"mapped\\\\\\\",[117]],[[119907,119907],\\\\\\\"mapped\\\\\\\",[118]],[[119908,119908],\\\\\\\"mapped\\\\\\\",[119]],[[119909,119909],\\\\\\\"mapped\\\\\\\",[120]],[[119910,119910],\\\\\\\"mapped\\\\\\\",[121]],[[119911,119911],\\\\\\\"mapped\\\\\\\",[122]],[[119912,119912],\\\\\\\"mapped\\\\\\\",[97]],[[119913,119913],\\\\\\\"mapped\\\\\\\",[98]],[[119914,119914],\\\\\\\"mapped\\\\\\\",[99]],[[119915,119915],\\\\\\\"mapped\\\\\\\",[100]],[[119916,119916],\\\\\\\"mapped\\\\\\\",[101]],[[119917,119917],\\\\\\\"mapped\\\\\\\",[102]],[[119918,119918],\\\\\\\"mapped\\\\\\\",[103]],[[119919,119919],\\\\\\\"mapped\\\\\\\",[104]],[[119920,119920],\\\\\\\"mapped\\\\\\\",[105]],[[119921,119921],\\\\\\\"mapped\\\\\\\",[106]],[[119922,119922],\\\\\\\"mapped\\\\\\\",[107]],[[119923,119923],\\\\\\\"mapped\\\\\\\",[108]],[[119924,119924],\\\\\\\"mapped\\\\\\\",[109]],[[119925,119925],\\\\\\\"mapped\\\\\\\",[110]],[[119926,119926],\\\\\\\"mapped\\\\\\\",[111]],[[119927,119927],\\\\\\\"mapped\\\\\\\",[112]],[[119928,119928],\\\\\\\"mapped\\\\\\\",[113]],[[119929,119929],\\\\\\\"mapped\\\\\\\",[114]],[[119930,119930],\\\\\\\"mapped\\\\\\\",[115]],[[119931,119931],\\\\\\\"mapped\\\\\\\",[116]],[[119932,119932],\\\\\\\"mapped\\\\\\\",[117]],[[119933,119933],\\\\\\\"mapped\\\\\\\",[118]],[[119934,119934],\\\\\\\"mapped\\\\\\\",[119]],[[119935,119935],\\\\\\\"mapped\\\\\\\",[120]],[[119936,119936],\\\\\\\"mapped\\\\\\\",[121]],[[119937,119937],\\\\\\\"mapped\\\\\\\",[122]],[[119938,119938],\\\\\\\"mapped\\\\\\\",[97]],[[119939,119939],\\\\\\\"mapped\\\\\\\",[98]],[[119940,119940],\\\\\\\"mapped\\\\\\\",[99]],[[119941,119941],\\\\\\\"mapped\\\\\\\",[100]],[[119942,119942],\\\\\\\"mapped\\\\\\\",[101]],[[119943,119943],\\\\\\\"mapped\\\\\\\",[102]],[[119944,119944],\\\\\\\"mapped\\\\\\\",[103]],[[119945,119945],\\\\\\\"mapped\\\\\\\",[104]],[[119946,119946],\\\\\\\"mapped\\\\\\\",[105]],[[119947,119947],\\\\\\\"mapped\\\\\\\",[106]],[[119948,119948],\\\\\\\"mapped\\\\\\\",[107]],[[119949,119949],\\\\\\\"mapped\\\\\\\",[108]],[[119950,119950],\\\\\\\"mapped\\\\\\\",[109]],[[119951,119951],\\\\\\\"mapped\\\\\\\",[110]],[[119952,119952],\\\\\\\"mapped\\\\\\\",[111]],[[119953,119953],\\\\\\\"mapped\\\\\\\",[112]],[[119954,119954],\\\\\\\"mapped\\\\\\\",[113]],[[119955,119955],\\\\\\\"mapped\\\\\\\",[114]],[[119956,119956],\\\\\\\"mapped\\\\\\\",[115]],[[119957,119957],\\\\\\\"mapped\\\\\\\",[116]],[[119958,119958],\\\\\\\"mapped\\\\\\\",[117]],[[119959,119959],\\\\\\\"mapped\\\\\\\",[118]],[[119960,119960],\\\\\\\"mapped\\\\\\\",[119]],[[119961,119961],\\\\\\\"mapped\\\\\\\",[120]],[[119962,119962],\\\\\\\"mapped\\\\\\\",[121]],[[119963,119963],\\\\\\\"mapped\\\\\\\",[122]],[[119964,119964],\\\\\\\"mapped\\\\\\\",[97]],[[119965,119965],\\\\\\\"disallowed\\\\\\\"],[[119966,119966],\\\\\\\"mapped\\\\\\\",[99]],[[119967,119967],\\\\\\\"mapped\\\\\\\",[100]],[[119968,119969],\\\\\\\"disallowed\\\\\\\"],[[119970,119970],\\\\\\\"mapped\\\\\\\",[103]],[[119971,119972],\\\\\\\"disallowed\\\\\\\"],[[119973,119973],\\\\\\\"mapped\\\\\\\",[106]],[[119974,119974],\\\\\\\"mapped\\\\\\\",[107]],[[119975,119976],\\\\\\\"disallowed\\\\\\\"],[[119977,119977],\\\\\\\"mapped\\\\\\\",[110]],[[119978,119978],\\\\\\\"mapped\\\\\\\",[111]],[[119979,119979],\\\\\\\"mapped\\\\\\\",[112]],[[119980,119980],\\\\\\\"mapped\\\\\\\",[113]],[[119981,119981],\\\\\\\"disallowed\\\\\\\"],[[119982,119982],\\\\\\\"mapped\\\\\\\",[115]],[[119983,119983],\\\\\\\"mapped\\\\\\\",[116]],[[119984,119984],\\\\\\\"mapped\\\\\\\",[117]],[[119985,119985],\\\\\\\"mapped\\\\\\\",[118]],[[119986,119986],\\\\\\\"mapped\\\\\\\",[119]],[[119987,119987],\\\\\\\"mapped\\\\\\\",[120]],[[119988,119988],\\\\\\\"mapped\\\\\\\",[121]],[[119989,119989],\\\\\\\"mapped\\\\\\\",[122]],[[119990,119990],\\\\\\\"mapped\\\\\\\",[97]],[[119991,119991],\\\\\\\"mapped\\\\\\\",[98]],[[119992,119992],\\\\\\\"mapped\\\\\\\",[99]],[[119993,119993],\\\\\\\"mapped\\\\\\\",[100]],[[119994,119994],\\\\\\\"disallowed\\\\\\\"],[[119995,119995],\\\\\\\"mapped\\\\\\\",[102]],[[119996,119996],\\\\\\\"disallowed\\\\\\\"],[[119997,119997],\\\\\\\"mapped\\\\\\\",[104]],[[119998,119998],\\\\\\\"mapped\\\\\\\",[105]],[[119999,119999],\\\\\\\"mapped\\\\\\\",[106]],[[120000,120000],\\\\\\\"mapped\\\\\\\",[107]],[[120001,120001],\\\\\\\"mapped\\\\\\\",[108]],[[120002,120002],\\\\\\\"mapped\\\\\\\",[109]],[[120003,120003],\\\\\\\"mapped\\\\\\\",[110]],[[120004,120004],\\\\\\\"disallowed\\\\\\\"],[[120005,120005],\\\\\\\"mapped\\\\\\\",[112]],[[120006,120006],\\\\\\\"mapped\\\\\\\",[113]],[[120007,120007],\\\\\\\"mapped\\\\\\\",[114]],[[120008,120008],\\\\\\\"mapped\\\\\\\",[115]],[[120009,120009],\\\\\\\"mapped\\\\\\\",[116]],[[120010,120010],\\\\\\\"mapped\\\\\\\",[117]],[[120011,120011],\\\\\\\"mapped\\\\\\\",[118]],[[120012,120012],\\\\\\\"mapped\\\\\\\",[119]],[[120013,120013],\\\\\\\"mapped\\\\\\\",[120]],[[120014,120014],\\\\\\\"mapped\\\\\\\",[121]],[[120015,120015],\\\\\\\"mapped\\\\\\\",[122]],[[120016,120016],\\\\\\\"mapped\\\\\\\",[97]],[[120017,120017],\\\\\\\"mapped\\\\\\\",[98]],[[120018,120018],\\\\\\\"mapped\\\\\\\",[99]],[[120019,120019],\\\\\\\"mapped\\\\\\\",[100]],[[120020,120020],\\\\\\\"mapped\\\\\\\",[101]],[[120021,120021],\\\\\\\"mapped\\\\\\\",[102]],[[120022,120022],\\\\\\\"mapped\\\\\\\",[103]],[[120023,120023],\\\\\\\"mapped\\\\\\\",[104]],[[120024,120024],\\\\\\\"mapped\\\\\\\",[105]],[[120025,120025],\\\\\\\"mapped\\\\\\\",[106]],[[120026,120026],\\\\\\\"mapped\\\\\\\",[107]],[[120027,120027],\\\\\\\"mapped\\\\\\\",[108]],[[120028,120028],\\\\\\\"mapped\\\\\\\",[109]],[[120029,120029],\\\\\\\"mapped\\\\\\\",[110]],[[120030,120030],\\\\\\\"mapped\\\\\\\",[111]],[[120031,120031],\\\\\\\"mapped\\\\\\\",[112]],[[120032,120032],\\\\\\\"mapped\\\\\\\",[113]],[[120033,120033],\\\\\\\"mapped\\\\\\\",[114]],[[120034,120034],\\\\\\\"mapped\\\\\\\",[115]],[[120035,120035],\\\\\\\"mapped\\\\\\\",[116]],[[120036,120036],\\\\\\\"mapped\\\\\\\",[117]],[[120037,120037],\\\\\\\"mapped\\\\\\\",[118]],[[120038,120038],\\\\\\\"mapped\\\\\\\",[119]],[[120039,120039],\\\\\\\"mapped\\\\\\\",[120]],[[120040,120040],\\\\\\\"mapped\\\\\\\",[121]],[[120041,120041],\\\\\\\"mapped\\\\\\\",[122]],[[120042,120042],\\\\\\\"mapped\\\\\\\",[97]],[[120043,120043],\\\\\\\"mapped\\\\\\\",[98]],[[120044,120044],\\\\\\\"mapped\\\\\\\",[99]],[[120045,120045],\\\\\\\"mapped\\\\\\\",[100]],[[120046,120046],\\\\\\\"mapped\\\\\\\",[101]],[[120047,120047],\\\\\\\"mapped\\\\\\\",[102]],[[120048,120048],\\\\\\\"mapped\\\\\\\",[103]],[[120049,120049],\\\\\\\"mapped\\\\\\\",[104]],[[120050,120050],\\\\\\\"mapped\\\\\\\",[105]],[[120051,120051],\\\\\\\"mapped\\\\\\\",[106]],[[120052,120052],\\\\\\\"mapped\\\\\\\",[107]],[[120053,120053],\\\\\\\"mapped\\\\\\\",[108]],[[120054,120054],\\\\\\\"mapped\\\\\\\",[109]],[[120055,120055],\\\\\\\"mapped\\\\\\\",[110]],[[120056,120056],\\\\\\\"mapped\\\\\\\",[111]],[[120057,120057],\\\\\\\"mapped\\\\\\\",[112]],[[120058,120058],\\\\\\\"mapped\\\\\\\",[113]],[[120059,120059],\\\\\\\"mapped\\\\\\\",[114]],[[120060,120060],\\\\\\\"mapped\\\\\\\",[115]],[[120061,120061],\\\\\\\"mapped\\\\\\\",[116]],[[120062,120062],\\\\\\\"mapped\\\\\\\",[117]],[[120063,120063],\\\\\\\"mapped\\\\\\\",[118]],[[120064,120064],\\\\\\\"mapped\\\\\\\",[119]],[[120065,120065],\\\\\\\"mapped\\\\\\\",[120]],[[120066,120066],\\\\\\\"mapped\\\\\\\",[121]],[[120067,120067],\\\\\\\"mapped\\\\\\\",[122]],[[120068,120068],\\\\\\\"mapped\\\\\\\",[97]],[[120069,120069],\\\\\\\"mapped\\\\\\\",[98]],[[120070,120070],\\\\\\\"disallowed\\\\\\\"],[[120071,120071],\\\\\\\"mapped\\\\\\\",[100]],[[120072,120072],\\\\\\\"mapped\\\\\\\",[101]],[[120073,120073],\\\\\\\"mapped\\\\\\\",[102]],[[120074,120074],\\\\\\\"mapped\\\\\\\",[103]],[[120075,120076],\\\\\\\"disallowed\\\\\\\"],[[120077,120077],\\\\\\\"mapped\\\\\\\",[106]],[[120078,120078],\\\\\\\"mapped\\\\\\\",[107]],[[120079,120079],\\\\\\\"mapped\\\\\\\",[108]],[[120080,120080],\\\\\\\"mapped\\\\\\\",[109]],[[120081,120081],\\\\\\\"mapped\\\\\\\",[110]],[[120082,120082],\\\\\\\"mapped\\\\\\\",[111]],[[120083,120083],\\\\\\\"mapped\\\\\\\",[112]],[[120084,120084],\\\\\\\"mapped\\\\\\\",[113]],[[120085,120085],\\\\\\\"disallowed\\\\\\\"],[[120086,120086],\\\\\\\"mapped\\\\\\\",[115]],[[120087,120087],\\\\\\\"mapped\\\\\\\",[116]],[[120088,120088],\\\\\\\"mapped\\\\\\\",[117]],[[120089,120089],\\\\\\\"mapped\\\\\\\",[118]],[[120090,120090],\\\\\\\"mapped\\\\\\\",[119]],[[120091,120091],\\\\\\\"mapped\\\\\\\",[120]],[[120092,120092],\\\\\\\"mapped\\\\\\\",[121]],[[120093,120093],\\\\\\\"disallowed\\\\\\\"],[[120094,120094],\\\\\\\"mapped\\\\\\\",[97]],[[120095,120095],\\\\\\\"mapped\\\\\\\",[98]],[[120096,120096],\\\\\\\"mapped\\\\\\\",[99]],[[120097,120097],\\\\\\\"mapped\\\\\\\",[100]],[[120098,120098],\\\\\\\"mapped\\\\\\\",[101]],[[120099,120099],\\\\\\\"mapped\\\\\\\",[102]],[[120100,120100],\\\\\\\"mapped\\\\\\\",[103]],[[120101,120101],\\\\\\\"mapped\\\\\\\",[104]],[[120102,120102],\\\\\\\"mapped\\\\\\\",[105]],[[120103,120103],\\\\\\\"mapped\\\\\\\",[106]],[[120104,120104],\\\\\\\"mapped\\\\\\\",[107]],[[120105,120105],\\\\\\\"mapped\\\\\\\",[108]],[[120106,120106],\\\\\\\"mapped\\\\\\\",[109]],[[120107,120107],\\\\\\\"mapped\\\\\\\",[110]],[[120108,120108],\\\\\\\"mapped\\\\\\\",[111]],[[120109,120109],\\\\\\\"mapped\\\\\\\",[112]],[[120110,120110],\\\\\\\"mapped\\\\\\\",[113]],[[120111,120111],\\\\\\\"mapped\\\\\\\",[114]],[[120112,120112],\\\\\\\"mapped\\\\\\\",[115]],[[120113,120113],\\\\\\\"mapped\\\\\\\",[116]],[[120114,120114],\\\\\\\"mapped\\\\\\\",[117]],[[120115,120115],\\\\\\\"mapped\\\\\\\",[118]],[[120116,120116],\\\\\\\"mapped\\\\\\\",[119]],[[120117,120117],\\\\\\\"mapped\\\\\\\",[120]],[[120118,120118],\\\\\\\"mapped\\\\\\\",[121]],[[120119,120119],\\\\\\\"mapped\\\\\\\",[122]],[[120120,120120],\\\\\\\"mapped\\\\\\\",[97]],[[120121,120121],\\\\\\\"mapped\\\\\\\",[98]],[[120122,120122],\\\\\\\"disallowed\\\\\\\"],[[120123,120123],\\\\\\\"mapped\\\\\\\",[100]],[[120124,120124],\\\\\\\"mapped\\\\\\\",[101]],[[120125,120125],\\\\\\\"mapped\\\\\\\",[102]],[[120126,120126],\\\\\\\"mapped\\\\\\\",[103]],[[120127,120127],\\\\\\\"disallowed\\\\\\\"],[[120128,120128],\\\\\\\"mapped\\\\\\\",[105]],[[120129,120129],\\\\\\\"mapped\\\\\\\",[106]],[[120130,120130],\\\\\\\"mapped\\\\\\\",[107]],[[120131,120131],\\\\\\\"mapped\\\\\\\",[108]],[[120132,120132],\\\\\\\"mapped\\\\\\\",[109]],[[120133,120133],\\\\\\\"disallowed\\\\\\\"],[[120134,120134],\\\\\\\"mapped\\\\\\\",[111]],[[120135,120137],\\\\\\\"disallowed\\\\\\\"],[[120138,120138],\\\\\\\"mapped\\\\\\\",[115]],[[120139,120139],\\\\\\\"mapped\\\\\\\",[116]],[[120140,120140],\\\\\\\"mapped\\\\\\\",[117]],[[120141,120141],\\\\\\\"mapped\\\\\\\",[118]],[[120142,120142],\\\\\\\"mapped\\\\\\\",[119]],[[120143,120143],\\\\\\\"mapped\\\\\\\",[120]],[[120144,120144],\\\\\\\"mapped\\\\\\\",[121]],[[120145,120145],\\\\\\\"disallowed\\\\\\\"],[[120146,120146],\\\\\\\"mapped\\\\\\\",[97]],[[120147,120147],\\\\\\\"mapped\\\\\\\",[98]],[[120148,120148],\\\\\\\"mapped\\\\\\\",[99]],[[120149,120149],\\\\\\\"mapped\\\\\\\",[100]],[[120150,120150],\\\\\\\"mapped\\\\\\\",[101]],[[120151,120151],\\\\\\\"mapped\\\\\\\",[102]],[[120152,120152],\\\\\\\"mapped\\\\\\\",[103]],[[120153,120153],\\\\\\\"mapped\\\\\\\",[104]],[[120154,120154],\\\\\\\"mapped\\\\\\\",[105]],[[120155,120155],\\\\\\\"mapped\\\\\\\",[106]],[[120156,120156],\\\\\\\"mapped\\\\\\\",[107]],[[120157,120157],\\\\\\\"mapped\\\\\\\",[108]],[[120158,120158],\\\\\\\"mapped\\\\\\\",[109]],[[120159,120159],\\\\\\\"mapped\\\\\\\",[110]],[[120160,120160],\\\\\\\"mapped\\\\\\\",[111]],[[120161,120161],\\\\\\\"mapped\\\\\\\",[112]],[[120162,120162],\\\\\\\"mapped\\\\\\\",[113]],[[120163,120163],\\\\\\\"mapped\\\\\\\",[114]],[[120164,120164],\\\\\\\"mapped\\\\\\\",[115]],[[120165,120165],\\\\\\\"mapped\\\\\\\",[116]],[[120166,120166],\\\\\\\"mapped\\\\\\\",[117]],[[120167,120167],\\\\\\\"mapped\\\\\\\",[118]],[[120168,120168],\\\\\\\"mapped\\\\\\\",[119]],[[120169,120169],\\\\\\\"mapped\\\\\\\",[120]],[[120170,120170],\\\\\\\"mapped\\\\\\\",[121]],[[120171,120171],\\\\\\\"mapped\\\\\\\",[122]],[[120172,120172],\\\\\\\"mapped\\\\\\\",[97]],[[120173,120173],\\\\\\\"mapped\\\\\\\",[98]],[[120174,120174],\\\\\\\"mapped\\\\\\\",[99]],[[120175,120175],\\\\\\\"mapped\\\\\\\",[100]],[[120176,120176],\\\\\\\"mapped\\\\\\\",[101]],[[120177,120177],\\\\\\\"mapped\\\\\\\",[102]],[[120178,120178],\\\\\\\"mapped\\\\\\\",[103]],[[120179,120179],\\\\\\\"mapped\\\\\\\",[104]],[[120180,120180],\\\\\\\"mapped\\\\\\\",[105]],[[120181,120181],\\\\\\\"mapped\\\\\\\",[106]],[[120182,120182],\\\\\\\"mapped\\\\\\\",[107]],[[120183,120183],\\\\\\\"mapped\\\\\\\",[108]],[[120184,120184],\\\\\\\"mapped\\\\\\\",[109]],[[120185,120185],\\\\\\\"mapped\\\\\\\",[110]],[[120186,120186],\\\\\\\"mapped\\\\\\\",[111]],[[120187,120187],\\\\\\\"mapped\\\\\\\",[112]],[[120188,120188],\\\\\\\"mapped\\\\\\\",[113]],[[120189,120189],\\\\\\\"mapped\\\\\\\",[114]],[[120190,120190],\\\\\\\"mapped\\\\\\\",[115]],[[120191,120191],\\\\\\\"mapped\\\\\\\",[116]],[[120192,120192],\\\\\\\"mapped\\\\\\\",[117]],[[120193,120193],\\\\\\\"mapped\\\\\\\",[118]],[[120194,120194],\\\\\\\"mapped\\\\\\\",[119]],[[120195,120195],\\\\\\\"mapped\\\\\\\",[120]],[[120196,120196],\\\\\\\"mapped\\\\\\\",[121]],[[120197,120197],\\\\\\\"mapped\\\\\\\",[122]],[[120198,120198],\\\\\\\"mapped\\\\\\\",[97]],[[120199,120199],\\\\\\\"mapped\\\\\\\",[98]],[[120200,120200],\\\\\\\"mapped\\\\\\\",[99]],[[120201,120201],\\\\\\\"mapped\\\\\\\",[100]],[[120202,120202],\\\\\\\"mapped\\\\\\\",[101]],[[120203,120203],\\\\\\\"mapped\\\\\\\",[102]],[[120204,120204],\\\\\\\"mapped\\\\\\\",[103]],[[120205,120205],\\\\\\\"mapped\\\\\\\",[104]],[[120206,120206],\\\\\\\"mapped\\\\\\\",[105]],[[120207,120207],\\\\\\\"mapped\\\\\\\",[106]],[[120208,120208],\\\\\\\"mapped\\\\\\\",[107]],[[120209,120209],\\\\\\\"mapped\\\\\\\",[108]],[[120210,120210],\\\\\\\"mapped\\\\\\\",[109]],[[120211,120211],\\\\\\\"mapped\\\\\\\",[110]],[[120212,120212],\\\\\\\"mapped\\\\\\\",[111]],[[120213,120213],\\\\\\\"mapped\\\\\\\",[112]],[[120214,120214],\\\\\\\"mapped\\\\\\\",[113]],[[120215,120215],\\\\\\\"mapped\\\\\\\",[114]],[[120216,120216],\\\\\\\"mapped\\\\\\\",[115]],[[120217,120217],\\\\\\\"mapped\\\\\\\",[116]],[[120218,120218],\\\\\\\"mapped\\\\\\\",[117]],[[120219,120219],\\\\\\\"mapped\\\\\\\",[118]],[[120220,120220],\\\\\\\"mapped\\\\\\\",[119]],[[120221,120221],\\\\\\\"mapped\\\\\\\",[120]],[[120222,120222],\\\\\\\"mapped\\\\\\\",[121]],[[120223,120223],\\\\\\\"mapped\\\\\\\",[122]],[[120224,120224],\\\\\\\"mapped\\\\\\\",[97]],[[120225,120225],\\\\\\\"mapped\\\\\\\",[98]],[[120226,120226],\\\\\\\"mapped\\\\\\\",[99]],[[120227,120227],\\\\\\\"mapped\\\\\\\",[100]],[[120228,120228],\\\\\\\"mapped\\\\\\\",[101]],[[120229,120229],\\\\\\\"mapped\\\\\\\",[102]],[[120230,120230],\\\\\\\"mapped\\\\\\\",[103]],[[120231,120231],\\\\\\\"mapped\\\\\\\",[104]],[[120232,120232],\\\\\\\"mapped\\\\\\\",[105]],[[120233,120233],\\\\\\\"mapped\\\\\\\",[106]],[[120234,120234],\\\\\\\"mapped\\\\\\\",[107]],[[120235,120235],\\\\\\\"mapped\\\\\\\",[108]],[[120236,120236],\\\\\\\"mapped\\\\\\\",[109]],[[120237,120237],\\\\\\\"mapped\\\\\\\",[110]],[[120238,120238],\\\\\\\"mapped\\\\\\\",[111]],[[120239,120239],\\\\\\\"mapped\\\\\\\",[112]],[[120240,120240],\\\\\\\"mapped\\\\\\\",[113]],[[120241,120241],\\\\\\\"mapped\\\\\\\",[114]],[[120242,120242],\\\\\\\"mapped\\\\\\\",[115]],[[120243,120243],\\\\\\\"mapped\\\\\\\",[116]],[[120244,120244],\\\\\\\"mapped\\\\\\\",[117]],[[120245,120245],\\\\\\\"mapped\\\\\\\",[118]],[[120246,120246],\\\\\\\"mapped\\\\\\\",[119]],[[120247,120247],\\\\\\\"mapped\\\\\\\",[120]],[[120248,120248],\\\\\\\"mapped\\\\\\\",[121]],[[120249,120249],\\\\\\\"mapped\\\\\\\",[122]],[[120250,120250],\\\\\\\"mapped\\\\\\\",[97]],[[120251,120251],\\\\\\\"mapped\\\\\\\",[98]],[[120252,120252],\\\\\\\"mapped\\\\\\\",[99]],[[120253,120253],\\\\\\\"mapped\\\\\\\",[100]],[[120254,120254],\\\\\\\"mapped\\\\\\\",[101]],[[120255,120255],\\\\\\\"mapped\\\\\\\",[102]],[[120256,120256],\\\\\\\"mapped\\\\\\\",[103]],[[120257,120257],\\\\\\\"mapped\\\\\\\",[104]],[[120258,120258],\\\\\\\"mapped\\\\\\\",[105]],[[120259,120259],\\\\\\\"mapped\\\\\\\",[106]],[[120260,120260],\\\\\\\"mapped\\\\\\\",[107]],[[120261,120261],\\\\\\\"mapped\\\\\\\",[108]],[[120262,120262],\\\\\\\"mapped\\\\\\\",[109]],[[120263,120263],\\\\\\\"mapped\\\\\\\",[110]],[[120264,120264],\\\\\\\"mapped\\\\\\\",[111]],[[120265,120265],\\\\\\\"mapped\\\\\\\",[112]],[[120266,120266],\\\\\\\"mapped\\\\\\\",[113]],[[120267,120267],\\\\\\\"mapped\\\\\\\",[114]],[[120268,120268],\\\\\\\"mapped\\\\\\\",[115]],[[120269,120269],\\\\\\\"mapped\\\\\\\",[116]],[[120270,120270],\\\\\\\"mapped\\\\\\\",[117]],[[120271,120271],\\\\\\\"mapped\\\\\\\",[118]],[[120272,120272],\\\\\\\"mapped\\\\\\\",[119]],[[120273,120273],\\\\\\\"mapped\\\\\\\",[120]],[[120274,120274],\\\\\\\"mapped\\\\\\\",[121]],[[120275,120275],\\\\\\\"mapped\\\\\\\",[122]],[[120276,120276],\\\\\\\"mapped\\\\\\\",[97]],[[120277,120277],\\\\\\\"mapped\\\\\\\",[98]],[[120278,120278],\\\\\\\"mapped\\\\\\\",[99]],[[120279,120279],\\\\\\\"mapped\\\\\\\",[100]],[[120280,120280],\\\\\\\"mapped\\\\\\\",[101]],[[120281,120281],\\\\\\\"mapped\\\\\\\",[102]],[[120282,120282],\\\\\\\"mapped\\\\\\\",[103]],[[120283,120283],\\\\\\\"mapped\\\\\\\",[104]],[[120284,120284],\\\\\\\"mapped\\\\\\\",[105]],[[120285,120285],\\\\\\\"mapped\\\\\\\",[106]],[[120286,120286],\\\\\\\"mapped\\\\\\\",[107]],[[120287,120287],\\\\\\\"mapped\\\\\\\",[108]],[[120288,120288],\\\\\\\"mapped\\\\\\\",[109]],[[120289,120289],\\\\\\\"mapped\\\\\\\",[110]],[[120290,120290],\\\\\\\"mapped\\\\\\\",[111]],[[120291,120291],\\\\\\\"mapped\\\\\\\",[112]],[[120292,120292],\\\\\\\"mapped\\\\\\\",[113]],[[120293,120293],\\\\\\\"mapped\\\\\\\",[114]],[[120294,120294],\\\\\\\"mapped\\\\\\\",[115]],[[120295,120295],\\\\\\\"mapped\\\\\\\",[116]],[[120296,120296],\\\\\\\"mapped\\\\\\\",[117]],[[120297,120297],\\\\\\\"mapped\\\\\\\",[118]],[[120298,120298],\\\\\\\"mapped\\\\\\\",[119]],[[120299,120299],\\\\\\\"mapped\\\\\\\",[120]],[[120300,120300],\\\\\\\"mapped\\\\\\\",[121]],[[120301,120301],\\\\\\\"mapped\\\\\\\",[122]],[[120302,120302],\\\\\\\"mapped\\\\\\\",[97]],[[120303,120303],\\\\\\\"mapped\\\\\\\",[98]],[[120304,120304],\\\\\\\"mapped\\\\\\\",[99]],[[120305,120305],\\\\\\\"mapped\\\\\\\",[100]],[[120306,120306],\\\\\\\"mapped\\\\\\\",[101]],[[120307,120307],\\\\\\\"mapped\\\\\\\",[102]],[[120308,120308],\\\\\\\"mapped\\\\\\\",[103]],[[120309,120309],\\\\\\\"mapped\\\\\\\",[104]],[[120310,120310],\\\\\\\"mapped\\\\\\\",[105]],[[120311,120311],\\\\\\\"mapped\\\\\\\",[106]],[[120312,120312],\\\\\\\"mapped\\\\\\\",[107]],[[120313,120313],\\\\\\\"mapped\\\\\\\",[108]],[[120314,120314],\\\\\\\"mapped\\\\\\\",[109]],[[120315,120315],\\\\\\\"mapped\\\\\\\",[110]],[[120316,120316],\\\\\\\"mapped\\\\\\\",[111]],[[120317,120317],\\\\\\\"mapped\\\\\\\",[112]],[[120318,120318],\\\\\\\"mapped\\\\\\\",[113]],[[120319,120319],\\\\\\\"mapped\\\\\\\",[114]],[[120320,120320],\\\\\\\"mapped\\\\\\\",[115]],[[120321,120321],\\\\\\\"mapped\\\\\\\",[116]],[[120322,120322],\\\\\\\"mapped\\\\\\\",[117]],[[120323,120323],\\\\\\\"mapped\\\\\\\",[118]],[[120324,120324],\\\\\\\"mapped\\\\\\\",[119]],[[120325,120325],\\\\\\\"mapped\\\\\\\",[120]],[[120326,120326],\\\\\\\"mapped\\\\\\\",[121]],[[120327,120327],\\\\\\\"mapped\\\\\\\",[122]],[[120328,120328],\\\\\\\"mapped\\\\\\\",[97]],[[120329,120329],\\\\\\\"mapped\\\\\\\",[98]],[[120330,120330],\\\\\\\"mapped\\\\\\\",[99]],[[120331,120331],\\\\\\\"mapped\\\\\\\",[100]],[[120332,120332],\\\\\\\"mapped\\\\\\\",[101]],[[120333,120333],\\\\\\\"mapped\\\\\\\",[102]],[[120334,120334],\\\\\\\"mapped\\\\\\\",[103]],[[120335,120335],\\\\\\\"mapped\\\\\\\",[104]],[[120336,120336],\\\\\\\"mapped\\\\\\\",[105]],[[120337,120337],\\\\\\\"mapped\\\\\\\",[106]],[[120338,120338],\\\\\\\"mapped\\\\\\\",[107]],[[120339,120339],\\\\\\\"mapped\\\\\\\",[108]],[[120340,120340],\\\\\\\"mapped\\\\\\\",[109]],[[120341,120341],\\\\\\\"mapped\\\\\\\",[110]],[[120342,120342],\\\\\\\"mapped\\\\\\\",[111]],[[120343,120343],\\\\\\\"mapped\\\\\\\",[112]],[[120344,120344],\\\\\\\"mapped\\\\\\\",[113]],[[120345,120345],\\\\\\\"mapped\\\\\\\",[114]],[[120346,120346],\\\\\\\"mapped\\\\\\\",[115]],[[120347,120347],\\\\\\\"mapped\\\\\\\",[116]],[[120348,120348],\\\\\\\"mapped\\\\\\\",[117]],[[120349,120349],\\\\\\\"mapped\\\\\\\",[118]],[[120350,120350],\\\\\\\"mapped\\\\\\\",[119]],[[120351,120351],\\\\\\\"mapped\\\\\\\",[120]],[[120352,120352],\\\\\\\"mapped\\\\\\\",[121]],[[120353,120353],\\\\\\\"mapped\\\\\\\",[122]],[[120354,120354],\\\\\\\"mapped\\\\\\\",[97]],[[120355,120355],\\\\\\\"mapped\\\\\\\",[98]],[[120356,120356],\\\\\\\"mapped\\\\\\\",[99]],[[120357,120357],\\\\\\\"mapped\\\\\\\",[100]],[[120358,120358],\\\\\\\"mapped\\\\\\\",[101]],[[120359,120359],\\\\\\\"mapped\\\\\\\",[102]],[[120360,120360],\\\\\\\"mapped\\\\\\\",[103]],[[120361,120361],\\\\\\\"mapped\\\\\\\",[104]],[[120362,120362],\\\\\\\"mapped\\\\\\\",[105]],[[120363,120363],\\\\\\\"mapped\\\\\\\",[106]],[[120364,120364],\\\\\\\"mapped\\\\\\\",[107]],[[120365,120365],\\\\\\\"mapped\\\\\\\",[108]],[[120366,120366],\\\\\\\"mapped\\\\\\\",[109]],[[120367,120367],\\\\\\\"mapped\\\\\\\",[110]],[[120368,120368],\\\\\\\"mapped\\\\\\\",[111]],[[120369,120369],\\\\\\\"mapped\\\\\\\",[112]],[[120370,120370],\\\\\\\"mapped\\\\\\\",[113]],[[120371,120371],\\\\\\\"mapped\\\\\\\",[114]],[[120372,120372],\\\\\\\"mapped\\\\\\\",[115]],[[120373,120373],\\\\\\\"mapped\\\\\\\",[116]],[[120374,120374],\\\\\\\"mapped\\\\\\\",[117]],[[120375,120375],\\\\\\\"mapped\\\\\\\",[118]],[[120376,120376],\\\\\\\"mapped\\\\\\\",[119]],[[120377,120377],\\\\\\\"mapped\\\\\\\",[120]],[[120378,120378],\\\\\\\"mapped\\\\\\\",[121]],[[120379,120379],\\\\\\\"mapped\\\\\\\",[122]],[[120380,120380],\\\\\\\"mapped\\\\\\\",[97]],[[120381,120381],\\\\\\\"mapped\\\\\\\",[98]],[[120382,120382],\\\\\\\"mapped\\\\\\\",[99]],[[120383,120383],\\\\\\\"mapped\\\\\\\",[100]],[[120384,120384],\\\\\\\"mapped\\\\\\\",[101]],[[120385,120385],\\\\\\\"mapped\\\\\\\",[102]],[[120386,120386],\\\\\\\"mapped\\\\\\\",[103]],[[120387,120387],\\\\\\\"mapped\\\\\\\",[104]],[[120388,120388],\\\\\\\"mapped\\\\\\\",[105]],[[120389,120389],\\\\\\\"mapped\\\\\\\",[106]],[[120390,120390],\\\\\\\"mapped\\\\\\\",[107]],[[120391,120391],\\\\\\\"mapped\\\\\\\",[108]],[[120392,120392],\\\\\\\"mapped\\\\\\\",[109]],[[120393,120393],\\\\\\\"mapped\\\\\\\",[110]],[[120394,120394],\\\\\\\"mapped\\\\\\\",[111]],[[120395,120395],\\\\\\\"mapped\\\\\\\",[112]],[[120396,120396],\\\\\\\"mapped\\\\\\\",[113]],[[120397,120397],\\\\\\\"mapped\\\\\\\",[114]],[[120398,120398],\\\\\\\"mapped\\\\\\\",[115]],[[120399,120399],\\\\\\\"mapped\\\\\\\",[116]],[[120400,120400],\\\\\\\"mapped\\\\\\\",[117]],[[120401,120401],\\\\\\\"mapped\\\\\\\",[118]],[[120402,120402],\\\\\\\"mapped\\\\\\\",[119]],[[120403,120403],\\\\\\\"mapped\\\\\\\",[120]],[[120404,120404],\\\\\\\"mapped\\\\\\\",[121]],[[120405,120405],\\\\\\\"mapped\\\\\\\",[122]],[[120406,120406],\\\\\\\"mapped\\\\\\\",[97]],[[120407,120407],\\\\\\\"mapped\\\\\\\",[98]],[[120408,120408],\\\\\\\"mapped\\\\\\\",[99]],[[120409,120409],\\\\\\\"mapped\\\\\\\",[100]],[[120410,120410],\\\\\\\"mapped\\\\\\\",[101]],[[120411,120411],\\\\\\\"mapped\\\\\\\",[102]],[[120412,120412],\\\\\\\"mapped\\\\\\\",[103]],[[120413,120413],\\\\\\\"mapped\\\\\\\",[104]],[[120414,120414],\\\\\\\"mapped\\\\\\\",[105]],[[120415,120415],\\\\\\\"mapped\\\\\\\",[106]],[[120416,120416],\\\\\\\"mapped\\\\\\\",[107]],[[120417,120417],\\\\\\\"mapped\\\\\\\",[108]],[[120418,120418],\\\\\\\"mapped\\\\\\\",[109]],[[120419,120419],\\\\\\\"mapped\\\\\\\",[110]],[[120420,120420],\\\\\\\"mapped\\\\\\\",[111]],[[120421,120421],\\\\\\\"mapped\\\\\\\",[112]],[[120422,120422],\\\\\\\"mapped\\\\\\\",[113]],[[120423,120423],\\\\\\\"mapped\\\\\\\",[114]],[[120424,120424],\\\\\\\"mapped\\\\\\\",[115]],[[120425,120425],\\\\\\\"mapped\\\\\\\",[116]],[[120426,120426],\\\\\\\"mapped\\\\\\\",[117]],[[120427,120427],\\\\\\\"mapped\\\\\\\",[118]],[[120428,120428],\\\\\\\"mapped\\\\\\\",[119]],[[120429,120429],\\\\\\\"mapped\\\\\\\",[120]],[[120430,120430],\\\\\\\"mapped\\\\\\\",[121]],[[120431,120431],\\\\\\\"mapped\\\\\\\",[122]],[[120432,120432],\\\\\\\"mapped\\\\\\\",[97]],[[120433,120433],\\\\\\\"mapped\\\\\\\",[98]],[[120434,120434],\\\\\\\"mapped\\\\\\\",[99]],[[120435,120435],\\\\\\\"mapped\\\\\\\",[100]],[[120436,120436],\\\\\\\"mapped\\\\\\\",[101]],[[120437,120437],\\\\\\\"mapped\\\\\\\",[102]],[[120438,120438],\\\\\\\"mapped\\\\\\\",[103]],[[120439,120439],\\\\\\\"mapped\\\\\\\",[104]],[[120440,120440],\\\\\\\"mapped\\\\\\\",[105]],[[120441,120441],\\\\\\\"mapped\\\\\\\",[106]],[[120442,120442],\\\\\\\"mapped\\\\\\\",[107]],[[120443,120443],\\\\\\\"mapped\\\\\\\",[108]],[[120444,120444],\\\\\\\"mapped\\\\\\\",[109]],[[120445,120445],\\\\\\\"mapped\\\\\\\",[110]],[[120446,120446],\\\\\\\"mapped\\\\\\\",[111]],[[120447,120447],\\\\\\\"mapped\\\\\\\",[112]],[[120448,120448],\\\\\\\"mapped\\\\\\\",[113]],[[120449,120449],\\\\\\\"mapped\\\\\\\",[114]],[[120450,120450],\\\\\\\"mapped\\\\\\\",[115]],[[120451,120451],\\\\\\\"mapped\\\\\\\",[116]],[[120452,120452],\\\\\\\"mapped\\\\\\\",[117]],[[120453,120453],\\\\\\\"mapped\\\\\\\",[118]],[[120454,120454],\\\\\\\"mapped\\\\\\\",[119]],[[120455,120455],\\\\\\\"mapped\\\\\\\",[120]],[[120456,120456],\\\\\\\"mapped\\\\\\\",[121]],[[120457,120457],\\\\\\\"mapped\\\\\\\",[122]],[[120458,120458],\\\\\\\"mapped\\\\\\\",[97]],[[120459,120459],\\\\\\\"mapped\\\\\\\",[98]],[[120460,120460],\\\\\\\"mapped\\\\\\\",[99]],[[120461,120461],\\\\\\\"mapped\\\\\\\",[100]],[[120462,120462],\\\\\\\"mapped\\\\\\\",[101]],[[120463,120463],\\\\\\\"mapped\\\\\\\",[102]],[[120464,120464],\\\\\\\"mapped\\\\\\\",[103]],[[120465,120465],\\\\\\\"mapped\\\\\\\",[104]],[[120466,120466],\\\\\\\"mapped\\\\\\\",[105]],[[120467,120467],\\\\\\\"mapped\\\\\\\",[106]],[[120468,120468],\\\\\\\"mapped\\\\\\\",[107]],[[120469,120469],\\\\\\\"mapped\\\\\\\",[108]],[[120470,120470],\\\\\\\"mapped\\\\\\\",[109]],[[120471,120471],\\\\\\\"mapped\\\\\\\",[110]],[[120472,120472],\\\\\\\"mapped\\\\\\\",[111]],[[120473,120473],\\\\\\\"mapped\\\\\\\",[112]],[[120474,120474],\\\\\\\"mapped\\\\\\\",[113]],[[120475,120475],\\\\\\\"mapped\\\\\\\",[114]],[[120476,120476],\\\\\\\"mapped\\\\\\\",[115]],[[120477,120477],\\\\\\\"mapped\\\\\\\",[116]],[[120478,120478],\\\\\\\"mapped\\\\\\\",[117]],[[120479,120479],\\\\\\\"mapped\\\\\\\",[118]],[[120480,120480],\\\\\\\"mapped\\\\\\\",[119]],[[120481,120481],\\\\\\\"mapped\\\\\\\",[120]],[[120482,120482],\\\\\\\"mapped\\\\\\\",[121]],[[120483,120483],\\\\\\\"mapped\\\\\\\",[122]],[[120484,120484],\\\\\\\"mapped\\\\\\\",[305]],[[120485,120485],\\\\\\\"mapped\\\\\\\",[567]],[[120486,120487],\\\\\\\"disallowed\\\\\\\"],[[120488,120488],\\\\\\\"mapped\\\\\\\",[945]],[[120489,120489],\\\\\\\"mapped\\\\\\\",[946]],[[120490,120490],\\\\\\\"mapped\\\\\\\",[947]],[[120491,120491],\\\\\\\"mapped\\\\\\\",[948]],[[120492,120492],\\\\\\\"mapped\\\\\\\",[949]],[[120493,120493],\\\\\\\"mapped\\\\\\\",[950]],[[120494,120494],\\\\\\\"mapped\\\\\\\",[951]],[[120495,120495],\\\\\\\"mapped\\\\\\\",[952]],[[120496,120496],\\\\\\\"mapped\\\\\\\",[953]],[[120497,120497],\\\\\\\"mapped\\\\\\\",[954]],[[120498,120498],\\\\\\\"mapped\\\\\\\",[955]],[[120499,120499],\\\\\\\"mapped\\\\\\\",[956]],[[120500,120500],\\\\\\\"mapped\\\\\\\",[957]],[[120501,120501],\\\\\\\"mapped\\\\\\\",[958]],[[120502,120502],\\\\\\\"mapped\\\\\\\",[959]],[[120503,120503],\\\\\\\"mapped\\\\\\\",[960]],[[120504,120504],\\\\\\\"mapped\\\\\\\",[961]],[[120505,120505],\\\\\\\"mapped\\\\\\\",[952]],[[120506,120506],\\\\\\\"mapped\\\\\\\",[963]],[[120507,120507],\\\\\\\"mapped\\\\\\\",[964]],[[120508,120508],\\\\\\\"mapped\\\\\\\",[965]],[[120509,120509],\\\\\\\"mapped\\\\\\\",[966]],[[120510,120510],\\\\\\\"mapped\\\\\\\",[967]],[[120511,120511],\\\\\\\"mapped\\\\\\\",[968]],[[120512,120512],\\\\\\\"mapped\\\\\\\",[969]],[[120513,120513],\\\\\\\"mapped\\\\\\\",[8711]],[[120514,120514],\\\\\\\"mapped\\\\\\\",[945]],[[120515,120515],\\\\\\\"mapped\\\\\\\",[946]],[[120516,120516],\\\\\\\"mapped\\\\\\\",[947]],[[120517,120517],\\\\\\\"mapped\\\\\\\",[948]],[[120518,120518],\\\\\\\"mapped\\\\\\\",[949]],[[120519,120519],\\\\\\\"mapped\\\\\\\",[950]],[[120520,120520],\\\\\\\"mapped\\\\\\\",[951]],[[120521,120521],\\\\\\\"mapped\\\\\\\",[952]],[[120522,120522],\\\\\\\"mapped\\\\\\\",[953]],[[120523,120523],\\\\\\\"mapped\\\\\\\",[954]],[[120524,120524],\\\\\\\"mapped\\\\\\\",[955]],[[120525,120525],\\\\\\\"mapped\\\\\\\",[956]],[[120526,120526],\\\\\\\"mapped\\\\\\\",[957]],[[120527,120527],\\\\\\\"mapped\\\\\\\",[958]],[[120528,120528],\\\\\\\"mapped\\\\\\\",[959]],[[120529,120529],\\\\\\\"mapped\\\\\\\",[960]],[[120530,120530],\\\\\\\"mapped\\\\\\\",[961]],[[120531,120532],\\\\\\\"mapped\\\\\\\",[963]],[[120533,120533],\\\\\\\"mapped\\\\\\\",[964]],[[120534,120534],\\\\\\\"mapped\\\\\\\",[965]],[[120535,120535],\\\\\\\"mapped\\\\\\\",[966]],[[120536,120536],\\\\\\\"mapped\\\\\\\",[967]],[[120537,120537],\\\\\\\"mapped\\\\\\\",[968]],[[120538,120538],\\\\\\\"mapped\\\\\\\",[969]],[[120539,120539],\\\\\\\"mapped\\\\\\\",[8706]],[[120540,120540],\\\\\\\"mapped\\\\\\\",[949]],[[120541,120541],\\\\\\\"mapped\\\\\\\",[952]],[[120542,120542],\\\\\\\"mapped\\\\\\\",[954]],[[120543,120543],\\\\\\\"mapped\\\\\\\",[966]],[[120544,120544],\\\\\\\"mapped\\\\\\\",[961]],[[120545,120545],\\\\\\\"mapped\\\\\\\",[960]],[[120546,120546],\\\\\\\"mapped\\\\\\\",[945]],[[120547,120547],\\\\\\\"mapped\\\\\\\",[946]],[[120548,120548],\\\\\\\"mapped\\\\\\\",[947]],[[120549,120549],\\\\\\\"mapped\\\\\\\",[948]],[[120550,120550],\\\\\\\"mapped\\\\\\\",[949]],[[120551,120551],\\\\\\\"mapped\\\\\\\",[950]],[[120552,120552],\\\\\\\"mapped\\\\\\\",[951]],[[120553,120553],\\\\\\\"mapped\\\\\\\",[952]],[[120554,120554],\\\\\\\"mapped\\\\\\\",[953]],[[120555,120555],\\\\\\\"mapped\\\\\\\",[954]],[[120556,120556],\\\\\\\"mapped\\\\\\\",[955]],[[120557,120557],\\\\\\\"mapped\\\\\\\",[956]],[[120558,120558],\\\\\\\"mapped\\\\\\\",[957]],[[120559,120559],\\\\\\\"mapped\\\\\\\",[958]],[[120560,120560],\\\\\\\"mapped\\\\\\\",[959]],[[120561,120561],\\\\\\\"mapped\\\\\\\",[960]],[[120562,120562],\\\\\\\"mapped\\\\\\\",[961]],[[120563,120563],\\\\\\\"mapped\\\\\\\",[952]],[[120564,120564],\\\\\\\"mapped\\\\\\\",[963]],[[120565,120565],\\\\\\\"mapped\\\\\\\",[964]],[[120566,120566],\\\\\\\"mapped\\\\\\\",[965]],[[120567,120567],\\\\\\\"mapped\\\\\\\",[966]],[[120568,120568],\\\\\\\"mapped\\\\\\\",[967]],[[120569,120569],\\\\\\\"mapped\\\\\\\",[968]],[[120570,120570],\\\\\\\"mapped\\\\\\\",[969]],[[120571,120571],\\\\\\\"mapped\\\\\\\",[8711]],[[120572,120572],\\\\\\\"mapped\\\\\\\",[945]],[[120573,120573],\\\\\\\"mapped\\\\\\\",[946]],[[120574,120574],\\\\\\\"mapped\\\\\\\",[947]],[[120575,120575],\\\\\\\"mapped\\\\\\\",[948]],[[120576,120576],\\\\\\\"mapped\\\\\\\",[949]],[[120577,120577],\\\\\\\"mapped\\\\\\\",[950]],[[120578,120578],\\\\\\\"mapped\\\\\\\",[951]],[[120579,120579],\\\\\\\"mapped\\\\\\\",[952]],[[120580,120580],\\\\\\\"mapped\\\\\\\",[953]],[[120581,120581],\\\\\\\"mapped\\\\\\\",[954]],[[120582,120582],\\\\\\\"mapped\\\\\\\",[955]],[[120583,120583],\\\\\\\"mapped\\\\\\\",[956]],[[120584,120584],\\\\\\\"mapped\\\\\\\",[957]],[[120585,120585],\\\\\\\"mapped\\\\\\\",[958]],[[120586,120586],\\\\\\\"mapped\\\\\\\",[959]],[[120587,120587],\\\\\\\"mapped\\\\\\\",[960]],[[120588,120588],\\\\\\\"mapped\\\\\\\",[961]],[[120589,120590],\\\\\\\"mapped\\\\\\\",[963]],[[120591,120591],\\\\\\\"mapped\\\\\\\",[964]],[[120592,120592],\\\\\\\"mapped\\\\\\\",[965]],[[120593,120593],\\\\\\\"mapped\\\\\\\",[966]],[[120594,120594],\\\\\\\"mapped\\\\\\\",[967]],[[120595,120595],\\\\\\\"mapped\\\\\\\",[968]],[[120596,120596],\\\\\\\"mapped\\\\\\\",[969]],[[120597,120597],\\\\\\\"mapped\\\\\\\",[8706]],[[120598,120598],\\\\\\\"mapped\\\\\\\",[949]],[[120599,120599],\\\\\\\"mapped\\\\\\\",[952]],[[120600,120600],\\\\\\\"mapped\\\\\\\",[954]],[[120601,120601],\\\\\\\"mapped\\\\\\\",[966]],[[120602,120602],\\\\\\\"mapped\\\\\\\",[961]],[[120603,120603],\\\\\\\"mapped\\\\\\\",[960]],[[120604,120604],\\\\\\\"mapped\\\\\\\",[945]],[[120605,120605],\\\\\\\"mapped\\\\\\\",[946]],[[120606,120606],\\\\\\\"mapped\\\\\\\",[947]],[[120607,120607],\\\\\\\"mapped\\\\\\\",[948]],[[120608,120608],\\\\\\\"mapped\\\\\\\",[949]],[[120609,120609],\\\\\\\"mapped\\\\\\\",[950]],[[120610,120610],\\\\\\\"mapped\\\\\\\",[951]],[[120611,120611],\\\\\\\"mapped\\\\\\\",[952]],[[120612,120612],\\\\\\\"mapped\\\\\\\",[953]],[[120613,120613],\\\\\\\"mapped\\\\\\\",[954]],[[120614,120614],\\\\\\\"mapped\\\\\\\",[955]],[[120615,120615],\\\\\\\"mapped\\\\\\\",[956]],[[120616,120616],\\\\\\\"mapped\\\\\\\",[957]],[[120617,120617],\\\\\\\"mapped\\\\\\\",[958]],[[120618,120618],\\\\\\\"mapped\\\\\\\",[959]],[[120619,120619],\\\\\\\"mapped\\\\\\\",[960]],[[120620,120620],\\\\\\\"mapped\\\\\\\",[961]],[[120621,120621],\\\\\\\"mapped\\\\\\\",[952]],[[120622,120622],\\\\\\\"mapped\\\\\\\",[963]],[[120623,120623],\\\\\\\"mapped\\\\\\\",[964]],[[120624,120624],\\\\\\\"mapped\\\\\\\",[965]],[[120625,120625],\\\\\\\"mapped\\\\\\\",[966]],[[120626,120626],\\\\\\\"mapped\\\\\\\",[967]],[[120627,120627],\\\\\\\"mapped\\\\\\\",[968]],[[120628,120628],\\\\\\\"mapped\\\\\\\",[969]],[[120629,120629],\\\\\\\"mapped\\\\\\\",[8711]],[[120630,120630],\\\\\\\"mapped\\\\\\\",[945]],[[120631,120631],\\\\\\\"mapped\\\\\\\",[946]],[[120632,120632],\\\\\\\"mapped\\\\\\\",[947]],[[120633,120633],\\\\\\\"mapped\\\\\\\",[948]],[[120634,120634],\\\\\\\"mapped\\\\\\\",[949]],[[120635,120635],\\\\\\\"mapped\\\\\\\",[950]],[[120636,120636],\\\\\\\"mapped\\\\\\\",[951]],[[120637,120637],\\\\\\\"mapped\\\\\\\",[952]],[[120638,120638],\\\\\\\"mapped\\\\\\\",[953]],[[120639,120639],\\\\\\\"mapped\\\\\\\",[954]],[[120640,120640],\\\\\\\"mapped\\\\\\\",[955]],[[120641,120641],\\\\\\\"mapped\\\\\\\",[956]],[[120642,120642],\\\\\\\"mapped\\\\\\\",[957]],[[120643,120643],\\\\\\\"mapped\\\\\\\",[958]],[[120644,120644],\\\\\\\"mapped\\\\\\\",[959]],[[120645,120645],\\\\\\\"mapped\\\\\\\",[960]],[[120646,120646],\\\\\\\"mapped\\\\\\\",[961]],[[120647,120648],\\\\\\\"mapped\\\\\\\",[963]],[[120649,120649],\\\\\\\"mapped\\\\\\\",[964]],[[120650,120650],\\\\\\\"mapped\\\\\\\",[965]],[[120651,120651],\\\\\\\"mapped\\\\\\\",[966]],[[120652,120652],\\\\\\\"mapped\\\\\\\",[967]],[[120653,120653],\\\\\\\"mapped\\\\\\\",[968]],[[120654,120654],\\\\\\\"mapped\\\\\\\",[969]],[[120655,120655],\\\\\\\"mapped\\\\\\\",[8706]],[[120656,120656],\\\\\\\"mapped\\\\\\\",[949]],[[120657,120657],\\\\\\\"mapped\\\\\\\",[952]],[[120658,120658],\\\\\\\"mapped\\\\\\\",[954]],[[120659,120659],\\\\\\\"mapped\\\\\\\",[966]],[[120660,120660],\\\\\\\"mapped\\\\\\\",[961]],[[120661,120661],\\\\\\\"mapped\\\\\\\",[960]],[[120662,120662],\\\\\\\"mapped\\\\\\\",[945]],[[120663,120663],\\\\\\\"mapped\\\\\\\",[946]],[[120664,120664],\\\\\\\"mapped\\\\\\\",[947]],[[120665,120665],\\\\\\\"mapped\\\\\\\",[948]],[[120666,120666],\\\\\\\"mapped\\\\\\\",[949]],[[120667,120667],\\\\\\\"mapped\\\\\\\",[950]],[[120668,120668],\\\\\\\"mapped\\\\\\\",[951]],[[120669,120669],\\\\\\\"mapped\\\\\\\",[952]],[[120670,120670],\\\\\\\"mapped\\\\\\\",[953]],[[120671,120671],\\\\\\\"mapped\\\\\\\",[954]],[[120672,120672],\\\\\\\"mapped\\\\\\\",[955]],[[120673,120673],\\\\\\\"mapped\\\\\\\",[956]],[[120674,120674],\\\\\\\"mapped\\\\\\\",[957]],[[120675,120675],\\\\\\\"mapped\\\\\\\",[958]],[[120676,120676],\\\\\\\"mapped\\\\\\\",[959]],[[120677,120677],\\\\\\\"mapped\\\\\\\",[960]],[[120678,120678],\\\\\\\"mapped\\\\\\\",[961]],[[120679,120679],\\\\\\\"mapped\\\\\\\",[952]],[[120680,120680],\\\\\\\"mapped\\\\\\\",[963]],[[120681,120681],\\\\\\\"mapped\\\\\\\",[964]],[[120682,120682],\\\\\\\"mapped\\\\\\\",[965]],[[120683,120683],\\\\\\\"mapped\\\\\\\",[966]],[[120684,120684],\\\\\\\"mapped\\\\\\\",[967]],[[120685,120685],\\\\\\\"mapped\\\\\\\",[968]],[[120686,120686],\\\\\\\"mapped\\\\\\\",[969]],[[120687,120687],\\\\\\\"mapped\\\\\\\",[8711]],[[120688,120688],\\\\\\\"mapped\\\\\\\",[945]],[[120689,120689],\\\\\\\"mapped\\\\\\\",[946]],[[120690,120690],\\\\\\\"mapped\\\\\\\",[947]],[[120691,120691],\\\\\\\"mapped\\\\\\\",[948]],[[120692,120692],\\\\\\\"mapped\\\\\\\",[949]],[[120693,120693],\\\\\\\"mapped\\\\\\\",[950]],[[120694,120694],\\\\\\\"mapped\\\\\\\",[951]],[[120695,120695],\\\\\\\"mapped\\\\\\\",[952]],[[120696,120696],\\\\\\\"mapped\\\\\\\",[953]],[[120697,120697],\\\\\\\"mapped\\\\\\\",[954]],[[120698,120698],\\\\\\\"mapped\\\\\\\",[955]],[[120699,120699],\\\\\\\"mapped\\\\\\\",[956]],[[120700,120700],\\\\\\\"mapped\\\\\\\",[957]],[[120701,120701],\\\\\\\"mapped\\\\\\\",[958]],[[120702,120702],\\\\\\\"mapped\\\\\\\",[959]],[[120703,120703],\\\\\\\"mapped\\\\\\\",[960]],[[120704,120704],\\\\\\\"mapped\\\\\\\",[961]],[[120705,120706],\\\\\\\"mapped\\\\\\\",[963]],[[120707,120707],\\\\\\\"mapped\\\\\\\",[964]],[[120708,120708],\\\\\\\"mapped\\\\\\\",[965]],[[120709,120709],\\\\\\\"mapped\\\\\\\",[966]],[[120710,120710],\\\\\\\"mapped\\\\\\\",[967]],[[120711,120711],\\\\\\\"mapped\\\\\\\",[968]],[[120712,120712],\\\\\\\"mapped\\\\\\\",[969]],[[120713,120713],\\\\\\\"mapped\\\\\\\",[8706]],[[120714,120714],\\\\\\\"mapped\\\\\\\",[949]],[[120715,120715],\\\\\\\"mapped\\\\\\\",[952]],[[120716,120716],\\\\\\\"mapped\\\\\\\",[954]],[[120717,120717],\\\\\\\"mapped\\\\\\\",[966]],[[120718,120718],\\\\\\\"mapped\\\\\\\",[961]],[[120719,120719],\\\\\\\"mapped\\\\\\\",[960]],[[120720,120720],\\\\\\\"mapped\\\\\\\",[945]],[[120721,120721],\\\\\\\"mapped\\\\\\\",[946]],[[120722,120722],\\\\\\\"mapped\\\\\\\",[947]],[[120723,120723],\\\\\\\"mapped\\\\\\\",[948]],[[120724,120724],\\\\\\\"mapped\\\\\\\",[949]],[[120725,120725],\\\\\\\"mapped\\\\\\\",[950]],[[120726,120726],\\\\\\\"mapped\\\\\\\",[951]],[[120727,120727],\\\\\\\"mapped\\\\\\\",[952]],[[120728,120728],\\\\\\\"mapped\\\\\\\",[953]],[[120729,120729],\\\\\\\"mapped\\\\\\\",[954]],[[120730,120730],\\\\\\\"mapped\\\\\\\",[955]],[[120731,120731],\\\\\\\"mapped\\\\\\\",[956]],[[120732,120732],\\\\\\\"mapped\\\\\\\",[957]],[[120733,120733],\\\\\\\"mapped\\\\\\\",[958]],[[120734,120734],\\\\\\\"mapped\\\\\\\",[959]],[[120735,120735],\\\\\\\"mapped\\\\\\\",[960]],[[120736,120736],\\\\\\\"mapped\\\\\\\",[961]],[[120737,120737],\\\\\\\"mapped\\\\\\\",[952]],[[120738,120738],\\\\\\\"mapped\\\\\\\",[963]],[[120739,120739],\\\\\\\"mapped\\\\\\\",[964]],[[120740,120740],\\\\\\\"mapped\\\\\\\",[965]],[[120741,120741],\\\\\\\"mapped\\\\\\\",[966]],[[120742,120742],\\\\\\\"mapped\\\\\\\",[967]],[[120743,120743],\\\\\\\"mapped\\\\\\\",[968]],[[120744,120744],\\\\\\\"mapped\\\\\\\",[969]],[[120745,120745],\\\\\\\"mapped\\\\\\\",[8711]],[[120746,120746],\\\\\\\"mapped\\\\\\\",[945]],[[120747,120747],\\\\\\\"mapped\\\\\\\",[946]],[[120748,120748],\\\\\\\"mapped\\\\\\\",[947]],[[120749,120749],\\\\\\\"mapped\\\\\\\",[948]],[[120750,120750],\\\\\\\"mapped\\\\\\\",[949]],[[120751,120751],\\\\\\\"mapped\\\\\\\",[950]],[[120752,120752],\\\\\\\"mapped\\\\\\\",[951]],[[120753,120753],\\\\\\\"mapped\\\\\\\",[952]],[[120754,120754],\\\\\\\"mapped\\\\\\\",[953]],[[120755,120755],\\\\\\\"mapped\\\\\\\",[954]],[[120756,120756],\\\\\\\"mapped\\\\\\\",[955]],[[120757,120757],\\\\\\\"mapped\\\\\\\",[956]],[[120758,120758],\\\\\\\"mapped\\\\\\\",[957]],[[120759,120759],\\\\\\\"mapped\\\\\\\",[958]],[[120760,120760],\\\\\\\"mapped\\\\\\\",[959]],[[120761,120761],\\\\\\\"mapped\\\\\\\",[960]],[[120762,120762],\\\\\\\"mapped\\\\\\\",[961]],[[120763,120764],\\\\\\\"mapped\\\\\\\",[963]],[[120765,120765],\\\\\\\"mapped\\\\\\\",[964]],[[120766,120766],\\\\\\\"mapped\\\\\\\",[965]],[[120767,120767],\\\\\\\"mapped\\\\\\\",[966]],[[120768,120768],\\\\\\\"mapped\\\\\\\",[967]],[[120769,120769],\\\\\\\"mapped\\\\\\\",[968]],[[120770,120770],\\\\\\\"mapped\\\\\\\",[969]],[[120771,120771],\\\\\\\"mapped\\\\\\\",[8706]],[[120772,120772],\\\\\\\"mapped\\\\\\\",[949]],[[120773,120773],\\\\\\\"mapped\\\\\\\",[952]],[[120774,120774],\\\\\\\"mapped\\\\\\\",[954]],[[120775,120775],\\\\\\\"mapped\\\\\\\",[966]],[[120776,120776],\\\\\\\"mapped\\\\\\\",[961]],[[120777,120777],\\\\\\\"mapped\\\\\\\",[960]],[[120778,120779],\\\\\\\"mapped\\\\\\\",[989]],[[120780,120781],\\\\\\\"disallowed\\\\\\\"],[[120782,120782],\\\\\\\"mapped\\\\\\\",[48]],[[120783,120783],\\\\\\\"mapped\\\\\\\",[49]],[[120784,120784],\\\\\\\"mapped\\\\\\\",[50]],[[120785,120785],\\\\\\\"mapped\\\\\\\",[51]],[[120786,120786],\\\\\\\"mapped\\\\\\\",[52]],[[120787,120787],\\\\\\\"mapped\\\\\\\",[53]],[[120788,120788],\\\\\\\"mapped\\\\\\\",[54]],[[120789,120789],\\\\\\\"mapped\\\\\\\",[55]],[[120790,120790],\\\\\\\"mapped\\\\\\\",[56]],[[120791,120791],\\\\\\\"mapped\\\\\\\",[57]],[[120792,120792],\\\\\\\"mapped\\\\\\\",[48]],[[120793,120793],\\\\\\\"mapped\\\\\\\",[49]],[[120794,120794],\\\\\\\"mapped\\\\\\\",[50]],[[120795,120795],\\\\\\\"mapped\\\\\\\",[51]],[[120796,120796],\\\\\\\"mapped\\\\\\\",[52]],[[120797,120797],\\\\\\\"mapped\\\\\\\",[53]],[[120798,120798],\\\\\\\"mapped\\\\\\\",[54]],[[120799,120799],\\\\\\\"mapped\\\\\\\",[55]],[[120800,120800],\\\\\\\"mapped\\\\\\\",[56]],[[120801,120801],\\\\\\\"mapped\\\\\\\",[57]],[[120802,120802],\\\\\\\"mapped\\\\\\\",[48]],[[120803,120803],\\\\\\\"mapped\\\\\\\",[49]],[[120804,120804],\\\\\\\"mapped\\\\\\\",[50]],[[120805,120805],\\\\\\\"mapped\\\\\\\",[51]],[[120806,120806],\\\\\\\"mapped\\\\\\\",[52]],[[120807,120807],\\\\\\\"mapped\\\\\\\",[53]],[[120808,120808],\\\\\\\"mapped\\\\\\\",[54]],[[120809,120809],\\\\\\\"mapped\\\\\\\",[55]],[[120810,120810],\\\\\\\"mapped\\\\\\\",[56]],[[120811,120811],\\\\\\\"mapped\\\\\\\",[57]],[[120812,120812],\\\\\\\"mapped\\\\\\\",[48]],[[120813,120813],\\\\\\\"mapped\\\\\\\",[49]],[[120814,120814],\\\\\\\"mapped\\\\\\\",[50]],[[120815,120815],\\\\\\\"mapped\\\\\\\",[51]],[[120816,120816],\\\\\\\"mapped\\\\\\\",[52]],[[120817,120817],\\\\\\\"mapped\\\\\\\",[53]],[[120818,120818],\\\\\\\"mapped\\\\\\\",[54]],[[120819,120819],\\\\\\\"mapped\\\\\\\",[55]],[[120820,120820],\\\\\\\"mapped\\\\\\\",[56]],[[120821,120821],\\\\\\\"mapped\\\\\\\",[57]],[[120822,120822],\\\\\\\"mapped\\\\\\\",[48]],[[120823,120823],\\\\\\\"mapped\\\\\\\",[49]],[[120824,120824],\\\\\\\"mapped\\\\\\\",[50]],[[120825,120825],\\\\\\\"mapped\\\\\\\",[51]],[[120826,120826],\\\\\\\"mapped\\\\\\\",[52]],[[120827,120827],\\\\\\\"mapped\\\\\\\",[53]],[[120828,120828],\\\\\\\"mapped\\\\\\\",[54]],[[120829,120829],\\\\\\\"mapped\\\\\\\",[55]],[[120830,120830],\\\\\\\"mapped\\\\\\\",[56]],[[120831,120831],\\\\\\\"mapped\\\\\\\",[57]],[[120832,121343],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[121344,121398],\\\\\\\"valid\\\\\\\"],[[121399,121402],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[121403,121452],\\\\\\\"valid\\\\\\\"],[[121453,121460],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[121461,121461],\\\\\\\"valid\\\\\\\"],[[121462,121475],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[121476,121476],\\\\\\\"valid\\\\\\\"],[[121477,121483],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[121484,121498],\\\\\\\"disallowed\\\\\\\"],[[121499,121503],\\\\\\\"valid\\\\\\\"],[[121504,121504],\\\\\\\"disallowed\\\\\\\"],[[121505,121519],\\\\\\\"valid\\\\\\\"],[[121520,124927],\\\\\\\"disallowed\\\\\\\"],[[124928,125124],\\\\\\\"valid\\\\\\\"],[[125125,125126],\\\\\\\"disallowed\\\\\\\"],[[125127,125135],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[125136,125142],\\\\\\\"valid\\\\\\\"],[[125143,126463],\\\\\\\"disallowed\\\\\\\"],[[126464,126464],\\\\\\\"mapped\\\\\\\",[1575]],[[126465,126465],\\\\\\\"mapped\\\\\\\",[1576]],[[126466,126466],\\\\\\\"mapped\\\\\\\",[1580]],[[126467,126467],\\\\\\\"mapped\\\\\\\",[1583]],[[126468,126468],\\\\\\\"disallowed\\\\\\\"],[[126469,126469],\\\\\\\"mapped\\\\\\\",[1608]],[[126470,126470],\\\\\\\"mapped\\\\\\\",[1586]],[[126471,126471],\\\\\\\"mapped\\\\\\\",[1581]],[[126472,126472],\\\\\\\"mapped\\\\\\\",[1591]],[[126473,126473],\\\\\\\"mapped\\\\\\\",[1610]],[[126474,126474],\\\\\\\"mapped\\\\\\\",[1603]],[[126475,126475],\\\\\\\"mapped\\\\\\\",[1604]],[[126476,126476],\\\\\\\"mapped\\\\\\\",[1605]],[[126477,126477],\\\\\\\"mapped\\\\\\\",[1606]],[[126478,126478],\\\\\\\"mapped\\\\\\\",[1587]],[[126479,126479],\\\\\\\"mapped\\\\\\\",[1593]],[[126480,126480],\\\\\\\"mapped\\\\\\\",[1601]],[[126481,126481],\\\\\\\"mapped\\\\\\\",[1589]],[[126482,126482],\\\\\\\"mapped\\\\\\\",[1602]],[[126483,126483],\\\\\\\"mapped\\\\\\\",[1585]],[[126484,126484],\\\\\\\"mapped\\\\\\\",[1588]],[[126485,126485],\\\\\\\"mapped\\\\\\\",[1578]],[[126486,126486],\\\\\\\"mapped\\\\\\\",[1579]],[[126487,126487],\\\\\\\"mapped\\\\\\\",[1582]],[[126488,126488],\\\\\\\"mapped\\\\\\\",[1584]],[[126489,126489],\\\\\\\"mapped\\\\\\\",[1590]],[[126490,126490],\\\\\\\"mapped\\\\\\\",[1592]],[[126491,126491],\\\\\\\"mapped\\\\\\\",[1594]],[[126492,126492],\\\\\\\"mapped\\\\\\\",[1646]],[[126493,126493],\\\\\\\"mapped\\\\\\\",[1722]],[[126494,126494],\\\\\\\"mapped\\\\\\\",[1697]],[[126495,126495],\\\\\\\"mapped\\\\\\\",[1647]],[[126496,126496],\\\\\\\"disallowed\\\\\\\"],[[126497,126497],\\\\\\\"mapped\\\\\\\",[1576]],[[126498,126498],\\\\\\\"mapped\\\\\\\",[1580]],[[126499,126499],\\\\\\\"disallowed\\\\\\\"],[[126500,126500],\\\\\\\"mapped\\\\\\\",[1607]],[[126501,126502],\\\\\\\"disallowed\\\\\\\"],[[126503,126503],\\\\\\\"mapped\\\\\\\",[1581]],[[126504,126504],\\\\\\\"disallowed\\\\\\\"],[[126505,126505],\\\\\\\"mapped\\\\\\\",[1610]],[[126506,126506],\\\\\\\"mapped\\\\\\\",[1603]],[[126507,126507],\\\\\\\"mapped\\\\\\\",[1604]],[[126508,126508],\\\\\\\"mapped\\\\\\\",[1605]],[[126509,126509],\\\\\\\"mapped\\\\\\\",[1606]],[[126510,126510],\\\\\\\"mapped\\\\\\\",[1587]],[[126511,126511],\\\\\\\"mapped\\\\\\\",[1593]],[[126512,126512],\\\\\\\"mapped\\\\\\\",[1601]],[[126513,126513],\\\\\\\"mapped\\\\\\\",[1589]],[[126514,126514],\\\\\\\"mapped\\\\\\\",[1602]],[[126515,126515],\\\\\\\"disallowed\\\\\\\"],[[126516,126516],\\\\\\\"mapped\\\\\\\",[1588]],[[126517,126517],\\\\\\\"mapped\\\\\\\",[1578]],[[126518,126518],\\\\\\\"mapped\\\\\\\",[1579]],[[126519,126519],\\\\\\\"mapped\\\\\\\",[1582]],[[126520,126520],\\\\\\\"disallowed\\\\\\\"],[[126521,126521],\\\\\\\"mapped\\\\\\\",[1590]],[[126522,126522],\\\\\\\"disallowed\\\\\\\"],[[126523,126523],\\\\\\\"mapped\\\\\\\",[1594]],[[126524,126529],\\\\\\\"disallowed\\\\\\\"],[[126530,126530],\\\\\\\"mapped\\\\\\\",[1580]],[[126531,126534],\\\\\\\"disallowed\\\\\\\"],[[126535,126535],\\\\\\\"mapped\\\\\\\",[1581]],[[126536,126536],\\\\\\\"disallowed\\\\\\\"],[[126537,126537],\\\\\\\"mapped\\\\\\\",[1610]],[[126538,126538],\\\\\\\"disallowed\\\\\\\"],[[126539,126539],\\\\\\\"mapped\\\\\\\",[1604]],[[126540,126540],\\\\\\\"disallowed\\\\\\\"],[[126541,126541],\\\\\\\"mapped\\\\\\\",[1606]],[[126542,126542],\\\\\\\"mapped\\\\\\\",[1587]],[[126543,126543],\\\\\\\"mapped\\\\\\\",[1593]],[[126544,126544],\\\\\\\"disallowed\\\\\\\"],[[126545,126545],\\\\\\\"mapped\\\\\\\",[1589]],[[126546,126546],\\\\\\\"mapped\\\\\\\",[1602]],[[126547,126547],\\\\\\\"disallowed\\\\\\\"],[[126548,126548],\\\\\\\"mapped\\\\\\\",[1588]],[[126549,126550],\\\\\\\"disallowed\\\\\\\"],[[126551,126551],\\\\\\\"mapped\\\\\\\",[1582]],[[126552,126552],\\\\\\\"disallowed\\\\\\\"],[[126553,126553],\\\\\\\"mapped\\\\\\\",[1590]],[[126554,126554],\\\\\\\"disallowed\\\\\\\"],[[126555,126555],\\\\\\\"mapped\\\\\\\",[1594]],[[126556,126556],\\\\\\\"disallowed\\\\\\\"],[[126557,126557],\\\\\\\"mapped\\\\\\\",[1722]],[[126558,126558],\\\\\\\"disallowed\\\\\\\"],[[126559,126559],\\\\\\\"mapped\\\\\\\",[1647]],[[126560,126560],\\\\\\\"disallowed\\\\\\\"],[[126561,126561],\\\\\\\"mapped\\\\\\\",[1576]],[[126562,126562],\\\\\\\"mapped\\\\\\\",[1580]],[[126563,126563],\\\\\\\"disallowed\\\\\\\"],[[126564,126564],\\\\\\\"mapped\\\\\\\",[1607]],[[126565,126566],\\\\\\\"disallowed\\\\\\\"],[[126567,126567],\\\\\\\"mapped\\\\\\\",[1581]],[[126568,126568],\\\\\\\"mapped\\\\\\\",[1591]],[[126569,126569],\\\\\\\"mapped\\\\\\\",[1610]],[[126570,126570],\\\\\\\"mapped\\\\\\\",[1603]],[[126571,126571],\\\\\\\"disallowed\\\\\\\"],[[126572,126572],\\\\\\\"mapped\\\\\\\",[1605]],[[126573,126573],\\\\\\\"mapped\\\\\\\",[1606]],[[126574,126574],\\\\\\\"mapped\\\\\\\",[1587]],[[126575,126575],\\\\\\\"mapped\\\\\\\",[1593]],[[126576,126576],\\\\\\\"mapped\\\\\\\",[1601]],[[126577,126577],\\\\\\\"mapped\\\\\\\",[1589]],[[126578,126578],\\\\\\\"mapped\\\\\\\",[1602]],[[126579,126579],\\\\\\\"disallowed\\\\\\\"],[[126580,126580],\\\\\\\"mapped\\\\\\\",[1588]],[[126581,126581],\\\\\\\"mapped\\\\\\\",[1578]],[[126582,126582],\\\\\\\"mapped\\\\\\\",[1579]],[[126583,126583],\\\\\\\"mapped\\\\\\\",[1582]],[[126584,126584],\\\\\\\"disallowed\\\\\\\"],[[126585,126585],\\\\\\\"mapped\\\\\\\",[1590]],[[126586,126586],\\\\\\\"mapped\\\\\\\",[1592]],[[126587,126587],\\\\\\\"mapped\\\\\\\",[1594]],[[126588,126588],\\\\\\\"mapped\\\\\\\",[1646]],[[126589,126589],\\\\\\\"disallowed\\\\\\\"],[[126590,126590],\\\\\\\"mapped\\\\\\\",[1697]],[[126591,126591],\\\\\\\"disallowed\\\\\\\"],[[126592,126592],\\\\\\\"mapped\\\\\\\",[1575]],[[126593,126593],\\\\\\\"mapped\\\\\\\",[1576]],[[126594,126594],\\\\\\\"mapped\\\\\\\",[1580]],[[126595,126595],\\\\\\\"mapped\\\\\\\",[1583]],[[126596,126596],\\\\\\\"mapped\\\\\\\",[1607]],[[126597,126597],\\\\\\\"mapped\\\\\\\",[1608]],[[126598,126598],\\\\\\\"mapped\\\\\\\",[1586]],[[126599,126599],\\\\\\\"mapped\\\\\\\",[1581]],[[126600,126600],\\\\\\\"mapped\\\\\\\",[1591]],[[126601,126601],\\\\\\\"mapped\\\\\\\",[1610]],[[126602,126602],\\\\\\\"disallowed\\\\\\\"],[[126603,126603],\\\\\\\"mapped\\\\\\\",[1604]],[[126604,126604],\\\\\\\"mapped\\\\\\\",[1605]],[[126605,126605],\\\\\\\"mapped\\\\\\\",[1606]],[[126606,126606],\\\\\\\"mapped\\\\\\\",[1587]],[[126607,126607],\\\\\\\"mapped\\\\\\\",[1593]],[[126608,126608],\\\\\\\"mapped\\\\\\\",[1601]],[[126609,126609],\\\\\\\"mapped\\\\\\\",[1589]],[[126610,126610],\\\\\\\"mapped\\\\\\\",[1602]],[[126611,126611],\\\\\\\"mapped\\\\\\\",[1585]],[[126612,126612],\\\\\\\"mapped\\\\\\\",[1588]],[[126613,126613],\\\\\\\"mapped\\\\\\\",[1578]],[[126614,126614],\\\\\\\"mapped\\\\\\\",[1579]],[[126615,126615],\\\\\\\"mapped\\\\\\\",[1582]],[[126616,126616],\\\\\\\"mapped\\\\\\\",[1584]],[[126617,126617],\\\\\\\"mapped\\\\\\\",[1590]],[[126618,126618],\\\\\\\"mapped\\\\\\\",[1592]],[[126619,126619],\\\\\\\"mapped\\\\\\\",[1594]],[[126620,126624],\\\\\\\"disallowed\\\\\\\"],[[126625,126625],\\\\\\\"mapped\\\\\\\",[1576]],[[126626,126626],\\\\\\\"mapped\\\\\\\",[1580]],[[126627,126627],\\\\\\\"mapped\\\\\\\",[1583]],[[126628,126628],\\\\\\\"disallowed\\\\\\\"],[[126629,126629],\\\\\\\"mapped\\\\\\\",[1608]],[[126630,126630],\\\\\\\"mapped\\\\\\\",[1586]],[[126631,126631],\\\\\\\"mapped\\\\\\\",[1581]],[[126632,126632],\\\\\\\"mapped\\\\\\\",[1591]],[[126633,126633],\\\\\\\"mapped\\\\\\\",[1610]],[[126634,126634],\\\\\\\"disallowed\\\\\\\"],[[126635,126635],\\\\\\\"mapped\\\\\\\",[1604]],[[126636,126636],\\\\\\\"mapped\\\\\\\",[1605]],[[126637,126637],\\\\\\\"mapped\\\\\\\",[1606]],[[126638,126638],\\\\\\\"mapped\\\\\\\",[1587]],[[126639,126639],\\\\\\\"mapped\\\\\\\",[1593]],[[126640,126640],\\\\\\\"mapped\\\\\\\",[1601]],[[126641,126641],\\\\\\\"mapped\\\\\\\",[1589]],[[126642,126642],\\\\\\\"mapped\\\\\\\",[1602]],[[126643,126643],\\\\\\\"mapped\\\\\\\",[1585]],[[126644,126644],\\\\\\\"mapped\\\\\\\",[1588]],[[126645,126645],\\\\\\\"mapped\\\\\\\",[1578]],[[126646,126646],\\\\\\\"mapped\\\\\\\",[1579]],[[126647,126647],\\\\\\\"mapped\\\\\\\",[1582]],[[126648,126648],\\\\\\\"mapped\\\\\\\",[1584]],[[126649,126649],\\\\\\\"mapped\\\\\\\",[1590]],[[126650,126650],\\\\\\\"mapped\\\\\\\",[1592]],[[126651,126651],\\\\\\\"mapped\\\\\\\",[1594]],[[126652,126703],\\\\\\\"disallowed\\\\\\\"],[[126704,126705],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[126706,126975],\\\\\\\"disallowed\\\\\\\"],[[126976,127019],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127020,127023],\\\\\\\"disallowed\\\\\\\"],[[127024,127123],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127124,127135],\\\\\\\"disallowed\\\\\\\"],[[127136,127150],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127151,127152],\\\\\\\"disallowed\\\\\\\"],[[127153,127166],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127167,127167],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127168,127168],\\\\\\\"disallowed\\\\\\\"],[[127169,127183],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127184,127184],\\\\\\\"disallowed\\\\\\\"],[[127185,127199],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127200,127221],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127222,127231],\\\\\\\"disallowed\\\\\\\"],[[127232,127232],\\\\\\\"disallowed\\\\\\\"],[[127233,127233],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[48,44]],[[127234,127234],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[49,44]],[[127235,127235],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[50,44]],[[127236,127236],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[51,44]],[[127237,127237],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[52,44]],[[127238,127238],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[53,44]],[[127239,127239],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[54,44]],[[127240,127240],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[55,44]],[[127241,127241],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[56,44]],[[127242,127242],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[57,44]],[[127243,127244],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127245,127247],\\\\\\\"disallowed\\\\\\\"],[[127248,127248],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,97,41]],[[127249,127249],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,98,41]],[[127250,127250],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,99,41]],[[127251,127251],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,100,41]],[[127252,127252],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,101,41]],[[127253,127253],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,102,41]],[[127254,127254],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,103,41]],[[127255,127255],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,104,41]],[[127256,127256],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,105,41]],[[127257,127257],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,106,41]],[[127258,127258],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,107,41]],[[127259,127259],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,108,41]],[[127260,127260],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,109,41]],[[127261,127261],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,110,41]],[[127262,127262],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,111,41]],[[127263,127263],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,112,41]],[[127264,127264],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,113,41]],[[127265,127265],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,114,41]],[[127266,127266],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,115,41]],[[127267,127267],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,116,41]],[[127268,127268],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,117,41]],[[127269,127269],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,118,41]],[[127270,127270],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,119,41]],[[127271,127271],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,120,41]],[[127272,127272],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,121,41]],[[127273,127273],\\\\\\\"disallowed_STD3_mapped\\\\\\\",[40,122,41]],[[127274,127274],\\\\\\\"mapped\\\\\\\",[12308,115,12309]],[[127275,127275],\\\\\\\"mapped\\\\\\\",[99]],[[127276,127276],\\\\\\\"mapped\\\\\\\",[114]],[[127277,127277],\\\\\\\"mapped\\\\\\\",[99,100]],[[127278,127278],\\\\\\\"mapped\\\\\\\",[119,122]],[[127279,127279],\\\\\\\"disallowed\\\\\\\"],[[127280,127280],\\\\\\\"mapped\\\\\\\",[97]],[[127281,127281],\\\\\\\"mapped\\\\\\\",[98]],[[127282,127282],\\\\\\\"mapped\\\\\\\",[99]],[[127283,127283],\\\\\\\"mapped\\\\\\\",[100]],[[127284,127284],\\\\\\\"mapped\\\\\\\",[101]],[[127285,127285],\\\\\\\"mapped\\\\\\\",[102]],[[127286,127286],\\\\\\\"mapped\\\\\\\",[103]],[[127287,127287],\\\\\\\"mapped\\\\\\\",[104]],[[127288,127288],\\\\\\\"mapped\\\\\\\",[105]],[[127289,127289],\\\\\\\"mapped\\\\\\\",[106]],[[127290,127290],\\\\\\\"mapped\\\\\\\",[107]],[[127291,127291],\\\\\\\"mapped\\\\\\\",[108]],[[127292,127292],\\\\\\\"mapped\\\\\\\",[109]],[[127293,127293],\\\\\\\"mapped\\\\\\\",[110]],[[127294,127294],\\\\\\\"mapped\\\\\\\",[111]],[[127295,127295],\\\\\\\"mapped\\\\\\\",[112]],[[127296,127296],\\\\\\\"mapped\\\\\\\",[113]],[[127297,127297],\\\\\\\"mapped\\\\\\\",[114]],[[127298,127298],\\\\\\\"mapped\\\\\\\",[115]],[[127299,127299],\\\\\\\"mapped\\\\\\\",[116]],[[127300,127300],\\\\\\\"mapped\\\\\\\",[117]],[[127301,127301],\\\\\\\"mapped\\\\\\\",[118]],[[127302,127302],\\\\\\\"mapped\\\\\\\",[119]],[[127303,127303],\\\\\\\"mapped\\\\\\\",[120]],[[127304,127304],\\\\\\\"mapped\\\\\\\",[121]],[[127305,127305],\\\\\\\"mapped\\\\\\\",[122]],[[127306,127306],\\\\\\\"mapped\\\\\\\",[104,118]],[[127307,127307],\\\\\\\"mapped\\\\\\\",[109,118]],[[127308,127308],\\\\\\\"mapped\\\\\\\",[115,100]],[[127309,127309],\\\\\\\"mapped\\\\\\\",[115,115]],[[127310,127310],\\\\\\\"mapped\\\\\\\",[112,112,118]],[[127311,127311],\\\\\\\"mapped\\\\\\\",[119,99]],[[127312,127318],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127319,127319],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127320,127326],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127327,127327],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127328,127337],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127338,127338],\\\\\\\"mapped\\\\\\\",[109,99]],[[127339,127339],\\\\\\\"mapped\\\\\\\",[109,100]],[[127340,127343],\\\\\\\"disallowed\\\\\\\"],[[127344,127352],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127353,127353],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127354,127354],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127355,127356],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127357,127358],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127359,127359],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127360,127369],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127370,127373],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127374,127375],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127376,127376],\\\\\\\"mapped\\\\\\\",[100,106]],[[127377,127386],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127387,127461],\\\\\\\"disallowed\\\\\\\"],[[127462,127487],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127488,127488],\\\\\\\"mapped\\\\\\\",[12411,12363]],[[127489,127489],\\\\\\\"mapped\\\\\\\",[12467,12467]],[[127490,127490],\\\\\\\"mapped\\\\\\\",[12469]],[[127491,127503],\\\\\\\"disallowed\\\\\\\"],[[127504,127504],\\\\\\\"mapped\\\\\\\",[25163]],[[127505,127505],\\\\\\\"mapped\\\\\\\",[23383]],[[127506,127506],\\\\\\\"mapped\\\\\\\",[21452]],[[127507,127507],\\\\\\\"mapped\\\\\\\",[12487]],[[127508,127508],\\\\\\\"mapped\\\\\\\",[20108]],[[127509,127509],\\\\\\\"mapped\\\\\\\",[22810]],[[127510,127510],\\\\\\\"mapped\\\\\\\",[35299]],[[127511,127511],\\\\\\\"mapped\\\\\\\",[22825]],[[127512,127512],\\\\\\\"mapped\\\\\\\",[20132]],[[127513,127513],\\\\\\\"mapped\\\\\\\",[26144]],[[127514,127514],\\\\\\\"mapped\\\\\\\",[28961]],[[127515,127515],\\\\\\\"mapped\\\\\\\",[26009]],[[127516,127516],\\\\\\\"mapped\\\\\\\",[21069]],[[127517,127517],\\\\\\\"mapped\\\\\\\",[24460]],[[127518,127518],\\\\\\\"mapped\\\\\\\",[20877]],[[127519,127519],\\\\\\\"mapped\\\\\\\",[26032]],[[127520,127520],\\\\\\\"mapped\\\\\\\",[21021]],[[127521,127521],\\\\\\\"mapped\\\\\\\",[32066]],[[127522,127522],\\\\\\\"mapped\\\\\\\",[29983]],[[127523,127523],\\\\\\\"mapped\\\\\\\",[36009]],[[127524,127524],\\\\\\\"mapped\\\\\\\",[22768]],[[127525,127525],\\\\\\\"mapped\\\\\\\",[21561]],[[127526,127526],\\\\\\\"mapped\\\\\\\",[28436]],[[127527,127527],\\\\\\\"mapped\\\\\\\",[25237]],[[127528,127528],\\\\\\\"mapped\\\\\\\",[25429]],[[127529,127529],\\\\\\\"mapped\\\\\\\",[19968]],[[127530,127530],\\\\\\\"mapped\\\\\\\",[19977]],[[127531,127531],\\\\\\\"mapped\\\\\\\",[36938]],[[127532,127532],\\\\\\\"mapped\\\\\\\",[24038]],[[127533,127533],\\\\\\\"mapped\\\\\\\",[20013]],[[127534,127534],\\\\\\\"mapped\\\\\\\",[21491]],[[127535,127535],\\\\\\\"mapped\\\\\\\",[25351]],[[127536,127536],\\\\\\\"mapped\\\\\\\",[36208]],[[127537,127537],\\\\\\\"mapped\\\\\\\",[25171]],[[127538,127538],\\\\\\\"mapped\\\\\\\",[31105]],[[127539,127539],\\\\\\\"mapped\\\\\\\",[31354]],[[127540,127540],\\\\\\\"mapped\\\\\\\",[21512]],[[127541,127541],\\\\\\\"mapped\\\\\\\",[28288]],[[127542,127542],\\\\\\\"mapped\\\\\\\",[26377]],[[127543,127543],\\\\\\\"mapped\\\\\\\",[26376]],[[127544,127544],\\\\\\\"mapped\\\\\\\",[30003]],[[127545,127545],\\\\\\\"mapped\\\\\\\",[21106]],[[127546,127546],\\\\\\\"mapped\\\\\\\",[21942]],[[127547,127551],\\\\\\\"disallowed\\\\\\\"],[[127552,127552],\\\\\\\"mapped\\\\\\\",[12308,26412,12309]],[[127553,127553],\\\\\\\"mapped\\\\\\\",[12308,19977,12309]],[[127554,127554],\\\\\\\"mapped\\\\\\\",[12308,20108,12309]],[[127555,127555],\\\\\\\"mapped\\\\\\\",[12308,23433,12309]],[[127556,127556],\\\\\\\"mapped\\\\\\\",[12308,28857,12309]],[[127557,127557],\\\\\\\"mapped\\\\\\\",[12308,25171,12309]],[[127558,127558],\\\\\\\"mapped\\\\\\\",[12308,30423,12309]],[[127559,127559],\\\\\\\"mapped\\\\\\\",[12308,21213,12309]],[[127560,127560],\\\\\\\"mapped\\\\\\\",[12308,25943,12309]],[[127561,127567],\\\\\\\"disallowed\\\\\\\"],[[127568,127568],\\\\\\\"mapped\\\\\\\",[24471]],[[127569,127569],\\\\\\\"mapped\\\\\\\",[21487]],[[127570,127743],\\\\\\\"disallowed\\\\\\\"],[[127744,127776],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127777,127788],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127789,127791],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127792,127797],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127798,127798],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127799,127868],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127869,127869],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127870,127871],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127872,127891],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127892,127903],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127904,127940],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127941,127941],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127942,127946],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127947,127950],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127951,127955],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127956,127967],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127968,127984],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127985,127991],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[127992,127999],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128000,128062],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128063,128063],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128064,128064],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128065,128065],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128066,128247],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128248,128248],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128249,128252],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128253,128254],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128255,128255],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128256,128317],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128318,128319],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128320,128323],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128324,128330],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128331,128335],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128336,128359],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128360,128377],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128378,128378],\\\\\\\"disallowed\\\\\\\"],[[128379,128419],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128420,128420],\\\\\\\"disallowed\\\\\\\"],[[128421,128506],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128507,128511],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128512,128512],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128513,128528],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128529,128529],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128530,128532],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128533,128533],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128534,128534],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128535,128535],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128536,128536],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128537,128537],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128538,128538],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128539,128539],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128540,128542],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128543,128543],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128544,128549],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128550,128551],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128552,128555],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128556,128556],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128557,128557],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128558,128559],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128560,128563],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128564,128564],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128565,128576],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128577,128578],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128579,128580],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128581,128591],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128592,128639],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128640,128709],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128710,128719],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128720,128720],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128721,128735],\\\\\\\"disallowed\\\\\\\"],[[128736,128748],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128749,128751],\\\\\\\"disallowed\\\\\\\"],[[128752,128755],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128756,128767],\\\\\\\"disallowed\\\\\\\"],[[128768,128883],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128884,128895],\\\\\\\"disallowed\\\\\\\"],[[128896,128980],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[128981,129023],\\\\\\\"disallowed\\\\\\\"],[[129024,129035],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129036,129039],\\\\\\\"disallowed\\\\\\\"],[[129040,129095],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129096,129103],\\\\\\\"disallowed\\\\\\\"],[[129104,129113],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129114,129119],\\\\\\\"disallowed\\\\\\\"],[[129120,129159],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129160,129167],\\\\\\\"disallowed\\\\\\\"],[[129168,129197],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129198,129295],\\\\\\\"disallowed\\\\\\\"],[[129296,129304],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129305,129407],\\\\\\\"disallowed\\\\\\\"],[[129408,129412],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129413,129471],\\\\\\\"disallowed\\\\\\\"],[[129472,129472],\\\\\\\"valid\\\\\\\",[],\\\\\\\"NV8\\\\\\\"],[[129473,131069],\\\\\\\"disallowed\\\\\\\"],[[131070,131071],\\\\\\\"disallowed\\\\\\\"],[[131072,173782],\\\\\\\"valid\\\\\\\"],[[173783,173823],\\\\\\\"disallowed\\\\\\\"],[[173824,177972],\\\\\\\"valid\\\\\\\"],[[177973,177983],\\\\\\\"disallowed\\\\\\\"],[[177984,178205],\\\\\\\"valid\\\\\\\"],[[178206,178207],\\\\\\\"disallowed\\\\\\\"],[[178208,183969],\\\\\\\"valid\\\\\\\"],[[183970,194559],\\\\\\\"disallowed\\\\\\\"],[[194560,194560],\\\\\\\"mapped\\\\\\\",[20029]],[[194561,194561],\\\\\\\"mapped\\\\\\\",[20024]],[[194562,194562],\\\\\\\"mapped\\\\\\\",[20033]],[[194563,194563],\\\\\\\"mapped\\\\\\\",[131362]],[[194564,194564],\\\\\\\"mapped\\\\\\\",[20320]],[[194565,194565],\\\\\\\"mapped\\\\\\\",[20398]],[[194566,194566],\\\\\\\"mapped\\\\\\\",[20411]],[[194567,194567],\\\\\\\"mapped\\\\\\\",[20482]],[[194568,194568],\\\\\\\"mapped\\\\\\\",[20602]],[[194569,194569],\\\\\\\"mapped\\\\\\\",[20633]],[[194570,194570],\\\\\\\"mapped\\\\\\\",[20711]],[[194571,194571],\\\\\\\"mapped\\\\\\\",[20687]],[[194572,194572],\\\\\\\"mapped\\\\\\\",[13470]],[[194573,194573],\\\\\\\"mapped\\\\\\\",[132666]],[[194574,194574],\\\\\\\"mapped\\\\\\\",[20813]],[[194575,194575],\\\\\\\"mapped\\\\\\\",[20820]],[[194576,194576],\\\\\\\"mapped\\\\\\\",[20836]],[[194577,194577],\\\\\\\"mapped\\\\\\\",[20855]],[[194578,194578],\\\\\\\"mapped\\\\\\\",[132380]],[[194579,194579],\\\\\\\"mapped\\\\\\\",[13497]],[[194580,194580],\\\\\\\"mapped\\\\\\\",[20839]],[[194581,194581],\\\\\\\"mapped\\\\\\\",[20877]],[[194582,194582],\\\\\\\"mapped\\\\\\\",[132427]],[[194583,194583],\\\\\\\"mapped\\\\\\\",[20887]],[[194584,194584],\\\\\\\"mapped\\\\\\\",[20900]],[[194585,194585],\\\\\\\"mapped\\\\\\\",[20172]],[[194586,194586],\\\\\\\"mapped\\\\\\\",[20908]],[[194587,194587],\\\\\\\"mapped\\\\\\\",[20917]],[[194588,194588],\\\\\\\"mapped\\\\\\\",[168415]],[[194589,194589],\\\\\\\"mapped\\\\\\\",[20981]],[[194590,194590],\\\\\\\"mapped\\\\\\\",[20995]],[[194591,194591],\\\\\\\"mapped\\\\\\\",[13535]],[[194592,194592],\\\\\\\"mapped\\\\\\\",[21051]],[[194593,194593],\\\\\\\"mapped\\\\\\\",[21062]],[[194594,194594],\\\\\\\"mapped\\\\\\\",[21106]],[[194595,194595],\\\\\\\"mapped\\\\\\\",[21111]],[[194596,194596],\\\\\\\"mapped\\\\\\\",[13589]],[[194597,194597],\\\\\\\"mapped\\\\\\\",[21191]],[[194598,194598],\\\\\\\"mapped\\\\\\\",[21193]],[[194599,194599],\\\\\\\"mapped\\\\\\\",[21220]],[[194600,194600],\\\\\\\"mapped\\\\\\\",[21242]],[[194601,194601],\\\\\\\"mapped\\\\\\\",[21253]],[[194602,194602],\\\\\\\"mapped\\\\\\\",[21254]],[[194603,194603],\\\\\\\"mapped\\\\\\\",[21271]],[[194604,194604],\\\\\\\"mapped\\\\\\\",[21321]],[[194605,194605],\\\\\\\"mapped\\\\\\\",[21329]],[[194606,194606],\\\\\\\"mapped\\\\\\\",[21338]],[[194607,194607],\\\\\\\"mapped\\\\\\\",[21363]],[[194608,194608],\\\\\\\"mapped\\\\\\\",[21373]],[[194609,194611],\\\\\\\"mapped\\\\\\\",[21375]],[[194612,194612],\\\\\\\"mapped\\\\\\\",[133676]],[[194613,194613],\\\\\\\"mapped\\\\\\\",[28784]],[[194614,194614],\\\\\\\"mapped\\\\\\\",[21450]],[[194615,194615],\\\\\\\"mapped\\\\\\\",[21471]],[[194616,194616],\\\\\\\"mapped\\\\\\\",[133987]],[[194617,194617],\\\\\\\"mapped\\\\\\\",[21483]],[[194618,194618],\\\\\\\"mapped\\\\\\\",[21489]],[[194619,194619],\\\\\\\"mapped\\\\\\\",[21510]],[[194620,194620],\\\\\\\"mapped\\\\\\\",[21662]],[[194621,194621],\\\\\\\"mapped\\\\\\\",[21560]],[[194622,194622],\\\\\\\"mapped\\\\\\\",[21576]],[[194623,194623],\\\\\\\"mapped\\\\\\\",[21608]],[[194624,194624],\\\\\\\"mapped\\\\\\\",[21666]],[[194625,194625],\\\\\\\"mapped\\\\\\\",[21750]],[[194626,194626],\\\\\\\"mapped\\\\\\\",[21776]],[[194627,194627],\\\\\\\"mapped\\\\\\\",[21843]],[[194628,194628],\\\\\\\"mapped\\\\\\\",[21859]],[[194629,194630],\\\\\\\"mapped\\\\\\\",[21892]],[[194631,194631],\\\\\\\"mapped\\\\\\\",[21913]],[[194632,194632],\\\\\\\"mapped\\\\\\\",[21931]],[[194633,194633],\\\\\\\"mapped\\\\\\\",[21939]],[[194634,194634],\\\\\\\"mapped\\\\\\\",[21954]],[[194635,194635],\\\\\\\"mapped\\\\\\\",[22294]],[[194636,194636],\\\\\\\"mapped\\\\\\\",[22022]],[[194637,194637],\\\\\\\"mapped\\\\\\\",[22295]],[[194638,194638],\\\\\\\"mapped\\\\\\\",[22097]],[[194639,194639],\\\\\\\"mapped\\\\\\\",[22132]],[[194640,194640],\\\\\\\"mapped\\\\\\\",[20999]],[[194641,194641],\\\\\\\"mapped\\\\\\\",[22766]],[[194642,194642],\\\\\\\"mapped\\\\\\\",[22478]],[[194643,194643],\\\\\\\"mapped\\\\\\\",[22516]],[[194644,194644],\\\\\\\"mapped\\\\\\\",[22541]],[[194645,194645],\\\\\\\"mapped\\\\\\\",[22411]],[[194646,194646],\\\\\\\"mapped\\\\\\\",[22578]],[[194647,194647],\\\\\\\"mapped\\\\\\\",[22577]],[[194648,194648],\\\\\\\"mapped\\\\\\\",[22700]],[[194649,194649],\\\\\\\"mapped\\\\\\\",[136420]],[[194650,194650],\\\\\\\"mapped\\\\\\\",[22770]],[[194651,194651],\\\\\\\"mapped\\\\\\\",[22775]],[[194652,194652],\\\\\\\"mapped\\\\\\\",[22790]],[[194653,194653],\\\\\\\"mapped\\\\\\\",[22810]],[[194654,194654],\\\\\\\"mapped\\\\\\\",[22818]],[[194655,194655],\\\\\\\"mapped\\\\\\\",[22882]],[[194656,194656],\\\\\\\"mapped\\\\\\\",[136872]],[[194657,194657],\\\\\\\"mapped\\\\\\\",[136938]],[[194658,194658],\\\\\\\"mapped\\\\\\\",[23020]],[[194659,194659],\\\\\\\"mapped\\\\\\\",[23067]],[[194660,194660],\\\\\\\"mapped\\\\\\\",[23079]],[[194661,194661],\\\\\\\"mapped\\\\\\\",[23000]],[[194662,194662],\\\\\\\"mapped\\\\\\\",[23142]],[[194663,194663],\\\\\\\"mapped\\\\\\\",[14062]],[[194664,194664],\\\\\\\"disallowed\\\\\\\"],[[194665,194665],\\\\\\\"mapped\\\\\\\",[23304]],[[194666,194667],\\\\\\\"mapped\\\\\\\",[23358]],[[194668,194668],\\\\\\\"mapped\\\\\\\",[137672]],[[194669,194669],\\\\\\\"mapped\\\\\\\",[23491]],[[194670,194670],\\\\\\\"mapped\\\\\\\",[23512]],[[194671,194671],\\\\\\\"mapped\\\\\\\",[23527]],[[194672,194672],\\\\\\\"mapped\\\\\\\",[23539]],[[194673,194673],\\\\\\\"mapped\\\\\\\",[138008]],[[194674,194674],\\\\\\\"mapped\\\\\\\",[23551]],[[194675,194675],\\\\\\\"mapped\\\\\\\",[23558]],[[194676,194676],\\\\\\\"disallowed\\\\\\\"],[[194677,194677],\\\\\\\"mapped\\\\\\\",[23586]],[[194678,194678],\\\\\\\"mapped\\\\\\\",[14209]],[[194679,194679],\\\\\\\"mapped\\\\\\\",[23648]],[[194680,194680],\\\\\\\"mapped\\\\\\\",[23662]],[[194681,194681],\\\\\\\"mapped\\\\\\\",[23744]],[[194682,194682],\\\\\\\"mapped\\\\\\\",[23693]],[[194683,194683],\\\\\\\"mapped\\\\\\\",[138724]],[[194684,194684],\\\\\\\"mapped\\\\\\\",[23875]],[[194685,194685],\\\\\\\"mapped\\\\\\\",[138726]],[[194686,194686],\\\\\\\"mapped\\\\\\\",[23918]],[[194687,194687],\\\\\\\"mapped\\\\\\\",[23915]],[[194688,194688],\\\\\\\"mapped\\\\\\\",[23932]],[[194689,194689],\\\\\\\"mapped\\\\\\\",[24033]],[[194690,194690],\\\\\\\"mapped\\\\\\\",[24034]],[[194691,194691],\\\\\\\"mapped\\\\\\\",[14383]],[[194692,194692],\\\\\\\"mapped\\\\\\\",[24061]],[[194693,194693],\\\\\\\"mapped\\\\\\\",[24104]],[[194694,194694],\\\\\\\"mapped\\\\\\\",[24125]],[[194695,194695],\\\\\\\"mapped\\\\\\\",[24169]],[[194696,194696],\\\\\\\"mapped\\\\\\\",[14434]],[[194697,194697],\\\\\\\"mapped\\\\\\\",[139651]],[[194698,194698],\\\\\\\"mapped\\\\\\\",[14460]],[[194699,194699],\\\\\\\"mapped\\\\\\\",[24240]],[[194700,194700],\\\\\\\"mapped\\\\\\\",[24243]],[[194701,194701],\\\\\\\"mapped\\\\\\\",[24246]],[[194702,194702],\\\\\\\"mapped\\\\\\\",[24266]],[[194703,194703],\\\\\\\"mapped\\\\\\\",[172946]],[[194704,194704],\\\\\\\"mapped\\\\\\\",[24318]],[[194705,194706],\\\\\\\"mapped\\\\\\\",[140081]],[[194707,194707],\\\\\\\"mapped\\\\\\\",[33281]],[[194708,194709],\\\\\\\"mapped\\\\\\\",[24354]],[[194710,194710],\\\\\\\"mapped\\\\\\\",[14535]],[[194711,194711],\\\\\\\"mapped\\\\\\\",[144056]],[[194712,194712],\\\\\\\"mapped\\\\\\\",[156122]],[[194713,194713],\\\\\\\"mapped\\\\\\\",[24418]],[[194714,194714],\\\\\\\"mapped\\\\\\\",[24427]],[[194715,194715],\\\\\\\"mapped\\\\\\\",[14563]],[[194716,194716],\\\\\\\"mapped\\\\\\\",[24474]],[[194717,194717],\\\\\\\"mapped\\\\\\\",[24525]],[[194718,194718],\\\\\\\"mapped\\\\\\\",[24535]],[[194719,194719],\\\\\\\"mapped\\\\\\\",[24569]],[[194720,194720],\\\\\\\"mapped\\\\\\\",[24705]],[[194721,194721],\\\\\\\"mapped\\\\\\\",[14650]],[[194722,194722],\\\\\\\"mapped\\\\\\\",[14620]],[[194723,194723],\\\\\\\"mapped\\\\\\\",[24724]],[[194724,194724],\\\\\\\"mapped\\\\\\\",[141012]],[[194725,194725],\\\\\\\"mapped\\\\\\\",[24775]],[[194726,194726],\\\\\\\"mapped\\\\\\\",[24904]],[[194727,194727],\\\\\\\"mapped\\\\\\\",[24908]],[[194728,194728],\\\\\\\"mapped\\\\\\\",[24910]],[[194729,194729],\\\\\\\"mapped\\\\\\\",[24908]],[[194730,194730],\\\\\\\"mapped\\\\\\\",[24954]],[[194731,194731],\\\\\\\"mapped\\\\\\\",[24974]],[[194732,194732],\\\\\\\"mapped\\\\\\\",[25010]],[[194733,194733],\\\\\\\"mapped\\\\\\\",[24996]],[[194734,194734],\\\\\\\"mapped\\\\\\\",[25007]],[[194735,194735],\\\\\\\"mapped\\\\\\\",[25054]],[[194736,194736],\\\\\\\"mapped\\\\\\\",[25074]],[[194737,194737],\\\\\\\"mapped\\\\\\\",[25078]],[[194738,194738],\\\\\\\"mapped\\\\\\\",[25104]],[[194739,194739],\\\\\\\"mapped\\\\\\\",[25115]],[[194740,194740],\\\\\\\"mapped\\\\\\\",[25181]],[[194741,194741],\\\\\\\"mapped\\\\\\\",[25265]],[[194742,194742],\\\\\\\"mapped\\\\\\\",[25300]],[[194743,194743],\\\\\\\"mapped\\\\\\\",[25424]],[[194744,194744],\\\\\\\"mapped\\\\\\\",[142092]],[[194745,194745],\\\\\\\"mapped\\\\\\\",[25405]],[[194746,194746],\\\\\\\"mapped\\\\\\\",[25340]],[[194747,194747],\\\\\\\"mapped\\\\\\\",[25448]],[[194748,194748],\\\\\\\"mapped\\\\\\\",[25475]],[[194749,194749],\\\\\\\"mapped\\\\\\\",[25572]],[[194750,194750],\\\\\\\"mapped\\\\\\\",[142321]],[[194751,194751],\\\\\\\"mapped\\\\\\\",[25634]],[[194752,194752],\\\\\\\"mapped\\\\\\\",[25541]],[[194753,194753],\\\\\\\"mapped\\\\\\\",[25513]],[[194754,194754],\\\\\\\"mapped\\\\\\\",[14894]],[[194755,194755],\\\\\\\"mapped\\\\\\\",[25705]],[[194756,194756],\\\\\\\"mapped\\\\\\\",[25726]],[[194757,194757],\\\\\\\"mapped\\\\\\\",[25757]],[[194758,194758],\\\\\\\"mapped\\\\\\\",[25719]],[[194759,194759],\\\\\\\"mapped\\\\\\\",[14956]],[[194760,194760],\\\\\\\"mapped\\\\\\\",[25935]],[[194761,194761],\\\\\\\"mapped\\\\\\\",[25964]],[[194762,194762],\\\\\\\"mapped\\\\\\\",[143370]],[[194763,194763],\\\\\\\"mapped\\\\\\\",[26083]],[[194764,194764],\\\\\\\"mapped\\\\\\\",[26360]],[[194765,194765],\\\\\\\"mapped\\\\\\\",[26185]],[[194766,194766],\\\\\\\"mapped\\\\\\\",[15129]],[[194767,194767],\\\\\\\"mapped\\\\\\\",[26257]],[[194768,194768],\\\\\\\"mapped\\\\\\\",[15112]],[[194769,194769],\\\\\\\"mapped\\\\\\\",[15076]],[[194770,194770],\\\\\\\"mapped\\\\\\\",[20882]],[[194771,194771],\\\\\\\"mapped\\\\\\\",[20885]],[[194772,194772],\\\\\\\"mapped\\\\\\\",[26368]],[[194773,194773],\\\\\\\"mapped\\\\\\\",[26268]],[[194774,194774],\\\\\\\"mapped\\\\\\\",[32941]],[[194775,194775],\\\\\\\"mapped\\\\\\\",[17369]],[[194776,194776],\\\\\\\"mapped\\\\\\\",[26391]],[[194777,194777],\\\\\\\"mapped\\\\\\\",[26395]],[[194778,194778],\\\\\\\"mapped\\\\\\\",[26401]],[[194779,194779],\\\\\\\"mapped\\\\\\\",[26462]],[[194780,194780],\\\\\\\"mapped\\\\\\\",[26451]],[[194781,194781],\\\\\\\"mapped\\\\\\\",[144323]],[[194782,194782],\\\\\\\"mapped\\\\\\\",[15177]],[[194783,194783],\\\\\\\"mapped\\\\\\\",[26618]],[[194784,194784],\\\\\\\"mapped\\\\\\\",[26501]],[[194785,194785],\\\\\\\"mapped\\\\\\\",[26706]],[[194786,194786],\\\\\\\"mapped\\\\\\\",[26757]],[[194787,194787],\\\\\\\"mapped\\\\\\\",[144493]],[[194788,194788],\\\\\\\"mapped\\\\\\\",[26766]],[[194789,194789],\\\\\\\"mapped\\\\\\\",[26655]],[[194790,194790],\\\\\\\"mapped\\\\\\\",[26900]],[[194791,194791],\\\\\\\"mapped\\\\\\\",[15261]],[[194792,194792],\\\\\\\"mapped\\\\\\\",[26946]],[[194793,194793],\\\\\\\"mapped\\\\\\\",[27043]],[[194794,194794],\\\\\\\"mapped\\\\\\\",[27114]],[[194795,194795],\\\\\\\"mapped\\\\\\\",[27304]],[[194796,194796],\\\\\\\"mapped\\\\\\\",[145059]],[[194797,194797],\\\\\\\"mapped\\\\\\\",[27355]],[[194798,194798],\\\\\\\"mapped\\\\\\\",[15384]],[[194799,194799],\\\\\\\"mapped\\\\\\\",[27425]],[[194800,194800],\\\\\\\"mapped\\\\\\\",[145575]],[[194801,194801],\\\\\\\"mapped\\\\\\\",[27476]],[[194802,194802],\\\\\\\"mapped\\\\\\\",[15438]],[[194803,194803],\\\\\\\"mapped\\\\\\\",[27506]],[[194804,194804],\\\\\\\"mapped\\\\\\\",[27551]],[[194805,194805],\\\\\\\"mapped\\\\\\\",[27578]],[[194806,194806],\\\\\\\"mapped\\\\\\\",[27579]],[[194807,194807],\\\\\\\"mapped\\\\\\\",[146061]],[[194808,194808],\\\\\\\"mapped\\\\\\\",[138507]],[[194809,194809],\\\\\\\"mapped\\\\\\\",[146170]],[[194810,194810],\\\\\\\"mapped\\\\\\\",[27726]],[[194811,194811],\\\\\\\"mapped\\\\\\\",[146620]],[[194812,194812],\\\\\\\"mapped\\\\\\\",[27839]],[[194813,194813],\\\\\\\"mapped\\\\\\\",[27853]],[[194814,194814],\\\\\\\"mapped\\\\\\\",[27751]],[[194815,194815],\\\\\\\"mapped\\\\\\\",[27926]],[[194816,194816],\\\\\\\"mapped\\\\\\\",[27966]],[[194817,194817],\\\\\\\"mapped\\\\\\\",[28023]],[[194818,194818],\\\\\\\"mapped\\\\\\\",[27969]],[[194819,194819],\\\\\\\"mapped\\\\\\\",[28009]],[[194820,194820],\\\\\\\"mapped\\\\\\\",[28024]],[[194821,194821],\\\\\\\"mapped\\\\\\\",[28037]],[[194822,194822],\\\\\\\"mapped\\\\\\\",[146718]],[[194823,194823],\\\\\\\"mapped\\\\\\\",[27956]],[[194824,194824],\\\\\\\"mapped\\\\\\\",[28207]],[[194825,194825],\\\\\\\"mapped\\\\\\\",[28270]],[[194826,194826],\\\\\\\"mapped\\\\\\\",[15667]],[[194827,194827],\\\\\\\"mapped\\\\\\\",[28363]],[[194828,194828],\\\\\\\"mapped\\\\\\\",[28359]],[[194829,194829],\\\\\\\"mapped\\\\\\\",[147153]],[[194830,194830],\\\\\\\"mapped\\\\\\\",[28153]],[[194831,194831],\\\\\\\"mapped\\\\\\\",[28526]],[[194832,194832],\\\\\\\"mapped\\\\\\\",[147294]],[[194833,194833],\\\\\\\"mapped\\\\\\\",[147342]],[[194834,194834],\\\\\\\"mapped\\\\\\\",[28614]],[[194835,194835],\\\\\\\"mapped\\\\\\\",[28729]],[[194836,194836],\\\\\\\"mapped\\\\\\\",[28702]],[[194837,194837],\\\\\\\"mapped\\\\\\\",[28699]],[[194838,194838],\\\\\\\"mapped\\\\\\\",[15766]],[[194839,194839],\\\\\\\"mapped\\\\\\\",[28746]],[[194840,194840],\\\\\\\"mapped\\\\\\\",[28797]],[[194841,194841],\\\\\\\"mapped\\\\\\\",[28791]],[[194842,194842],\\\\\\\"mapped\\\\\\\",[28845]],[[194843,194843],\\\\\\\"mapped\\\\\\\",[132389]],[[194844,194844],\\\\\\\"mapped\\\\\\\",[28997]],[[194845,194845],\\\\\\\"mapped\\\\\\\",[148067]],[[194846,194846],\\\\\\\"mapped\\\\\\\",[29084]],[[194847,194847],\\\\\\\"disallowed\\\\\\\"],[[194848,194848],\\\\\\\"mapped\\\\\\\",[29224]],[[194849,194849],\\\\\\\"mapped\\\\\\\",[29237]],[[194850,194850],\\\\\\\"mapped\\\\\\\",[29264]],[[194851,194851],\\\\\\\"mapped\\\\\\\",[149000]],[[194852,194852],\\\\\\\"mapped\\\\\\\",[29312]],[[194853,194853],\\\\\\\"mapped\\\\\\\",[29333]],[[194854,194854],\\\\\\\"mapped\\\\\\\",[149301]],[[194855,194855],\\\\\\\"mapped\\\\\\\",[149524]],[[194856,194856],\\\\\\\"mapped\\\\\\\",[29562]],[[194857,194857],\\\\\\\"mapped\\\\\\\",[29579]],[[194858,194858],\\\\\\\"mapped\\\\\\\",[16044]],[[194859,194859],\\\\\\\"mapped\\\\\\\",[29605]],[[194860,194861],\\\\\\\"mapped\\\\\\\",[16056]],[[194862,194862],\\\\\\\"mapped\\\\\\\",[29767]],[[194863,194863],\\\\\\\"mapped\\\\\\\",[29788]],[[194864,194864],\\\\\\\"mapped\\\\\\\",[29809]],[[194865,194865],\\\\\\\"mapped\\\\\\\",[29829]],[[194866,194866],\\\\\\\"mapped\\\\\\\",[29898]],[[194867,194867],\\\\\\\"mapped\\\\\\\",[16155]],[[194868,194868],\\\\\\\"mapped\\\\\\\",[29988]],[[194869,194869],\\\\\\\"mapped\\\\\\\",[150582]],[[194870,194870],\\\\\\\"mapped\\\\\\\",[30014]],[[194871,194871],\\\\\\\"mapped\\\\\\\",[150674]],[[194872,194872],\\\\\\\"mapped\\\\\\\",[30064]],[[194873,194873],\\\\\\\"mapped\\\\\\\",[139679]],[[194874,194874],\\\\\\\"mapped\\\\\\\",[30224]],[[194875,194875],\\\\\\\"mapped\\\\\\\",[151457]],[[194876,194876],\\\\\\\"mapped\\\\\\\",[151480]],[[194877,194877],\\\\\\\"mapped\\\\\\\",[151620]],[[194878,194878],\\\\\\\"mapped\\\\\\\",[16380]],[[194879,194879],\\\\\\\"mapped\\\\\\\",[16392]],[[194880,194880],\\\\\\\"mapped\\\\\\\",[30452]],[[194881,194881],\\\\\\\"mapped\\\\\\\",[151795]],[[194882,194882],\\\\\\\"mapped\\\\\\\",[151794]],[[194883,194883],\\\\\\\"mapped\\\\\\\",[151833]],[[194884,194884],\\\\\\\"mapped\\\\\\\",[151859]],[[194885,194885],\\\\\\\"mapped\\\\\\\",[30494]],[[194886,194887],\\\\\\\"mapped\\\\\\\",[30495]],[[194888,194888],\\\\\\\"mapped\\\\\\\",[30538]],[[194889,194889],\\\\\\\"mapped\\\\\\\",[16441]],[[194890,194890],\\\\\\\"mapped\\\\\\\",[30603]],[[194891,194891],\\\\\\\"mapped\\\\\\\",[16454]],[[194892,194892],\\\\\\\"mapped\\\\\\\",[16534]],[[194893,194893],\\\\\\\"mapped\\\\\\\",[152605]],[[194894,194894],\\\\\\\"mapped\\\\\\\",[30798]],[[194895,194895],\\\\\\\"mapped\\\\\\\",[30860]],[[194896,194896],\\\\\\\"mapped\\\\\\\",[30924]],[[194897,194897],\\\\\\\"mapped\\\\\\\",[16611]],[[194898,194898],\\\\\\\"mapped\\\\\\\",[153126]],[[194899,194899],\\\\\\\"mapped\\\\\\\",[31062]],[[194900,194900],\\\\\\\"mapped\\\\\\\",[153242]],[[194901,194901],\\\\\\\"mapped\\\\\\\",[153285]],[[194902,194902],\\\\\\\"mapped\\\\\\\",[31119]],[[194903,194903],\\\\\\\"mapped\\\\\\\",[31211]],[[194904,194904],\\\\\\\"mapped\\\\\\\",[16687]],[[194905,194905],\\\\\\\"mapped\\\\\\\",[31296]],[[194906,194906],\\\\\\\"mapped\\\\\\\",[31306]],[[194907,194907],\\\\\\\"mapped\\\\\\\",[31311]],[[194908,194908],\\\\\\\"mapped\\\\\\\",[153980]],[[194909,194910],\\\\\\\"mapped\\\\\\\",[154279]],[[194911,194911],\\\\\\\"disallowed\\\\\\\"],[[194912,194912],\\\\\\\"mapped\\\\\\\",[16898]],[[194913,194913],\\\\\\\"mapped\\\\\\\",[154539]],[[194914,194914],\\\\\\\"mapped\\\\\\\",[31686]],[[194915,194915],\\\\\\\"mapped\\\\\\\",[31689]],[[194916,194916],\\\\\\\"mapped\\\\\\\",[16935]],[[194917,194917],\\\\\\\"mapped\\\\\\\",[154752]],[[194918,194918],\\\\\\\"mapped\\\\\\\",[31954]],[[194919,194919],\\\\\\\"mapped\\\\\\\",[17056]],[[194920,194920],\\\\\\\"mapped\\\\\\\",[31976]],[[194921,194921],\\\\\\\"mapped\\\\\\\",[31971]],[[194922,194922],\\\\\\\"mapped\\\\\\\",[32000]],[[194923,194923],\\\\\\\"mapped\\\\\\\",[155526]],[[194924,194924],\\\\\\\"mapped\\\\\\\",[32099]],[[194925,194925],\\\\\\\"mapped\\\\\\\",[17153]],[[194926,194926],\\\\\\\"mapped\\\\\\\",[32199]],[[194927,194927],\\\\\\\"mapped\\\\\\\",[32258]],[[194928,194928],\\\\\\\"mapped\\\\\\\",[32325]],[[194929,194929],\\\\\\\"mapped\\\\\\\",[17204]],[[194930,194930],\\\\\\\"mapped\\\\\\\",[156200]],[[194931,194931],\\\\\\\"mapped\\\\\\\",[156231]],[[194932,194932],\\\\\\\"mapped\\\\\\\",[17241]],[[194933,194933],\\\\\\\"mapped\\\\\\\",[156377]],[[194934,194934],\\\\\\\"mapped\\\\\\\",[32634]],[[194935,194935],\\\\\\\"mapped\\\\\\\",[156478]],[[194936,194936],\\\\\\\"mapped\\\\\\\",[32661]],[[194937,194937],\\\\\\\"mapped\\\\\\\",[32762]],[[194938,194938],\\\\\\\"mapped\\\\\\\",[32773]],[[194939,194939],\\\\\\\"mapped\\\\\\\",[156890]],[[194940,194940],\\\\\\\"mapped\\\\\\\",[156963]],[[194941,194941],\\\\\\\"mapped\\\\\\\",[32864]],[[194942,194942],\\\\\\\"mapped\\\\\\\",[157096]],[[194943,194943],\\\\\\\"mapped\\\\\\\",[32880]],[[194944,194944],\\\\\\\"mapped\\\\\\\",[144223]],[[194945,194945],\\\\\\\"mapped\\\\\\\",[17365]],[[194946,194946],\\\\\\\"mapped\\\\\\\",[32946]],[[194947,194947],\\\\\\\"mapped\\\\\\\",[33027]],[[194948,194948],\\\\\\\"mapped\\\\\\\",[17419]],[[194949,194949],\\\\\\\"mapped\\\\\\\",[33086]],[[194950,194950],\\\\\\\"mapped\\\\\\\",[23221]],[[194951,194951],\\\\\\\"mapped\\\\\\\",[157607]],[[194952,194952],\\\\\\\"mapped\\\\\\\",[157621]],[[194953,194953],\\\\\\\"mapped\\\\\\\",[144275]],[[194954,194954],\\\\\\\"mapped\\\\\\\",[144284]],[[194955,194955],\\\\\\\"mapped\\\\\\\",[33281]],[[194956,194956],\\\\\\\"mapped\\\\\\\",[33284]],[[194957,194957],\\\\\\\"mapped\\\\\\\",[36766]],[[194958,194958],\\\\\\\"mapped\\\\\\\",[17515]],[[194959,194959],\\\\\\\"mapped\\\\\\\",[33425]],[[194960,194960],\\\\\\\"mapped\\\\\\\",[33419]],[[194961,194961],\\\\\\\"mapped\\\\\\\",[33437]],[[194962,194962],\\\\\\\"mapped\\\\\\\",[21171]],[[194963,194963],\\\\\\\"mapped\\\\\\\",[33457]],[[194964,194964],\\\\\\\"mapped\\\\\\\",[33459]],[[194965,194965],\\\\\\\"mapped\\\\\\\",[33469]],[[194966,194966],\\\\\\\"mapped\\\\\\\",[33510]],[[194967,194967],\\\\\\\"mapped\\\\\\\",[158524]],[[194968,194968],\\\\\\\"mapped\\\\\\\",[33509]],[[194969,194969],\\\\\\\"mapped\\\\\\\",[33565]],[[194970,194970],\\\\\\\"mapped\\\\\\\",[33635]],[[194971,194971],\\\\\\\"mapped\\\\\\\",[33709]],[[194972,194972],\\\\\\\"mapped\\\\\\\",[33571]],[[194973,194973],\\\\\\\"mapped\\\\\\\",[33725]],[[194974,194974],\\\\\\\"mapped\\\\\\\",[33767]],[[194975,194975],\\\\\\\"mapped\\\\\\\",[33879]],[[194976,194976],\\\\\\\"mapped\\\\\\\",[33619]],[[194977,194977],\\\\\\\"mapped\\\\\\\",[33738]],[[194978,194978],\\\\\\\"mapped\\\\\\\",[33740]],[[194979,194979],\\\\\\\"mapped\\\\\\\",[33756]],[[194980,194980],\\\\\\\"mapped\\\\\\\",[158774]],[[194981,194981],\\\\\\\"mapped\\\\\\\",[159083]],[[194982,194982],\\\\\\\"mapped\\\\\\\",[158933]],[[194983,194983],\\\\\\\"mapped\\\\\\\",[17707]],[[194984,194984],\\\\\\\"mapped\\\\\\\",[34033]],[[194985,194985],\\\\\\\"mapped\\\\\\\",[34035]],[[194986,194986],\\\\\\\"mapped\\\\\\\",[34070]],[[194987,194987],\\\\\\\"mapped\\\\\\\",[160714]],[[194988,194988],\\\\\\\"mapped\\\\\\\",[34148]],[[194989,194989],\\\\\\\"mapped\\\\\\\",[159532]],[[194990,194990],\\\\\\\"mapped\\\\\\\",[17757]],[[194991,194991],\\\\\\\"mapped\\\\\\\",[17761]],[[194992,194992],\\\\\\\"mapped\\\\\\\",[159665]],[[194993,194993],\\\\\\\"mapped\\\\\\\",[159954]],[[194994,194994],\\\\\\\"mapped\\\\\\\",[17771]],[[194995,194995],\\\\\\\"mapped\\\\\\\",[34384]],[[194996,194996],\\\\\\\"mapped\\\\\\\",[34396]],[[194997,194997],\\\\\\\"mapped\\\\\\\",[34407]],[[194998,194998],\\\\\\\"mapped\\\\\\\",[34409]],[[194999,194999],\\\\\\\"mapped\\\\\\\",[34473]],[[195000,195000],\\\\\\\"mapped\\\\\\\",[34440]],[[195001,195001],\\\\\\\"mapped\\\\\\\",[34574]],[[195002,195002],\\\\\\\"mapped\\\\\\\",[34530]],[[195003,195003],\\\\\\\"mapped\\\\\\\",[34681]],[[195004,195004],\\\\\\\"mapped\\\\\\\",[34600]],[[195005,195005],\\\\\\\"mapped\\\\\\\",[34667]],[[195006,195006],\\\\\\\"mapped\\\\\\\",[34694]],[[195007,195007],\\\\\\\"disallowed\\\\\\\"],[[195008,195008],\\\\\\\"mapped\\\\\\\",[34785]],[[195009,195009],\\\\\\\"mapped\\\\\\\",[34817]],[[195010,195010],\\\\\\\"mapped\\\\\\\",[17913]],[[195011,195011],\\\\\\\"mapped\\\\\\\",[34912]],[[195012,195012],\\\\\\\"mapped\\\\\\\",[34915]],[[195013,195013],\\\\\\\"mapped\\\\\\\",[161383]],[[195014,195014],\\\\\\\"mapped\\\\\\\",[35031]],[[195015,195015],\\\\\\\"mapped\\\\\\\",[35038]],[[195016,195016],\\\\\\\"mapped\\\\\\\",[17973]],[[195017,195017],\\\\\\\"mapped\\\\\\\",[35066]],[[195018,195018],\\\\\\\"mapped\\\\\\\",[13499]],[[195019,195019],\\\\\\\"mapped\\\\\\\",[161966]],[[195020,195020],\\\\\\\"mapped\\\\\\\",[162150]],[[195021,195021],\\\\\\\"mapped\\\\\\\",[18110]],[[195022,195022],\\\\\\\"mapped\\\\\\\",[18119]],[[195023,195023],\\\\\\\"mapped\\\\\\\",[35488]],[[195024,195024],\\\\\\\"mapped\\\\\\\",[35565]],[[195025,195025],\\\\\\\"mapped\\\\\\\",[35722]],[[195026,195026],\\\\\\\"mapped\\\\\\\",[35925]],[[195027,195027],\\\\\\\"mapped\\\\\\\",[162984]],[[195028,195028],\\\\\\\"mapped\\\\\\\",[36011]],[[195029,195029],\\\\\\\"mapped\\\\\\\",[36033]],[[195030,195030],\\\\\\\"mapped\\\\\\\",[36123]],[[195031,195031],\\\\\\\"mapped\\\\\\\",[36215]],[[195032,195032],\\\\\\\"mapped\\\\\\\",[163631]],[[195033,195033],\\\\\\\"mapped\\\\\\\",[133124]],[[195034,195034],\\\\\\\"mapped\\\\\\\",[36299]],[[195035,195035],\\\\\\\"mapped\\\\\\\",[36284]],[[195036,195036],\\\\\\\"mapped\\\\\\\",[36336]],[[195037,195037],\\\\\\\"mapped\\\\\\\",[133342]],[[195038,195038],\\\\\\\"mapped\\\\\\\",[36564]],[[195039,195039],\\\\\\\"mapped\\\\\\\",[36664]],[[195040,195040],\\\\\\\"mapped\\\\\\\",[165330]],[[195041,195041],\\\\\\\"mapped\\\\\\\",[165357]],[[195042,195042],\\\\\\\"mapped\\\\\\\",[37012]],[[195043,195043],\\\\\\\"mapped\\\\\\\",[37105]],[[195044,195044],\\\\\\\"mapped\\\\\\\",[37137]],[[195045,195045],\\\\\\\"mapped\\\\\\\",[165678]],[[195046,195046],\\\\\\\"mapped\\\\\\\",[37147]],[[195047,195047],\\\\\\\"mapped\\\\\\\",[37432]],[[195048,195048],\\\\\\\"mapped\\\\\\\",[37591]],[[195049,195049],\\\\\\\"mapped\\\\\\\",[37592]],[[195050,195050],\\\\\\\"mapped\\\\\\\",[37500]],[[195051,195051],\\\\\\\"mapped\\\\\\\",[37881]],[[195052,195052],\\\\\\\"mapped\\\\\\\",[37909]],[[195053,195053],\\\\\\\"mapped\\\\\\\",[166906]],[[195054,195054],\\\\\\\"mapped\\\\\\\",[38283]],[[195055,195055],\\\\\\\"mapped\\\\\\\",[18837]],[[195056,195056],\\\\\\\"mapped\\\\\\\",[38327]],[[195057,195057],\\\\\\\"mapped\\\\\\\",[167287]],[[195058,195058],\\\\\\\"mapped\\\\\\\",[18918]],[[195059,195059],\\\\\\\"mapped\\\\\\\",[38595]],[[195060,195060],\\\\\\\"mapped\\\\\\\",[23986]],[[195061,195061],\\\\\\\"mapped\\\\\\\",[38691]],[[195062,195062],\\\\\\\"mapped\\\\\\\",[168261]],[[195063,195063],\\\\\\\"mapped\\\\\\\",[168474]],[[195064,195064],\\\\\\\"mapped\\\\\\\",[19054]],[[195065,195065],\\\\\\\"mapped\\\\\\\",[19062]],[[195066,195066],\\\\\\\"mapped\\\\\\\",[38880]],[[195067,195067],\\\\\\\"mapped\\\\\\\",[168970]],[[195068,195068],\\\\\\\"mapped\\\\\\\",[19122]],[[195069,195069],\\\\\\\"mapped\\\\\\\",[169110]],[[195070,195071],\\\\\\\"mapped\\\\\\\",[38923]],[[195072,195072],\\\\\\\"mapped\\\\\\\",[38953]],[[195073,195073],\\\\\\\"mapped\\\\\\\",[169398]],[[195074,195074],\\\\\\\"mapped\\\\\\\",[39138]],[[195075,195075],\\\\\\\"mapped\\\\\\\",[19251]],[[195076,195076],\\\\\\\"mapped\\\\\\\",[39209]],[[195077,195077],\\\\\\\"mapped\\\\\\\",[39335]],[[195078,195078],\\\\\\\"mapped\\\\\\\",[39362]],[[195079,195079],\\\\\\\"mapped\\\\\\\",[39422]],[[195080,195080],\\\\\\\"mapped\\\\\\\",[19406]],[[195081,195081],\\\\\\\"mapped\\\\\\\",[170800]],[[195082,195082],\\\\\\\"mapped\\\\\\\",[39698]],[[195083,195083],\\\\\\\"mapped\\\\\\\",[40000]],[[195084,195084],\\\\\\\"mapped\\\\\\\",[40189]],[[195085,195085],\\\\\\\"mapped\\\\\\\",[19662]],[[195086,195086],\\\\\\\"mapped\\\\\\\",[19693]],[[195087,195087],\\\\\\\"mapped\\\\\\\",[40295]],[[195088,195088],\\\\\\\"mapped\\\\\\\",[172238]],[[195089,195089],\\\\\\\"mapped\\\\\\\",[19704]],[[195090,195090],\\\\\\\"mapped\\\\\\\",[172293]],[[195091,195091],\\\\\\\"mapped\\\\\\\",[172558]],[[195092,195092],\\\\\\\"mapped\\\\\\\",[172689]],[[195093,195093],\\\\\\\"mapped\\\\\\\",[40635]],[[195094,195094],\\\\\\\"mapped\\\\\\\",[19798]],[[195095,195095],\\\\\\\"mapped\\\\\\\",[40697]],[[195096,195096],\\\\\\\"mapped\\\\\\\",[40702]],[[195097,195097],\\\\\\\"mapped\\\\\\\",[40709]],[[195098,195098],\\\\\\\"mapped\\\\\\\",[40719]],[[195099,195099],\\\\\\\"mapped\\\\\\\",[40726]],[[195100,195100],\\\\\\\"mapped\\\\\\\",[40763]],[[195101,195101],\\\\\\\"mapped\\\\\\\",[173568]],[[195102,196605],\\\\\\\"disallowed\\\\\\\"],[[196606,196607],\\\\\\\"disallowed\\\\\\\"],[[196608,262141],\\\\\\\"disallowed\\\\\\\"],[[262142,262143],\\\\\\\"disallowed\\\\\\\"],[[262144,327677],\\\\\\\"disallowed\\\\\\\"],[[327678,327679],\\\\\\\"disallowed\\\\\\\"],[[327680,393213],\\\\\\\"disallowed\\\\\\\"],[[393214,393215],\\\\\\\"disallowed\\\\\\\"],[[393216,458749],\\\\\\\"disallowed\\\\\\\"],[[458750,458751],\\\\\\\"disallowed\\\\\\\"],[[458752,524285],\\\\\\\"disallowed\\\\\\\"],[[524286,524287],\\\\\\\"disallowed\\\\\\\"],[[524288,589821],\\\\\\\"disallowed\\\\\\\"],[[589822,589823],\\\\\\\"disallowed\\\\\\\"],[[589824,655357],\\\\\\\"disallowed\\\\\\\"],[[655358,655359],\\\\\\\"disallowed\\\\\\\"],[[655360,720893],\\\\\\\"disallowed\\\\\\\"],[[720894,720895],\\\\\\\"disallowed\\\\\\\"],[[720896,786429],\\\\\\\"disallowed\\\\\\\"],[[786430,786431],\\\\\\\"disallowed\\\\\\\"],[[786432,851965],\\\\\\\"disallowed\\\\\\\"],[[851966,851967],\\\\\\\"disallowed\\\\\\\"],[[851968,917501],\\\\\\\"disallowed\\\\\\\"],[[917502,917503],\\\\\\\"disallowed\\\\\\\"],[[917504,917504],\\\\\\\"disallowed\\\\\\\"],[[917505,917505],\\\\\\\"disallowed\\\\\\\"],[[917506,917535],\\\\\\\"disallowed\\\\\\\"],[[917536,917631],\\\\\\\"disallowed\\\\\\\"],[[917632,917759],\\\\\\\"disallowed\\\\\\\"],[[917760,917999],\\\\\\\"ignored\\\\\\\"],[[918000,983037],\\\\\\\"disallowed\\\\\\\"],[[983038,983039],\\\\\\\"disallowed\\\\\\\"],[[983040,1048573],\\\\\\\"disallowed\\\\\\\"],[[1048574,1048575],\\\\\\\"disallowed\\\\\\\"],[[1048576,1114109],\\\\\\\"disallowed\\\\\\\"],[[1114110,1114111],\\\\\\\"disallowed\\\\\\\"]]\\\");\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/webidl-conversions/lib/index.js\\\":\\n/*!******************************************************!*\\\\\\n !*** ./node_modules/webidl-conversions/lib/index.js ***!\\n \\\\******************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nvar conversions = {};\\nmodule.exports = conversions;\\n\\nfunction sign(x) {\\n return x < 0 ? -1 : 1;\\n}\\n\\nfunction evenRound(x) {\\n // Round x to the nearest integer, choosing the even integer if it lies halfway between two.\\n if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)\\n return Math.floor(x);\\n } else {\\n return Math.round(x);\\n }\\n}\\n\\nfunction createNumberConversion(bitLength, typeOpts) {\\n if (!typeOpts.unsigned) {\\n --bitLength;\\n }\\n const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);\\n const upperBound = Math.pow(2, bitLength) - 1;\\n\\n const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);\\n const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);\\n\\n return function(V, opts) {\\n if (!opts) opts = {};\\n\\n let x = +V;\\n\\n if (opts.enforceRange) {\\n if (!Number.isFinite(x)) {\\n throw new TypeError(\\\"Argument is not a finite number\\\");\\n }\\n\\n x = sign(x) * Math.floor(Math.abs(x));\\n if (x < lowerBound || x > upperBound) {\\n throw new TypeError(\\\"Argument is not in byte range\\\");\\n }\\n\\n return x;\\n }\\n\\n if (!isNaN(x) && opts.clamp) {\\n x = evenRound(x);\\n\\n if (x < lowerBound) x = lowerBound;\\n if (x > upperBound) x = upperBound;\\n return x;\\n }\\n\\n if (!Number.isFinite(x) || x === 0) {\\n return 0;\\n }\\n\\n x = sign(x) * Math.floor(Math.abs(x));\\n x = x % moduloVal;\\n\\n if (!typeOpts.unsigned && x >= moduloBound) {\\n return x - moduloVal;\\n } else if (typeOpts.unsigned) {\\n if (x < 0) {\\n x += moduloVal;\\n } else if (x === -0) { // don't return negative zero\\n return 0;\\n }\\n }\\n\\n return x;\\n }\\n}\\n\\nconversions[\\\"void\\\"] = function () {\\n return undefined;\\n};\\n\\nconversions[\\\"boolean\\\"] = function (val) {\\n return !!val;\\n};\\n\\nconversions[\\\"byte\\\"] = createNumberConversion(8, { unsigned: false });\\nconversions[\\\"octet\\\"] = createNumberConversion(8, { unsigned: true });\\n\\nconversions[\\\"short\\\"] = createNumberConversion(16, { unsigned: false });\\nconversions[\\\"unsigned short\\\"] = createNumberConversion(16, { unsigned: true });\\n\\nconversions[\\\"long\\\"] = createNumberConversion(32, { unsigned: false });\\nconversions[\\\"unsigned long\\\"] = createNumberConversion(32, { unsigned: true });\\n\\nconversions[\\\"long long\\\"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });\\nconversions[\\\"unsigned long long\\\"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });\\n\\nconversions[\\\"double\\\"] = function (V) {\\n const x = +V;\\n\\n if (!Number.isFinite(x)) {\\n throw new TypeError(\\\"Argument is not a finite floating-point value\\\");\\n }\\n\\n return x;\\n};\\n\\nconversions[\\\"unrestricted double\\\"] = function (V) {\\n const x = +V;\\n\\n if (isNaN(x)) {\\n throw new TypeError(\\\"Argument is NaN\\\");\\n }\\n\\n return x;\\n};\\n\\n// not quite valid, but good enough for JS\\nconversions[\\\"float\\\"] = conversions[\\\"double\\\"];\\nconversions[\\\"unrestricted float\\\"] = conversions[\\\"unrestricted double\\\"];\\n\\nconversions[\\\"DOMString\\\"] = function (V, opts) {\\n if (!opts) opts = {};\\n\\n if (opts.treatNullAsEmptyString && V === null) {\\n return \\\"\\\";\\n }\\n\\n return String(V);\\n};\\n\\nconversions[\\\"ByteString\\\"] = function (V, opts) {\\n const x = String(V);\\n let c = undefined;\\n for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {\\n if (c > 255) {\\n throw new TypeError(\\\"Argument is not a valid bytestring\\\");\\n }\\n }\\n\\n return x;\\n};\\n\\nconversions[\\\"USVString\\\"] = function (V) {\\n const S = String(V);\\n const n = S.length;\\n const U = [];\\n for (let i = 0; i < n; ++i) {\\n const c = S.charCodeAt(i);\\n if (c < 0xD800 || c > 0xDFFF) {\\n U.push(String.fromCodePoint(c));\\n } else if (0xDC00 <= c && c <= 0xDFFF) {\\n U.push(String.fromCodePoint(0xFFFD));\\n } else {\\n if (i === n - 1) {\\n U.push(String.fromCodePoint(0xFFFD));\\n } else {\\n const d = S.charCodeAt(i + 1);\\n if (0xDC00 <= d && d <= 0xDFFF) {\\n const a = c & 0x3FF;\\n const b = d & 0x3FF;\\n U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));\\n ++i;\\n } else {\\n U.push(String.fromCodePoint(0xFFFD));\\n }\\n }\\n }\\n }\\n\\n return U.join('');\\n};\\n\\nconversions[\\\"Date\\\"] = function (V, opts) {\\n if (!(V instanceof Date)) {\\n throw new TypeError(\\\"Argument is not a Date object\\\");\\n }\\n if (isNaN(V)) {\\n return undefined;\\n }\\n\\n return V;\\n};\\n\\nconversions[\\\"RegExp\\\"] = function (V, opts) {\\n if (!(V instanceof RegExp)) {\\n V = new RegExp(V);\\n }\\n\\n return V;\\n};\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/whatwg-url/lib/URL-impl.js\\\":\\n/*!*************************************************!*\\\\\\n !*** ./node_modules/whatwg-url/lib/URL-impl.js ***!\\n \\\\*************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nconst usm = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\");\\n\\nexports.implementation = class URLImpl {\\n constructor(constructorArgs) {\\n const url = constructorArgs[0];\\n const base = constructorArgs[1];\\n\\n let parsedBase = null;\\n if (base !== undefined) {\\n parsedBase = usm.basicURLParse(base);\\n if (parsedBase === \\\"failure\\\") {\\n throw new TypeError(\\\"Invalid base URL\\\");\\n }\\n }\\n\\n const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });\\n if (parsedURL === \\\"failure\\\") {\\n throw new TypeError(\\\"Invalid URL\\\");\\n }\\n\\n this._url = parsedURL;\\n\\n // TODO: query stuff\\n }\\n\\n get href() {\\n return usm.serializeURL(this._url);\\n }\\n\\n set href(v) {\\n const parsedURL = usm.basicURLParse(v);\\n if (parsedURL === \\\"failure\\\") {\\n throw new TypeError(\\\"Invalid URL\\\");\\n }\\n\\n this._url = parsedURL;\\n }\\n\\n get origin() {\\n return usm.serializeURLOrigin(this._url);\\n }\\n\\n get protocol() {\\n return this._url.scheme + \\\":\\\";\\n }\\n\\n set protocol(v) {\\n usm.basicURLParse(v + \\\":\\\", { url: this._url, stateOverride: \\\"scheme start\\\" });\\n }\\n\\n get username() {\\n return this._url.username;\\n }\\n\\n set username(v) {\\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\\n return;\\n }\\n\\n usm.setTheUsername(this._url, v);\\n }\\n\\n get password() {\\n return this._url.password;\\n }\\n\\n set password(v) {\\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\\n return;\\n }\\n\\n usm.setThePassword(this._url, v);\\n }\\n\\n get host() {\\n const url = this._url;\\n\\n if (url.host === null) {\\n return \\\"\\\";\\n }\\n\\n if (url.port === null) {\\n return usm.serializeHost(url.host);\\n }\\n\\n return usm.serializeHost(url.host) + \\\":\\\" + usm.serializeInteger(url.port);\\n }\\n\\n set host(v) {\\n if (this._url.cannotBeABaseURL) {\\n return;\\n }\\n\\n usm.basicURLParse(v, { url: this._url, stateOverride: \\\"host\\\" });\\n }\\n\\n get hostname() {\\n if (this._url.host === null) {\\n return \\\"\\\";\\n }\\n\\n return usm.serializeHost(this._url.host);\\n }\\n\\n set hostname(v) {\\n if (this._url.cannotBeABaseURL) {\\n return;\\n }\\n\\n usm.basicURLParse(v, { url: this._url, stateOverride: \\\"hostname\\\" });\\n }\\n\\n get port() {\\n if (this._url.port === null) {\\n return \\\"\\\";\\n }\\n\\n return usm.serializeInteger(this._url.port);\\n }\\n\\n set port(v) {\\n if (usm.cannotHaveAUsernamePasswordPort(this._url)) {\\n return;\\n }\\n\\n if (v === \\\"\\\") {\\n this._url.port = null;\\n } else {\\n usm.basicURLParse(v, { url: this._url, stateOverride: \\\"port\\\" });\\n }\\n }\\n\\n get pathname() {\\n if (this._url.cannotBeABaseURL) {\\n return this._url.path[0];\\n }\\n\\n if (this._url.path.length === 0) {\\n return \\\"\\\";\\n }\\n\\n return \\\"/\\\" + this._url.path.join(\\\"/\\\");\\n }\\n\\n set pathname(v) {\\n if (this._url.cannotBeABaseURL) {\\n return;\\n }\\n\\n this._url.path = [];\\n usm.basicURLParse(v, { url: this._url, stateOverride: \\\"path start\\\" });\\n }\\n\\n get search() {\\n if (this._url.query === null || this._url.query === \\\"\\\") {\\n return \\\"\\\";\\n }\\n\\n return \\\"?\\\" + this._url.query;\\n }\\n\\n set search(v) {\\n // TODO: query stuff\\n\\n const url = this._url;\\n\\n if (v === \\\"\\\") {\\n url.query = null;\\n return;\\n }\\n\\n const input = v[0] === \\\"?\\\" ? v.substring(1) : v;\\n url.query = \\\"\\\";\\n usm.basicURLParse(input, { url, stateOverride: \\\"query\\\" });\\n }\\n\\n get hash() {\\n if (this._url.fragment === null || this._url.fragment === \\\"\\\") {\\n return \\\"\\\";\\n }\\n\\n return \\\"#\\\" + this._url.fragment;\\n }\\n\\n set hash(v) {\\n if (v === \\\"\\\") {\\n this._url.fragment = null;\\n return;\\n }\\n\\n const input = v[0] === \\\"#\\\" ? v.substring(1) : v;\\n this._url.fragment = \\\"\\\";\\n usm.basicURLParse(input, { url: this._url, stateOverride: \\\"fragment\\\" });\\n }\\n\\n toJSON() {\\n return this.href;\\n }\\n};\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/whatwg-url/lib/URL.js\\\":\\n/*!********************************************!*\\\\\\n !*** ./node_modules/whatwg-url/lib/URL.js ***!\\n \\\\********************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nconst conversions = __webpack_require__(/*! webidl-conversions */ \\\"./node_modules/webidl-conversions/lib/index.js\\\");\\nconst utils = __webpack_require__(/*! ./utils.js */ \\\"./node_modules/whatwg-url/lib/utils.js\\\");\\nconst Impl = __webpack_require__(/*! .//URL-impl.js */ \\\"./node_modules/whatwg-url/lib/URL-impl.js\\\");\\n\\nconst impl = utils.implSymbol;\\n\\nfunction URL(url) {\\n if (!this || this[impl] || !(this instanceof URL)) {\\n throw new TypeError(\\\"Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.\\\");\\n }\\n if (arguments.length < 1) {\\n throw new TypeError(\\\"Failed to construct 'URL': 1 argument required, but only \\\" + arguments.length + \\\" present.\\\");\\n }\\n const args = [];\\n for (let i = 0; i < arguments.length && i < 2; ++i) {\\n args[i] = arguments[i];\\n }\\n args[0] = conversions[\\\"USVString\\\"](args[0]);\\n if (args[1] !== undefined) {\\n args[1] = conversions[\\\"USVString\\\"](args[1]);\\n }\\n\\n module.exports.setup(this, args);\\n}\\n\\nURL.prototype.toJSON = function toJSON() {\\n if (!this || !module.exports.is(this)) {\\n throw new TypeError(\\\"Illegal invocation\\\");\\n }\\n const args = [];\\n for (let i = 0; i < arguments.length && i < 0; ++i) {\\n args[i] = arguments[i];\\n }\\n return this[impl].toJSON.apply(this[impl], args);\\n};\\nObject.defineProperty(URL.prototype, \\\"href\\\", {\\n get() {\\n return this[impl].href;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].href = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nURL.prototype.toString = function () {\\n if (!this || !module.exports.is(this)) {\\n throw new TypeError(\\\"Illegal invocation\\\");\\n }\\n return this.href;\\n};\\n\\nObject.defineProperty(URL.prototype, \\\"origin\\\", {\\n get() {\\n return this[impl].origin;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"protocol\\\", {\\n get() {\\n return this[impl].protocol;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].protocol = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"username\\\", {\\n get() {\\n return this[impl].username;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].username = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"password\\\", {\\n get() {\\n return this[impl].password;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].password = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"host\\\", {\\n get() {\\n return this[impl].host;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].host = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"hostname\\\", {\\n get() {\\n return this[impl].hostname;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].hostname = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"port\\\", {\\n get() {\\n return this[impl].port;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].port = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"pathname\\\", {\\n get() {\\n return this[impl].pathname;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].pathname = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"search\\\", {\\n get() {\\n return this[impl].search;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].search = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\nObject.defineProperty(URL.prototype, \\\"hash\\\", {\\n get() {\\n return this[impl].hash;\\n },\\n set(V) {\\n V = conversions[\\\"USVString\\\"](V);\\n this[impl].hash = V;\\n },\\n enumerable: true,\\n configurable: true\\n});\\n\\n\\nmodule.exports = {\\n is(obj) {\\n return !!obj && obj[impl] instanceof Impl.implementation;\\n },\\n create(constructorArgs, privateData) {\\n let obj = Object.create(URL.prototype);\\n this.setup(obj, constructorArgs, privateData);\\n return obj;\\n },\\n setup(obj, constructorArgs, privateData) {\\n if (!privateData) privateData = {};\\n privateData.wrapper = obj;\\n\\n obj[impl] = new Impl.implementation(constructorArgs, privateData);\\n obj[impl][utils.wrapperSymbol] = obj;\\n },\\n interface: URL,\\n expose: {\\n Window: { URL: URL },\\n Worker: { URL: URL }\\n }\\n};\\n\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/whatwg-url/lib/public-api.js\\\":\\n/*!***************************************************!*\\\\\\n !*** ./node_modules/whatwg-url/lib/public-api.js ***!\\n \\\\***************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nexports.URL = __webpack_require__(/*! ./URL */ \\\"./node_modules/whatwg-url/lib/URL.js\\\").interface;\\nexports.serializeURL = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").serializeURL;\\nexports.serializeURLOrigin = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").serializeURLOrigin;\\nexports.basicURLParse = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").basicURLParse;\\nexports.setTheUsername = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").setTheUsername;\\nexports.setThePassword = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").setThePassword;\\nexports.serializeHost = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").serializeHost;\\nexports.serializeInteger = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").serializeInteger;\\nexports.parseURL = __webpack_require__(/*! ./url-state-machine */ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\").parseURL;\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/whatwg-url/lib/url-state-machine.js\\\":\\n/*!**********************************************************!*\\\\\\n !*** ./node_modules/whatwg-url/lib/url-state-machine.js ***!\\n \\\\**********************************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\r\\nconst punycode = __webpack_require__(/*! punycode */ \\\"punycode\\\");\\r\\nconst tr46 = __webpack_require__(/*! tr46 */ \\\"./node_modules/tr46/index.js\\\");\\r\\n\\r\\nconst specialSchemes = {\\r\\n ftp: 21,\\r\\n file: null,\\r\\n gopher: 70,\\r\\n http: 80,\\r\\n https: 443,\\r\\n ws: 80,\\r\\n wss: 443\\r\\n};\\r\\n\\r\\nconst failure = Symbol(\\\"failure\\\");\\r\\n\\r\\nfunction countSymbols(str) {\\r\\n return punycode.ucs2.decode(str).length;\\r\\n}\\r\\n\\r\\nfunction at(input, idx) {\\r\\n const c = input[idx];\\r\\n return isNaN(c) ? undefined : String.fromCodePoint(c);\\r\\n}\\r\\n\\r\\nfunction isASCIIDigit(c) {\\r\\n return c >= 0x30 && c <= 0x39;\\r\\n}\\r\\n\\r\\nfunction isASCIIAlpha(c) {\\r\\n return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);\\r\\n}\\r\\n\\r\\nfunction isASCIIAlphanumeric(c) {\\r\\n return isASCIIAlpha(c) || isASCIIDigit(c);\\r\\n}\\r\\n\\r\\nfunction isASCIIHex(c) {\\r\\n return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);\\r\\n}\\r\\n\\r\\nfunction isSingleDot(buffer) {\\r\\n return buffer === \\\".\\\" || buffer.toLowerCase() === \\\"%2e\\\";\\r\\n}\\r\\n\\r\\nfunction isDoubleDot(buffer) {\\r\\n buffer = buffer.toLowerCase();\\r\\n return buffer === \\\"..\\\" || buffer === \\\"%2e.\\\" || buffer === \\\".%2e\\\" || buffer === \\\"%2e%2e\\\";\\r\\n}\\r\\n\\r\\nfunction isWindowsDriveLetterCodePoints(cp1, cp2) {\\r\\n return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);\\r\\n}\\r\\n\\r\\nfunction isWindowsDriveLetterString(string) {\\r\\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === \\\":\\\" || string[1] === \\\"|\\\");\\r\\n}\\r\\n\\r\\nfunction isNormalizedWindowsDriveLetterString(string) {\\r\\n return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === \\\":\\\";\\r\\n}\\r\\n\\r\\nfunction containsForbiddenHostCodePoint(string) {\\r\\n return string.search(/\\\\u0000|\\\\u0009|\\\\u000A|\\\\u000D|\\\\u0020|#|%|\\\\/|:|\\\\?|@|\\\\[|\\\\\\\\|\\\\]/) !== -1;\\r\\n}\\r\\n\\r\\nfunction containsForbiddenHostCodePointExcludingPercent(string) {\\r\\n return string.search(/\\\\u0000|\\\\u0009|\\\\u000A|\\\\u000D|\\\\u0020|#|\\\\/|:|\\\\?|@|\\\\[|\\\\\\\\|\\\\]/) !== -1;\\r\\n}\\r\\n\\r\\nfunction isSpecialScheme(scheme) {\\r\\n return specialSchemes[scheme] !== undefined;\\r\\n}\\r\\n\\r\\nfunction isSpecial(url) {\\r\\n return isSpecialScheme(url.scheme);\\r\\n}\\r\\n\\r\\nfunction defaultPort(scheme) {\\r\\n return specialSchemes[scheme];\\r\\n}\\r\\n\\r\\nfunction percentEncode(c) {\\r\\n let hex = c.toString(16).toUpperCase();\\r\\n if (hex.length === 1) {\\r\\n hex = \\\"0\\\" + hex;\\r\\n }\\r\\n\\r\\n return \\\"%\\\" + hex;\\r\\n}\\r\\n\\r\\nfunction utf8PercentEncode(c) {\\r\\n const buf = new Buffer(c);\\r\\n\\r\\n let str = \\\"\\\";\\r\\n\\r\\n for (let i = 0; i < buf.length; ++i) {\\r\\n str += percentEncode(buf[i]);\\r\\n }\\r\\n\\r\\n return str;\\r\\n}\\r\\n\\r\\nfunction utf8PercentDecode(str) {\\r\\n const input = new Buffer(str);\\r\\n const output = [];\\r\\n for (let i = 0; i < input.length; ++i) {\\r\\n if (input[i] !== 37) {\\r\\n output.push(input[i]);\\r\\n } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {\\r\\n output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));\\r\\n i += 2;\\r\\n } else {\\r\\n output.push(input[i]);\\r\\n }\\r\\n }\\r\\n return new Buffer(output).toString();\\r\\n}\\r\\n\\r\\nfunction isC0ControlPercentEncode(c) {\\r\\n return c <= 0x1F || c > 0x7E;\\r\\n}\\r\\n\\r\\nconst extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);\\r\\nfunction isPathPercentEncode(c) {\\r\\n return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);\\r\\n}\\r\\n\\r\\nconst extraUserinfoPercentEncodeSet =\\r\\n new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);\\r\\nfunction isUserinfoPercentEncode(c) {\\r\\n return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);\\r\\n}\\r\\n\\r\\nfunction percentEncodeChar(c, encodeSetPredicate) {\\r\\n const cStr = String.fromCodePoint(c);\\r\\n\\r\\n if (encodeSetPredicate(c)) {\\r\\n return utf8PercentEncode(cStr);\\r\\n }\\r\\n\\r\\n return cStr;\\r\\n}\\r\\n\\r\\nfunction parseIPv4Number(input) {\\r\\n let R = 10;\\r\\n\\r\\n if (input.length >= 2 && input.charAt(0) === \\\"0\\\" && input.charAt(1).toLowerCase() === \\\"x\\\") {\\r\\n input = input.substring(2);\\r\\n R = 16;\\r\\n } else if (input.length >= 2 && input.charAt(0) === \\\"0\\\") {\\r\\n input = input.substring(1);\\r\\n R = 8;\\r\\n }\\r\\n\\r\\n if (input === \\\"\\\") {\\r\\n return 0;\\r\\n }\\r\\n\\r\\n const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);\\r\\n if (regex.test(input)) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n return parseInt(input, R);\\r\\n}\\r\\n\\r\\nfunction parseIPv4(input) {\\r\\n const parts = input.split(\\\".\\\");\\r\\n if (parts[parts.length - 1] === \\\"\\\") {\\r\\n if (parts.length > 1) {\\r\\n parts.pop();\\r\\n }\\r\\n }\\r\\n\\r\\n if (parts.length > 4) {\\r\\n return input;\\r\\n }\\r\\n\\r\\n const numbers = [];\\r\\n for (const part of parts) {\\r\\n if (part === \\\"\\\") {\\r\\n return input;\\r\\n }\\r\\n const n = parseIPv4Number(part);\\r\\n if (n === failure) {\\r\\n return input;\\r\\n }\\r\\n\\r\\n numbers.push(n);\\r\\n }\\r\\n\\r\\n for (let i = 0; i < numbers.length - 1; ++i) {\\r\\n if (numbers[i] > 255) {\\r\\n return failure;\\r\\n }\\r\\n }\\r\\n if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n let ipv4 = numbers.pop();\\r\\n let counter = 0;\\r\\n\\r\\n for (const n of numbers) {\\r\\n ipv4 += n * Math.pow(256, 3 - counter);\\r\\n ++counter;\\r\\n }\\r\\n\\r\\n return ipv4;\\r\\n}\\r\\n\\r\\nfunction serializeIPv4(address) {\\r\\n let output = \\\"\\\";\\r\\n let n = address;\\r\\n\\r\\n for (let i = 1; i <= 4; ++i) {\\r\\n output = String(n % 256) + output;\\r\\n if (i !== 4) {\\r\\n output = \\\".\\\" + output;\\r\\n }\\r\\n n = Math.floor(n / 256);\\r\\n }\\r\\n\\r\\n return output;\\r\\n}\\r\\n\\r\\nfunction parseIPv6(input) {\\r\\n const address = [0, 0, 0, 0, 0, 0, 0, 0];\\r\\n let pieceIndex = 0;\\r\\n let compress = null;\\r\\n let pointer = 0;\\r\\n\\r\\n input = punycode.ucs2.decode(input);\\r\\n\\r\\n if (input[pointer] === 58) {\\r\\n if (input[pointer + 1] !== 58) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n pointer += 2;\\r\\n ++pieceIndex;\\r\\n compress = pieceIndex;\\r\\n }\\r\\n\\r\\n while (pointer < input.length) {\\r\\n if (pieceIndex === 8) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n if (input[pointer] === 58) {\\r\\n if (compress !== null) {\\r\\n return failure;\\r\\n }\\r\\n ++pointer;\\r\\n ++pieceIndex;\\r\\n compress = pieceIndex;\\r\\n continue;\\r\\n }\\r\\n\\r\\n let value = 0;\\r\\n let length = 0;\\r\\n\\r\\n while (length < 4 && isASCIIHex(input[pointer])) {\\r\\n value = value * 0x10 + parseInt(at(input, pointer), 16);\\r\\n ++pointer;\\r\\n ++length;\\r\\n }\\r\\n\\r\\n if (input[pointer] === 46) {\\r\\n if (length === 0) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n pointer -= length;\\r\\n\\r\\n if (pieceIndex > 6) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n let numbersSeen = 0;\\r\\n\\r\\n while (input[pointer] !== undefined) {\\r\\n let ipv4Piece = null;\\r\\n\\r\\n if (numbersSeen > 0) {\\r\\n if (input[pointer] === 46 && numbersSeen < 4) {\\r\\n ++pointer;\\r\\n } else {\\r\\n return failure;\\r\\n }\\r\\n }\\r\\n\\r\\n if (!isASCIIDigit(input[pointer])) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n while (isASCIIDigit(input[pointer])) {\\r\\n const number = parseInt(at(input, pointer));\\r\\n if (ipv4Piece === null) {\\r\\n ipv4Piece = number;\\r\\n } else if (ipv4Piece === 0) {\\r\\n return failure;\\r\\n } else {\\r\\n ipv4Piece = ipv4Piece * 10 + number;\\r\\n }\\r\\n if (ipv4Piece > 255) {\\r\\n return failure;\\r\\n }\\r\\n ++pointer;\\r\\n }\\r\\n\\r\\n address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;\\r\\n\\r\\n ++numbersSeen;\\r\\n\\r\\n if (numbersSeen === 2 || numbersSeen === 4) {\\r\\n ++pieceIndex;\\r\\n }\\r\\n }\\r\\n\\r\\n if (numbersSeen !== 4) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n break;\\r\\n } else if (input[pointer] === 58) {\\r\\n ++pointer;\\r\\n if (input[pointer] === undefined) {\\r\\n return failure;\\r\\n }\\r\\n } else if (input[pointer] !== undefined) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n address[pieceIndex] = value;\\r\\n ++pieceIndex;\\r\\n }\\r\\n\\r\\n if (compress !== null) {\\r\\n let swaps = pieceIndex - compress;\\r\\n pieceIndex = 7;\\r\\n while (pieceIndex !== 0 && swaps > 0) {\\r\\n const temp = address[compress + swaps - 1];\\r\\n address[compress + swaps - 1] = address[pieceIndex];\\r\\n address[pieceIndex] = temp;\\r\\n --pieceIndex;\\r\\n --swaps;\\r\\n }\\r\\n } else if (compress === null && pieceIndex !== 8) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n return address;\\r\\n}\\r\\n\\r\\nfunction serializeIPv6(address) {\\r\\n let output = \\\"\\\";\\r\\n const seqResult = findLongestZeroSequence(address);\\r\\n const compress = seqResult.idx;\\r\\n let ignore0 = false;\\r\\n\\r\\n for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {\\r\\n if (ignore0 && address[pieceIndex] === 0) {\\r\\n continue;\\r\\n } else if (ignore0) {\\r\\n ignore0 = false;\\r\\n }\\r\\n\\r\\n if (compress === pieceIndex) {\\r\\n const separator = pieceIndex === 0 ? \\\"::\\\" : \\\":\\\";\\r\\n output += separator;\\r\\n ignore0 = true;\\r\\n continue;\\r\\n }\\r\\n\\r\\n output += address[pieceIndex].toString(16);\\r\\n\\r\\n if (pieceIndex !== 7) {\\r\\n output += \\\":\\\";\\r\\n }\\r\\n }\\r\\n\\r\\n return output;\\r\\n}\\r\\n\\r\\nfunction parseHost(input, isSpecialArg) {\\r\\n if (input[0] === \\\"[\\\") {\\r\\n if (input[input.length - 1] !== \\\"]\\\") {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n return parseIPv6(input.substring(1, input.length - 1));\\r\\n }\\r\\n\\r\\n if (!isSpecialArg) {\\r\\n return parseOpaqueHost(input);\\r\\n }\\r\\n\\r\\n const domain = utf8PercentDecode(input);\\r\\n const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);\\r\\n if (asciiDomain === null) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n if (containsForbiddenHostCodePoint(asciiDomain)) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n const ipv4Host = parseIPv4(asciiDomain);\\r\\n if (typeof ipv4Host === \\\"number\\\" || ipv4Host === failure) {\\r\\n return ipv4Host;\\r\\n }\\r\\n\\r\\n return asciiDomain;\\r\\n}\\r\\n\\r\\nfunction parseOpaqueHost(input) {\\r\\n if (containsForbiddenHostCodePointExcludingPercent(input)) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n let output = \\\"\\\";\\r\\n const decoded = punycode.ucs2.decode(input);\\r\\n for (let i = 0; i < decoded.length; ++i) {\\r\\n output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);\\r\\n }\\r\\n return output;\\r\\n}\\r\\n\\r\\nfunction findLongestZeroSequence(arr) {\\r\\n let maxIdx = null;\\r\\n let maxLen = 1; // only find elements > 1\\r\\n let currStart = null;\\r\\n let currLen = 0;\\r\\n\\r\\n for (let i = 0; i < arr.length; ++i) {\\r\\n if (arr[i] !== 0) {\\r\\n if (currLen > maxLen) {\\r\\n maxIdx = currStart;\\r\\n maxLen = currLen;\\r\\n }\\r\\n\\r\\n currStart = null;\\r\\n currLen = 0;\\r\\n } else {\\r\\n if (currStart === null) {\\r\\n currStart = i;\\r\\n }\\r\\n ++currLen;\\r\\n }\\r\\n }\\r\\n\\r\\n // if trailing zeros\\r\\n if (currLen > maxLen) {\\r\\n maxIdx = currStart;\\r\\n maxLen = currLen;\\r\\n }\\r\\n\\r\\n return {\\r\\n idx: maxIdx,\\r\\n len: maxLen\\r\\n };\\r\\n}\\r\\n\\r\\nfunction serializeHost(host) {\\r\\n if (typeof host === \\\"number\\\") {\\r\\n return serializeIPv4(host);\\r\\n }\\r\\n\\r\\n // IPv6 serializer\\r\\n if (host instanceof Array) {\\r\\n return \\\"[\\\" + serializeIPv6(host) + \\\"]\\\";\\r\\n }\\r\\n\\r\\n return host;\\r\\n}\\r\\n\\r\\nfunction trimControlChars(url) {\\r\\n return url.replace(/^[\\\\u0000-\\\\u001F\\\\u0020]+|[\\\\u0000-\\\\u001F\\\\u0020]+$/g, \\\"\\\");\\r\\n}\\r\\n\\r\\nfunction trimTabAndNewline(url) {\\r\\n return url.replace(/\\\\u0009|\\\\u000A|\\\\u000D/g, \\\"\\\");\\r\\n}\\r\\n\\r\\nfunction shortenPath(url) {\\r\\n const path = url.path;\\r\\n if (path.length === 0) {\\r\\n return;\\r\\n }\\r\\n if (url.scheme === \\\"file\\\" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {\\r\\n return;\\r\\n }\\r\\n\\r\\n path.pop();\\r\\n}\\r\\n\\r\\nfunction includesCredentials(url) {\\r\\n return url.username !== \\\"\\\" || url.password !== \\\"\\\";\\r\\n}\\r\\n\\r\\nfunction cannotHaveAUsernamePasswordPort(url) {\\r\\n return url.host === null || url.host === \\\"\\\" || url.cannotBeABaseURL || url.scheme === \\\"file\\\";\\r\\n}\\r\\n\\r\\nfunction isNormalizedWindowsDriveLetter(string) {\\r\\n return /^[A-Za-z]:$/.test(string);\\r\\n}\\r\\n\\r\\nfunction URLStateMachine(input, base, encodingOverride, url, stateOverride) {\\r\\n this.pointer = 0;\\r\\n this.input = input;\\r\\n this.base = base || null;\\r\\n this.encodingOverride = encodingOverride || \\\"utf-8\\\";\\r\\n this.stateOverride = stateOverride;\\r\\n this.url = url;\\r\\n this.failure = false;\\r\\n this.parseError = false;\\r\\n\\r\\n if (!this.url) {\\r\\n this.url = {\\r\\n scheme: \\\"\\\",\\r\\n username: \\\"\\\",\\r\\n password: \\\"\\\",\\r\\n host: null,\\r\\n port: null,\\r\\n path: [],\\r\\n query: null,\\r\\n fragment: null,\\r\\n\\r\\n cannotBeABaseURL: false\\r\\n };\\r\\n\\r\\n const res = trimControlChars(this.input);\\r\\n if (res !== this.input) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.input = res;\\r\\n }\\r\\n\\r\\n const res = trimTabAndNewline(this.input);\\r\\n if (res !== this.input) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.input = res;\\r\\n\\r\\n this.state = stateOverride || \\\"scheme start\\\";\\r\\n\\r\\n this.buffer = \\\"\\\";\\r\\n this.atFlag = false;\\r\\n this.arrFlag = false;\\r\\n this.passwordTokenSeenFlag = false;\\r\\n\\r\\n this.input = punycode.ucs2.decode(this.input);\\r\\n\\r\\n for (; this.pointer <= this.input.length; ++this.pointer) {\\r\\n const c = this.input[this.pointer];\\r\\n const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);\\r\\n\\r\\n // exec state machine\\r\\n const ret = this[\\\"parse \\\" + this.state](c, cStr);\\r\\n if (!ret) {\\r\\n break; // terminate algorithm\\r\\n } else if (ret === failure) {\\r\\n this.failure = true;\\r\\n break;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse scheme start\\\"] = function parseSchemeStart(c, cStr) {\\r\\n if (isASCIIAlpha(c)) {\\r\\n this.buffer += cStr.toLowerCase();\\r\\n this.state = \\\"scheme\\\";\\r\\n } else if (!this.stateOverride) {\\r\\n this.state = \\\"no scheme\\\";\\r\\n --this.pointer;\\r\\n } else {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse scheme\\\"] = function parseScheme(c, cStr) {\\r\\n if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {\\r\\n this.buffer += cStr.toLowerCase();\\r\\n } else if (c === 58) {\\r\\n if (this.stateOverride) {\\r\\n if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {\\r\\n return false;\\r\\n }\\r\\n\\r\\n if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {\\r\\n return false;\\r\\n }\\r\\n\\r\\n if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === \\\"file\\\") {\\r\\n return false;\\r\\n }\\r\\n\\r\\n if (this.url.scheme === \\\"file\\\" && (this.url.host === \\\"\\\" || this.url.host === null)) {\\r\\n return false;\\r\\n }\\r\\n }\\r\\n this.url.scheme = this.buffer;\\r\\n this.buffer = \\\"\\\";\\r\\n if (this.stateOverride) {\\r\\n return false;\\r\\n }\\r\\n if (this.url.scheme === \\\"file\\\") {\\r\\n if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.state = \\\"file\\\";\\r\\n } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {\\r\\n this.state = \\\"special relative or authority\\\";\\r\\n } else if (isSpecial(this.url)) {\\r\\n this.state = \\\"special authority slashes\\\";\\r\\n } else if (this.input[this.pointer + 1] === 47) {\\r\\n this.state = \\\"path or authority\\\";\\r\\n ++this.pointer;\\r\\n } else {\\r\\n this.url.cannotBeABaseURL = true;\\r\\n this.url.path.push(\\\"\\\");\\r\\n this.state = \\\"cannot-be-a-base-URL path\\\";\\r\\n }\\r\\n } else if (!this.stateOverride) {\\r\\n this.buffer = \\\"\\\";\\r\\n this.state = \\\"no scheme\\\";\\r\\n this.pointer = -1;\\r\\n } else {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse no scheme\\\"] = function parseNoScheme(c) {\\r\\n if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {\\r\\n return failure;\\r\\n } else if (this.base.cannotBeABaseURL && c === 35) {\\r\\n this.url.scheme = this.base.scheme;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = this.base.query;\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.url.cannotBeABaseURL = true;\\r\\n this.state = \\\"fragment\\\";\\r\\n } else if (this.base.scheme === \\\"file\\\") {\\r\\n this.state = \\\"file\\\";\\r\\n --this.pointer;\\r\\n } else {\\r\\n this.state = \\\"relative\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse special relative or authority\\\"] = function parseSpecialRelativeOrAuthority(c) {\\r\\n if (c === 47 && this.input[this.pointer + 1] === 47) {\\r\\n this.state = \\\"special authority ignore slashes\\\";\\r\\n ++this.pointer;\\r\\n } else {\\r\\n this.parseError = true;\\r\\n this.state = \\\"relative\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse path or authority\\\"] = function parsePathOrAuthority(c) {\\r\\n if (c === 47) {\\r\\n this.state = \\\"authority\\\";\\r\\n } else {\\r\\n this.state = \\\"path\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse relative\\\"] = function parseRelative(c) {\\r\\n this.url.scheme = this.base.scheme;\\r\\n if (isNaN(c)) {\\r\\n this.url.username = this.base.username;\\r\\n this.url.password = this.base.password;\\r\\n this.url.host = this.base.host;\\r\\n this.url.port = this.base.port;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = this.base.query;\\r\\n } else if (c === 47) {\\r\\n this.state = \\\"relative slash\\\";\\r\\n } else if (c === 63) {\\r\\n this.url.username = this.base.username;\\r\\n this.url.password = this.base.password;\\r\\n this.url.host = this.base.host;\\r\\n this.url.port = this.base.port;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = \\\"\\\";\\r\\n this.state = \\\"query\\\";\\r\\n } else if (c === 35) {\\r\\n this.url.username = this.base.username;\\r\\n this.url.password = this.base.password;\\r\\n this.url.host = this.base.host;\\r\\n this.url.port = this.base.port;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = this.base.query;\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.state = \\\"fragment\\\";\\r\\n } else if (isSpecial(this.url) && c === 92) {\\r\\n this.parseError = true;\\r\\n this.state = \\\"relative slash\\\";\\r\\n } else {\\r\\n this.url.username = this.base.username;\\r\\n this.url.password = this.base.password;\\r\\n this.url.host = this.base.host;\\r\\n this.url.port = this.base.port;\\r\\n this.url.path = this.base.path.slice(0, this.base.path.length - 1);\\r\\n\\r\\n this.state = \\\"path\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse relative slash\\\"] = function parseRelativeSlash(c) {\\r\\n if (isSpecial(this.url) && (c === 47 || c === 92)) {\\r\\n if (c === 92) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.state = \\\"special authority ignore slashes\\\";\\r\\n } else if (c === 47) {\\r\\n this.state = \\\"authority\\\";\\r\\n } else {\\r\\n this.url.username = this.base.username;\\r\\n this.url.password = this.base.password;\\r\\n this.url.host = this.base.host;\\r\\n this.url.port = this.base.port;\\r\\n this.state = \\\"path\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse special authority slashes\\\"] = function parseSpecialAuthoritySlashes(c) {\\r\\n if (c === 47 && this.input[this.pointer + 1] === 47) {\\r\\n this.state = \\\"special authority ignore slashes\\\";\\r\\n ++this.pointer;\\r\\n } else {\\r\\n this.parseError = true;\\r\\n this.state = \\\"special authority ignore slashes\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse special authority ignore slashes\\\"] = function parseSpecialAuthorityIgnoreSlashes(c) {\\r\\n if (c !== 47 && c !== 92) {\\r\\n this.state = \\\"authority\\\";\\r\\n --this.pointer;\\r\\n } else {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse authority\\\"] = function parseAuthority(c, cStr) {\\r\\n if (c === 64) {\\r\\n this.parseError = true;\\r\\n if (this.atFlag) {\\r\\n this.buffer = \\\"%40\\\" + this.buffer;\\r\\n }\\r\\n this.atFlag = true;\\r\\n\\r\\n // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars\\r\\n const len = countSymbols(this.buffer);\\r\\n for (let pointer = 0; pointer < len; ++pointer) {\\r\\n const codePoint = this.buffer.codePointAt(pointer);\\r\\n\\r\\n if (codePoint === 58 && !this.passwordTokenSeenFlag) {\\r\\n this.passwordTokenSeenFlag = true;\\r\\n continue;\\r\\n }\\r\\n const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);\\r\\n if (this.passwordTokenSeenFlag) {\\r\\n this.url.password += encodedCodePoints;\\r\\n } else {\\r\\n this.url.username += encodedCodePoints;\\r\\n }\\r\\n }\\r\\n this.buffer = \\\"\\\";\\r\\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\\r\\n (isSpecial(this.url) && c === 92)) {\\r\\n if (this.atFlag && this.buffer === \\\"\\\") {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n }\\r\\n this.pointer -= countSymbols(this.buffer) + 1;\\r\\n this.buffer = \\\"\\\";\\r\\n this.state = \\\"host\\\";\\r\\n } else {\\r\\n this.buffer += cStr;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse hostname\\\"] =\\r\\nURLStateMachine.prototype[\\\"parse host\\\"] = function parseHostName(c, cStr) {\\r\\n if (this.stateOverride && this.url.scheme === \\\"file\\\") {\\r\\n --this.pointer;\\r\\n this.state = \\\"file host\\\";\\r\\n } else if (c === 58 && !this.arrFlag) {\\r\\n if (this.buffer === \\\"\\\") {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n }\\r\\n\\r\\n const host = parseHost(this.buffer, isSpecial(this.url));\\r\\n if (host === failure) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n this.url.host = host;\\r\\n this.buffer = \\\"\\\";\\r\\n this.state = \\\"port\\\";\\r\\n if (this.stateOverride === \\\"hostname\\\") {\\r\\n return false;\\r\\n }\\r\\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\\r\\n (isSpecial(this.url) && c === 92)) {\\r\\n --this.pointer;\\r\\n if (isSpecial(this.url) && this.buffer === \\\"\\\") {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n } else if (this.stateOverride && this.buffer === \\\"\\\" &&\\r\\n (includesCredentials(this.url) || this.url.port !== null)) {\\r\\n this.parseError = true;\\r\\n return false;\\r\\n }\\r\\n\\r\\n const host = parseHost(this.buffer, isSpecial(this.url));\\r\\n if (host === failure) {\\r\\n return failure;\\r\\n }\\r\\n\\r\\n this.url.host = host;\\r\\n this.buffer = \\\"\\\";\\r\\n this.state = \\\"path start\\\";\\r\\n if (this.stateOverride) {\\r\\n return false;\\r\\n }\\r\\n } else {\\r\\n if (c === 91) {\\r\\n this.arrFlag = true;\\r\\n } else if (c === 93) {\\r\\n this.arrFlag = false;\\r\\n }\\r\\n this.buffer += cStr;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse port\\\"] = function parsePort(c, cStr) {\\r\\n if (isASCIIDigit(c)) {\\r\\n this.buffer += cStr;\\r\\n } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||\\r\\n (isSpecial(this.url) && c === 92) ||\\r\\n this.stateOverride) {\\r\\n if (this.buffer !== \\\"\\\") {\\r\\n const port = parseInt(this.buffer);\\r\\n if (port > Math.pow(2, 16) - 1) {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n }\\r\\n this.url.port = port === defaultPort(this.url.scheme) ? null : port;\\r\\n this.buffer = \\\"\\\";\\r\\n }\\r\\n if (this.stateOverride) {\\r\\n return false;\\r\\n }\\r\\n this.state = \\\"path start\\\";\\r\\n --this.pointer;\\r\\n } else {\\r\\n this.parseError = true;\\r\\n return failure;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nconst fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse file\\\"] = function parseFile(c) {\\r\\n this.url.scheme = \\\"file\\\";\\r\\n\\r\\n if (c === 47 || c === 92) {\\r\\n if (c === 92) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.state = \\\"file slash\\\";\\r\\n } else if (this.base !== null && this.base.scheme === \\\"file\\\") {\\r\\n if (isNaN(c)) {\\r\\n this.url.host = this.base.host;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = this.base.query;\\r\\n } else if (c === 63) {\\r\\n this.url.host = this.base.host;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = \\\"\\\";\\r\\n this.state = \\\"query\\\";\\r\\n } else if (c === 35) {\\r\\n this.url.host = this.base.host;\\r\\n this.url.path = this.base.path.slice();\\r\\n this.url.query = this.base.query;\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.state = \\\"fragment\\\";\\r\\n } else {\\r\\n if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points\\r\\n !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||\\r\\n (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points\\r\\n !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {\\r\\n this.url.host = this.base.host;\\r\\n this.url.path = this.base.path.slice();\\r\\n shortenPath(this.url);\\r\\n } else {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n this.state = \\\"path\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n } else {\\r\\n this.state = \\\"path\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse file slash\\\"] = function parseFileSlash(c) {\\r\\n if (c === 47 || c === 92) {\\r\\n if (c === 92) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.state = \\\"file host\\\";\\r\\n } else {\\r\\n if (this.base !== null && this.base.scheme === \\\"file\\\") {\\r\\n if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {\\r\\n this.url.path.push(this.base.path[0]);\\r\\n } else {\\r\\n this.url.host = this.base.host;\\r\\n }\\r\\n }\\r\\n this.state = \\\"path\\\";\\r\\n --this.pointer;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse file host\\\"] = function parseFileHost(c, cStr) {\\r\\n if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {\\r\\n --this.pointer;\\r\\n if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {\\r\\n this.parseError = true;\\r\\n this.state = \\\"path\\\";\\r\\n } else if (this.buffer === \\\"\\\") {\\r\\n this.url.host = \\\"\\\";\\r\\n if (this.stateOverride) {\\r\\n return false;\\r\\n }\\r\\n this.state = \\\"path start\\\";\\r\\n } else {\\r\\n let host = parseHost(this.buffer, isSpecial(this.url));\\r\\n if (host === failure) {\\r\\n return failure;\\r\\n }\\r\\n if (host === \\\"localhost\\\") {\\r\\n host = \\\"\\\";\\r\\n }\\r\\n this.url.host = host;\\r\\n\\r\\n if (this.stateOverride) {\\r\\n return false;\\r\\n }\\r\\n\\r\\n this.buffer = \\\"\\\";\\r\\n this.state = \\\"path start\\\";\\r\\n }\\r\\n } else {\\r\\n this.buffer += cStr;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse path start\\\"] = function parsePathStart(c) {\\r\\n if (isSpecial(this.url)) {\\r\\n if (c === 92) {\\r\\n this.parseError = true;\\r\\n }\\r\\n this.state = \\\"path\\\";\\r\\n\\r\\n if (c !== 47 && c !== 92) {\\r\\n --this.pointer;\\r\\n }\\r\\n } else if (!this.stateOverride && c === 63) {\\r\\n this.url.query = \\\"\\\";\\r\\n this.state = \\\"query\\\";\\r\\n } else if (!this.stateOverride && c === 35) {\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.state = \\\"fragment\\\";\\r\\n } else if (c !== undefined) {\\r\\n this.state = \\\"path\\\";\\r\\n if (c !== 47) {\\r\\n --this.pointer;\\r\\n }\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse path\\\"] = function parsePath(c) {\\r\\n if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||\\r\\n (!this.stateOverride && (c === 63 || c === 35))) {\\r\\n if (isSpecial(this.url) && c === 92) {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n if (isDoubleDot(this.buffer)) {\\r\\n shortenPath(this.url);\\r\\n if (c !== 47 && !(isSpecial(this.url) && c === 92)) {\\r\\n this.url.path.push(\\\"\\\");\\r\\n }\\r\\n } else if (isSingleDot(this.buffer) && c !== 47 &&\\r\\n !(isSpecial(this.url) && c === 92)) {\\r\\n this.url.path.push(\\\"\\\");\\r\\n } else if (!isSingleDot(this.buffer)) {\\r\\n if (this.url.scheme === \\\"file\\\" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {\\r\\n if (this.url.host !== \\\"\\\" && this.url.host !== null) {\\r\\n this.parseError = true;\\r\\n this.url.host = \\\"\\\";\\r\\n }\\r\\n this.buffer = this.buffer[0] + \\\":\\\";\\r\\n }\\r\\n this.url.path.push(this.buffer);\\r\\n }\\r\\n this.buffer = \\\"\\\";\\r\\n if (this.url.scheme === \\\"file\\\" && (c === undefined || c === 63 || c === 35)) {\\r\\n while (this.url.path.length > 1 && this.url.path[0] === \\\"\\\") {\\r\\n this.parseError = true;\\r\\n this.url.path.shift();\\r\\n }\\r\\n }\\r\\n if (c === 63) {\\r\\n this.url.query = \\\"\\\";\\r\\n this.state = \\\"query\\\";\\r\\n }\\r\\n if (c === 35) {\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.state = \\\"fragment\\\";\\r\\n }\\r\\n } else {\\r\\n // TODO: If c is not a URL code point and not \\\"%\\\", parse error.\\r\\n\\r\\n if (c === 37 &&\\r\\n (!isASCIIHex(this.input[this.pointer + 1]) ||\\r\\n !isASCIIHex(this.input[this.pointer + 2]))) {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n this.buffer += percentEncodeChar(c, isPathPercentEncode);\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse cannot-be-a-base-URL path\\\"] = function parseCannotBeABaseURLPath(c) {\\r\\n if (c === 63) {\\r\\n this.url.query = \\\"\\\";\\r\\n this.state = \\\"query\\\";\\r\\n } else if (c === 35) {\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.state = \\\"fragment\\\";\\r\\n } else {\\r\\n // TODO: Add: not a URL code point\\r\\n if (!isNaN(c) && c !== 37) {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n if (c === 37 &&\\r\\n (!isASCIIHex(this.input[this.pointer + 1]) ||\\r\\n !isASCIIHex(this.input[this.pointer + 2]))) {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n if (!isNaN(c)) {\\r\\n this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);\\r\\n }\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse query\\\"] = function parseQuery(c, cStr) {\\r\\n if (isNaN(c) || (!this.stateOverride && c === 35)) {\\r\\n if (!isSpecial(this.url) || this.url.scheme === \\\"ws\\\" || this.url.scheme === \\\"wss\\\") {\\r\\n this.encodingOverride = \\\"utf-8\\\";\\r\\n }\\r\\n\\r\\n const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead\\r\\n for (let i = 0; i < buffer.length; ++i) {\\r\\n if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||\\r\\n buffer[i] === 0x3C || buffer[i] === 0x3E) {\\r\\n this.url.query += percentEncode(buffer[i]);\\r\\n } else {\\r\\n this.url.query += String.fromCodePoint(buffer[i]);\\r\\n }\\r\\n }\\r\\n\\r\\n this.buffer = \\\"\\\";\\r\\n if (c === 35) {\\r\\n this.url.fragment = \\\"\\\";\\r\\n this.state = \\\"fragment\\\";\\r\\n }\\r\\n } else {\\r\\n // TODO: If c is not a URL code point and not \\\"%\\\", parse error.\\r\\n if (c === 37 &&\\r\\n (!isASCIIHex(this.input[this.pointer + 1]) ||\\r\\n !isASCIIHex(this.input[this.pointer + 2]))) {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n this.buffer += cStr;\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nURLStateMachine.prototype[\\\"parse fragment\\\"] = function parseFragment(c) {\\r\\n if (isNaN(c)) { // do nothing\\r\\n } else if (c === 0x0) {\\r\\n this.parseError = true;\\r\\n } else {\\r\\n // TODO: If c is not a URL code point and not \\\"%\\\", parse error.\\r\\n if (c === 37 &&\\r\\n (!isASCIIHex(this.input[this.pointer + 1]) ||\\r\\n !isASCIIHex(this.input[this.pointer + 2]))) {\\r\\n this.parseError = true;\\r\\n }\\r\\n\\r\\n this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);\\r\\n }\\r\\n\\r\\n return true;\\r\\n};\\r\\n\\r\\nfunction serializeURL(url, excludeFragment) {\\r\\n let output = url.scheme + \\\":\\\";\\r\\n if (url.host !== null) {\\r\\n output += \\\"//\\\";\\r\\n\\r\\n if (url.username !== \\\"\\\" || url.password !== \\\"\\\") {\\r\\n output += url.username;\\r\\n if (url.password !== \\\"\\\") {\\r\\n output += \\\":\\\" + url.password;\\r\\n }\\r\\n output += \\\"@\\\";\\r\\n }\\r\\n\\r\\n output += serializeHost(url.host);\\r\\n\\r\\n if (url.port !== null) {\\r\\n output += \\\":\\\" + url.port;\\r\\n }\\r\\n } else if (url.host === null && url.scheme === \\\"file\\\") {\\r\\n output += \\\"//\\\";\\r\\n }\\r\\n\\r\\n if (url.cannotBeABaseURL) {\\r\\n output += url.path[0];\\r\\n } else {\\r\\n for (const string of url.path) {\\r\\n output += \\\"/\\\" + string;\\r\\n }\\r\\n }\\r\\n\\r\\n if (url.query !== null) {\\r\\n output += \\\"?\\\" + url.query;\\r\\n }\\r\\n\\r\\n if (!excludeFragment && url.fragment !== null) {\\r\\n output += \\\"#\\\" + url.fragment;\\r\\n }\\r\\n\\r\\n return output;\\r\\n}\\r\\n\\r\\nfunction serializeOrigin(tuple) {\\r\\n let result = tuple.scheme + \\\"://\\\";\\r\\n result += serializeHost(tuple.host);\\r\\n\\r\\n if (tuple.port !== null) {\\r\\n result += \\\":\\\" + tuple.port;\\r\\n }\\r\\n\\r\\n return result;\\r\\n}\\r\\n\\r\\nmodule.exports.serializeURL = serializeURL;\\r\\n\\r\\nmodule.exports.serializeURLOrigin = function (url) {\\r\\n // https://url.spec.whatwg.org/#concept-url-origin\\r\\n switch (url.scheme) {\\r\\n case \\\"blob\\\":\\r\\n try {\\r\\n return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));\\r\\n } catch (e) {\\r\\n // serializing an opaque origin returns \\\"null\\\"\\r\\n return \\\"null\\\";\\r\\n }\\r\\n case \\\"ftp\\\":\\r\\n case \\\"gopher\\\":\\r\\n case \\\"http\\\":\\r\\n case \\\"https\\\":\\r\\n case \\\"ws\\\":\\r\\n case \\\"wss\\\":\\r\\n return serializeOrigin({\\r\\n scheme: url.scheme,\\r\\n host: url.host,\\r\\n port: url.port\\r\\n });\\r\\n case \\\"file\\\":\\r\\n // spec says \\\"exercise to the reader\\\", chrome says \\\"file://\\\"\\r\\n return \\\"file://\\\";\\r\\n default:\\r\\n // serializing an opaque origin returns \\\"null\\\"\\r\\n return \\\"null\\\";\\r\\n }\\r\\n};\\r\\n\\r\\nmodule.exports.basicURLParse = function (input, options) {\\r\\n if (options === undefined) {\\r\\n options = {};\\r\\n }\\r\\n\\r\\n const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);\\r\\n if (usm.failure) {\\r\\n return \\\"failure\\\";\\r\\n }\\r\\n\\r\\n return usm.url;\\r\\n};\\r\\n\\r\\nmodule.exports.setTheUsername = function (url, username) {\\r\\n url.username = \\\"\\\";\\r\\n const decoded = punycode.ucs2.decode(username);\\r\\n for (let i = 0; i < decoded.length; ++i) {\\r\\n url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\\r\\n }\\r\\n};\\r\\n\\r\\nmodule.exports.setThePassword = function (url, password) {\\r\\n url.password = \\\"\\\";\\r\\n const decoded = punycode.ucs2.decode(password);\\r\\n for (let i = 0; i < decoded.length; ++i) {\\r\\n url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);\\r\\n }\\r\\n};\\r\\n\\r\\nmodule.exports.serializeHost = serializeHost;\\r\\n\\r\\nmodule.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;\\r\\n\\r\\nmodule.exports.serializeInteger = function (integer) {\\r\\n return String(integer);\\r\\n};\\r\\n\\r\\nmodule.exports.parseURL = function (input, options) {\\r\\n if (options === undefined) {\\r\\n options = {};\\r\\n }\\r\\n\\r\\n // We don't handle blobs, so this just delegates:\\r\\n return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });\\r\\n};\\r\\n\\n\\n/***/ }),\\n\\n/***/ \\\"./node_modules/whatwg-url/lib/utils.js\\\":\\n/*!**********************************************!*\\\\\\n !*** ./node_modules/whatwg-url/lib/utils.js ***!\\n \\\\**********************************************/\\n/*! no static exports found */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nmodule.exports.mixin = function mixin(target, source) {\\n const keys = Object.getOwnPropertyNames(source);\\n for (let i = 0; i < keys.length; ++i) {\\n Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));\\n }\\n};\\n\\nmodule.exports.wrapperSymbol = Symbol(\\\"wrapper\\\");\\nmodule.exports.implSymbol = Symbol(\\\"impl\\\");\\n\\nmodule.exports.wrapperForImpl = function (impl) {\\n return impl[module.exports.wrapperSymbol];\\n};\\n\\nmodule.exports.implForWrapper = function (wrapper) {\\n return wrapper[module.exports.implSymbol];\\n};\\n\\n\\n\\n/***/ }),\\n\\n/***/ \\\"http\\\":\\n/*!***********************!*\\\\\\n !*** external \\\"http\\\" ***!\\n \\\\***********************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = require(\\\"http\\\");\\n\\n/***/ }),\\n\\n/***/ \\\"https\\\":\\n/*!************************!*\\\\\\n !*** external \\\"https\\\" ***!\\n \\\\************************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = require(\\\"https\\\");\\n\\n/***/ }),\\n\\n/***/ \\\"punycode\\\":\\n/*!***************************!*\\\\\\n !*** external \\\"punycode\\\" ***!\\n \\\\***************************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = require(\\\"punycode\\\");\\n\\n/***/ }),\\n\\n/***/ \\\"stream\\\":\\n/*!*************************!*\\\\\\n !*** external \\\"stream\\\" ***!\\n \\\\*************************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = require(\\\"stream\\\");\\n\\n/***/ }),\\n\\n/***/ \\\"url\\\":\\n/*!**********************!*\\\\\\n !*** external \\\"url\\\" ***!\\n \\\\**********************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = require(\\\"url\\\");\\n\\n/***/ }),\\n\\n/***/ \\\"zlib\\\":\\n/*!***********************!*\\\\\\n !*** external \\\"zlib\\\" ***!\\n \\\\***********************/\\n/*! no static exports found */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = require(\\\"zlib\\\");\\n\\n/***/ })\\n\\n/******/ });\\n//# sourceMappingURL=ce8a01e629587e4f90e4.worker.js.map\", __webpack_public_path__ + \"ce8a01e629587e4f90e4.worker.js\");\n};","'use strict';\n\n// http://stackoverflow.com/questions/10343913/how-to-create-a-web-worker-from-a-string\n\nvar URL = window.URL || window.webkitURL;\n\nmodule.exports = function (content, url) {\n try {\n try {\n var blob;\n\n try {\n // BlobBuilder = Deprecated, but widely implemented\n var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n\n blob = new BlobBuilder();\n\n blob.append(content);\n\n blob = blob.getBlob();\n } catch (e) {\n // The proposed API\n blob = new Blob([content]);\n }\n\n return new Worker(URL.createObjectURL(blob));\n } catch (e) {\n return new Worker('data:application/javascript,' + encodeURIComponent(content));\n }\n } catch (e) {\n if (!url) {\n throw Error('Inline worker is not supported');\n }\n\n return new Worker(url);\n }\n};","// Use JS implemented TextDecoder and TextEncoder if it is not provided by the\n// browser.\nlet _TextDecoder;\nlet _TextEncoder;\nif (typeof TextDecoder === 'undefined' || typeof TextEncoder === 'undefined') {\n // Wait to require the text encoding polyfill until we know it's needed.\n // eslint-disable-next-line global-require\n const encoding = require('fastestsmallesttextencoderdecoder');\n _TextDecoder = encoding.TextDecoder;\n _TextEncoder = encoding.TextEncoder;\n} else {\n _TextDecoder = TextDecoder;\n _TextEncoder = TextEncoder;\n}\n\nconst md5 = require('js-md5');\n\nconst memoizedToString = (function () {\n /**\n * The maximum length of a chunk before encoding it into base64.\n *\n * 32766 is a multiple of 3 so btoa does not need to use padding characters\n * except for the final chunk where that is fine. 32766 is also close to\n * 32768 so it is close to a size an memory allocator would prefer.\n * @const {number}\n */\n const BTOA_CHUNK_MAX_LENGTH = 32766;\n\n /**\n * An array cache of bytes to characters.\n * @const {?Array.<string>}\n */\n let fromCharCode = null;\n\n const strings = {};\n return (assetId, data) => {\n if (!Object.prototype.hasOwnProperty.call(strings, assetId)) {\n if (typeof btoa === 'undefined') {\n // Use a library that does not need btoa to run.\n /* eslint-disable-next-line global-require */\n const base64js = require('base64-js');\n strings[assetId] = base64js.fromByteArray(data);\n } else {\n // Native btoa is faster than javascript translation. Use js to\n // create a \"binary\" string and btoa to encode it.\n if (fromCharCode === null) {\n // Cache the first 256 characters for input byte values.\n fromCharCode = new Array(256);\n for (let i = 0; i < 256; i++) {\n fromCharCode[i] = String.fromCharCode(i);\n }\n }\n\n const {length} = data;\n let s = '';\n // Iterate over chunks of the binary data.\n for (let i = 0, e = 0; i < length; i = e) {\n // Create small chunks to cause more small allocations and\n // less large allocations.\n e = Math.min(e + BTOA_CHUNK_MAX_LENGTH, length);\n let s_ = '';\n for (let j = i; j < e; j += 1) {\n s_ += fromCharCode[data[j]];\n }\n // Encode the latest chunk so the we create one big output\n // string instead of creating a big input string and then\n // one big output string.\n s += btoa(s_);\n }\n strings[assetId] = s;\n }\n }\n return strings[assetId];\n };\n}());\n\nclass Asset {\n /**\n * Construct an Asset.\n * @param {AssetType} assetType - The type of this asset (sound, image, etc.)\n * @param {string} assetId - The ID of this asset.\n * @param {DataFormat} [dataFormat] - The format of the data (WAV, PNG, etc.); required iff `data` is present.\n * @param {Buffer} [data] - The in-memory data for this asset; optional.\n * @param {bool} [generateId] - Whether to create id from an md5 hash of data\n */\n constructor (assetType, assetId, dataFormat, data, generateId) {\n /** @type {AssetType} */\n this.assetType = assetType;\n\n /** @type {string} */\n this.assetId = assetId;\n\n this.setData(data, dataFormat || assetType.runtimeFormat, generateId);\n\n /** @type {Asset[]} */\n this.dependencies = [];\n }\n\n setData (data, dataFormat, generateId) {\n if (data && !dataFormat) {\n throw new Error('Data provided without specifying its format');\n }\n\n /** @type {DataFormat} */\n this.dataFormat = dataFormat;\n\n /** @type {Buffer} */\n this.data = data;\n\n if (generateId) this.assetId = md5(data);\n\n // Mark as clean only if set is being called without generateId\n // If a new id is being generated, mark this asset as not clean\n this.clean = !generateId;\n }\n\n /**\n * @returns {string} - This asset's data, decoded as text.\n */\n decodeText () {\n const decoder = new _TextDecoder();\n return decoder.decode(this.data);\n }\n\n /**\n * Same as `setData` but encodes text first.\n * @param {string} data - the text data to encode and store.\n * @param {DataFormat} dataFormat - the format of the data (DataFormat.SVG for example).\n * @param {bool} generateId - after setting data, set the id to an md5 of the data?\n */\n encodeTextData (data, dataFormat, generateId) {\n const encoder = new _TextEncoder();\n this.setData(encoder.encode(data), dataFormat, generateId);\n }\n\n /**\n * @param {string} [contentType] - Optionally override the content type to be included in the data URI.\n * @returns {string} - A data URI representing the asset's data.\n */\n encodeDataURI (contentType) {\n contentType = contentType || this.assetType.contentType;\n return `data:${contentType};base64,${memoizedToString(this.assetId, this.data)}`;\n }\n}\n\nmodule.exports = Asset;\n","const DataFormat = require('./DataFormat');\n\n/**\n * Enumeration of the supported asset types.\n * @type {Object.<String,AssetType>}\n * @typedef {Object} AssetType - Information about a supported asset type.\n * @property {string} contentType - the MIME type associated with this kind of data. Useful for data URIs, etc.\n * @property {string} name - The human-readable name of this asset type.\n * @property {DataFormat} runtimeFormat - The default format used for runtime, in-memory storage of this asset. For\n * example, a project stored in SB2 format on disk will be returned as JSON when loaded into memory.\n * @property {boolean} immutable - Indicates if the asset id is determined by the asset content.\n */\nconst AssetType = {\n ImageBitmap: {\n contentType: 'image/png',\n name: 'ImageBitmap',\n runtimeFormat: DataFormat.PNG,\n immutable: true\n },\n ImageVector: {\n contentType: 'image/svg+xml',\n name: 'ImageVector',\n runtimeFormat: DataFormat.SVG,\n immutable: true\n },\n Project: {\n contentType: 'application/json',\n name: 'Project',\n runtimeFormat: DataFormat.JSON,\n immutable: false\n },\n Sound: {\n contentType: 'audio/x-wav',\n name: 'Sound',\n runtimeFormat: DataFormat.WAV,\n immutable: true\n },\n Sprite: {\n contentType: 'application/json',\n name: 'Sprite',\n runtimeFormat: DataFormat.JSON,\n immutable: true\n }\n};\n\nmodule.exports = AssetType;\n","const md5 = require('js-md5');\n\nconst log = require('./log');\n\nconst Asset = require('./Asset');\nconst AssetType = require('./AssetType');\nconst DataFormat = require('./DataFormat');\nconst Helper = require('./Helper');\n\n/**\n * @typedef {object} BuiltinAssetRecord\n * @property {AssetType} type - The type of the asset.\n * @property {DataFormat} format - The format of the asset's data.\n * @property {?string} id - The asset's unique ID.\n * @property {Buffer} data - The asset's data.\n */\n\n/**\n * @type {BuiltinAssetRecord[]}\n */\nconst DefaultAssets = [\n {\n type: AssetType.ImageBitmap,\n format: DataFormat.PNG,\n id: null,\n data: Buffer.from(\n require('./builtins/defaultBitmap.png') // eslint-disable-line global-require\n )\n },\n {\n type: AssetType.Sound,\n format: DataFormat.WAV,\n id: null,\n data: Buffer.from(\n require('./builtins/defaultSound.wav') // eslint-disable-line global-require\n )\n },\n {\n type: AssetType.ImageVector,\n format: DataFormat.SVG,\n id: null,\n data: Buffer.from(\n require('./builtins/defaultVector.svg') // eslint-disable-line global-require\n )\n }\n];\n\n/**\n * @type {BuiltinAssetRecord[]}\n */\nconst BuiltinAssets = DefaultAssets.concat([\n]);\n\nclass BuiltinHelper extends Helper {\n constructor (parent) {\n super(parent);\n\n /**\n * In-memory storage for all built-in assets.\n * @type {Object.<AssetType, AssetIdMap>} Maps asset type to a map of asset ID to actual assets.\n * @typedef {Object.<string, BuiltinAssetRecord>} AssetIdMap - Maps asset ID to asset.\n */\n this.assets = {};\n\n BuiltinAssets.forEach(assetRecord => {\n assetRecord.id = this._store(assetRecord.type, assetRecord.format, assetRecord.data, assetRecord.id);\n });\n }\n\n /**\n * Call `setDefaultAssetId` on the parent `ScratchStorage` instance to register all built-in default assets.\n */\n registerDefaultAssets () {\n const numAssets = DefaultAssets.length;\n for (let assetIndex = 0; assetIndex < numAssets; ++assetIndex) {\n const assetRecord = DefaultAssets[assetIndex];\n this.parent.setDefaultAssetId(assetRecord.type, assetRecord.id);\n }\n }\n\n\n /**\n * Synchronously fetch a cached asset for a given asset id. Returns null if not found.\n * @param {string} assetId - The id for the asset to fetch.\n * @returns {?Asset} The asset for assetId, if it exists.\n */\n get (assetId) {\n let asset = null;\n if (Object.prototype.hasOwnProperty.call(this.assets, assetId)) {\n /** @type{BuiltinAssetRecord} */\n const assetRecord = this.assets[assetId];\n asset = new Asset(assetRecord.type, assetRecord.id, assetRecord.format, assetRecord.data);\n }\n return asset;\n }\n\n /**\n * Alias for store (old name of store)\n * @deprecated Use BuiltinHelper.store\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {string} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n cache (assetType, dataFormat, data, id) {\n log.warn('Deprecation: BuiltinHelper.cache has been replaced with BuiltinHelper.store.');\n return this.store(assetType, dataFormat, data, id);\n }\n\n /**\n * Deprecated external API for _store\n * @deprecated Not for external use. Create assets and keep track of them outside of the storage instance.\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {(string|number)} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n store (assetType, dataFormat, data, id) {\n log.warn('Deprecation: use Storage.createAsset. BuiltinHelper is for internal use only.');\n return this._store(assetType, dataFormat, data, id);\n }\n\n /**\n * Cache an asset for future lookups by ID.\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {(string|number)} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n _store (assetType, dataFormat, data, id) {\n if (!dataFormat) throw new Error('Data cached without specifying its format');\n if (id !== '' && id !== null && typeof id !== 'undefined') {\n if (Object.prototype.hasOwnProperty.call(this.assets, id) && assetType.immutable) return id;\n } else if (assetType.immutable) {\n id = md5(data);\n } else {\n throw new Error('Tried to cache data without an id');\n }\n this.assets[id] = {\n type: assetType,\n format: dataFormat,\n id: id,\n data: data\n };\n return id;\n }\n\n /**\n * Fetch an asset but don't process dependencies.\n * @param {AssetType} assetType - The type of asset to fetch.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @return {?Promise.<Asset>} A promise for the contents of the asset.\n */\n load (assetType, assetId) {\n if (!this.get(assetId)) {\n // Return null immediately so Storage can quickly move to trying the\n // next helper.\n return null;\n }\n return Promise.resolve(this.get(assetId));\n }\n}\n\nmodule.exports = BuiltinHelper;\n","/**\n * Enumeration of the supported data formats.\n * @enum {string}\n */\nconst DataFormat = {\n JPG: 'jpg',\n JSON: 'json',\n MP3: 'mp3',\n PNG: 'png',\n SB2: 'sb2',\n SB3: 'sb3',\n SVG: 'svg',\n WAV: 'wav'\n};\n\nmodule.exports = DataFormat;\n","const {scratchFetch} = require('./scratchFetch');\n\n/**\n * @typedef {Request & {withCredentials: boolean}} ScratchSendRequest\n */\n\n/**\n * Get and send assets with the fetch standard web api.\n */\nclass FetchTool {\n /**\n * Is get supported?\n * Always true for `FetchTool` because `scratchFetch` ponyfills `fetch` if necessary.\n * @returns {boolean} Is get supported?\n */\n get isGetSupported () {\n return true;\n }\n\n /**\n * Request data from a server with fetch.\n * @param {Request} reqConfig - Request configuration for data to get.\n * @returns {Promise.<Uint8Array?>} Resolve to Buffer of data from server.\n */\n get ({url, ...options}) {\n return scratchFetch(url, Object.assign({method: 'GET'}, options))\n .then(result => {\n if (result.ok) return result.arrayBuffer().then(b => new Uint8Array(b));\n if (result.status === 404) return null;\n return Promise.reject(result.status); // TODO: we should throw a proper error\n });\n }\n\n /**\n * Is sending supported?\n * Always true for `FetchTool` because `scratchFetch` ponyfills `fetch` if necessary.\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported () {\n return true;\n }\n\n /**\n * Send data to a server with fetch.\n * @param {ScratchSendRequest} reqConfig - Request configuration for data to send.\n * @returns {Promise.<string>} Server returned metadata.\n */\n send ({url, withCredentials = false, ...options}) {\n return scratchFetch(url, Object.assign({\n credentials: withCredentials ? 'include' : 'omit'\n }, options))\n .then(response => {\n if (response.ok) return response.text();\n return Promise.reject(response.status);\n });\n }\n}\n\nmodule.exports = FetchTool;\n","const {Headers, applyMetadata} = require('./scratchFetch');\n\n/**\n * Get and send assets with a worker that uses fetch.\n */\nclass PrivateFetchWorkerTool {\n constructor () {\n /**\n * What does the worker support of the APIs we need?\n * @type {{fetch:boolean}}\n */\n this._workerSupport = {\n fetch: typeof fetch !== 'undefined'\n };\n\n /**\n * A possible error occurred standing up the worker.\n * @type {Error?}\n */\n this._supportError = null;\n\n /**\n * The worker that runs fetch and returns data for us.\n * @type {Worker?}\n */\n this.worker = null;\n\n /**\n * A map of ids to fetch job objects.\n * @type {object}\n */\n this.jobs = {};\n\n try {\n if (this.isGetSupported) {\n // eslint-disable-next-line global-require\n const FetchWorker = require('worker-loader?{\"inline\":true,\"fallback\":true}!./FetchWorkerTool.worker');\n\n const worker = new FetchWorker();\n\n worker.addEventListener('message', ({data}) => {\n if (data.support) {\n this._workerSupport = data.support;\n return;\n }\n for (const message of data) {\n if (this.jobs[message.id]) {\n if (message.error) {\n this.jobs[message.id].reject(message.error);\n } else {\n this.jobs[message.id].resolve(message.buffer);\n }\n delete this.jobs[message.id];\n }\n }\n });\n\n this.worker = worker;\n }\n } catch (error) {\n this._supportError = error;\n }\n }\n\n /**\n * Is get supported?\n *\n * false if the environment does not workers, fetch, or fetch from inside a\n * worker. Finding out the worker supports fetch is asynchronous and will\n * guess that it does if the window does until the worker can inform us.\n * @returns {boolean} Is get supported?\n */\n get isGetSupported () {\n return (\n typeof Worker !== 'undefined' &&\n this._workerSupport.fetch &&\n !this._supportError\n );\n }\n\n /**\n * Request data from a server with a worker using fetch.\n * @param {{url:string}} reqConfig - Request configuration for data to get.\n * @param {{method:string}} options - Additional options to configure fetch.\n * @returns {Promise.<Buffer|Uint8Array|null>} Resolve to Buffer of data from server.\n */\n get ({url, ...options}) {\n return new Promise((resolve, reject) => {\n // TODO: Use a Scratch standard ID generator ...\n const id = Math.random().toString(16)\n .substring(2);\n const augmentedOptions = applyMetadata(\n Object.assign({method: 'GET'}, options)\n );\n // the Fetch spec says options.headers could be:\n // \"A Headers object, an object literal, or an array of two-item arrays to set request's headers.\"\n // structured clone (postMessage) doesn't support Headers objects\n // so turn it into an array of two-item arrays to make it to the worker intact\n if (augmentedOptions && augmentedOptions.headers instanceof Headers) {\n augmentedOptions.headers = Array.from(augmentedOptions.headers.entries());\n }\n this.worker.postMessage({\n id,\n url,\n options: augmentedOptions\n });\n this.jobs[id] = {\n id,\n resolve,\n reject\n };\n })\n /* eslint no-confusing-arrow: [\"error\", {\"allowParens\": true}] */\n .then(body => (body ? new Uint8Array(body) : null));\n }\n\n /**\n * Is sending supported? always false for FetchWorkerTool.\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported () {\n return false;\n }\n\n /**\n * Send data to a server.\n * @throws {Error} A not implemented error.\n */\n send () {\n throw new Error('Not implemented.');\n }\n\n /**\n * Return a static PrivateFetchWorkerTool instance on demand.\n * @returns {PrivateFetchWorkerTool} A static PrivateFetchWorkerTool\n * instance\n */\n static get instance () {\n if (!this._instance) {\n this._instance = new PrivateFetchWorkerTool();\n }\n return this._instance;\n }\n}\n\n/**\n * Get and send assets with a worker that uses fetch.\n */\nclass PublicFetchWorkerTool {\n constructor () {\n /**\n * Shared instance of an internal worker. PublicFetchWorkerTool proxies\n * it.\n * @type {PrivateFetchWorkerTool}\n */\n this.inner = PrivateFetchWorkerTool.instance;\n }\n\n /**\n * Is get supported?\n * @returns {boolean} Is get supported?\n */\n get isGetSupported () {\n return this.inner.isGetSupported;\n }\n\n /**\n * Request data from a server with a worker that uses fetch.\n * @param {{url:string}} reqConfig - Request configuration for data to get.\n * @returns {Promise.<Buffer|Uint8Array|null>} Resolve to Buffer of data from server.\n */\n get (reqConfig) {\n return this.inner.get(reqConfig);\n }\n\n /**\n * Is sending supported?\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported () {\n return false;\n }\n\n /**\n * Send data to a server with a worker that uses fetch.\n * @throws {Error} A not implemented error.\n */\n send () {\n throw new Error('Not implemented.');\n }\n}\n\nmodule.exports = PublicFetchWorkerTool;\n","/**\n * Base class for asset load/save helpers.\n * @abstract\n */\nclass Helper {\n constructor (parent) {\n this.parent = parent;\n }\n\n /**\n * Fetch an asset but don't process dependencies.\n * @param {AssetType} assetType - The type of asset to fetch.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @param {DataFormat} dataFormat - The file format / file extension of the asset to fetch: PNG, JPG, etc.\n * @return {Promise.<Asset>} A promise for the contents of the asset.\n */\n load (assetType, assetId, dataFormat) {\n return Promise.reject(new Error(`No asset of type ${assetType} for ID ${assetId} with format ${dataFormat}`));\n }\n}\n\nmodule.exports = Helper;\n","const FetchWorkerTool = require('./FetchWorkerTool');\nconst FetchTool = require('./FetchTool');\n\n/**\n * @typedef {object} Request\n * @property {string} url\n * @property {*} body\n * @property {string} method\n * @property {boolean} withCredentials\n */\n\n/**\n * Get and send assets with other tools in sequence.\n */\nclass ProxyTool {\n constructor (filter = ProxyTool.TOOL_FILTER.ALL) {\n let tools;\n if (filter === ProxyTool.TOOL_FILTER.READY) {\n tools = [new FetchTool()];\n } else {\n tools = [new FetchWorkerTool(), new FetchTool()];\n }\n\n /**\n * Sequence of tools to proxy.\n * @type {Array.<Tool>}\n */\n this.tools = tools;\n }\n\n /**\n * Is get supported? false if all proxied tool return false.\n * @returns {boolean} Is get supported?\n */\n get isGetSupported () {\n return this.tools.some(tool => tool.isGetSupported);\n }\n\n /**\n * Request data from with one of the proxied tools.\n * @param {Request} reqConfig - Request configuration for data to get.\n * @returns {Promise.<Buffer>} Resolve to Buffer of data from server.\n */\n get (reqConfig) {\n let toolIndex = 0;\n const nextTool = err => {\n const tool = this.tools[toolIndex++];\n if (!tool) {\n throw err;\n }\n if (!tool.isGetSupported) {\n return nextTool(err);\n }\n return tool.get(reqConfig).catch(nextTool);\n };\n return nextTool();\n }\n\n /**\n * Is sending supported? false if all proxied tool return false.\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported () {\n return this.tools.some(tool => tool.isSendSupported);\n }\n\n /**\n * Send data to a server with one of the proxied tools.\n * @param {Request} reqConfig - Request configuration for data to send.\n * @returns {Promise.<Buffer|string|object>} Server returned metadata.\n */\n send (reqConfig) {\n let toolIndex = 0;\n const nextTool = err => {\n const tool = this.tools[toolIndex++];\n if (!tool) {\n throw err;\n }\n if (!tool.isSendSupported) {\n return nextTool(err);\n }\n return tool.send(reqConfig).catch(nextTool);\n };\n return nextTool();\n }\n}\n\n/**\n * Constant values that filter the set of tools in a ProxyTool instance.\n * @enum {string}\n */\nProxyTool.TOOL_FILTER = {\n /**\n * Use all tools.\n */\n ALL: 'all',\n\n /**\n * Use tools that are ready right now.\n */\n READY: 'ready'\n};\n\nmodule.exports = ProxyTool;\n","const log = require('./log');\n\nconst BuiltinHelper = require('./BuiltinHelper');\nconst WebHelper = require('./WebHelper');\n\nconst _Asset = require('./Asset');\nconst _AssetType = require('./AssetType');\nconst _DataFormat = require('./DataFormat');\nconst _scratchFetch = require('./scratchFetch');\n\nclass ScratchStorage {\n constructor () {\n this.defaultAssetId = {};\n\n this.builtinHelper = new BuiltinHelper(this);\n this.webHelper = new WebHelper(this);\n this.builtinHelper.registerDefaultAssets(this);\n\n this._helpers = [\n {\n helper: this.builtinHelper,\n priority: 100\n },\n {\n helper: this.webHelper,\n priority: -100\n }\n ];\n }\n\n /**\n * @return {Asset} - the `Asset` class constructor.\n * @constructor\n */\n get Asset () {\n return _Asset;\n }\n\n /**\n * @return {AssetType} - the list of supported asset types.\n * @constructor\n */\n get AssetType () {\n return _AssetType;\n }\n\n /**\n * @return {DataFormat} - the list of supported data formats.\n * @constructor\n */\n get DataFormat () {\n return _DataFormat;\n }\n\n /**\n * Access the `scratchFetch` module within this library.\n * @return {module} the scratchFetch module, with properties for `scratchFetch`, `setMetadata`, etc.\n */\n get scratchFetch () {\n return _scratchFetch;\n }\n\n /**\n * @deprecated Please use the `Asset` member of a storage instance instead.\n * @return {Asset} - the `Asset` class constructor.\n * @constructor\n */\n static get Asset () {\n return _Asset;\n }\n\n /**\n * @deprecated Please use the `AssetType` member of a storage instance instead.\n * @return {AssetType} - the list of supported asset types.\n * @constructor\n */\n static get AssetType () {\n return _AssetType;\n }\n\n /**\n * Add a storage helper to this manager. Helpers with a higher priority number will be checked first when loading\n * or storing assets. For comparison, the helper for built-in assets has `priority=100` and the default web helper\n * has `priority=-100`. The relative order of helpers with equal priorities is undefined.\n * @param {Helper} helper - the helper to be added.\n * @param {number} [priority] - the priority for this new helper (default: 0).\n */\n addHelper (helper, priority = 0) {\n this._helpers.push({helper, priority});\n this._helpers.sort((a, b) => b.priority - a.priority);\n }\n\n /**\n * Synchronously fetch a cached asset from built-in storage. Assets are cached when they are loaded.\n * @param {string} assetId - The id of the asset to fetch.\n * @returns {?Asset} The asset, if it exists.\n */\n get (assetId) {\n return this.builtinHelper.get(assetId);\n }\n\n /**\n * Deprecated API for caching built-in assets. Use createAsset.\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {string} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n cache (assetType, dataFormat, data, id) {\n log.warn('Deprecation: Storage.cache is deprecated. Use Storage.createAsset, and store assets externally.');\n return this.builtinHelper._store(assetType, dataFormat, data, id);\n }\n\n /**\n * Construct an Asset, and optionally generate an md5 hash of its data to create an id\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {string} [id] - The id for the cached asset.\n * @param {bool} [generateId] - flag to set id to an md5 hash of data if `id` isn't supplied\n * @returns {Asset} generated Asset with `id` attribute set if not supplied\n */\n createAsset (assetType, dataFormat, data, id, generateId) {\n if (!dataFormat) throw new Error('Tried to create asset without a dataFormat');\n return new _Asset(assetType, id, dataFormat, data, generateId);\n }\n\n /**\n * Register a web-based source for assets. Sources will be checked in order of registration.\n * @param {Array.<AssetType>} types - The types of asset provided by this source.\n * @param {UrlFunction} getFunction - A function which computes a GET URL from an Asset.\n * @param {UrlFunction} createFunction - A function which computes a POST URL for asset data.\n * @param {UrlFunction} updateFunction - A function which computes a PUT URL for asset data.\n */\n addWebStore (types, getFunction, createFunction, updateFunction) {\n this.webHelper.addStore(types, getFunction, createFunction, updateFunction);\n }\n\n /**\n * Register a web-based source for assets. Sources will be checked in order of registration.\n * @deprecated Please use addWebStore\n * @param {Array.<AssetType>} types - The types of asset provided by this source.\n * @param {UrlFunction} urlFunction - A function which computes a GET URL from an Asset.\n */\n addWebSource (types, urlFunction) {\n log.warn('Deprecation: Storage.addWebSource has been replaced by addWebStore.');\n this.addWebStore(types, urlFunction);\n }\n\n /**\n * TODO: Should this be removed in favor of requesting an asset with `null` as the ID?\n * @param {AssetType} type - Get the default ID for assets of this type.\n * @return {?string} The ID of the default asset of the given type, if any.\n */\n getDefaultAssetId (type) {\n if (Object.prototype.hasOwnProperty.call(this.defaultAssetId, type.name)) {\n return this.defaultAssetId[type.name];\n }\n }\n\n /**\n * Set the default ID for a particular type of asset. This default asset will be used if a requested asset cannot\n * be found and automatic fallback is enabled. Ideally this should be an asset that is available locally or even\n * one built into this module.\n * TODO: Should this be removed in favor of requesting an asset with `null` as the ID?\n * @param {AssetType} type - The type of asset for which the default will be set.\n * @param {string} id - The default ID to use for this type of asset.\n */\n setDefaultAssetId (type, id) {\n this.defaultAssetId[type.name] = id;\n }\n\n /**\n * Fetch an asset by type & ID.\n * @param {AssetType} assetType - The type of asset to fetch. This also determines which asset store to use.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @param {DataFormat} [dataFormat] - Optional: load this format instead of the AssetType's default.\n * @return {Promise.<Asset>} A promise for the requested Asset.\n * If the promise is resolved with non-null, the value is the requested asset.\n * If the promise is resolved with null, the desired asset could not be found with the current asset sources.\n * If the promise is rejected, there was an error on at least one asset source. HTTP 404 does not count as an\n * error here, but (for example) HTTP 403 does.\n */\n load (assetType, assetId, dataFormat) {\n /** @type {Helper[]} */\n const helpers = this._helpers.map(x => x.helper);\n const errors = [];\n dataFormat = dataFormat || assetType.runtimeFormat;\n\n let helperIndex = 0;\n let helper;\n const tryNextHelper = err => {\n if (err) { // Track the error, but continue looking\n errors.push(err);\n }\n\n helper = helpers[helperIndex++];\n\n if (helper) {\n const loading = helper.load(assetType, assetId, dataFormat);\n if (loading === null) {\n return tryNextHelper();\n }\n // Note that other attempts may have logged errors; if this succeeds they will be suppressed.\n return loading\n // TODO: maybe some types of error should prevent trying the next helper?\n .catch(tryNextHelper);\n } else if (errors.length > 0) {\n // We looked through all the helpers and couldn't find the asset, AND\n // at least one thing went wrong while we were looking.\n return Promise.reject(errors);\n }\n\n // Nothing went wrong but we couldn't find the asset.\n return Promise.resolve(null);\n };\n\n return tryNextHelper();\n }\n\n /**\n * Store an asset by type & ID.\n * @param {AssetType} assetType - The type of asset to fetch. This also determines which asset store to use.\n * @param {?DataFormat} [dataFormat] - Optional: load this format instead of the AssetType's default.\n * @param {Buffer} data - Data to store for the asset\n * @param {?string} [assetId] - The ID of the asset to fetch: a project ID, MD5, etc.\n * @return {Promise.<object>} A promise for asset metadata\n */\n store (assetType, dataFormat, data, assetId) {\n dataFormat = dataFormat || assetType.runtimeFormat;\n return new Promise(\n (resolve, reject) =>\n this.webHelper.store(assetType, dataFormat, data, assetId)\n .then(body => {\n this.builtinHelper._store(assetType, dataFormat, data, body.id);\n return resolve(body);\n })\n .catch(error => reject(error))\n );\n }\n}\n\nmodule.exports = ScratchStorage;\n","const log = require('./log');\n\nconst Asset = require('./Asset');\nconst Helper = require('./Helper');\nconst ProxyTool = require('./ProxyTool');\n\nconst ensureRequestConfig = reqConfig => {\n if (typeof reqConfig === 'string') {\n return {\n url: reqConfig\n };\n }\n return reqConfig;\n};\n\n/**\n * @typedef {function} UrlFunction - A function which computes a URL from asset information.\n * @param {Asset} - The asset for which the URL should be computed.\n * @returns {(string|object)} - A string representing the URL for the asset request OR an object with configuration for\n * the underlying fetch call (necessary for configuring e.g. authentication)\n */\n\nclass WebHelper extends Helper {\n constructor (parent) {\n super(parent);\n\n /**\n * @type {Array.<StoreRecord>}\n * @typedef {object} StoreRecord\n * @property {Array.<string>} types - The types of asset provided by this store, from AssetType's name field.\n * @property {UrlFunction} getFunction - A function which computes a URL from an Asset.\n * @property {UrlFunction} createFunction - A function which computes a URL from an Asset.\n * @property {UrlFunction} updateFunction - A function which computes a URL from an Asset.\n */\n this.stores = [];\n\n /**\n * Set of tools to best load many assets in parallel. If one tool\n * cannot be used, it will use the next.\n * @type {ProxyTool}\n */\n this.assetTool = new ProxyTool();\n\n /**\n * Set of tools to best load project data in parallel with assets. This\n * tool set prefers tools that are immediately ready. Some tools have\n * to initialize before they can load files.\n * @type {ProxyTool}\n */\n this.projectTool = new ProxyTool(ProxyTool.TOOL_FILTER.READY);\n }\n\n /**\n * Register a web-based source for assets. Sources will be checked in order of registration.\n * @deprecated Please use addStore\n * @param {Array.<AssetType>} types - The types of asset provided by this source.\n * @param {UrlFunction} urlFunction - A function which computes a URL from an Asset.\n */\n addSource (types, urlFunction) {\n log.warn('Deprecation: WebHelper.addSource has been replaced with WebHelper.addStore.');\n this.addStore(types, urlFunction);\n }\n\n /**\n * Register a web-based store for assets. Sources will be checked in order of registration.\n * @param {Array.<AssetType>} types - The types of asset provided by this store.\n * @param {UrlFunction} getFunction - A function which computes a GET URL for an Asset\n * @param {UrlFunction} createFunction - A function which computes a POST URL for an Asset\n * @param {UrlFunction} updateFunction - A function which computes a PUT URL for an Asset\n */\n addStore (types, getFunction, createFunction, updateFunction) {\n this.stores.push({\n types: types.map(assetType => assetType.name),\n get: getFunction,\n create: createFunction,\n update: updateFunction\n });\n }\n\n /**\n * Fetch an asset but don't process dependencies.\n * @param {AssetType} assetType - The type of asset to fetch.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @param {DataFormat} dataFormat - The file format / file extension of the asset to fetch: PNG, JPG, etc.\n * @return {Promise.<Asset>} A promise for the contents of the asset.\n */\n load (assetType, assetId, dataFormat) {\n\n /** @type {Array.<{url:string, result:*}>} List of URLs attempted & errors encountered. */\n const errors = [];\n const stores = this.stores.slice()\n .filter(store => store.types.indexOf(assetType.name) >= 0);\n \n // New empty asset but it doesn't have data yet\n const asset = new Asset(assetType, assetId, dataFormat);\n\n let tool = this.assetTool;\n if (assetType.name === 'Project') {\n tool = this.projectTool;\n }\n\n let storeIndex = 0;\n const tryNextSource = err => {\n if (err) {\n errors.push(err);\n }\n const store = stores[storeIndex++];\n\n /** @type {UrlFunction} */\n const reqConfigFunction = store && store.get;\n\n if (reqConfigFunction) {\n const reqConfig = ensureRequestConfig(reqConfigFunction(asset));\n if (reqConfig === false) {\n return tryNextSource();\n }\n\n return tool.get(reqConfig)\n .then(body => {\n if (body) {\n asset.setData(body, dataFormat);\n return asset;\n }\n return tryNextSource();\n })\n .catch(tryNextSource);\n } else if (errors.length > 0) {\n return Promise.reject(errors);\n }\n\n // no stores matching asset\n return Promise.resolve(null);\n };\n\n return tryNextSource();\n }\n\n /**\n * Create or update an asset with provided data. The create function is called if no asset id is provided\n * @param {AssetType} assetType - The type of asset to create or update.\n * @param {?DataFormat} dataFormat - DataFormat of the data for the stored asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {?string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @return {Promise.<object>} A promise for the response from the create or update request\n */\n store (assetType, dataFormat, data, assetId) {\n const asset = new Asset(assetType, assetId, dataFormat);\n // If we have an asset id, we should update, otherwise create to get an id\n const create = assetId === '' || assetId === null || typeof assetId === 'undefined';\n\n // Use the first store with the appropriate asset type and url function\n const store = this.stores.filter(s =>\n // Only use stores for the incoming asset type\n s.types.indexOf(assetType.name) !== -1 && (\n // Only use stores that have a create function if this is a create request\n // or an update function if this is an update request\n (create && s.create) || s.update\n )\n )[0];\n\n const method = create ? 'post' : 'put';\n\n if (!store) return Promise.reject(new Error('No appropriate stores'));\n\n let tool = this.assetTool;\n if (assetType.name === 'Project') {\n tool = this.projectTool;\n }\n\n const reqConfig = ensureRequestConfig(\n create ? store.create(asset) : store.update(asset)\n );\n const reqBodyConfig = Object.assign({body: data, method}, reqConfig);\n return tool.send(reqBodyConfig)\n .then(body => {\n // xhr makes it difficult to both send FormData and\n // automatically parse a JSON response. So try to parse\n // everything as JSON.\n if (typeof body === 'string') {\n try {\n body = JSON.parse(body);\n } catch (parseError) {\n // If it's not parseable, then we can't add the id even\n // if we want to, so stop here\n return body;\n }\n }\n return Object.assign({\n id: body['content-name'] || assetId\n }, body);\n });\n }\n}\n\nmodule.exports = WebHelper;\n","module.exports = require(\"../../node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAAAAADmVT4XAAADZElEQVR42u3a70vbQBgH8O/7vOibvsmbFUEEWUGGUhQ25nDuhSKIUFDxlYi0SAd94atRmFiHCH2x4W8iiNtwowXRgd1QipJYY3N/1F4kTQ6XLKS9yyHcvWyO8MnT5y53Tw5EcIMESIAESIAESIAESIAEPFVAq/6l8G4oAQCp4aniwbUVJ6BVzafwqKXy1VZMgNb+CHzbyK4ZB+Bi0nnk0VyhsDiSoAmvvnMHmGUVAF6UG+0ffsxRhsRHky/AyCsAUpumX0wAAIs6T4CxDADDtcdZsal6gjmdH8AsAEC6+s8Fa48SFExeAKusAEju+V367AmUCi9ANQ0AU3pwcOw2cMEH0FwAAKz5X228pRLR5AI4TgIAtIDL24oLUE94AB6W7LsH/cONN14Ilh44AOqD9s2LQR1KHiB9zgGgOSGeuA3ocPrME1Q4ANaceyePAzrcjHmAZYs9IBeW4/fzHiAwTCwAgTle9ACZK44ALDT9e6x7gL4aT0BQCHb4AqgA5/1TTOMLoJ7vZSMM0H/GHnCeDnu+CrU8vGYPcN5FADBYD0vCaYPDy+i0p337GSMsS1Z4vA3t9QgAZTt0IuIxFRPSKicAQHlvhk3FXF5GhBByMa8qo/sBO6BarwuYbYrYnFKDYEvE7phKgcxvEQBqnvhgiQCUOgoAO4C3JOS3L/hv23UXxVldBECfcueAqpAa0WGy/QeULREAY6aTXRFDgBuA13+ElOncAERMAGaA9hBQD4gQQHsIRE1AZoD2xrgQS5nOZyHgFKmWDSIG4GRAVidiAE4GRB6AzAB2AKIPQFaA5myHA5AV4ESNugZhC7BLR50lIBPAebrzBGQCKAFQNSIMcDvRTQIwAHxNApM3RBygGK0uyhxwOwGsPAgEnPWj5ycRCNiJtBHlAChGKQVwANzPY+CXSMDNWISiLA9AfRA5IhJQ68UnoQAt+AtOPIBKhJosF8B6UM0yLkAxQk2WCyDX9SiUh1gkQAIkoCuAvjGuquMbuijAtwG7MPL8yBICOHSPk3W8Ne8KcEUdmBi6FADYos+QleIH0N/ogOxd7AD6uAS6WRU8WcBdlgZMG/EnYUlwEpLLoQ4PjzGbiA5UsRMRsbQ+5ziDJmYqJuR6NaMomdXuFuZyPSABEiABEiABEiABEiAc8Bd6VyvCEKGqcQAAAABJRU5ErkJggg==\")","module.exports = require(\"../../node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"UklGRiYAAABXQVZFZm10IBAAAAABAAEAIlYAAESsAAACABAAZGF0YQIAAAAAAA==\")","module.exports = require(\"../../node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8cmVjdCBmaWxsPSIjQ0NDIiBoZWlnaHQ9IjEyOCIgd2lkdGg9IjEyOCIvPgogIDx0ZXh0IGZpbGw9ImJsYWNrIiB5PSIxMDciIHg9IjM1LjUiIGZvbnQtc2l6ZT0iMTI4Ij4/PC90ZXh0PgogPC9nPgo8L3N2Zz4K\")","const ScratchStorage = require('./ScratchStorage');\n\n/**\n * Export for use with NPM & Node.js.\n * @type {ScratchStorage}\n */\nmodule.exports = ScratchStorage;\n","const minilog = require('minilog');\nminilog.enable();\n\nmodule.exports = minilog('storage');\n","const crossFetch = require('cross-fetch');\n\n/**\n * Metadata header names\n * @enum {string} The enum value is the name of the associated header.\n * @readonly\n */\nconst RequestMetadata = {\n /** The ID of the project associated with this request */\n ProjectId: 'X-Project-ID',\n /** The ID of the project run associated with this request */\n RunId: 'X-Run-ID'\n};\n\n/**\n * Metadata headers for requests\n * @type {Headers}\n */\nconst metadata = new crossFetch.Headers();\n\n/**\n * Check if there is any metadata to apply.\n * @returns {boolean} true if `metadata` has contents, or false if it is empty.\n */\nconst hasMetadata = () => {\n /* global self */\n const searchParams = (\n typeof self !== 'undefined' &&\n self &&\n self.location &&\n self.location.search &&\n self.location.search.split(/[?&]/)\n ) || [];\n if (!searchParams.includes('scratchMetadata=1')) {\n // for now, disable this feature unless scratchMetadata=1\n // TODO: remove this check once we're sure the feature works correctly in production\n return false;\n }\n for (const _ of metadata) {\n return true;\n }\n return false;\n};\n\n/**\n * Non-destructively merge any metadata state (if any) with the provided options object (if any).\n * If there is metadata state but no options object is provided, make a new object.\n * If there is no metadata state, return the provided options parameter without modification.\n * If there is metadata and an options object is provided, modify a copy and return it.\n * Headers in the provided options object may override headers generated from metadata state.\n * @param {RequestInit} [options] The initial request options. May be null or undefined.\n * @returns {RequestInit|undefined} the provided options parameter without modification, or a new options object.\n */\nconst applyMetadata = options => {\n if (hasMetadata()) {\n const augmentedOptions = Object.assign({}, options);\n augmentedOptions.headers = new crossFetch.Headers(metadata);\n if (options && options.headers) {\n // the Fetch spec says options.headers could be:\n // \"A Headers object, an object literal, or an array of two-item arrays to set request's headers.\"\n // turn it into a Headers object to be sure of how to interact with it\n const overrideHeaders = options.headers instanceof crossFetch.Headers ?\n options.headers : new crossFetch.Headers(options.headers);\n for (const [name, value] of overrideHeaders.entries()) {\n augmentedOptions.headers.set(name, value);\n }\n }\n return augmentedOptions;\n }\n return options;\n};\n\n/**\n * Make a network request.\n * This is a wrapper for the global fetch method, adding some Scratch-specific functionality.\n * @param {RequestInfo|URL} resource The resource to fetch.\n * @param {RequestInit} options Optional object containing custom settings for this request.\n * @see {@link https://developer.mozilla.org/docs/Web/API/fetch} for more about the fetch API.\n * @returns {Promise<Response>} A promise for the response to the request.\n */\nconst scratchFetch = (resource, options) => {\n const augmentedOptions = applyMetadata(options);\n return crossFetch.fetch(resource, augmentedOptions);\n};\n\n/**\n * Set the value of a named request metadata item.\n * Setting the value to `null` or `undefined` will NOT remove the item.\n * Use `unsetMetadata` for that.\n * @param {RequestMetadata} name The name of the metadata item to set.\n * @param {any} value The value to set (will be converted to a string).\n */\nconst setMetadata = (name, value) => {\n metadata.set(name, value);\n};\n\n/**\n * Remove a named request metadata item.\n * @param {RequestMetadata} name The name of the metadata item to remove.\n */\nconst unsetMetadata = name => {\n metadata.delete(name);\n};\n\nmodule.exports = {\n default: scratchFetch,\n\n Headers: crossFetch.Headers,\n RequestMetadata,\n applyMetadata,\n scratchFetch,\n setMetadata,\n unsetMetadata\n};\n\nif (process.env.NODE_ENV === 'development') {\n /**\n * Retrieve a named request metadata item.\n * Only for use in tests.\n * @param {RequestMetadata} name The name of the metadata item to retrieve.\n * @returns {any} value The value of the metadata item, or `undefined` if it was not found.\n */\n const getMetadata = name => metadata.get(name);\n\n module.exports.getMetadata = getMetadata;\n}\n","module.exports = require(\"base64-js\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"js-md5\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");"],"mappings":";;AAAA;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;AACA;AACA;;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACJA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACbA;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;;;;;;;;;;;AC3BA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;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;;;;;;;;;;;;ACjDA;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;;;;;;;;;;;;ACvDA;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;;;;;;;;;;;;AC5CA;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;;;;;;;;;;;;ACvEA;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;;;;;;;;;;;;AC/BA;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;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClBA;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;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxBA;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;;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA;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;;;;;;;;;;;;AC/BA;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;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBA;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;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC9uDA;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;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;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;;;;;;;;;;;;;;;;;;;;;;;;AChMA;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;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;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;;;;;;;;;;;;;AC5LA;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;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;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;;;;;;;;;;;;;ACvMA;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;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;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;;;;;;;;;;;;;ACnMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACVA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AACA;AACA;;;;;;;;;;;;ACFA;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;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;ACjJA;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;AAEA;;;;;;;;;;;;;;;;;;AC7CA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAGA;AACA;AADA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAKA;AAAA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;;;;;;AC1DA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAFA;AAGA;AACA;AAAA;AAAA;AAAA;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;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAMA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AACA;AACA;AAFA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;AChMA;AACA;AACA;AACA;AAHA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAGA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;ACvGA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAAA;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA;AAAA;AAAA;AAYA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AAQA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AA5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAqKA;;;;;;;;;;;;;;;;;;;ACnPA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AACA;AAAA;AAAA;AAAA;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;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AAQA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AAAA;AAAA;AASA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AAAA;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAGA;;;;;;;;;;;AClMA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AAEA;;;;;;;;;;;;;;;ACHA;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;AAOA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;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;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAEA;AACA;;;;;;;;;;;AC7HA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;A","sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scratch-storage.js","mappings":";;;;;;AAAA;;;;;;;ACAA;;;;;;;ACAA;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;ACjHA;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;;;;;;;;ACzjEA;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;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;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;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;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;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;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;;;;;;;;;ACziBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;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;AACA;AACA;AACA;AACA;;;;;;;;ACpFA;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;;;;;;;;ACjDA;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;;;;;;;;ACvDA;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;;;;;;;;AC5CA;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;;;;;;;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;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;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjBA;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;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;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;;;;;;;;ACzCA;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;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;;;;;;ACAA;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;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACNA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;AACA;AAEA;;ACHA;;;ACWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;;;;;AAQA;AAEA;;;;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACnFA;AACA;AAYA;AAQA;;;;;;;;AAQA;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;;;AAGA;AACA;AAEA;AACA;AACA;AACA;AAEA;;;;;;AAMA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AAEA;AACA;AACA;AACA;;;AClGA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AASA;;;;;;;;;;AAUA;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;;;;;AC7CA;;;;AAIA;AAGA;AAAA;AACA;AACA;AAEA;;;;;;;AAOA;AACA;AACA;;;;;;;;;;;;;;;;;ACzBA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAkBA;;;AAGA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA;;;AAGA;AAGA;AAGA;AACA;AAEA;;;;;AAAA;AAKA;AAEA;AACA;AACA;AACA;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;AASA;AACA;AACA;AACA;AAEA;;;;;;;;;AASA;AACA;AACA;AACA;AAEA;;;;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9KA;AASA;;;AAGA;AAMA;AAAA;AAAA;AAAA;AAAA;AACA;;;;AAIA;AACA;AACA;AAEA;;;;AAIA;AAEA;;;;AAIA;AAEA;;;;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;AAQA;AACA;AAKA;AAEA;;;;;;AAMA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AAIA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAGA;;;AAAA;AAGA;AAGA;AAAA;AACA;;;;;AAKA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;;;;;;;ACxNA;AAGA;;;AAIA;;;AAGA;AACA;;;;;AAKA;AACA;AACA;AAEA;;;;;AAKA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AAEA;;;;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;;;ACxDA;AACA;AAaA;;;AAGA;AAmBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AArFA;;;;AAAA;AAKA;;;AAGA;AAEA;;;AAGA;AACA;;;;;AClCA;AAEA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AAKA;AACA;AAEA;;;;;;;;AAAA;AAAA;AAAA;AAQA;AAEA;;;;;AAKA;AAEA;;;;;;AAMA;AACA;AAEA;;;;;;AAMA;AACA;AACA;AACA;AAEA;;;;;;;AAOA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;AAOA;AAEA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;;;;;;;;AAQA;AAMA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC5NA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAQA;AAOA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;AAIA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AAEA;;;;;;;AAOA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AAEA;;;;;;;;AAQA;AACA;AACA;AACA;AAEA;;;;;;;;;AASA;AAOA;AACA;AACA;AAEA;;;;;;;AAOA;AAMA;AACA;AAEA;;;;;;AAMA;AACA;AACA;AACA;AAEA;;;;;AAKA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;AAQA;AACA;AACA;AAEA;;;;;;;;;;;AAWA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;;;;;;;;AAQA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;;ACzQA;AACA;AACA;AACA;AACA","sources":["webpack://scratch-storage/./src/builtins/defaultBitmap.png","webpack://scratch-storage/./src/builtins/defaultSound.wav","webpack://scratch-storage/./src/builtins/defaultVector.svg","webpack://scratch-storage/./node_modules/arraybuffer-loader/lib/to-array-buffer.js","webpack://scratch-storage/./src/scratchFetch.js","webpack://scratch-storage/./node_modules/buffer/index.js","webpack://scratch-storage/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://scratch-storage/./node_modules/fastestsmallesttextencoderdecoder/EncoderDecoderTogether.min.js","webpack://scratch-storage/./node_modules/ieee754/index.js","webpack://scratch-storage/./node_modules/microee/index.js","webpack://scratch-storage/./node_modules/minilog/lib/common/filter.js","webpack://scratch-storage/./node_modules/minilog/lib/common/minilog.js","webpack://scratch-storage/./node_modules/minilog/lib/common/transform.js","webpack://scratch-storage/./node_modules/minilog/lib/web/array.js","webpack://scratch-storage/./node_modules/minilog/lib/web/console.js","webpack://scratch-storage/./node_modules/minilog/lib/web/formatters/color.js","webpack://scratch-storage/./node_modules/minilog/lib/web/formatters/minilog.js","webpack://scratch-storage/./node_modules/minilog/lib/web/formatters/util.js","webpack://scratch-storage/./node_modules/minilog/lib/web/index.js","webpack://scratch-storage/./node_modules/minilog/lib/web/jquery_simple.js","webpack://scratch-storage/./node_modules/minilog/lib/web/localstorage.js","webpack://scratch-storage/external commonjs2 \"base64-js\"","webpack://scratch-storage/webpack/bootstrap","webpack://scratch-storage/webpack/runtime/compat get default export","webpack://scratch-storage/webpack/runtime/define property getters","webpack://scratch-storage/webpack/runtime/get javascript chunk filename","webpack://scratch-storage/webpack/runtime/global","webpack://scratch-storage/webpack/runtime/hasOwnProperty shorthand","webpack://scratch-storage/webpack/runtime/make namespace object","webpack://scratch-storage/webpack/runtime/publicPath","webpack://scratch-storage/webpack/runtime/jsonp chunk loading","webpack://scratch-storage/./src/log.ts","webpack://scratch-storage/external commonjs2 \"js-md5\"","webpack://scratch-storage/./src/memoizedToString.ts","webpack://scratch-storage/./src/Asset.ts","webpack://scratch-storage/./src/DataFormat.ts","webpack://scratch-storage/./src/AssetType.ts","webpack://scratch-storage/./src/Helper.ts","webpack://scratch-storage/./src/BuiltinHelper.ts","webpack://scratch-storage/./src/FetchWorkerTool.ts","webpack://scratch-storage/./src/FetchTool.ts","webpack://scratch-storage/./src/ProxyTool.ts","webpack://scratch-storage/./src/WebHelper.ts","webpack://scratch-storage/./src/ScratchStorage.ts","webpack://scratch-storage/./src/index.ts"],"sourcesContent":["module.exports = require(\"../../node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAAAAADmVT4XAAADZElEQVR42u3a70vbQBgH8O/7vOibvsmbFUEEWUGGUhQ25nDuhSKIUFDxlYi0SAd94atRmFiHCH2x4W8iiNtwowXRgd1QipJYY3N/1F4kTQ6XLKS9yyHcvWyO8MnT5y53Tw5EcIMESIAESIAESIAESIAEPFVAq/6l8G4oAQCp4aniwbUVJ6BVzafwqKXy1VZMgNb+CHzbyK4ZB+Bi0nnk0VyhsDiSoAmvvnMHmGUVAF6UG+0ffsxRhsRHky/AyCsAUpumX0wAAIs6T4CxDADDtcdZsal6gjmdH8AsAEC6+s8Fa48SFExeAKusAEju+V367AmUCi9ANQ0AU3pwcOw2cMEH0FwAAKz5X228pRLR5AI4TgIAtIDL24oLUE94AB6W7LsH/cONN14Ilh44AOqD9s2LQR1KHiB9zgGgOSGeuA3ocPrME1Q4ANaceyePAzrcjHmAZYs9IBeW4/fzHiAwTCwAgTle9ACZK44ALDT9e6x7gL4aT0BQCHb4AqgA5/1TTOMLoJ7vZSMM0H/GHnCeDnu+CrU8vGYPcN5FADBYD0vCaYPDy+i0p337GSMsS1Z4vA3t9QgAZTt0IuIxFRPSKicAQHlvhk3FXF5GhBByMa8qo/sBO6BarwuYbYrYnFKDYEvE7phKgcxvEQBqnvhgiQCUOgoAO4C3JOS3L/hv23UXxVldBECfcueAqpAa0WGy/QeULREAY6aTXRFDgBuA13+ElOncAERMAGaA9hBQD4gQQHsIRE1AZoD2xrgQS5nOZyHgFKmWDSIG4GRAVidiAE4GRB6AzAB2AKIPQFaA5myHA5AV4ESNugZhC7BLR50lIBPAebrzBGQCKAFQNSIMcDvRTQIwAHxNApM3RBygGK0uyhxwOwGsPAgEnPWj5ycRCNiJtBHlAChGKQVwANzPY+CXSMDNWISiLA9AfRA5IhJQ68UnoQAt+AtOPIBKhJosF8B6UM0yLkAxQk2WCyDX9SiUh1gkQAIkoCuAvjGuquMbuijAtwG7MPL8yBICOHSPk3W8Ne8KcEUdmBi6FADYos+QleIH0N/ogOxd7AD6uAS6WRU8WcBdlgZMG/EnYUlwEpLLoQ4PjzGbiA5UsRMRsbQ+5ziDJmYqJuR6NaMomdXuFuZyPSABEiABEiABEiABEiAc8Bd6VyvCEKGqcQAAAABJRU5ErkJggg==\")","module.exports = require(\"../../node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"UklGRiYAAABXQVZFZm10IBAAAAABAAEAIlYAAESsAAACABAAZGF0YQIAAAAAAA==\")","module.exports = require(\"../../node_modules/arraybuffer-loader/lib/to-array-buffer.js\")(\"PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8cmVjdCBmaWxsPSIjQ0NDIiBoZWlnaHQ9IjEyOCIgd2lkdGg9IjEyOCIvPgogIDx0ZXh0IGZpbGw9ImJsYWNrIiB5PSIxMDciIHg9IjM1LjUiIGZvbnQtc2l6ZT0iMTI4Ij4/PC90ZXh0PgogPC9nPgo8L3N2Zz4K\")","'use strict'\n\nmodule.exports = function (base64Data) {\n var isBrowser = typeof window !== 'undefined' && typeof window.atob === 'function'\n var binary = isBrowser ? window.atob(base64Data) : Buffer.from(base64Data, 'base64').toString('binary')\n var bytes = new Uint8Array(binary.length)\n\n for (var i = 0; i < binary.length; ++i) {\n bytes[i] = binary.charCodeAt(i)\n }\n\n return bytes.buffer\n}\n","const crossFetch = require('cross-fetch');\n\n/**\n * Metadata header names\n * @enum {string} The enum value is the name of the associated header.\n * @readonly\n */\nconst RequestMetadata = {\n /** The ID of the project associated with this request */\n ProjectId: 'X-Project-ID',\n /** The ID of the project run associated with this request */\n RunId: 'X-Run-ID'\n};\n\n/**\n * Metadata headers for requests\n * @type {Headers}\n */\nconst metadata = new crossFetch.Headers();\n\n/**\n * Check if there is any metadata to apply.\n * @returns {boolean} true if `metadata` has contents, or false if it is empty.\n */\nconst hasMetadata = () => {\n /* global self */\n const searchParams = (\n typeof self !== 'undefined' &&\n self &&\n self.location &&\n self.location.search &&\n self.location.search.split(/[?&]/)\n ) || [];\n if (!searchParams.includes('scratchMetadata=1')) {\n // for now, disable this feature unless scratchMetadata=1\n // TODO: remove this check once we're sure the feature works correctly in production\n return false;\n }\n for (const _ of metadata) {\n return true;\n }\n return false;\n};\n\n/**\n * Non-destructively merge any metadata state (if any) with the provided options object (if any).\n * If there is metadata state but no options object is provided, make a new object.\n * If there is no metadata state, return the provided options parameter without modification.\n * If there is metadata and an options object is provided, modify a copy and return it.\n * Headers in the provided options object may override headers generated from metadata state.\n * @param {RequestInit} [options] The initial request options. May be null or undefined.\n * @returns {RequestInit|undefined} the provided options parameter without modification, or a new options object.\n */\nconst applyMetadata = options => {\n if (hasMetadata()) {\n const augmentedOptions = Object.assign({}, options);\n augmentedOptions.headers = new crossFetch.Headers(metadata);\n if (options && options.headers) {\n // the Fetch spec says options.headers could be:\n // \"A Headers object, an object literal, or an array of two-item arrays to set request's headers.\"\n // turn it into a Headers object to be sure of how to interact with it\n const overrideHeaders = options.headers instanceof crossFetch.Headers ?\n options.headers : new crossFetch.Headers(options.headers);\n for (const [name, value] of overrideHeaders.entries()) {\n augmentedOptions.headers.set(name, value);\n }\n }\n return augmentedOptions;\n }\n return options;\n};\n\n/**\n * Make a network request.\n * This is a wrapper for the global fetch method, adding some Scratch-specific functionality.\n * @param {RequestInfo|URL} resource The resource to fetch.\n * @param {RequestInit} options Optional object containing custom settings for this request.\n * @see {@link https://developer.mozilla.org/docs/Web/API/fetch} for more about the fetch API.\n * @returns {Promise<Response>} A promise for the response to the request.\n */\nconst scratchFetch = (resource, options) => {\n const augmentedOptions = applyMetadata(options);\n return crossFetch.fetch(resource, augmentedOptions);\n};\n\n/**\n * Set the value of a named request metadata item.\n * Setting the value to `null` or `undefined` will NOT remove the item.\n * Use `unsetMetadata` for that.\n * @param {RequestMetadata} name The name of the metadata item to set.\n * @param {any} value The value to set (will be converted to a string).\n */\nconst setMetadata = (name, value) => {\n metadata.set(name, value);\n};\n\n/**\n * Remove a named request metadata item.\n * @param {RequestMetadata} name The name of the metadata item to remove.\n */\nconst unsetMetadata = name => {\n metadata.delete(name);\n};\n\nmodule.exports = {\n Headers: crossFetch.Headers,\n RequestMetadata,\n applyMetadata,\n scratchFetch,\n setMetadata,\n unsetMetadata\n};\n\nif (process.env.NODE_ENV === 'development') {\n /**\n * Retrieve a named request metadata item.\n * Only for use in tests.\n * @param {RequestMetadata} name The name of the metadata item to retrieve.\n * @returns {any} value The value of the metadata item, or `undefined` if it was not found.\n */\n const getMetadata = name => metadata.get(name);\n\n module.exports.getMetadata = getMetadata;\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * 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 * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\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 // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\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(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(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 interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(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(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\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(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(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.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 buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.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 === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let 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 (!Array.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 let 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 const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\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 (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let 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 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) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let 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 coercion 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// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let 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 const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let 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 const length = this.length\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.toLocaleString = Buffer.prototype.toString\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 let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\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 let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let 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 (numberIsNaN(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 (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 let indexSize = 1\n let arrLength = arr.length\n let 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 let i\n if (dir) {\n let 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 let found = true\n for (let 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 const 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 const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(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 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 } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const 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 let 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 case 'latin1':\n case 'binary':\n return asciiWrite(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 const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let 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\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const 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 let res = ''\n let 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 let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; 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 const 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 const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\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 =\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 let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\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 let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\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 =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\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.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\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 let val = this[offset]\n let mul = 1\n let 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 let i = byteLength\n let mul = 1\n let 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 offset = offset >>> 0\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 offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\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 offset = offset >>> 0\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.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\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 offset = offset >>> 0\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 offset = offset >>> 0\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 offset = offset >>> 0\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 =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let 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 =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let 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 =\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 this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\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 this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\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 this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\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 this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\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 this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let 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 const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let 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 (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 this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\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 this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\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 this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\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 this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\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 value = +value\n offset = offset >>> 0\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 value = +value\n offset = offset >>> 0\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 (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\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('Index out of range')\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 const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\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 (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 if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\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 let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().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 utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let 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 const byteArray = []\n for (let 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 let c, hi, lo\n const byteArray = []\n for (let 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 let i\n for (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\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","'use strict';(function(r){function x(){}function y(){}var z=String.fromCharCode,v={}.toString,A=v.call(r.SharedArrayBuffer),B=v(),q=r.Uint8Array,t=q||Array,w=q?ArrayBuffer:t,C=w.isView||function(g){return g&&\"length\"in g},D=v.call(w.prototype);w=y.prototype;var E=r.TextEncoder,a=new (q?Uint16Array:t)(32);x.prototype.decode=function(g){if(!C(g)){var l=v.call(g);if(l!==D&&l!==A&&l!==B)throw TypeError(\"Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'\");\ng=q?new t(g):g||[]}for(var f=l=\"\",b=0,c=g.length|0,u=c-32|0,e,d,h=0,p=0,m,k=0,n=-1;b<c;){for(e=b<=u?32:c-b|0;k<e;b=b+1|0,k=k+1|0){d=g[b]&255;switch(d>>4){case 15:m=g[b=b+1|0]&255;if(2!==m>>6||247<d){b=b-1|0;break}h=(d&7)<<6|m&63;p=5;d=256;case 14:m=g[b=b+1|0]&255,h<<=6,h|=(d&15)<<6|m&63,p=2===m>>6?p+4|0:24,d=d+256&768;case 13:case 12:m=g[b=b+1|0]&255,h<<=6,h|=(d&31)<<6|m&63,p=p+7|0,b<c&&2===m>>6&&h>>p&&1114112>h?(d=h,h=h-65536|0,0<=h&&(n=(h>>10)+55296|0,d=(h&1023)+56320|0,31>k?(a[k]=n,k=k+1|0,n=-1):\n(m=n,n=d,d=m))):(d>>=8,b=b-d-1|0,d=65533),h=p=0,e=b<=u?32:c-b|0;default:a[k]=d;continue;case 11:case 10:case 9:case 8:}a[k]=65533}f+=z(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22],a[23],a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31]);32>k&&(f=f.slice(0,k-32|0));if(b<c){if(a[0]=n,k=~n>>>31,n=-1,f.length<l.length)continue}else-1!==n&&(f+=z(n));l+=f;f=\"\"}return l};w.encode=function(g){g=void 0===g?\"\":\"\"+g;var l=g.length|\n0,f=new t((l<<1)+8|0),b,c=0,u=!q;for(b=0;b<l;b=b+1|0,c=c+1|0){var e=g.charCodeAt(b)|0;if(127>=e)f[c]=e;else{if(2047>=e)f[c]=192|e>>6;else{a:{if(55296<=e)if(56319>=e){var d=g.charCodeAt(b=b+1|0)|0;if(56320<=d&&57343>=d){e=(e<<10)+d-56613888|0;if(65535<e){f[c]=240|e>>18;f[c=c+1|0]=128|e>>12&63;f[c=c+1|0]=128|e>>6&63;f[c=c+1|0]=128|e&63;continue}break a}e=65533}else 57343>=e&&(e=65533);!u&&b<<1<c&&b<<1<(c-7|0)&&(u=!0,d=new t(3*l),d.set(f),f=d)}f[c]=224|e>>12;f[c=c+1|0]=128|e>>6&63}f[c=c+1|0]=128|e&63}}return q?\nf.subarray(0,c):f.slice(0,c)};E||(r.TextDecoder=x,r.TextEncoder=y)})(\"\"+void 0==typeof global?\"\"+void 0==typeof self?this:self:global);//AnonyCo\n//# sourceMappingURL=https://cdn.jsdelivr.net/gh/AnonyCo/FastestSmallestTextEncoderDecoder/EncoderDecoderTogether.min.js.map\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","function M() { this._events = {}; }\nM.prototype = {\n on: function(ev, cb) {\n this._events || (this._events = {});\n var e = this._events;\n (e[ev] || (e[ev] = [])).push(cb);\n return this;\n },\n removeListener: function(ev, cb) {\n var e = this._events[ev] || [], i;\n for(i = e.length-1; i >= 0 && e[i]; i--){\n if(e[i] === cb || e[i].cb === cb) { e.splice(i, 1); }\n }\n },\n removeAllListeners: function(ev) {\n if(!ev) { this._events = {}; }\n else { this._events[ev] && (this._events[ev] = []); }\n },\n listeners: function(ev) {\n return (this._events ? this._events[ev] || [] : []);\n },\n emit: function(ev) {\n this._events || (this._events = {});\n var args = Array.prototype.slice.call(arguments, 1), i, e = this._events[ev] || [];\n for(i = e.length-1; i >= 0 && e[i]; i--){\n e[i].apply(this, args);\n }\n return this;\n },\n when: function(ev, cb) {\n return this.once(ev, cb, true);\n },\n once: function(ev, cb, when) {\n if(!cb) return this;\n function c() {\n if(!when) this.removeListener(ev, c);\n if(cb.apply(this, arguments) && when) this.removeListener(ev, c);\n }\n c.cb = cb;\n this.on(ev, c);\n return this;\n }\n};\nM.mixin = function(dest) {\n var o = M.prototype, k;\n for (k in o) {\n o.hasOwnProperty(k) && (dest.prototype[k] = o[k]);\n }\n};\nmodule.exports = M;\n","// default filter\nvar Transform = require('./transform.js');\n\nvar levelMap = { debug: 1, info: 2, warn: 3, error: 4 };\n\nfunction Filter() {\n this.enabled = true;\n this.defaultResult = true;\n this.clear();\n}\n\nTransform.mixin(Filter);\n\n// allow all matching, with level >= given level\nFilter.prototype.allow = function(name, level) {\n this._white.push({ n: name, l: levelMap[level] });\n return this;\n};\n\n// deny all matching, with level <= given level\nFilter.prototype.deny = function(name, level) {\n this._black.push({ n: name, l: levelMap[level] });\n return this;\n};\n\nFilter.prototype.clear = function() {\n this._white = [];\n this._black = [];\n return this;\n};\n\nfunction test(rule, name) {\n // use .test for RegExps\n return (rule.n.test ? rule.n.test(name) : rule.n == name);\n};\n\nFilter.prototype.test = function(name, level) {\n var i, len = Math.max(this._white.length, this._black.length);\n for(i = 0; i < len; i++) {\n if(this._white[i] && test(this._white[i], name) && levelMap[level] >= this._white[i].l) {\n return true;\n }\n if(this._black[i] && test(this._black[i], name) && levelMap[level] <= this._black[i].l) {\n return false;\n }\n }\n return this.defaultResult;\n};\n\nFilter.prototype.write = function(name, level, args) {\n if(!this.enabled || this.test(name, level)) {\n return this.emit('item', name, level, args);\n }\n};\n\nmodule.exports = Filter;\n","var Transform = require('./transform.js'),\n Filter = require('./filter.js');\n\nvar log = new Transform(),\n slice = Array.prototype.slice;\n\nexports = module.exports = function create(name) {\n var o = function() { log.write(name, undefined, slice.call(arguments)); return o; };\n o.debug = function() { log.write(name, 'debug', slice.call(arguments)); return o; };\n o.info = function() { log.write(name, 'info', slice.call(arguments)); return o; };\n o.warn = function() { log.write(name, 'warn', slice.call(arguments)); return o; };\n o.error = function() { log.write(name, 'error', slice.call(arguments)); return o; };\n o.log = o.debug; // for interface compliance with Node and browser consoles\n o.suggest = exports.suggest;\n o.format = log.format;\n return o;\n};\n\n// filled in separately\nexports.defaultBackend = exports.defaultFormatter = null;\n\nexports.pipe = function(dest) {\n return log.pipe(dest);\n};\n\nexports.end = exports.unpipe = exports.disable = function(from) {\n return log.unpipe(from);\n};\n\nexports.Transform = Transform;\nexports.Filter = Filter;\n// this is the default filter that's applied when .enable() is called normally\n// you can bypass it completely and set up your own pipes\nexports.suggest = new Filter();\n\nexports.enable = function() {\n if(exports.defaultFormatter) {\n return log.pipe(exports.suggest) // filter\n .pipe(exports.defaultFormatter) // formatter\n .pipe(exports.defaultBackend); // backend\n }\n return log.pipe(exports.suggest) // filter\n .pipe(exports.defaultBackend); // formatter\n};\n\n","var microee = require('microee');\n\n// Implements a subset of Node's stream.Transform - in a cross-platform manner.\nfunction Transform() {}\n\nmicroee.mixin(Transform);\n\n// The write() signature is different from Node's\n// --> makes it much easier to work with objects in logs.\n// One of the lessons from v1 was that it's better to target\n// a good browser rather than the lowest common denominator\n// internally.\n// If you want to use external streams, pipe() to ./stringify.js first.\nTransform.prototype.write = function(name, level, args) {\n this.emit('item', name, level, args);\n};\n\nTransform.prototype.end = function() {\n this.emit('end');\n this.removeAllListeners();\n};\n\nTransform.prototype.pipe = function(dest) {\n var s = this;\n // prevent double piping\n s.emit('unpipe', dest);\n // tell the dest that it's being piped to\n dest.emit('pipe', s);\n\n function onItem() {\n dest.write.apply(dest, Array.prototype.slice.call(arguments));\n }\n function onEnd() { !dest._isStdio && dest.end(); }\n\n s.on('item', onItem);\n s.on('end', onEnd);\n\n s.when('unpipe', function(from) {\n var match = (from === dest) || typeof from == 'undefined';\n if(match) {\n s.removeListener('item', onItem);\n s.removeListener('end', onEnd);\n dest.emit('unpipe');\n }\n return match;\n });\n\n return dest;\n};\n\nTransform.prototype.unpipe = function(from) {\n this.emit('unpipe', from);\n return this;\n};\n\nTransform.prototype.format = function(dest) {\n throw new Error([\n 'Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:',\n 'var Minilog = require(\\'minilog\\');',\n 'Minilog',\n ' .pipe(Minilog.backends.console.formatClean)',\n ' .pipe(Minilog.backends.console);'].join('\\n'));\n};\n\nTransform.mixin = function(dest) {\n var o = Transform.prototype, k;\n for (k in o) {\n o.hasOwnProperty(k) && (dest.prototype[k] = o[k]);\n }\n};\n\nmodule.exports = Transform;\n","var Transform = require('../common/transform.js'),\n cache = [ ];\n\nvar logger = new Transform();\n\nlogger.write = function(name, level, args) {\n cache.push([ name, level, args ]);\n};\n\n// utility functions\nlogger.get = function() { return cache; };\nlogger.empty = function() { cache = []; };\n\nmodule.exports = logger;\n","var Transform = require('../common/transform.js');\n\nvar newlines = /\\n+$/,\n logger = new Transform();\n\nlogger.write = function(name, level, args) {\n var i = args.length-1;\n if (typeof console === 'undefined' || !console.log) {\n return;\n }\n if(console.log.apply) {\n return console.log.apply(console, [name, level].concat(args));\n } else if(JSON && JSON.stringify) {\n // console.log.apply is undefined in IE8 and IE9\n // for IE8/9: make console.log at least a bit less awful\n if(args[i] && typeof args[i] == 'string') {\n args[i] = args[i].replace(newlines, '');\n }\n try {\n for(i = 0; i < args.length; i++) {\n args[i] = JSON.stringify(args[i]);\n }\n } catch(e) {}\n console.log(args.join(' '));\n }\n};\n\nlogger.formatters = ['color', 'minilog'];\nlogger.color = require('./formatters/color.js');\nlogger.minilog = require('./formatters/minilog.js');\n\nmodule.exports = logger;\n","var Transform = require('../../common/transform.js'),\n color = require('./util.js');\n\nvar colors = { debug: ['cyan'], info: ['purple' ], warn: [ 'yellow', true ], error: [ 'red', true ] },\n logger = new Transform();\n\nlogger.write = function(name, level, args) {\n var fn = console.log;\n if(console[level] && console[level].apply) {\n fn = console[level];\n fn.apply(console, [ '%c'+name+' %c'+level, color('gray'), color.apply(color, colors[level])].concat(args));\n }\n};\n\n// NOP, because piping the formatted logs can only cause trouble.\nlogger.pipe = function() { };\n\nmodule.exports = logger;\n","var Transform = require('../../common/transform.js'),\n color = require('./util.js'),\n colors = { debug: ['gray'], info: ['purple' ], warn: [ 'yellow', true ], error: [ 'red', true ] },\n logger = new Transform();\n\nlogger.write = function(name, level, args) {\n var fn = console.log;\n if(level != 'debug' && console[level]) {\n fn = console[level];\n }\n\n var subset = [], i = 0;\n if(level != 'info') {\n for(; i < args.length; i++) {\n if(typeof args[i] != 'string') break;\n }\n fn.apply(console, [ '%c'+name +' '+ args.slice(0, i).join(' '), color.apply(color, colors[level]) ].concat(args.slice(i)));\n } else {\n fn.apply(console, [ '%c'+name, color.apply(color, colors[level]) ].concat(args));\n }\n};\n\n// NOP, because piping the formatted logs can only cause trouble.\nlogger.pipe = function() { };\n\nmodule.exports = logger;\n","var hex = {\n black: '#000',\n red: '#c23621',\n green: '#25bc26',\n yellow: '#bbbb00',\n blue: '#492ee1',\n magenta: '#d338d3',\n cyan: '#33bbc8',\n gray: '#808080',\n purple: '#708'\n};\nfunction color(fg, isInverse) {\n if(isInverse) {\n return 'color: #fff; background: '+hex[fg]+';';\n } else {\n return 'color: '+hex[fg]+';';\n }\n}\n\nmodule.exports = color;\n","var Minilog = require('../common/minilog.js');\n\nvar oldEnable = Minilog.enable,\n oldDisable = Minilog.disable,\n isChrome = (typeof navigator != 'undefined' && /chrome/i.test(navigator.userAgent)),\n console = require('./console.js');\n\n// Use a more capable logging backend if on Chrome\nMinilog.defaultBackend = (isChrome ? console.minilog : console);\n\n// apply enable inputs from localStorage and from the URL\nif(typeof window != 'undefined') {\n try {\n Minilog.enable(JSON.parse(window.localStorage['minilogSettings']));\n } catch(e) {}\n if(window.location && window.location.search) {\n var match = RegExp('[?&]minilog=([^&]*)').exec(window.location.search);\n match && Minilog.enable(decodeURIComponent(match[1]));\n }\n}\n\n// Make enable also add to localStorage\nMinilog.enable = function() {\n oldEnable.call(Minilog, true);\n try { window.localStorage['minilogSettings'] = JSON.stringify(true); } catch(e) {}\n return this;\n};\n\nMinilog.disable = function() {\n oldDisable.call(Minilog);\n try { delete window.localStorage.minilogSettings; } catch(e) {}\n return this;\n};\n\nexports = module.exports = Minilog;\n\nexports.backends = {\n array: require('./array.js'),\n browser: Minilog.defaultBackend,\n localStorage: require('./localstorage.js'),\n jQuery: require('./jquery_simple.js')\n};\n","var Transform = require('../common/transform.js');\n\nvar cid = new Date().valueOf().toString(36);\n\nfunction AjaxLogger(options) {\n this.url = options.url || '';\n this.cache = [];\n this.timer = null;\n this.interval = options.interval || 30*1000;\n this.enabled = true;\n this.jQuery = window.jQuery;\n this.extras = {};\n}\n\nTransform.mixin(AjaxLogger);\n\nAjaxLogger.prototype.write = function(name, level, args) {\n if(!this.timer) { this.init(); }\n this.cache.push([name, level].concat(args));\n};\n\nAjaxLogger.prototype.init = function() {\n if(!this.enabled || !this.jQuery) return;\n var self = this;\n this.timer = setTimeout(function() {\n var i, logs = [], ajaxData, url = self.url;\n if(self.cache.length == 0) return self.init();\n // Test each log line and only log the ones that are valid (e.g. don't have circular references).\n // Slight performance hit but benefit is we log all valid lines.\n for(i = 0; i < self.cache.length; i++) {\n try {\n JSON.stringify(self.cache[i]);\n logs.push(self.cache[i]);\n } catch(e) { }\n }\n if(self.jQuery.isEmptyObject(self.extras)) {\n ajaxData = JSON.stringify({ logs: logs });\n url = self.url + '?client_id=' + cid;\n } else {\n ajaxData = JSON.stringify(self.jQuery.extend({logs: logs}, self.extras));\n }\n\n self.jQuery.ajax(url, {\n type: 'POST',\n cache: false,\n processData: false,\n data: ajaxData,\n contentType: 'application/json',\n timeout: 10000\n }).success(function(data, status, jqxhr) {\n if(data.interval) {\n self.interval = Math.max(1000, data.interval);\n }\n }).error(function() {\n self.interval = 30000;\n }).always(function() {\n self.init();\n });\n self.cache = [];\n }, this.interval);\n};\n\nAjaxLogger.prototype.end = function() {};\n\n// wait until jQuery is defined. Useful if you don't control the load order.\nAjaxLogger.jQueryWait = function(onDone) {\n if(typeof window !== 'undefined' && (window.jQuery || window.$)) {\n return onDone(window.jQuery || window.$);\n } else if (typeof window !== 'undefined') {\n setTimeout(function() { AjaxLogger.jQueryWait(onDone); }, 200);\n }\n};\n\nmodule.exports = AjaxLogger;\n","var Transform = require('../common/transform.js'),\n cache = false;\n\nvar logger = new Transform();\n\nlogger.write = function(name, level, args) {\n if(typeof window == 'undefined' || typeof JSON == 'undefined' || !JSON.stringify || !JSON.parse) return;\n try {\n if(!cache) { cache = (window.localStorage.minilog ? JSON.parse(window.localStorage.minilog) : []); }\n cache.push([ new Date().toString(), name, level, args ]);\n window.localStorage.minilog = JSON.stringify(cache);\n } catch(e) {}\n};\n\nmodule.exports = logger;","module.exports = require(\"base64-js\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"chunks/\" + \"fetch-worker\" + \".\" + \"eefe62e3c8ee125d3436\" + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t139: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","import minilog from 'minilog';\nminilog.enable();\n\nexport default minilog('storage');\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"js-md5\");","import {AssetId} from './Asset';\n\ndeclare function require(name: 'fastestsmallesttextencoderdecoder'): {\n TextEncoder: typeof TextEncoder,\n TextDecoder: typeof TextDecoder\n};\n\ndeclare function require(name: 'base64-js'): {\n fromByteArray: (data: Uint8Array) => string;\n};\n\n// Use JS implemented TextDecoder and TextEncoder if it is not provided by the\n// browser.\nlet _TextDecoder: typeof TextDecoder;\nlet _TextEncoder: typeof TextEncoder;\nif (typeof TextDecoder === 'undefined' || typeof TextEncoder === 'undefined') {\n // Wait to require the text encoding polyfill until we know it's needed.\n // eslint-disable-next-line global-require\n const encoding = require('fastestsmallesttextencoderdecoder');\n _TextDecoder = encoding.TextDecoder;\n _TextEncoder = encoding.TextEncoder;\n} else {\n _TextDecoder = TextDecoder;\n _TextEncoder = TextEncoder;\n}\n\nconst memoizedToString = (function () {\n /**\n * The maximum length of a chunk before encoding it into base64.\n *\n * 32766 is a multiple of 3 so btoa does not need to use padding characters\n * except for the final chunk where that is fine. 32766 is also close to\n * 32768 so it is close to a size an memory allocator would prefer.\n * @const {number}\n */\n const BTOA_CHUNK_MAX_LENGTH = 32766;\n\n /**\n * An array cache of bytes to characters.\n * @const {?Array.<string>}\n */\n let fromCharCode: string[] | null = null;\n\n const strings = {};\n return (assetId: AssetId, data: Uint8Array) => {\n if (!Object.prototype.hasOwnProperty.call(strings, assetId)) {\n if (typeof btoa === 'undefined') {\n // Use a library that does not need btoa to run.\n /* eslint-disable-next-line global-require */\n const base64js = require('base64-js');\n strings[assetId] = base64js.fromByteArray(data);\n } else {\n // Native btoa is faster than javascript translation. Use js to\n // create a \"binary\" string and btoa to encode it.\n if (fromCharCode === null) {\n // Cache the first 256 characters for input byte values.\n fromCharCode = new Array(256);\n for (let i = 0; i < 256; i++) {\n fromCharCode[i] = String.fromCharCode(i);\n }\n }\n\n const {length} = data;\n let s = '';\n // Iterate over chunks of the binary data.\n for (let i = 0, e = 0; i < length; i = e) {\n // Create small chunks to cause more small allocations and\n // less large allocations.\n e = Math.min(e + BTOA_CHUNK_MAX_LENGTH, length);\n let s_ = '';\n for (let j = i; j < e; j += 1) {\n s_ += fromCharCode[data[j]];\n }\n // Encode the latest chunk so the we create one big output\n // string instead of creating a big input string and then\n // one big output string.\n s += btoa(s_);\n }\n strings[assetId] = s;\n }\n }\n return strings[assetId];\n };\n}());\n\nexport {memoizedToString, _TextEncoder, _TextDecoder};\n","import md5 from 'js-md5';\nimport {memoizedToString, _TextEncoder, _TextDecoder} from './memoizedToString';\nimport {AssetType} from './AssetType';\nimport {DataFormat} from './DataFormat';\n\n// TODO: The comments in this file indicate that the asset id is a string only, but\n// the types in BuiltinHelper and the default project builder in scratch-gui\n// allow for it to be a number as well.\nexport type AssetId = string | number;\n\n// Projects are strings, other assets are byte arrays\nexport type AssetData = string | Uint8Array;\n\nexport default class Asset {\n public assetType: AssetType;\n public assetId?: AssetId;\n public data?: AssetData;\n public dataFormat?: DataFormat;\n public dependencies: Asset[];\n public clean?: boolean;\n\n /**\n * Construct an Asset.\n * @param {AssetType} assetType - The type of this asset (sound, image, etc.)\n * @param {string} assetId - The ID of this asset.\n * @param {DataFormat} [dataFormat] - The format of the data (WAV, PNG, etc.); required iff `data` is present.\n * @param {Buffer} [data] - The in-memory data for this asset; optional.\n * @param {bool} [generateId] - Whether to create id from an md5 hash of data\n */\n constructor (\n assetType: AssetType,\n assetId?: AssetId,\n dataFormat?: DataFormat,\n data?: AssetData,\n generateId?: boolean\n ) {\n /** @type {AssetType} */\n this.assetType = assetType;\n\n /** @type {string} */\n this.assetId = assetId;\n\n this.setData(data, dataFormat || assetType.runtimeFormat, generateId);\n\n /** @type {Asset[]} */\n this.dependencies = [];\n }\n\n setData (data: AssetData | undefined, dataFormat: DataFormat | undefined, generateId?: boolean) {\n if (data && !dataFormat) {\n throw new Error('Data provided without specifying its format');\n }\n\n /** @type {DataFormat} */\n this.dataFormat = dataFormat;\n\n /** @type {Buffer} */\n this.data = data;\n\n if (generateId) this.assetId = md5(data);\n\n // Mark as clean only if set is being called without generateId\n // If a new id is being generated, mark this asset as not clean\n this.clean = !generateId;\n }\n\n /**\n * @returns {string} - This asset's data, decoded as text.\n */\n decodeText (): string {\n const decoder = new _TextDecoder();\n\n // The data may be string, but it seems like this function is only called if the data is a byte array?\n // This was the behavior of the code when we added TS\n return decoder.decode(this.data as Uint8Array);\n }\n\n /**\n * Same as `setData` but encodes text first.\n * @param {string} data - the text data to encode and store.\n * @param {DataFormat} dataFormat - the format of the data (DataFormat.SVG for example).\n * @param {bool} generateId - after setting data, set the id to an md5 of the data?\n */\n encodeTextData (data: string, dataFormat: DataFormat, generateId: boolean): void {\n const encoder = new _TextEncoder();\n this.setData(encoder.encode(data), dataFormat, generateId);\n }\n\n /**\n * @param {string} [contentType] - Optionally override the content type to be included in the data URI.\n * @returns {string} - A data URI representing the asset's data.\n */\n encodeDataURI (contentType: string): string {\n contentType = contentType || this.assetType.contentType;\n\n // The data may be string, but it seems like this function is only called if the data is a byte array?\n // This was the behavior of the code when we added TS\n return `data:${contentType};base64,${memoizedToString(this.assetId!, this.data as Uint8Array)}`;\n }\n}\n","/**\n * Enumeration of the supported data formats.\n * @enum {string}\n */\nexport const DataFormat = {\n JPG: 'jpg',\n JSON: 'json',\n MP3: 'mp3',\n PNG: 'png',\n SB2: 'sb2',\n SB3: 'sb3',\n SVG: 'svg',\n WAV: 'wav'\n} as const;\n\nexport type DataFormat = typeof DataFormat[keyof typeof DataFormat];\n","import {DataFormat} from './DataFormat';\n\nexport interface AssetType {\n contentType: string,\n name: string,\n runtimeFormat: DataFormat,\n immutable: boolean\n}\n\n/**\n * Enumeration of the supported asset types.\n * @type {Object.<String,AssetType>}\n * @typedef {Object} AssetType - Information about a supported asset type.\n * @property {string} contentType - the MIME type associated with this kind of data. Useful for data URIs, etc.\n * @property {string} name - The human-readable name of this asset type.\n * @property {DataFormat} runtimeFormat - The default format used for runtime, in-memory storage of this asset. For\n * example, a project stored in SB2 format on disk will be returned as JSON when loaded into memory.\n * @property {boolean} immutable - Indicates if the asset id is determined by the asset content.\n */\nexport const AssetType = {\n ImageBitmap: {\n contentType: 'image/png',\n name: 'ImageBitmap',\n runtimeFormat: DataFormat.PNG,\n immutable: true\n },\n ImageVector: {\n contentType: 'image/svg+xml',\n name: 'ImageVector',\n runtimeFormat: DataFormat.SVG,\n immutable: true\n },\n Project: {\n contentType: 'application/json',\n name: 'Project',\n runtimeFormat: DataFormat.JSON,\n immutable: false\n },\n Sound: {\n contentType: 'audio/x-wav',\n name: 'Sound',\n runtimeFormat: DataFormat.WAV,\n immutable: true\n },\n Sprite: {\n contentType: 'application/json',\n name: 'Sprite',\n runtimeFormat: DataFormat.JSON,\n immutable: true\n }\n} as const;\n","import Asset, {AssetId} from './Asset';\nimport {AssetType} from './AssetType';\nimport {DataFormat} from './DataFormat';\nimport {ScratchStorage} from './ScratchStorage';\n\n/**\n * Base class for asset load/save helpers.\n * @abstract\n */\nexport default class Helper {\n public parent!: ScratchStorage;\n\n constructor (parent: ScratchStorage) {\n this.parent = parent;\n }\n\n /**\n * Fetch an asset but don't process dependencies.\n * @param {AssetType} assetType - The type of asset to fetch.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @param {DataFormat} dataFormat - The file format / file extension of the asset to fetch: PNG, JPG, etc.\n * @return {Promise.<Asset>} A promise for the contents of the asset.\n */\n load (assetType: AssetType, assetId: AssetId, dataFormat: DataFormat): Promise<Asset | null> | null {\n return Promise.reject(new Error(`No asset of type ${assetType} for ID ${assetId} with format ${dataFormat}`));\n }\n}\n","import md5 from 'js-md5';\n\nimport log from './log';\n\nimport Asset, {AssetData, AssetId} from './Asset';\nimport {AssetType} from './AssetType';\nimport {DataFormat} from './DataFormat';\nimport Helper from './Helper';\n\nimport defaultImageBitmap from './builtins/defaultBitmap.png?arrayBuffer';\nimport defaultSound from './builtins/defaultSound.wav?arrayBuffer';\nimport defaultImageVector from './builtins/defaultVector.svg?arrayBuffer';\n\nimport {Buffer} from 'buffer/';\nimport {ScratchStorage} from './ScratchStorage';\n\n/**\n * @typedef {object} BuiltinAssetRecord\n * @property {AssetType} type - The type of the asset.\n * @property {DataFormat} format - The format of the asset's data.\n * @property {?string} id - The asset's unique ID.\n * @property {Buffer} data - The asset's data.\n */\n\ninterface BuiltinAssetRecord {\n type: AssetType,\n format: DataFormat,\n id: AssetId | null,\n data: AssetData\n}\n\n/**\n * @type {BuiltinAssetRecord[]}\n */\nconst DefaultAssets: BuiltinAssetRecord[] = [\n {\n type: AssetType.ImageBitmap,\n format: DataFormat.PNG,\n id: null,\n data: Buffer.from(defaultImageBitmap)\n },\n {\n type: AssetType.Sound,\n format: DataFormat.WAV,\n id: null,\n data: Buffer.from(defaultSound)\n },\n {\n type: AssetType.ImageVector,\n format: DataFormat.SVG,\n id: null,\n data: Buffer.from(defaultImageVector)\n }\n];\n\n/**\n * @type {BuiltinAssetRecord[]}\n */\nconst BuiltinAssets = DefaultAssets.concat([\n]);\n\nexport default class BuiltinHelper extends Helper {\n public assets: Record<string, BuiltinAssetRecord>;\n\n constructor (parent: ScratchStorage) {\n super(parent);\n\n /**\n * In-memory storage for all built-in assets.\n * @type {Object.<AssetType, AssetIdMap>} Maps asset type to a map of asset ID to actual assets.\n * @typedef {Object.<string, BuiltinAssetRecord>} AssetIdMap - Maps asset ID to asset.\n */\n this.assets = {};\n\n BuiltinAssets.forEach(assetRecord => {\n assetRecord.id = this._store(assetRecord.type, assetRecord.format, assetRecord.data, assetRecord.id);\n });\n }\n\n /**\n * Call `setDefaultAssetId` on the parent `ScratchStorage` instance to register all built-in default assets.\n */\n registerDefaultAssets (): void {\n const numAssets = DefaultAssets.length;\n for (let assetIndex = 0; assetIndex < numAssets; ++assetIndex) {\n const assetRecord = DefaultAssets[assetIndex];\n this.parent.setDefaultAssetId(assetRecord.type, assetRecord.id!);\n }\n }\n\n\n /**\n * Synchronously fetch a cached asset for a given asset id. Returns null if not found.\n * @param {string} assetId - The id for the asset to fetch.\n * @returns {?Asset} The asset for assetId, if it exists.\n */\n get (assetId: AssetId): Asset | null {\n let asset: Asset | null = null;\n if (Object.prototype.hasOwnProperty.call(this.assets, assetId)) {\n /** @type{BuiltinAssetRecord} */\n const assetRecord = this.assets[assetId];\n asset = new Asset(assetRecord.type, assetRecord.id!, assetRecord.format, assetRecord.data);\n }\n return asset;\n }\n\n /**\n * Alias for store (old name of store)\n * @deprecated Use BuiltinHelper.store\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {string} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n cache (assetType: AssetType, dataFormat: DataFormat, data: AssetData, id: AssetId): AssetId {\n log.warn('Deprecation: BuiltinHelper.cache has been replaced with BuiltinHelper.store.');\n return this.store(assetType, dataFormat, data, id);\n }\n\n /**\n * Deprecated external API for _store\n * @deprecated Not for external use. Create assets and keep track of them outside of the storage instance.\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {(string|number)} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n store (assetType: AssetType, dataFormat: DataFormat, data: AssetData, id: AssetId): AssetId {\n log.warn('Deprecation: use Storage.createAsset. BuiltinHelper is for internal use only.');\n return this._store(assetType, dataFormat, data, id);\n }\n\n /**\n * Cache an asset for future lookups by ID.\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {(string|number)} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n _store (assetType: AssetType, dataFormat: DataFormat, data: AssetData, id?: AssetId | null): AssetId {\n let assetId = id;\n if (!dataFormat) throw new Error('Data cached without specifying its format');\n if (assetId !== '' && assetId !== null && typeof assetId !== 'undefined') {\n if (Object.prototype.hasOwnProperty.call(this.assets, assetId) && assetType.immutable) return assetId;\n } else if (assetType.immutable) {\n assetId = md5(data);\n } else {\n throw new Error('Tried to cache data without an id');\n }\n this.assets[assetId!] = {\n type: assetType,\n format: dataFormat,\n id: assetId!,\n data: data\n };\n return assetId!;\n }\n\n /**\n * Fetch an asset but don't process dependencies.\n * @param {AssetType} assetType - The type of asset to fetch.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @return {?Promise.<Asset>} A promise for the contents of the asset.\n */\n load (assetType: AssetType, assetId: AssetId): Promise<Asset | null> | null {\n if (!this.get(assetId)) {\n // Return null immediately so Storage can quickly move to trying the\n // next helper.\n return null;\n }\n return Promise.resolve(this.get(assetId));\n }\n}\n","import {Headers, applyMetadata} from './scratchFetch';\nimport {ScratchGetRequest, Tool} from './Tool';\n\ninterface DeferredJob {\n id: string,\n resolve: (buffer: ArrayBuffer) => void;\n reject: (error: unknown) => void;\n}\n\n/**\n * Get and send assets with a worker that uses fetch.\n */\nclass PrivateFetchWorkerTool implements Tool {\n private _workerSupport: {fetch: boolean};\n private _supportError: unknown;\n private worker: Worker | null;\n private jobs: Record<string, DeferredJob | undefined>;\n\n constructor () {\n /**\n * What does the worker support of the APIs we need?\n * @type {{fetch:boolean}}\n */\n this._workerSupport = {\n fetch: typeof fetch !== 'undefined'\n };\n\n /**\n * A possible error occurred standing up the worker.\n * @type {Error?}\n */\n this._supportError = null;\n\n /**\n * The worker that runs fetch and returns data for us.\n * @type {Worker?}\n */\n this.worker = null;\n\n /**\n * A map of ids to fetch job objects.\n * @type {object}\n */\n this.jobs = {};\n\n try {\n if (this.isGetSupported) {\n // Yes, this is a browser API and we've specified `browser: false` in the eslint env,\n // but `isGetSupported` checks for the presence of Worker and uses it only if present.\n // Also see https://webpack.js.org/guides/web-workers/\n // eslint-disable-next-line no-undef\n const worker = new Worker(\n /* webpackChunkName: \"fetch-worker\" */ new URL('./FetchWorkerTool.worker', import.meta.url)\n );\n\n worker.addEventListener('message', ({data}) => {\n if (data.support) {\n this._workerSupport = data.support;\n return;\n }\n for (const message of data) {\n const job = this.jobs[message.id];\n if (job) {\n if (message.error) {\n job.reject(message.error);\n } else {\n job.resolve(message.buffer);\n }\n delete this.jobs[message.id];\n }\n }\n });\n\n this.worker = worker;\n }\n } catch (error) {\n this._supportError = error;\n }\n }\n\n /**\n * Is get supported?\n *\n * false if the environment does not workers, fetch, or fetch from inside a\n * worker. Finding out the worker supports fetch is asynchronous and will\n * guess that it does if the window does until the worker can inform us.\n * @returns {boolean} Is get supported?\n */\n get isGetSupported (): boolean {\n return (\n typeof Worker !== 'undefined' &&\n this._workerSupport.fetch &&\n !this._supportError\n );\n }\n\n /**\n * Request data from a server with a worker using fetch.\n * @param {{url:string}} reqConfig - Request configuration for data to get.\n * @param {{method:string}} options - Additional options to configure fetch.\n * @returns {Promise.<Buffer|Uint8Array|null>} Resolve to Buffer of data from server.\n */\n get ({url, ...options}: ScratchGetRequest): Promise<Uint8Array | null> {\n const worker = this.worker;\n\n if (!worker) {\n return Promise.reject(new Error('The worker could not be initialized'));\n }\n\n return new Promise<ArrayBuffer>((resolve, reject) => {\n // TODO: Use a Scratch standard ID generator ...\n const id = Math.random().toString(16)\n .substring(2);\n const augmentedOptions = applyMetadata(\n Object.assign({method: 'GET'}, options)\n );\n // the Fetch spec says options.headers could be:\n // \"A Headers object, an object literal, or an array of two-item arrays to set request's headers.\"\n // structured clone (postMessage) doesn't support Headers objects\n // so turn it into an array of two-item arrays to make it to the worker intact\n if (augmentedOptions && augmentedOptions.headers instanceof Headers) {\n augmentedOptions.headers = Array.from(augmentedOptions.headers.entries());\n }\n\n worker.postMessage({\n id,\n url,\n options: augmentedOptions\n });\n this.jobs[id] = {\n id,\n resolve,\n reject\n };\n })\n /* eslint no-confusing-arrow: [\"error\", {\"allowParens\": true}] */\n .then(body => (body ? new Uint8Array(body) : null));\n }\n\n /**\n * Is sending supported? always false for FetchWorkerTool.\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported (): boolean {\n return false;\n }\n\n /**\n * Send data to a server.\n * @throws {Error} A not implemented error.\n */\n send (): never {\n throw new Error('Not implemented.');\n }\n\n private static _instance?: PrivateFetchWorkerTool;\n\n /**\n * Return a static PrivateFetchWorkerTool instance on demand.\n * @returns {PrivateFetchWorkerTool} A static PrivateFetchWorkerTool\n * instance\n */\n static get instance () {\n if (!this._instance) {\n this._instance = new PrivateFetchWorkerTool();\n }\n return this._instance;\n }\n}\n\n/**\n * Get and send assets with a worker that uses fetch.\n */\nexport default class PublicFetchWorkerTool {\n private inner: PrivateFetchWorkerTool;\n\n constructor () {\n /**\n * Shared instance of an internal worker. PublicFetchWorkerTool proxies\n * it.\n * @type {PrivateFetchWorkerTool}\n */\n this.inner = PrivateFetchWorkerTool.instance;\n }\n\n /**\n * Is get supported?\n * @returns {boolean} Is get supported?\n */\n get isGetSupported (): boolean {\n return this.inner.isGetSupported;\n }\n\n /**\n * Request data from a server with a worker that uses fetch.\n * @param {{url:string}} reqConfig - Request configuration for data to get.\n * @returns {Promise.<Buffer|Uint8Array|null>} Resolve to Buffer of data from server.\n */\n get (reqConfig: ScratchGetRequest): Promise<Uint8Array | null> {\n return this.inner.get(reqConfig);\n }\n\n /**\n * Is sending supported?\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported (): boolean {\n return false;\n }\n\n /**\n * Send data to a server with a worker that uses fetch.\n * @throws {Error} A not implemented error.\n */\n send (): never {\n throw new Error('Not implemented.');\n }\n}\n","import {scratchFetch} from './scratchFetch';\nimport {ScratchGetRequest, ScratchSendRequest, Tool} from './Tool';\n\n/**\n * @typedef {Request & {withCredentials: boolean}} ScratchSendRequest\n */\n\n/**\n * Get and send assets with the fetch standard web api.\n */\nexport class FetchTool implements Tool {\n /**\n * Is get supported?\n * Always true for `FetchTool` because `scratchFetch` ponyfills `fetch` if necessary.\n * @returns {boolean} Is get supported?\n */\n get isGetSupported (): boolean {\n return true;\n }\n\n /**\n * Request data from a server with fetch.\n * @param {Request} reqConfig - Request configuration for data to get.\n * @returns {Promise.<Uint8Array?>} Resolve to Buffer of data from server.\n */\n get ({url, ...options}: ScratchGetRequest): Promise<Uint8Array | null> {\n return scratchFetch(url, Object.assign({method: 'GET'}, options))\n .then((result: Response) => {\n if (result.ok) return result.arrayBuffer().then(b => new Uint8Array(b));\n if (result.status === 404) return null;\n return Promise.reject(result.status); // TODO: we should throw a proper error\n });\n }\n\n /**\n * Is sending supported?\n * Always true for `FetchTool` because `scratchFetch` ponyfills `fetch` if necessary.\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported (): boolean {\n return true;\n }\n\n /**\n * Send data to a server with fetch.\n * @param {ScratchSendRequest} reqConfig - Request configuration for data to send.\n * @returns {Promise.<string>} Server returned metadata.\n */\n send ({url, withCredentials = false, ...options}: ScratchSendRequest): Promise<string> {\n return scratchFetch(url, Object.assign({\n credentials: withCredentials ? 'include' : 'omit'\n }, options))\n .then(response => {\n if (response.ok) return response.text();\n return Promise.reject(response.status);\n });\n }\n}\n","import FetchWorkerTool from './FetchWorkerTool';\nimport {FetchTool} from './FetchTool';\nimport {ScratchGetRequest, ScratchSendRequest, Tool} from './Tool';\n\n/**\n * @typedef {object} Request\n * @property {string} url\n * @property {*} body\n * @property {string} method\n * @property {boolean} withCredentials\n */\n\ntype ToolFilter = typeof ProxyTool.TOOL_FILTER[keyof typeof ProxyTool.TOOL_FILTER];\n\n/**\n * Get and send assets with other tools in sequence.\n */\nexport default class ProxyTool implements Tool {\n public tools: Tool[];\n\n /**\n * Constant values that filter the set of tools in a ProxyTool instance.\n * @enum {string}\n */\n public static TOOL_FILTER = {\n /**\n * Use all tools.\n */\n ALL: 'all',\n\n /**\n * Use tools that are ready right now.\n */\n READY: 'ready'\n } as const;\n\n constructor (filter: ToolFilter = ProxyTool.TOOL_FILTER.ALL) {\n let tools: Tool[];\n if (filter === ProxyTool.TOOL_FILTER.READY) {\n tools = [new FetchTool()];\n } else {\n tools = [new FetchWorkerTool(), new FetchTool()];\n }\n\n /**\n * Sequence of tools to proxy.\n * @type {Array.<Tool>}\n */\n this.tools = tools;\n }\n\n /**\n * Is get supported? false if all proxied tool return false.\n * @returns {boolean} Is get supported?\n */\n get isGetSupported (): boolean {\n return this.tools.some(tool => tool.isGetSupported);\n }\n\n /**\n * Request data from with one of the proxied tools.\n * @param {Request} reqConfig - Request configuration for data to get.\n * @returns {Promise.<Buffer>} Resolve to Buffer of data from server.\n */\n get (reqConfig: ScratchGetRequest): Promise<Uint8Array | null> {\n let toolIndex = 0;\n const nextTool = (err?: unknown): Promise<Uint8Array | null> => {\n const tool = this.tools[toolIndex++];\n if (!tool) {\n throw err;\n }\n if (!tool.isGetSupported) {\n return nextTool(err);\n }\n return tool.get(reqConfig).catch(nextTool);\n };\n return nextTool();\n }\n\n /**\n * Is sending supported? false if all proxied tool return false.\n * @returns {boolean} Is sending supported?\n */\n get isSendSupported (): boolean {\n return this.tools.some(tool => tool.isSendSupported);\n }\n\n /**\n * Send data to a server with one of the proxied tools.\n * @param {Request} reqConfig - Request configuration for data to send.\n * @returns {Promise.<Buffer|string|object>} Server returned metadata.\n */\n send (reqConfig: ScratchSendRequest): Promise<string> {\n let toolIndex = 0;\n const nextTool = (err?: unknown): Promise<string> => {\n const tool = this.tools[toolIndex++];\n if (!tool) {\n throw err;\n }\n if (!tool.isSendSupported) {\n return nextTool(err);\n }\n return tool.send(reqConfig).catch(nextTool);\n };\n return nextTool();\n }\n}\n","import log from './log';\n\nimport Asset, {AssetData, AssetId} from './Asset';\nimport Helper from './Helper';\nimport ProxyTool from './ProxyTool';\nimport {ScratchGetRequest, ScratchSendRequest, Tool} from './Tool';\nimport {AssetType} from './AssetType';\nimport {DataFormat} from './DataFormat';\n\nconst ensureRequestConfig = reqConfig => {\n if (typeof reqConfig === 'string') {\n return {\n url: reqConfig\n };\n }\n return reqConfig;\n};\n\n/**\n * @typedef {function} UrlFunction - A function which computes a URL from asset information.\n * @param {Asset} - The asset for which the URL should be computed.\n * @returns {(string|object)} - A string representing the URL for the asset request OR an object with configuration for\n * the underlying fetch call (necessary for configuring e.g. authentication)\n */\n\nexport type UrlFunction = (asset: Asset) => string | ScratchGetRequest | ScratchSendRequest;\n\ninterface StoreRecord {\n types: string[],\n get: UrlFunction,\n create?: UrlFunction,\n update?: UrlFunction\n}\n\nexport default class WebHelper extends Helper {\n public stores: StoreRecord[];\n public assetTool: Tool;\n public projectTool: Tool;\n\n constructor (parent) {\n super(parent);\n\n /**\n * @type {Array.<StoreRecord>}\n * @typedef {object} StoreRecord\n * @property {Array.<string>} types - The types of asset provided by this store, from AssetType's name field.\n * @property {UrlFunction} getFunction - A function which computes a URL from an Asset.\n * @property {UrlFunction} createFunction - A function which computes a URL from an Asset.\n * @property {UrlFunction} updateFunction - A function which computes a URL from an Asset.\n */\n this.stores = [];\n\n /**\n * Set of tools to best load many assets in parallel. If one tool\n * cannot be used, it will use the next.\n * @type {ProxyTool}\n */\n this.assetTool = new ProxyTool();\n\n /**\n * Set of tools to best load project data in parallel with assets. This\n * tool set prefers tools that are immediately ready. Some tools have\n * to initialize before they can load files.\n * @type {ProxyTool}\n */\n this.projectTool = new ProxyTool(ProxyTool.TOOL_FILTER.READY);\n }\n\n /**\n * Register a web-based source for assets. Sources will be checked in order of registration.\n * @deprecated Please use addStore\n * @param {Array.<AssetType>} types - The types of asset provided by this source.\n * @param {UrlFunction} urlFunction - A function which computes a URL from an Asset.\n */\n addSource (types: AssetType[], urlFunction: UrlFunction): void {\n log.warn('Deprecation: WebHelper.addSource has been replaced with WebHelper.addStore.');\n this.addStore(types, urlFunction);\n }\n\n /**\n * Register a web-based store for assets. Sources will be checked in order of registration.\n * @param {Array.<AssetType>} types - The types of asset provided by this store.\n * @param {UrlFunction} getFunction - A function which computes a GET URL for an Asset\n * @param {UrlFunction} createFunction - A function which computes a POST URL for an Asset\n * @param {UrlFunction} updateFunction - A function which computes a PUT URL for an Asset\n */\n addStore (\n types: AssetType[],\n getFunction: UrlFunction,\n createFunction?: UrlFunction,\n updateFunction?: UrlFunction\n ): void {\n this.stores.push({\n types: types.map(assetType => assetType.name),\n get: getFunction,\n create: createFunction,\n update: updateFunction\n });\n }\n\n /**\n * Fetch an asset but don't process dependencies.\n * @param {AssetType} assetType - The type of asset to fetch.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @param {DataFormat} dataFormat - The file format / file extension of the asset to fetch: PNG, JPG, etc.\n * @return {Promise.<Asset>} A promise for the contents of the asset.\n */\n load (assetType: AssetType, assetId: AssetId, dataFormat: DataFormat): Promise<Asset | null> {\n\n /** @type {Array.<{url:string, result:*}>} List of URLs attempted & errors encountered. */\n const errors: unknown[] = [];\n const stores = this.stores.slice()\n .filter(store => store.types.indexOf(assetType.name) >= 0);\n\n // New empty asset but it doesn't have data yet\n const asset = new Asset(assetType, assetId, dataFormat);\n\n let tool = this.assetTool;\n if (assetType.name === 'Project') {\n tool = this.projectTool;\n }\n\n let storeIndex = 0;\n const tryNextSource = (err?: unknown): Promise<Asset | null> => {\n if (err) {\n errors.push(err);\n }\n const store = stores[storeIndex++];\n\n /** @type {UrlFunction} */\n const reqConfigFunction = store && store.get;\n\n if (reqConfigFunction) {\n const reqConfig = ensureRequestConfig(reqConfigFunction(asset));\n if (reqConfig === false) {\n return tryNextSource();\n }\n\n return tool.get(reqConfig)\n .then(body => {\n if (body) {\n asset.setData(body, dataFormat);\n return asset;\n }\n return tryNextSource();\n })\n .catch(tryNextSource);\n } else if (errors.length > 0) {\n return Promise.reject(errors);\n }\n\n // no stores matching asset\n return Promise.resolve(null);\n };\n\n return tryNextSource();\n }\n\n /**\n * Create or update an asset with provided data. The create function is called if no asset id is provided\n * @param {AssetType} assetType - The type of asset to create or update.\n * @param {?DataFormat} dataFormat - DataFormat of the data for the stored asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {?string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @return {Promise.<object>} A promise for the response from the create or update request\n */\n store (\n assetType: AssetType,\n dataFormat: DataFormat | undefined,\n data: AssetData,\n assetId?: AssetId\n ): Promise<string | {id: string}> {\n const asset = new Asset(assetType, assetId, dataFormat);\n // If we have an asset id, we should update, otherwise create to get an id\n const create = assetId === '' || assetId === null || typeof assetId === 'undefined';\n\n // Use the first store with the appropriate asset type and url function\n const store = this.stores.filter(s =>\n // Only use stores for the incoming asset type\n s.types.indexOf(assetType.name) !== -1 && (\n // Only use stores that have a create function if this is a create request\n // or an update function if this is an update request\n (create && s.create) || s.update\n )\n )[0];\n\n const method = create ? 'post' : 'put';\n\n if (!store) return Promise.reject(new Error('No appropriate stores'));\n\n let tool = this.assetTool;\n if (assetType.name === 'Project') {\n tool = this.projectTool;\n }\n\n const reqConfig = ensureRequestConfig(\n // The non-nullability of this gets checked above while looking up the store.\n // Making TS understand that is going to require code refactoring which we currently don't\n // feel safe to do.\n create ? store.create!(asset) : store.update!(asset)\n );\n const reqBodyConfig = Object.assign({body: data, method}, reqConfig);\n return tool.send(reqBodyConfig)\n .then(body => {\n // xhr makes it difficult to both send FormData and\n // automatically parse a JSON response. So try to parse\n // everything as JSON.\n if (typeof body === 'string') {\n try {\n body = JSON.parse(body);\n } catch (parseError) {\n // If it's not parseable, then we can't add the id even\n // if we want to, so stop here\n return body;\n }\n }\n return Object.assign({\n id: body['content-name'] || assetId\n }, body);\n });\n }\n}\n","import log from './log';\n\nimport BuiltinHelper from './BuiltinHelper';\nimport WebHelper, {UrlFunction} from './WebHelper';\n\nimport _Asset, {AssetData, AssetId} from './Asset';\nimport {AssetType as _AssetType, AssetType} from './AssetType';\nimport {DataFormat as _DataFormat, DataFormat} from './DataFormat';\nimport _scratchFetch from './scratchFetch';\nimport Helper from './Helper';\n\ninterface HelperWithPriority {\n helper: Helper,\n priority: number\n}\n\nexport class ScratchStorage {\n public defaultAssetId: Record<AssetType['name'], AssetId>;\n public builtinHelper: BuiltinHelper;\n public webHelper: WebHelper;\n\n private _helpers: HelperWithPriority[];\n\n constructor () {\n this.defaultAssetId = {};\n\n this.builtinHelper = new BuiltinHelper(this);\n this.webHelper = new WebHelper(this);\n this.builtinHelper.registerDefaultAssets();\n\n this._helpers = [\n {\n helper: this.builtinHelper,\n priority: 100\n },\n {\n helper: this.webHelper,\n priority: -100\n }\n ];\n }\n\n /**\n * @return {Asset} - the `Asset` class constructor.\n * @constructor\n */\n get Asset () {\n return _Asset;\n }\n\n /**\n * @return {AssetType} - the list of supported asset types.\n * @constructor\n */\n get AssetType () {\n return _AssetType;\n }\n\n /**\n * @return {DataFormat} - the list of supported data formats.\n * @constructor\n */\n get DataFormat () {\n return _DataFormat;\n }\n\n /**\n * Access the `scratchFetch` module within this library.\n * @return {module} the scratchFetch module, with properties for `scratchFetch`, `setMetadata`, etc.\n */\n get scratchFetch () {\n return _scratchFetch;\n }\n\n /**\n * @deprecated Please use the `Asset` member of a storage instance instead.\n * @return {Asset} - the `Asset` class constructor.\n * @constructor\n */\n static get Asset () {\n return _Asset;\n }\n\n /**\n * @deprecated Please use the `AssetType` member of a storage instance instead.\n * @return {AssetType} - the list of supported asset types.\n * @constructor\n */\n static get AssetType () {\n return _AssetType;\n }\n\n /**\n * Add a storage helper to this manager. Helpers with a higher priority number will be checked first when loading\n * or storing assets. For comparison, the helper for built-in assets has `priority=100` and the default web helper\n * has `priority=-100`. The relative order of helpers with equal priorities is undefined.\n * @param {Helper} helper - the helper to be added.\n * @param {number} [priority] - the priority for this new helper (default: 0).\n */\n addHelper (helper: Helper, priority: number = 0) {\n this._helpers.push({helper, priority});\n this._helpers.sort((a, b) => b.priority - a.priority);\n }\n\n /**\n * Synchronously fetch a cached asset from built-in storage. Assets are cached when they are loaded.\n * @param {string} assetId - The id of the asset to fetch.\n * @returns {?Asset} The asset, if it exists.\n */\n get (assetId: string): _Asset | null {\n return this.builtinHelper.get(assetId);\n }\n\n /**\n * Deprecated API for caching built-in assets. Use createAsset.\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {string} id - The id for the cached asset.\n * @returns {string} The calculated id of the cached asset, or the supplied id if the asset is mutable.\n */\n cache (assetType: AssetType, dataFormat: DataFormat, data: AssetData, id: AssetId): AssetId {\n log.warn('Deprecation: Storage.cache is deprecated. Use Storage.createAsset, and store assets externally.');\n return this.builtinHelper._store(assetType, dataFormat, data, id);\n }\n\n /**\n * Construct an Asset, and optionally generate an md5 hash of its data to create an id\n * @param {AssetType} assetType - The type of the asset to cache.\n * @param {DataFormat} dataFormat - The dataFormat of the data for the cached asset.\n * @param {Buffer} data - The data for the cached asset.\n * @param {string} [id] - The id for the cached asset.\n * @param {bool} [generateId] - flag to set id to an md5 hash of data if `id` isn't supplied\n * @returns {Asset} generated Asset with `id` attribute set if not supplied\n */\n createAsset (\n assetType: AssetType,\n dataFormat: DataFormat,\n data: AssetData,\n id: AssetId,\n generateId: boolean\n ): _Asset {\n if (!dataFormat) throw new Error('Tried to create asset without a dataFormat');\n return new _Asset(assetType, id, dataFormat, data, generateId);\n }\n\n /**\n * Register a web-based source for assets. Sources will be checked in order of registration.\n * @param {Array.<AssetType>} types - The types of asset provided by this source.\n * @param {UrlFunction} getFunction - A function which computes a GET URL from an Asset.\n * @param {UrlFunction} createFunction - A function which computes a POST URL for asset data.\n * @param {UrlFunction} updateFunction - A function which computes a PUT URL for asset data.\n */\n addWebStore (\n types: AssetType[],\n getFunction: UrlFunction,\n createFunction?: UrlFunction,\n updateFunction?: UrlFunction\n ): void {\n this.webHelper.addStore(types, getFunction, createFunction, updateFunction);\n }\n\n /**\n * Register a web-based source for assets. Sources will be checked in order of registration.\n * @deprecated Please use addWebStore\n * @param {Array.<AssetType>} types - The types of asset provided by this source.\n * @param {UrlFunction} urlFunction - A function which computes a GET URL from an Asset.\n */\n addWebSource (types: AssetType[], urlFunction: UrlFunction): void {\n log.warn('Deprecation: Storage.addWebSource has been replaced by addWebStore.');\n this.addWebStore(types, urlFunction);\n }\n\n /**\n * TODO: Should this be removed in favor of requesting an asset with `null` as the ID?\n * @param {AssetType} type - Get the default ID for assets of this type.\n * @return {?string} The ID of the default asset of the given type, if any.\n */\n getDefaultAssetId (type: AssetType): AssetId | undefined {\n if (Object.prototype.hasOwnProperty.call(this.defaultAssetId, type.name)) {\n return this.defaultAssetId[type.name];\n }\n }\n\n /**\n * Set the default ID for a particular type of asset. This default asset will be used if a requested asset cannot\n * be found and automatic fallback is enabled. Ideally this should be an asset that is available locally or even\n * one built into this module.\n * TODO: Should this be removed in favor of requesting an asset with `null` as the ID?\n * @param {AssetType} type - The type of asset for which the default will be set.\n * @param {string} id - The default ID to use for this type of asset.\n */\n setDefaultAssetId (type: AssetType, id: AssetId): void {\n this.defaultAssetId[type.name] = id;\n }\n\n /**\n * Fetch an asset by type & ID.\n * @param {AssetType} assetType - The type of asset to fetch. This also determines which asset store to use.\n * @param {string} assetId - The ID of the asset to fetch: a project ID, MD5, etc.\n * @param {DataFormat} [dataFormat] - Optional: load this format instead of the AssetType's default.\n * @return {Promise.<Asset>} A promise for the requested Asset.\n * If the promise is resolved with non-null, the value is the requested asset.\n * If the promise is resolved with null, the desired asset could not be found with the current asset sources.\n * If the promise is rejected, there was an error on at least one asset source. HTTP 404 does not count as an\n * error here, but (for example) HTTP 403 does.\n */\n load (assetType: AssetType, assetId: AssetId, dataFormat: DataFormat): Promise<_Asset | null> {\n const helpers = this._helpers.map(x => x.helper);\n const errors: unknown[] = [];\n dataFormat = dataFormat || assetType.runtimeFormat;\n\n let helperIndex = 0;\n let helper: Helper;\n const tryNextHelper = (err?: unknown): Promise<_Asset | null> => {\n if (err) { // Track the error, but continue looking\n errors.push(err);\n }\n\n helper = helpers[helperIndex++];\n\n if (helper) {\n const loading = helper.load(assetType, assetId, dataFormat);\n if (loading === null) {\n return tryNextHelper();\n }\n // Note that other attempts may have logged errors; if this succeeds they will be suppressed.\n return loading\n // TODO: maybe some types of error should prevent trying the next helper?\n .catch(tryNextHelper);\n } else if (errors.length > 0) {\n // We looked through all the helpers and couldn't find the asset, AND\n // at least one thing went wrong while we were looking.\n return Promise.reject(errors);\n }\n\n // Nothing went wrong but we couldn't find the asset.\n return Promise.resolve(null);\n };\n\n return tryNextHelper();\n }\n\n /**\n * Store an asset by type & ID.\n * @param {AssetType} assetType - The type of asset to fetch. This also determines which asset store to use.\n * @param {?DataFormat} [dataFormat] - Optional: load this format instead of the AssetType's default.\n * @param {Buffer} data - Data to store for the asset\n * @param {?string} [assetId] - The ID of the asset to fetch: a project ID, MD5, etc.\n * @return {Promise.<object>} A promise for asset metadata\n */\n store (assetType: AssetType, dataFormat: DataFormat | null | undefined, data: AssetData, assetId?: AssetId) {\n dataFormat = dataFormat || assetType.runtimeFormat;\n\n return this.webHelper.store(assetType, dataFormat, data, assetId)\n .then(body => {\n // The previous logic here ignored that the body can be a string (if it's not a JSON),\n // so just ignore that case.\n // Also, having undefined was the previous behavior\n // eslint-disable-next-line no-undefined\n const id = typeof body === 'string' ? undefined : body.id;\n\n this.builtinHelper._store(assetType, dataFormat, data, id);\n return body;\n });\n }\n}\n","import {ScratchStorage} from './ScratchStorage';\nimport Asset, {AssetId} from './Asset';\nimport {AssetType} from './AssetType';\nimport {DataFormat} from './DataFormat';\nimport Helper from './Helper';\n\nexport {\n /**\n * Export for use with NPM & Node.js.\n * @type {ScratchStorage}\n */\n ScratchStorage,\n\n Asset,\n AssetId,\n AssetType,\n DataFormat,\n Helper\n};\n"],"names":[],"sourceRoot":""}
|