├── internal.json
├── icon.png
├── popup.html
├── src
├── web
│ ├── css
│ │ ├── bg.png
│ │ └── common.css
│ ├── extConnector.js
│ └── loader.js
├── extra
│ └── tables
│ │ ├── 3_2.zip
│ │ ├── 3_3.zip
│ │ ├── 3_4.zip
│ │ ├── 3_5.zip
│ │ ├── 3_6.zip
│ │ ├── 3_7.zip
│ │ ├── 3_8.zip
│ │ ├── 3_9.zip
│ │ ├── 4_2.zip
│ │ ├── 4_3.zip
│ │ ├── 4_4.zip
│ │ ├── 4_5.zip
│ │ ├── 4_6.zip
│ │ ├── 4_7.zip
│ │ ├── 4_8.zip
│ │ ├── 4_9.zip
│ │ ├── 5_2.zip
│ │ ├── 5_3.zip
│ │ ├── 5_4.zip
│ │ ├── 5_5.zip
│ │ ├── 5_6.zip
│ │ ├── 5_7.zip
│ │ ├── 5_8.zip
│ │ ├── 5_9.zip
│ │ ├── 3_10.zip
│ │ ├── 4_10.zip
│ │ └── 5_10.zip
├── popup
│ ├── index.js
│ └── 3rd-party
│ │ ├── download.min.js
│ │ ├── b.js
│ │ └── dexie-export-import.js
└── vendor
│ ├── hacktimer.min.js
│ ├── download.min.js
│ ├── redux.min.js
│ ├── neverland.min.js
│ └── bootstrap.min.js
├── vendor.json
├── manifest.json
├── injectContent.js
└── README.md
/internal.json:
--------------------------------------------------------------------------------
1 | [
2 | "extConnector",
3 | "loader"
4 | ]
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/icon.png
--------------------------------------------------------------------------------
/popup.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/web/css/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/web/css/bg.png
--------------------------------------------------------------------------------
/src/extra/tables/3_2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_2.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_3.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_4.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_4.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_5.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_5.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_6.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_6.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_7.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_7.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_8.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_8.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_9.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_9.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_2.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_3.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_4.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_4.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_5.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_5.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_6.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_6.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_7.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_7.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_8.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_8.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_9.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_9.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_2.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_3.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_3.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_4.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_4.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_5.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_5.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_6.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_6.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_7.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_7.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_8.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_8.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_9.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_9.zip
--------------------------------------------------------------------------------
/src/extra/tables/3_10.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/3_10.zip
--------------------------------------------------------------------------------
/src/extra/tables/4_10.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/4_10.zip
--------------------------------------------------------------------------------
/src/extra/tables/5_10.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cosmos0nash/FoE-Extender/HEAD/src/extra/tables/5_10.zip
--------------------------------------------------------------------------------
/vendor.json:
--------------------------------------------------------------------------------
1 | [
2 | "hacktimer.min",
3 | "neverland.min",
4 | "redux.min",
5 | "bootstrap.min",
6 | "bootstrap.bundle.min",
7 | "download.min",
8 | "jszip.min"
9 | ]
--------------------------------------------------------------------------------
/src/web/extConnector.js:
--------------------------------------------------------------------------------
1 | {const e=window.infoBox.sharedObjectId,o=window[e],n=window.infoBox.extID,r=new Proxy({},{get:(e,o)=>(...e)=>new Promise(((r,i)=>chrome.runtime.sendMessage(n,{cmd:o,args:e},(e=>!e||"error"in e?i(e&&e.error):r(e.data)))))});o.extension=r}
--------------------------------------------------------------------------------
/src/web/loader.js:
--------------------------------------------------------------------------------
1 | import"https://foe-extender.com/ext/web/gameClasses.js";import"https://foe-extender.com/ext/web/gameEvents.js";import"https://foe-extender.com/ext/web/store.js";import"https://foe-extender.com/ext/web/i18n.js";import"https://foe-extender.com/ext/web/background.js";import"https://foe-extender.com/ext/web/main.js";import"https://foe-extender.com/ext/web/helpers.js";
--------------------------------------------------------------------------------
/src/popup/index.js:
--------------------------------------------------------------------------------
1 | import"/src/popup/3rd-party/dexie.js";import"/src/popup/3rd-party/dexie-export-import.js";import"/src/popup/3rd-party/b.js";import"https://foe-extender.com/ext/popup/main.js";const handler={async getConfig(r){let e;const t=new Promise((r=>e=r));chrome.storage.local.get(["_cfg"+r],(function(t){e(t["_cfg"+r])}));return await t},setConfig:async(r,e)=>chrome.storage.local.set({["_cfg"+r]:e},(()=>{}))};chrome.runtime.onMessage.addListener((function(r,e,t){try{if(!r._type)return!1;if("getExtConfig"===r._type)return handler.getConfig(r.id).then(t),!0;if("setExtConfig"===r._type)return handler.setConfig(r.id,r.cfg).then(t),!0}catch(r){return!1}})),self.arrayBufferToBase64=function(r){return r=new Uint8Array(r),btoa(Array.from(r).map((r=>String.fromCharCode(r))).join(""))},self.base64ToArrayBuffer=function(r){r=atob(r);var e=new Uint8Array(r.length),t=function(r,e,t,n){n[t]=r.charCodeAt(t)}.bind(null,r);return e.forEach(t),e.buffer};
--------------------------------------------------------------------------------
/src/vendor/hacktimer.min.js:
--------------------------------------------------------------------------------
1 | ((s)=>{var w,f={},o=window,z='postMessage',p=0,r='hasOwnProperty',y=[].slice,v=o.Worker,d=()=>{do{p=0x7FFFFFFF>p?p+1:0}while(f[r](p));return p},s=o.URL.createObjectURL(new Blob(["var f={},p=postMessage,r='hasOwnProperty';onmessage=(e)=>{var d=e.data,i=d.i,t=d[r]('t')?d.t:0;switch(d.n){case'a':f[i]=setInterval(()=>{p(i)},t);break;case'b':if(f[r](i)){clearInterval(f[i]);delete f[i]}break;case'c':f[i]=setTimeout(()=>{p(i);if(f[r](i))delete f[i]},t);break;case'd':if(f[r](i)){clearTimeout(f[i]);delete f[i]}break}}"]));if(o.ht){return}if(typeof(v)!=='undefined'){try{w=new v(s);o.setInterval=function(c,t){var i=d();f[i]={c:c,p:y.call(arguments,2)};w[z]({n:'a',i:i,t:t});return i};o.clearInterval=(i)=>{if(f[r](i))delete f[i],w[z]({n:'b',i:i})};o.setTimeout=function(c,t){var i=d();f[i]={c:c,p:y.call(arguments,2),t:!0};w[z]({n:'c',i:i,t:t});return i};o.clearTimeout=(i)=>{if(f[r](i))delete f[i],w[z]({n:'d',i:i})};w.onmessage=(e)=>{var i=e.data,c,n;if(f[r](i)){n=f[i];c=n.c;if(n[r]('t'))delete f[i]}if(typeof(c)=='string')try{c=new Function(c)}catch(k){}if(typeof(c)=='function')c.apply(o,n.p)}}catch(e){}}o.ht=1})();
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "manifest_version": 3,
3 | "name": "FoE Extender",
4 | "version": "1.0.2",
5 | "content_scripts": [
6 | {
7 | "matches": [
8 | "https://*.forgeofempires.com/game/index*"
9 | ],
10 | "js": ["injectContent.js"],
11 | "run_at": "document_start"
12 | }
13 | ],
14 | "web_accessible_resources": [{
15 | "resources": [
16 | "src/web/*.*",
17 | "src/web/*/*.*",
18 | "src/extra/*/*.*",
19 | "src/vendor/*.*",
20 | "vendor.json",
21 | "internal.json",
22 | "src/web/css/*.css"
23 | ],
24 | "matches": ["https://*.forgeofempires.com/*"]
25 | }
26 |
27 | ],
28 | "background": {
29 | "service_worker": "src/popup/index.js",
30 | "type": "module"
31 | },
32 | "action": {
33 | "default_icon": "icon.png",
34 | "default_popup": "popup.html"
35 | },
36 | "permissions": [
37 | "storage",
38 | "cookies",
39 | "unlimitedStorage",
40 | "system.storage",
41 | "system.cpu",
42 | "system.memory",
43 | "system.display"
44 | ],
45 | "host_permissions": [
46 | "https://*.forgeofempires.com/game/index*",
47 | "https://foe-extender.com/*",
48 | "https://mirror.foe-extender.com/*"
49 | ],
50 | "externally_connectable" : {
51 | "matches": ["https://*.forgeofempires.com/game/index*"],
52 | "ids": ["*"]
53 | },
54 | "content_security_policy": {
55 | "extension_pages": "script-src 'self'; object-src 'self'"
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/injectContent.js:
--------------------------------------------------------------------------------
1 | {let e={main:["once"],vendor:["once","primed"],internal:["once","primed"]};const t=Date.now().toString(36)+Date.now();function scriptLoaded(n,i){e[i].splice(e[i].indexOf(n),1),1==e.main.length&&(e.main.splice(e.main.indexOf("once"),1),window.dispatchEvent(new CustomEvent(t)))}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}function inject(n=chrome.runtime.getURL("")){function i(t,n="base",i,o){return new Promise((async(r,a)=>{let c=document.createElement("script");if(c.src=t,"main"===n&&(c.setAttribute("data-url",i),c.setAttribute("data-id",o),c.setAttribute("id","injector")),(t.includes("main.js")||t.includes("loader.js"))&&c.setAttribute("type","module"),e[n]&&e[n].push(t),c.addEventListener("load",(function(){e[n]&&scriptLoaded(t,n),this.remove(),r()})),c.addEventListener("error",(function(){this.remove(),a()})),document.documentElement)document.documentElement.appendChild(c);else{for(;!document.head&&!document.documentElement;)await sleep(0);(document.head||document.documentElement).appendChild(c)}}))}async function o(e){const t=await fetch(e);if(200!==t.status)throw"Error loading json file "+e;return t.json()}const r=new Promise((e=>{window.addEventListener(t,(t=>{e()}),{capture:!1,once:!0,passive:!0})}));chrome.runtime.getManifest().version;!async function(e){try{const t=chrome.runtime.id;await i(`${e}src/web/drawer.js`,"main",e,t);const n=o(`${e}vendor.json`),a=o(`${e}internal.json`);await r;const c=await n;for(let t=0;t *"Download ZIP"* to get extension. **IMPORTANT! If you have troubles with connection to main server, download and use bot build for mirror server ([LINK](https://github.com/cosmos0nash/FoE-Extender/archive/refs/heads/mirror.zip))**. After the download is complete, unzip the archive to a location convenient for you, then open the **Chrome browser (or another chromium browser)**, open the extension settings, enable developer mode and click on the "download unpacked extension" button. In the dialog that opens, select the folder you unzipped. After installation, reload the tab with the game.
9 |
10 | ## How to Use FoE Bot? ##
11 | Restart the game after installation. When the game loads, open the main bot window, select Activation tab and click on the **"Login/Register"** button. Register on the site [foe-extender.com](https://foe-extender.com). After registration, you need to link the bot to your account. To do this, open the main bot window again and click the **"Authorize bot"** button. You will see a message about successful authorization. After that, choose the tariff plan that suits you. In order for the tariff plan to be enabled, open the main bot window again and click the **"Check subscription"** button or simply restart the game.
12 |
13 | ## How to Update FoE Bot? ##
14 | First, download the update archive from GitHub ([link here](https://github.com/cosmos0nash/FoE-Extender/archive/refs/heads/main.zip)). **IMPORTANT! If you have troubles with connection to main server, download and use bot build for mirror server ([LINK](https://github.com/cosmos0nash/FoE-Extender/archive/refs/heads/mirror.zip))**. After downloading, unzip the archive into a folder with the bot extension, replacing all files with new ones.
15 | After you have unzipped the update, open the browser extension settings (chrome://extensions), find the FoE Extender extension and click on the "reload" button on it. After that, go to the tab with the game and refresh the page to reload the game.
16 | This completes the update process.
17 | Read more at [FoE-Extender help](https://foe-extender.com/help#update).
18 |
19 | **Remember: Use it at your own risk!**
20 |
--------------------------------------------------------------------------------
/src/vendor/download.min.js:
--------------------------------------------------------------------------------
1 | //download.js v4.21, by dandavis; 2008-2018. [MIT] see http://danml.com/download.html for tests/usage
2 | ;(function(root,factory){typeof define=="function"&&define.amd?define([],factory):typeof exports=="object"?module.exports=factory():root.download=factory()})(this,function(){return function download(data,strFileName,strMimeType){var self=window,defaultMime="application/octet-stream",mimeType=strMimeType||defaultMime,payload=data,url=!strFileName&&!strMimeType&&payload,anchor=document.createElement("a"),toString=function(a){return String(a)},myBlob=self.Blob||self.MozBlob||self.WebKitBlob||toString,fileName=strFileName||"download",blob,reader;myBlob=myBlob.call?myBlob.bind(self):Blob,String(this)==="true"&&(payload=[payload,mimeType],mimeType=payload[0],payload=payload[1]);if(url&&url.length<2048){fileName=url.split("/").pop().split("?")[0],anchor.href=url;if(anchor.href.indexOf(url)!==-1){var ajax=new XMLHttpRequest;return ajax.open("GET",url,!0),ajax.responseType="blob",ajax.onload=function(e){download(e.target.response,fileName,defaultMime)},setTimeout(function(){ajax.send()},0),ajax}}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(payload)){if(!(payload.length>2096103.424&&myBlob!==toString))return navigator.msSaveBlob?navigator.msSaveBlob(dataUrlToBlob(payload),fileName):saver(payload);payload=dataUrlToBlob(payload),mimeType=payload.type||defaultMime}else if(/([\x80-\xff])/.test(payload)){var i=0,tempUiArr=new Uint8Array(payload.length),mx=tempUiArr.length;for(i;i0?3:2,decoder=parts[indexDecoder]=="base64"?atob:decodeURIComponent,binData=decoder(parts.pop()),mx=binData.length,i=0,uiArr=new Uint8Array(mx);for(i;i2096103.424&&myBlob!==toString))return navigator.msSaveBlob?navigator.msSaveBlob(dataUrlToBlob(payload),fileName):saver(payload);payload=dataUrlToBlob(payload),mimeType=payload.type||defaultMime}else if(/([\x80-\xff])/.test(payload)){var i=0,tempUiArr=new Uint8Array(payload.length),mx=tempUiArr.length;for(i;i0?3:2,decoder=parts[indexDecoder]=="base64"?atob:decodeURIComponent,binData=decoder(parts.pop()),mx=binData.length,i=0,uiArr=new Uint8Array(mx);for(i;in;n++){(0,e[n])()}return r}function O(r){if("function"!=typeof r)throw Error(t(10));p=r,v({type:o.REPLACE})}function E(){var r,n=h;return(r={subscribe:function(r){if("object"!=typeof r||null===r)throw Error(t(11));function e(){r.next&&r.next(b())}return e(),{unsubscribe:n(e)}}})[e]=function(){return this},r}return v({type:o.INIT}),(c={dispatch:v,subscribe:h,getState:b,replaceReducer:O})[e]=E,c}var u=f;function c(r,t){return function(){return t(r.apply(this,arguments))}}function p(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}function a(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function l(r){for(var t=1;arguments.length>t;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?a(Object(e),!0).forEach((function(t){p(r,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}))}return r}function y(){for(var r=arguments.length,t=Array(r),e=0;r>e;e++)t[e]=arguments[e];return 0===t.length?function(r){return r}:1===t.length?t[0]:t.reduce((function(r,t){return function(){return r(t.apply(void 0,arguments))}}))}r.__DO_NOT_USE__ActionTypes=o,r.applyMiddleware=function(){for(var r=arguments.length,e=Array(r),n=0;r>n;n++)e[n]=arguments[n];return function(r){return function(){var n=r.apply(void 0,arguments),o=function(){throw Error(t(15))},i={getState:n.getState,dispatch:function(){return o.apply(void 0,arguments)}},f=e.map((function(r){return r(i)}));return o=y.apply(void 0,f)(n.dispatch),l(l({},n),{},{dispatch:o})}}},r.bindActionCreators=function(r,e){if("function"==typeof r)return c(r,e);if("object"!=typeof r||null===r)throw Error(t(16));var n={};for(var o in r){var i=r[o];"function"==typeof i&&(n[o]=c(i,e))}return n},r.combineReducers=function(r){for(var e=Object.keys(r),n={},i=0;e.length>i;i++){var f=e[i];"function"==typeof r[f]&&(n[f]=r[f])}var u,c=Object.keys(n);try{!function(r){Object.keys(r).forEach((function(e){var n=r[e];if(void 0===n(void 0,{type:o.INIT}))throw Error(t(12));if(void 0===n(void 0,{type:o.PROBE_UNKNOWN_ACTION()}))throw Error(t(13))}))}(n)}catch(r){u=r}return function(r,e){if(void 0===r&&(r={}),u)throw u;for(var o=!1,i={},f=0;c.length>f;f++){var p=c[f],a=r[p],l=(0,n[p])(a,e);if(void 0===l)throw Error(t(14));i[p]=l,o=o||l!==a}return(o=o||c.length!==Object.keys(r).length)?i:r}},r.compose=y,r.createStore=f,r.legacy_createStore=u,Object.defineProperty(r,"__esModule",{value:!0})}));
--------------------------------------------------------------------------------
/src/web/css/common.css:
--------------------------------------------------------------------------------
1 | @keyframes status {
2 | 0% {
3 | opacity: 0;
4 | }
5 | 40% {
6 | opacity: 1;
7 | }
8 | 60% {
9 | opacity: 1;
10 | }
11 | 100% {
12 | opacity: 0;
13 | }
14 | }
15 | .control-window {
16 | min-width: 600px;
17 | min-height: 450px;
18 | }
19 | .controls {
20 | display: flex;
21 | flex-direction: row;
22 | justify-content: space-around;
23 | }
24 | .container {
25 | max-width: inherit;
26 | }
27 | .controlBtn {
28 | padding: 10px 20px;
29 | border: 1px solid #ff111148;
30 | border-radius: 8px;
31 | }
32 | .status-panel {
33 | display: flex;
34 | padding: 10px;
35 | }
36 | .indicator {
37 | display: inline-block;
38 | border-radius: 50%;
39 | width: 14px;
40 | height: 14px;
41 | animation: status 1s ease-in-out infinite;
42 | }
43 | .indicator-red {
44 | background-color: red;
45 | }
46 | .indicator-yellow {
47 | background-color: yellow;
48 | }
49 | .indicator-green {
50 | background-color: green;
51 | }
52 | .dotted-bottom {
53 | border-bottom: 1px dotted #ffc04c;
54 | }
55 |
56 | .ignored-container {
57 | max-height: 210px;
58 | overflow-y: auto;
59 | }
60 |
61 | .autocomplete-items {
62 | position: absolute;
63 | border: 1px solid #d4d4d4;
64 | border-bottom: none;
65 | border-top: none;
66 | z-index: 99;
67 | /*position the autocomplete items to be the same width as the container:*/
68 | top: 100%;
69 | left: 0;
70 | right: 0;
71 | }
72 | .autocomplete-items div {
73 | padding: 10px;
74 | cursor: pointer;
75 | background-color: #fff;
76 | border-bottom: 1px solid #d4d4d4;
77 | }
78 | .autocomplete-items div:hover {
79 | /*when hovering an item:*/
80 | background-color: #e9e9e9;
81 | }
82 | .autocomplete-active {
83 | /*when navigating through the items using the arrow keys:*/
84 | background-color: DodgerBlue !important;
85 | color: #ffffff;
86 | }
87 |
88 | .main-button {
89 | display: block;
90 | background: linear-gradient(0deg, rgba(0,74,255,1) 0%, rgba(9,9,121,1) 20%, rgba(9,9,121,1) 79%, rgba(0,74,255,1) 100%) !important;
91 | color: #fff !important;
92 | top: 36px;
93 | left: 0;
94 | position: absolute;
95 | }
96 |
97 | .main-button:hover {
98 | background: linear-gradient(0deg, rgba(0,44,255,1) 0%, rgba(9,0,101,1) 20%, rgba(9,0,101,1) 79%, rgba(0,44,255,1) 100%) !important;
99 | color: #fff !important;
100 | }
101 |
102 | .main-button:active {
103 | background: linear-gradient(0deg, rgba(0,44,255,1) 0%, rgba(9,0,181,1) 20%, rgba(9,0,181,1) 79%, rgba(0,44,255,1) 100%) !important;
104 | color: #fff !important;
105 | }
106 |
107 | .main-layer {
108 | position: absolute;
109 | top: 0;
110 | left: 0;
111 | right: 0;
112 | bottom: 0;
113 | background: transparent;
114 | z-index: 11111;
115 | pointer-events: none;
116 | user-select: none;
117 | }
118 | .main-layer * {
119 | pointer-events: all;
120 | }
121 |
122 | .modal-dialog .modal-content,
123 | .panel,
124 | .main-window {
125 | color: #f7ebc1 !important;
126 | background: url('./bg.png') center center repeat;
127 | border: 2px solid #895022;
128 | }
129 |
130 | .main-window {
131 | display: flex;
132 | flex-direction: column;
133 | position: absolute;
134 | top: 46px;
135 | left: 0;
136 | z-index: 100;
137 | border-width: 3px;
138 | border-radius: 6px;
139 | }
140 |
141 | #settings {
142 | overflow-y: auto;
143 | max-height: 450px;
144 | }
145 |
146 | .main-layer div.card {
147 | background-color:#341604;
148 | padding-left: 0;
149 | padding-right: 0;
150 | }
151 | .main-layer h5.card-header,
152 | .main-layer .panel-header {
153 | background: linear-gradient(0deg, #44150a, #48170c, #4c190e, #501b10, #541d12, #581f13, #5d2115, #612316);
154 | }
155 | .panel {
156 | position: absolute;
157 | background-color: rgb(118 109 65);
158 | }
159 | .panel-header {
160 | display: flex;
161 | justify-content: space-between;
162 | }
163 | .panel-header__title {
164 | margin: 3px;
165 | margin-left: 10px;
166 | cursor: default;
167 | }
168 | .panel-header__controls {
169 | margin: 3px;
170 | }
171 |
172 | .nav.nav-tabs {
173 | border-bottom: 2px solid #895022;
174 | }
175 | .nav .nav-item .nav-link {
176 | color: #f3D6A0;
177 | border-width: 2px;
178 | }
179 | .nav .nav-item .nav-link:hover {
180 | border-color: #895022;
181 | border-width: 2px;
182 | }
183 | .nav .nav-item .nav-link.active {
184 | background-color: #291308cc;
185 | border-color: #895022;
186 | border-width: 2px;
187 | color: #ffc04c;
188 | }
189 |
190 | .main-layer .border {
191 | border: 1px solid #895022 !important;
192 | }
193 | .main-layer .form-check-input {
194 | background-color: #fdeac8;
195 | }
196 | .main-layer .form-check-input:checked {
197 | background-color: #0d9904;
198 | border-color: #116e05;
199 | }
200 | .main-layer .form-check-input:focus {
201 | border-color: #f8fff8;
202 | box-shadow: 0 0 0 0.25rem rgba(53, 253, 13, 0.25)
203 | }
204 | .main-layer .btn.btn-primary {
205 | border-color: #116e05;
206 | background: linear-gradient(0deg, rgba(33,112,28,1) 17%, rgba(43,143,34,1) 60%, rgba(45,145,36,1) 95%);
207 | }
208 | .main-layer .btn.btn-primary:hover {
209 | background: linear-gradient(0deg, rgba(27,94,23,1) 17%, rgba(38,130,30,1) 60%, rgba(39,130,31,1) 95%);
210 | }
211 | .main-layer .btn.btn-primary:active {
212 | background: linear-gradient(0deg, rgba(38,128,33,1) 17%, rgba(49,158,39,1) 60%, rgba(50,157,40,1) 95%);
213 | }
214 | .main-layer .btn.btn-danger {
215 | border-color: rgba(207,51,27,1);
216 | background: linear-gradient(0deg, rgba(157,38,20,1) 17%, rgba(207,51,27,1) 60%, rgba(193,56,36,1) 95%);
217 | }
218 | .main-layer .btn.btn-danger:hover {
219 | background: linear-gradient(0deg, rgba(143,35,19,1) 17%, rgba(190,47,25,1) 60%, rgba(171,50,33,1) 95%);
220 | }
221 | .main-layer .btn.btn-danger:active {
222 | background: linear-gradient(0deg, rgba(191,46,24,1) 17%, rgba(222,52,26,1) 60%, rgba(208,61,40,1) 95%);
223 | }
224 | .main-layer .btn.btn-info {
225 | border-color: rgba(172,109,32,1);
226 | color: #fff;
227 | background: linear-gradient(0deg, rgba(172,109,32,1) 17%, rgba(198,127,40,1) 60%, rgba(193,126,44,1) 95%);
228 | }
229 | .main-layer .btn.btn-info:hover {
230 | background: linear-gradient(0deg, rgba(158,100,30,1) 17%, rgba(184,117,36,1) 60%, rgba(176,116,44,1) 95%);
231 | }
232 | .main-layer .btn.btn-info:active {
233 | background: linear-gradient(0deg, rgba(199,127,40,1) 17%, rgba(222,143,48,1) 60%, rgba(210,138,51,1) 95%);
234 | }
235 | .main-layer .form-control,
236 | .main-layer input[type="text"],
237 | .main-layer input[type="number"] {
238 | background-color: #fdeac8;
239 | }
240 | .main-layer .sys-btn {
241 | padding: 0px;
242 | width: 20px;
243 | height: 20px;
244 | position: relative;
245 | background: linear-gradient(0deg, rgba(108,134,173,1) 1%, rgba(81,102,135,1) 30%, rgba(81,102,135,1) 71%, rgba(108,134,173,1) 99%);
246 | border-radius: 2px;
247 | }
248 | .main-layer .sys-btn:hover {
249 | background: linear-gradient(0deg, rgba(100,124,159,1) 1%, rgba(69,87,116,1) 30%, rgba(69,87,116,1) 71%, rgba(100,124,159,1) 99%);
250 | }
251 | .main-layer .sys-btn:active {
252 | background: linear-gradient(0deg, rgba(131,158,198,1) 1%, rgba(102,122,156,1) 30%, rgba(102,122,156,1) 71%, rgba(131,158,198,1) 99%);
253 | }
254 |
255 | .main-layer .sys-btn.sys-btn-close::before,
256 | .main-layer .sys-btn.sys-btn-close::after {
257 | content: '';
258 | border-left: 3px solid #fdeac8;
259 | width: 0;
260 | height: 85%;
261 | position: absolute;
262 | top: 2px;
263 | left: 9px;
264 | }
265 | .main-layer .sys-btn.sys-btn-close::before {
266 | rotate: 45deg;
267 | }
268 | .main-layer .sys-btn.sys-btn-close::after {
269 | rotate: -45deg;
270 | }
271 |
272 | .army-buttons {
273 | display: flex;
274 | padding: 5px;
275 | overflow-x: auto;
276 | min-height: 46px;
277 | min-width: 20%;
278 |
279 | }
280 | .unit-btn {
281 | display: flex;
282 | flex-direction: column;
283 | align-items: center;
284 | margin: 0 5px;
285 | max-width: 70px;
286 | max-height: 70px;
287 | background-color: #291308cc;
288 | color: #ffc04c;
289 | font-size: 10px;
290 | border: 2px solid #82ae4c;
291 | border-radius: 4px;
292 | }
293 | .unit-btn span {
294 | width: 100%;
295 | overflow: hidden;
296 | white-space: nowrap;
297 | text-overflow: ellipsis;
298 | }
299 | .unit-btn:hover {
300 | background-color: #422212cc;
301 | color: #fff;
302 | }
303 |
304 | .unit-btn:active {
305 | background-color: #000000cc;
306 | }
307 |
308 | .btn-transparent {
309 | background-color: transparent;
310 | border: none;
311 | color: inherit;
312 | }
313 |
314 | .gvg-sector .card-body,
315 | .gvg-sector .card-header {
316 | padding: 5px;
317 | }
318 | .gvg-sector + .form-switch {
319 | margin-left: 10px;
320 | font-size: 0.9rem;
321 | }
322 | .gvg-sector + div + div + .status-panel {
323 | margin-top: 3px;
324 | }
325 |
326 |
327 | .sector-info__prop {
328 | display: inline-block;
329 | padding: 1px;
330 | border: 1px solid green;
331 | border-radius: 5px;
332 | margin-bottom: 1px;
333 | }
334 |
335 | .controls {
336 | margin-top: 10px;
337 | }
338 |
339 | .controls .sector-control {
340 | min-width: 150px;
341 | padding: 5px;
342 | border: 1px solid #895022;
343 | border-radius: 5px;
344 | display: flex;
345 | flex-direction: column;
346 | justify-content: center;
347 | position: relative;
348 | }
349 | .controls .sector-control .control-label {
350 | font-size: 14px;
351 | line-height: 14px;
352 | }
353 | .controls .sector-control .title {
354 | position: absolute;
355 | top: -8px;
356 | right: 0;
357 | font-size: 14px;
358 | line-height: 14px;
359 | }
360 | .controls .sector-control input,
361 | .controls .sector-control select {
362 | margin-top: 5px;
363 | margin-bottom: 5px;
364 | }
365 |
366 | .controls .form-control {
367 | padding: 0 5px;
368 | }
369 |
370 | .controls button.btn {
371 | padding: 0 5px;
372 | }
373 |
374 | .status-panel {
375 | width: 100%;
376 | margin-top: 10px;
377 | padding: 0 5px;
378 | border-top: 2px solid #895022;
379 | background: linear-gradient(0deg, #44150a, #48170c, #4c190e, #501b10, #541d12, #581f13, #5d2115, #612316);
380 | box-sizing: border-box;
381 | border-radius: 6px;
382 | font-size: 14px;
383 | }
384 | .status-panel__status,
385 | .status-panel__status-text {
386 | margin: 0;
387 | }
388 | .status-panel__status {
389 | margin-right: 10px;
390 | }
391 | .text-yellow {
392 | color: #ffc04c;
393 | }
394 | .text-red {
395 | color: #ff0000;
396 | }
397 | .text-green {
398 | color: #00ff00;
399 | }
400 |
401 | .bg-modes fieldset {
402 | display: flex;
403 | justify-content: space-between;
404 | align-items: center;
405 | }
406 | .bg-modes fieldset label {
407 | margin-right: 10px;
408 | }
409 |
410 | .bg-modes fieldset:disabled {
411 | backdrop-filter: contrast(0.5);
412 | }
413 | .bg-modes label.form-check-label {
414 | display: block;
415 | }
416 |
417 | .bg-modes input.form-check-input:checked + label {
418 | color: #ffc04c;
419 | }
420 | .bg-controls {
421 | display: flex;
422 | flex-direction: column;
423 | justify-content: center;
424 | align-items: stretch;
425 | padding: 5px;
426 | margin-top: 10px;
427 | }
428 | .bg-controls > * {
429 | margin-bottom: 5px;
430 | }
431 | .range-colored {
432 | min-width: 160px;
433 | height: 5px !important;
434 | border: none !important;
435 | border-radius: 3px;
436 | background: linear-gradient(45deg, rgba(255,0,0,1) 0%, rgba(238,232,22,1) 35%, rgba(0,255,55,1) 85%) !important;
437 | }
438 | .range-wrapper {
439 | position: relative;
440 | display: inline-block;
441 | vertical-align: middle;
442 | }
443 | .range-edge-indicator {
444 | font-size: 0.8rem;
445 | }
446 | .range-reset-btn {
447 | padding: 0 !important;
448 | line-height: 1.1rem !important;
449 | font-size: 1.2rem !important;
450 | }
451 |
452 | .bubble {
453 | background: #116e05;
454 | color: white;
455 | padding: 4px 12px;
456 | position: absolute;
457 | border-radius: 4px;
458 | left: 50%;
459 | bottom: 180%;
460 | transform: translateX(-50%);
461 | display: none;
462 | }
463 | .bubble::before {
464 | content: "";
465 | position: absolute;
466 | border: 4px solid transparent;
467 | border-top: 4px solid #116e05;
468 | top: 100%;
469 | left: 42%;
470 | }
--------------------------------------------------------------------------------
/src/vendor/neverland.min.js:
--------------------------------------------------------------------------------
1 | var neverland=function(e){"use strict";function t(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n',_.content.childNodes[0].getAttribute("tabindex")==H)||(H="_dt: "+H.slice(1,-1)+";",z=!0)}catch(e){}var B="\x3c!--"+H+"--\x3e",I=8,P=1,Z=3,q=/^(?:style|textarea)$/i,G=/^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i;var V=" \\f\\n\\r\\t",U="[^"+V+"\\/>\"'=]+",J="["+V+"]+"+U,K="<([A-Za-z]+[A-Za-z0-9:._-]*)((?:",Q="(?:\\s*=\\s*(?:'[^']*?'|\"[^\"]*?\"|<[^>]*?>|"+U.replace("\\/","")+"))?)",X=new RegExp(K+J+Q+"+)(["+V+"]*/?>)","g"),Y=new RegExp(K+J+Q+"*)(["+V+"]*/>)","g"),ee=new RegExp("("+J+"\\s*=\\s*)(['\"]?)"+B+"\\2","gi");function te(e,t,n,r){return"<"+t+n.replace(ee,ne)+r}function ne(e,t,n){return t+(n||'"')+H+(n||'"')}function re(e,t,n){return G.test(t)?e:"<"+t+n+">"+t+">"}var ae=function(e,t){return 111===e.nodeType?1/t<0?t?(r=(n=e).firstChild,a=n.lastChild,(o=document.createRange()).setStartAfter(r),o.setEndAfter(a),o.deleteContents(),r):e.lastChild:t?e.valueOf():e.firstChild:e;var n,r,a,o},oe=function(e){var t="fragment",n="content"in a("template")?function(e){var t=a("template");return t.innerHTML=e,t.content}:function(e){var n=a(t),o=a("template"),i=null;if(/^[^\S]*?<(col(?:group)?|t(?:head|body|foot|r|d|h))/i.test(e)){var u=RegExp.$1;o.innerHTML="",i=o.querySelectorAll(u)}else o.innerHTML=e,i=o.childNodes;return r(n,i),n};return function(e,o){return("svg"===o?function(e){var n=a(t),o=a("div");return o.innerHTML='",r(n,o.firstChild.childNodes),n}:n)(e)};function r(e,t){for(var n=t.length;n--;)e.appendChild(t[0])}function a(n){return n===t?e.createDocumentFragment():e.createElementNS("http://www.w3.org/1999/xhtml",n)}}(document),ie=function(e,t,n,r,a){for(var o=n.length,i=t.length,u=o,c=0,l=0,s=null;ch-l)for(var m=r(t[c],0);l1?a-1:0),u=1;u>0x18&0xff,HN[HA+0x1]=HV>>0x10&0xff,HN[HA+0x2]=HV>>0x8&0xff,HN[HA+0x3]=0xff&HV,HN[HA+0x4]=Hm>>0x18&0xff,HN[HA+0x5]=Hm>>0x10&0xff,HN[HA+0x6]=Hm>>0x8&0xff,HN[HA+0x7]=0xff&Hm;}function Z(HN,HA,HV,Hm){return function(Hi,HE,HU,HK,HO){var Hw,Hg=0x0;for(Hw=0x0;Hw>>0x8)-0x1;}(HN,HA,HV,Hm,0x20);}var x=function(HN){var HA,HV,Hm,Hi,HE,HU,HK,HO;this['b']=new Uint8Array(0x10),this['r']=new Uint16Array(0xa),this['h']=new Uint16Array(0xa),this['p']=new Uint16Array(0x8),this['l']=0x0,this['f']=0x0,HA=0xff&HN[0x0]|(0xff&HN[0x1])<<0x8,this['r'][0x0]=S&HA,HV=0xff&HN[0x2]|(0xff&HN[0x3])<<0x8,this['r'][0x1]=S&(HA>>>0xd|HV<<0x3),Hm=0xff&HN[0x4]|(0xff&HN[0x5])<<0x8,this['r'][0x2]=0x1f03&(HV>>>0xa|Hm<<0x6),Hi=0xff&HN[0x6]|(0xff&HN[0x7])<<0x8,this['r'][0x3]=S&(Hm>>>0x7|Hi<<0x9),HE=0xff&HN[0x8]|(0xff&HN[0x9])<<0x8,this['r'][0x4]=0xff&(Hi>>>0x4|HE<<0xc),this['r'][0x5]=HE>>>0x1&0x1ffe,HU=0xff&HN[0xa]|(0xff&HN[0xb])<<0x8,this['r'][0x6]=S&(HE>>>0xe|HU<<0x2),HK=0xff&HN[0xc]|(0xff&HN[0xd])<<0x8,this['r'][0x7]=0x1f81&(HU>>>0xb|HK<<0x5),HO=0xff&HN[0xe]|(0xff&HN[0xf])<<0x8,this['r'][0x8]=S&(HK>>>0x8|HO<<0x8),this['r'][0x9]=HO>>>0x5&0x7f,this['p'][0x0]=0xff&HN[0x10]|(0xff&HN[0x11])<<0x8,this['p'][0x1]=0xff&HN[0x12]|(0xff&HN[0x13])<<0x8,this['p'][0x2]=0xff&HN[0x14]|(0xff&HN[0x15])<<0x8,this['p'][0x3]=0xff&HN[0x16]|(0xff&HN[0x17])<<0x8,this['p'][0x4]=0xff&HN[0x18]|(0xff&HN[0x19])<<0x8,this['p'][0x5]=0xff&HN[0x1a]|(0xff&HN[0x1b])<<0x8,this['p'][0x6]=0xff&HN[0x1c]|(0xff&HN[0x1d])<<0x8,this['p'][0x7]=0xff&HN[0x1e]|(0xff&HN[0x1f])<<0x8;};function P(HN,HA){var HV;for(HV=0x0;HV<0x10;HV++)HN[HV]=0x0|HA[HV];}function L(HN){var HA,HV,Hm=0x1;for(HA=0x0;HA<0x10;HA++)HV=HN[HA]+Hm+J,Hm=V(HV/N),HN[HA]=HV-N*Hm;HN[0x0]+=Hm-0x1+0x25*(Hm-0x1);}function C(HN,HA,HV){for(var Hm,Hi=~(HV-0x1),HE=0x0;HE<0x10;HE++)Hm=Hi&(HN[HE]^HA[HE]),HN[HE]^=Hm,HA[HE]^=Hm;}function H0(HN,HA){var HV,Hm,Hi,HE=B(),HU=B();for(HV=0x0;HV<0x10;HV++)HU[HV]=HA[HV];for(L(HU),L(HU),L(HU),Hm=0x0;Hm<0x2;Hm++){for(HE[0x0]=HU[0x0]-0xffed,HV=0x1;HV<0xf;HV++)HE[HV]=HU[HV]-J-(HE[HV-0x1]>>0x10&0x1),HE[HV-0x1]&=J;HE[0xf]=HU[0xf]-0x7fff-(HE[0xe]>>0x10&0x1),Hi=HE[0xf]>>0x10&0x1,HE[0xe]&=J,C(HU,HE,0x1-Hi);}for(HV=0x0;HV<0x10;HV++)HN[0x2*HV]=0xff&HU[HV],HN[0x2*HV+0x1]=HU[HV]>>0x8;}function H1(HN,HA){var HV=new Uint8Array(0x20),Hm=new Uint8Array(0x20);return H0(HV,HN),H0(Hm,HA),Z(HV,0x0,Hm,0x0);}function H2(HN){var HA=new Uint8Array(0x20);return H0(HA,HN),0x1&HA[0x0];}function H3(HN,HA,HV){for(var Hm=0x0;Hm<0x10;Hm++)HN[Hm]=HA[Hm]+HV[Hm];}function H4(HN,HA,HV){for(var Hm=0x0;Hm<0x10;Hm++)HN[Hm]=HA[Hm]-HV[Hm];}function H5(HN,HA,HV){var Hm,Hi,HE=0x0,HU=0x0,HK=0x0,HO=0x0,Hw=0x0,Hg=0x0,Hc=0x0,HR=0x0,HY=0x0,HG=0x0,HX=0x0,Ht=0x0,Ha=0x0,HZ=0x0,Hu=0x0,HF=0x0,Hb=0x0,Hv=0x0,Hx=0x0,HP=0x0,Hs=0x0,Hp=0x0,HL=0x0,Hl=0x0,Hh=0x0,HC=0x0,Hf=0x0,W0=0x0,W1=0x0,W2=0x0,W3=0x0,W4=HV[0x0],W5=HV[0x1],W6=HV[0x2],W7=HV[0x3],W8=HV[0x4],W9=HV[0x5],WH=HV[0x6],WW=HV[0x7],Wn=HV[0x8],Wq=HV[0x9],WD=HV[0xa],WI=HV[0xb],Wo=HV[0xc],Wd=HV[0xd],Wr=HV[0xe],WM=HV[0xf];HE+=(Hm=HA[0x0])*W4,HU+=Hm*W5,HK+=Hm*W6,HO+=Hm*W7,Hw+=Hm*W8,Hg+=Hm*W9,Hc+=Hm*WH,HR+=Hm*WW,HY+=Hm*Wn,HG+=Hm*Wq,HX+=Hm*WD,Ht+=Hm*WI,Ha+=Hm*Wo,HZ+=Hm*Wd,Hu+=Hm*Wr,HF+=Hm*WM,HU+=(Hm=HA[0x1])*W4,HK+=Hm*W5,HO+=Hm*W6,Hw+=Hm*W7,Hg+=Hm*W8,Hc+=Hm*W9,HR+=Hm*WH,HY+=Hm*WW,HG+=Hm*Wn,HX+=Hm*Wq,Ht+=Hm*WD,Ha+=Hm*WI,HZ+=Hm*Wo,Hu+=Hm*Wd,HF+=Hm*Wr,Hb+=Hm*WM,HK+=(Hm=HA[0x2])*W4,HO+=Hm*W5,Hw+=Hm*W6,Hg+=Hm*W7,Hc+=Hm*W8,HR+=Hm*W9,HY+=Hm*WH,HG+=Hm*WW,HX+=Hm*Wn,Ht+=Hm*Wq,Ha+=Hm*WD,HZ+=Hm*WI,Hu+=Hm*Wo,HF+=Hm*Wd,Hb+=Hm*Wr,Hv+=Hm*WM,HO+=(Hm=HA[0x3])*W4,Hw+=Hm*W5,Hg+=Hm*W6,Hc+=Hm*W7,HR+=Hm*W8,HY+=Hm*W9,HG+=Hm*WH,HX+=Hm*WW,Ht+=Hm*Wn,Ha+=Hm*Wq,HZ+=Hm*WD,Hu+=Hm*WI,HF+=Hm*Wo,Hb+=Hm*Wd,Hv+=Hm*Wr,Hx+=Hm*WM,Hw+=(Hm=HA[0x4])*W4,Hg+=Hm*W5,Hc+=Hm*W6,HR+=Hm*W7,HY+=Hm*W8,HG+=Hm*W9,HX+=Hm*WH,Ht+=Hm*WW,Ha+=Hm*Wn,HZ+=Hm*Wq,Hu+=Hm*WD,HF+=Hm*WI,Hb+=Hm*Wo,Hv+=Hm*Wd,Hx+=Hm*Wr,HP+=Hm*WM,Hg+=(Hm=HA[0x5])*W4,Hc+=Hm*W5,HR+=Hm*W6,HY+=Hm*W7,HG+=Hm*W8,HX+=Hm*W9,Ht+=Hm*WH,Ha+=Hm*WW,HZ+=Hm*Wn,Hu+=Hm*Wq,HF+=Hm*WD,Hb+=Hm*WI,Hv+=Hm*Wo,Hx+=Hm*Wd,HP+=Hm*Wr,Hs+=Hm*WM,Hc+=(Hm=HA[0x6])*W4,HR+=Hm*W5,HY+=Hm*W6,HG+=Hm*W7,HX+=Hm*W8,Ht+=Hm*W9,Ha+=Hm*WH,HZ+=Hm*WW,Hu+=Hm*Wn,HF+=Hm*Wq,Hb+=Hm*WD,Hv+=Hm*WI,Hx+=Hm*Wo,HP+=Hm*Wd,Hs+=Hm*Wr,Hp+=Hm*WM,HR+=(Hm=HA[0x7])*W4,HY+=Hm*W5,HG+=Hm*W6,HX+=Hm*W7,Ht+=Hm*W8,Ha+=Hm*W9,HZ+=Hm*WH,Hu+=Hm*WW,HF+=Hm*Wn,Hb+=Hm*Wq,Hv+=Hm*WD,Hx+=Hm*WI,HP+=Hm*Wo,Hs+=Hm*Wd,Hp+=Hm*Wr,HL+=Hm*WM,HY+=(Hm=HA[0x8])*W4,HG+=Hm*W5,HX+=Hm*W6,Ht+=Hm*W7,Ha+=Hm*W8,HZ+=Hm*W9,Hu+=Hm*WH,HF+=Hm*WW,Hb+=Hm*Wn,Hv+=Hm*Wq,Hx+=Hm*WD,HP+=Hm*WI,Hs+=Hm*Wo,Hp+=Hm*Wd,HL+=Hm*Wr,Hl+=Hm*WM,HG+=(Hm=HA[0x9])*W4,HX+=Hm*W5,Ht+=Hm*W6,Ha+=Hm*W7,HZ+=Hm*W8,Hu+=Hm*W9,HF+=Hm*WH,Hb+=Hm*WW,Hv+=Hm*Wn,Hx+=Hm*Wq,HP+=Hm*WD,Hs+=Hm*WI,Hp+=Hm*Wo,HL+=Hm*Wd,Hl+=Hm*Wr,Hh+=Hm*WM,HX+=(Hm=HA[0xa])*W4,Ht+=Hm*W5,Ha+=Hm*W6,HZ+=Hm*W7,Hu+=Hm*W8,HF+=Hm*W9,Hb+=Hm*WH,Hv+=Hm*WW,Hx+=Hm*Wn,HP+=Hm*Wq,Hs+=Hm*WD,Hp+=Hm*WI,HL+=Hm*Wo,Hl+=Hm*Wd,Hh+=Hm*Wr,HC+=Hm*WM,Ht+=(Hm=HA[0xb])*W4,Ha+=Hm*W5,HZ+=Hm*W6,Hu+=Hm*W7,HF+=Hm*W8,Hb+=Hm*W9,Hv+=Hm*WH,Hx+=Hm*WW,HP+=Hm*Wn,Hs+=Hm*Wq,Hp+=Hm*WD,HL+=Hm*WI,Hl+=Hm*Wo,Hh+=Hm*Wd,HC+=Hm*Wr,Hf+=Hm*WM,Ha+=(Hm=HA[0xc])*W4,HZ+=Hm*W5,Hu+=Hm*W6,HF+=Hm*W7,Hb+=Hm*W8,Hv+=Hm*W9,Hx+=Hm*WH,HP+=Hm*WW,Hs+=Hm*Wn,Hp+=Hm*Wq,HL+=Hm*WD,Hl+=Hm*WI,Hh+=Hm*Wo,HC+=Hm*Wd,Hf+=Hm*Wr,W0+=Hm*WM,HZ+=(Hm=HA[0xd])*W4,Hu+=Hm*W5,HF+=Hm*W6,Hb+=Hm*W7,Hv+=Hm*W8,Hx+=Hm*W9,HP+=Hm*WH,Hs+=Hm*WW,Hp+=Hm*Wn,HL+=Hm*Wq,Hl+=Hm*WD,Hh+=Hm*WI,HC+=Hm*Wo,Hf+=Hm*Wd,W0+=Hm*Wr,W1+=Hm*WM,Hu+=(Hm=HA[0xe])*W4,HF+=Hm*W5,Hb+=Hm*W6,Hv+=Hm*W7,Hx+=Hm*W8,HP+=Hm*W9,Hs+=Hm*WH,Hp+=Hm*WW,HL+=Hm*Wn,Hl+=Hm*Wq,Hh+=Hm*WD,HC+=Hm*WI,Hf+=Hm*Wo,W0+=Hm*Wd,W1+=Hm*Wr,W2+=Hm*WM,HF+=(Hm=HA[0xf])*W4,HU+=0x26*(Hv+=Hm*W6),HK+=0x26*(Hx+=Hm*W7),HO+=0x26*(HP+=Hm*W8),Hw+=0x26*(Hs+=Hm*W9),Hg+=0x26*(Hp+=Hm*WH),Hc+=0x26*(HL+=Hm*WW),HR+=0x26*(Hl+=Hm*Wn),HY+=0x26*(Hh+=Hm*Wq),HG+=0x26*(HC+=Hm*WD),HX+=0x26*(Hf+=Hm*WI),Ht+=0x26*(W0+=Hm*Wo),Ha+=0x26*(W1+=Hm*Wd),HZ+=0x26*(W2+=Hm*Wr),Hu+=0x26*(W3+=Hm*WM),HE=(Hm=(HE+=0x26*(Hb+=Hm*W5))+(Hi=0x1)+J)-N*(Hi=V(Hm/N)),HU=(Hm=HU+Hi+J)-N*(Hi=V(Hm/N)),HK=(Hm=HK+Hi+J)-N*(Hi=V(Hm/N)),HO=(Hm=HO+Hi+J)-N*(Hi=V(Hm/N)),Hw=(Hm=Hw+Hi+J)-N*(Hi=V(Hm/N)),Hg=(Hm=Hg+Hi+J)-N*(Hi=V(Hm/N)),Hc=(Hm=Hc+Hi+J)-N*(Hi=V(Hm/N)),HR=(Hm=HR+Hi+J)-N*(Hi=V(Hm/N)),HY=(Hm=HY+Hi+J)-N*(Hi=V(Hm/N)),HG=(Hm=HG+Hi+J)-N*(Hi=V(Hm/N)),HX=(Hm=HX+Hi+J)-N*(Hi=V(Hm/N)),Ht=(Hm=Ht+Hi+J)-N*(Hi=V(Hm/N)),Ha=(Hm=Ha+Hi+J)-N*(Hi=V(Hm/N)),HZ=(Hm=HZ+Hi+J)-N*(Hi=V(Hm/N)),Hu=(Hm=Hu+Hi+J)-N*(Hi=V(Hm/N)),HF=(Hm=HF+Hi+J)-N*(Hi=V(Hm/N)),HE=(Hm=(HE+=Hi-0x1+0x25*(Hi-0x1))+(Hi=0x1)+J)-N*(Hi=V(Hm/N)),HU=(Hm=HU+Hi+J)-N*(Hi=V(Hm/N)),HK=(Hm=HK+Hi+J)-N*(Hi=V(Hm/N)),HO=(Hm=HO+Hi+J)-N*(Hi=V(Hm/N)),Hw=(Hm=Hw+Hi+J)-N*(Hi=V(Hm/N)),Hg=(Hm=Hg+Hi+J)-N*(Hi=V(Hm/N)),Hc=(Hm=Hc+Hi+J)-N*(Hi=V(Hm/N)),HR=(Hm=HR+Hi+J)-N*(Hi=V(Hm/N)),HY=(Hm=HY+Hi+J)-N*(Hi=V(Hm/N)),HG=(Hm=HG+Hi+J)-N*(Hi=V(Hm/N)),HX=(Hm=HX+Hi+J)-N*(Hi=V(Hm/N)),Ht=(Hm=Ht+Hi+J)-N*(Hi=V(Hm/N)),Ha=(Hm=Ha+Hi+J)-N*(Hi=V(Hm/N)),HZ=(Hm=HZ+Hi+J)-N*(Hi=V(Hm/N)),Hu=(Hm=Hu+Hi+J)-N*(Hi=V(Hm/N)),HF=(Hm=HF+Hi+J)-N*(Hi=V(Hm/N)),HE+=Hi-0x1+0x25*(Hi-0x1),HN[0x0]=HE,HN[0x1]=HU,HN[0x2]=HK,HN[0x3]=HO,HN[0x4]=Hw,HN[0x5]=Hg,HN[0x6]=Hc,HN[0x7]=HR,HN[0x8]=HY,HN[0x9]=HG,HN[0xa]=HX,HN[0xb]=Ht,HN[0xc]=Ha,HN[0xd]=HZ,HN[0xe]=Hu,HN[0xf]=HF;}function H6(HN,HA){H5(HN,HA,HA);}x[WT(0xaf)][WT(0xc4)]=function(HN,HA,HV){for(var Hm,Hi,HE,HU,HK,HO,Hw,Hg,Hc,HR,HY,HG,HX,Ht,Ha,HZ,Hu,HF,Hb,Hv=this['f']?0x0:0x800,Hx=this['h'][0x0],HP=this['h'][0x1],Hs=this['h'][0x2],Hp=this['h'][0x3],HL=this['h'][0x4],Hl=this['h'][0x5],Hh=this['h'][0x6],HC=this['h'][0x7],Hf=this['h'][0x8],W0=this['h'][0x9],W1=this['r'][0x0],W2=this['r'][0x1],W3=this['r'][0x2],W4=this['r'][0x3],W5=this['r'][0x4],W6=this['r'][0x5],W7=this['r'][0x6],W8=this['r'][0x7],W9=this['r'][0x8],WH=this['r'][0x9];HV>=0x10;)HR=Hc=0x0,HR+=(Hx+=S&(Hm=0xff&HN[HA+0x0]|(0xff&HN[HA+0x1])<<0x8))*W1,HR+=(HP+=S&(Hm>>>0xd|(Hi=0xff&HN[HA+0x2]|(0xff&HN[HA+0x3])<<0x8)<<0x3))*(0x5*WH),HR+=(Hs+=S&(Hi>>>0xa|(HE=0xff&HN[HA+0x4]|(0xff&HN[HA+0x5])<<0x8)<<0x6))*(0x5*W9),HR+=(Hp+=S&(HE>>>0x7|(HU=0xff&HN[HA+0x6]|(0xff&HN[HA+0x7])<<0x8)<<0x9))*(0x5*W8),Hc=(HR+=(HL+=S&(HU>>>0x4|(HK=0xff&HN[HA+0x8]|(0xff&HN[HA+0x9])<<0x8)<<0xc))*(0x5*W7))>>>0xd,HR&=S,HR+=(Hl+=HK>>>0x1&S)*(0x5*W6),HR+=(Hh+=S&(HK>>>0xe|(HO=0xff&HN[HA+0xa]|(0xff&HN[HA+0xb])<<0x8)<<0x2))*(0x5*W5),HR+=(HC+=S&(HO>>>0xb|(Hw=0xff&HN[HA+0xc]|(0xff&HN[HA+0xd])<<0x8)<<0x5))*(0x5*W4),HR+=(Hf+=S&(Hw>>>0x8|(Hg=0xff&HN[HA+0xe]|(0xff&HN[HA+0xf])<<0x8)<<0x8))*(0x5*W3),HY=Hc+=(HR+=(W0+=Hg>>>0x5|Hv)*(0x5*W2))>>>0xd,HY+=Hx*W2,HY+=HP*W1,HY+=Hs*(0x5*WH),HY+=Hp*(0x5*W9),Hc=(HY+=HL*(0x5*W8))>>>0xd,HY&=S,HY+=Hl*(0x5*W7),HY+=Hh*(0x5*W6),HY+=HC*(0x5*W5),HY+=Hf*(0x5*W4),Hc+=(HY+=W0*(0x5*W3))>>>0xd,HY&=S,HG=Hc,HG+=Hx*W3,HG+=HP*W2,HG+=Hs*W1,HG+=Hp*(0x5*WH),Hc=(HG+=HL*(0x5*W9))>>>0xd,HG&=S,HG+=Hl*(0x5*W8),HG+=Hh*(0x5*W7),HG+=HC*(0x5*W6),HG+=Hf*(0x5*W5),HX=Hc+=(HG+=W0*(0x5*W4))>>>0xd,HX+=Hx*W4,HX+=HP*W3,HX+=Hs*W2,HX+=Hp*W1,Hc=(HX+=HL*(0x5*WH))>>>0xd,HX&=S,HX+=Hl*(0x5*W9),HX+=Hh*(0x5*W8),HX+=HC*(0x5*W7),HX+=Hf*(0x5*W6),Ht=Hc+=(HX+=W0*(0x5*W5))>>>0xd,Ht+=Hx*W5,Ht+=HP*W4,Ht+=Hs*W3,Ht+=Hp*W2,Hc=(Ht+=HL*W1)>>>0xd,Ht&=S,Ht+=Hl*(0x5*WH),Ht+=Hh*(0x5*W9),Ht+=HC*(0x5*W8),Ht+=Hf*(0x5*W7),Ha=Hc+=(Ht+=W0*(0x5*W6))>>>0xd,Ha+=Hx*W6,Ha+=HP*W5,Ha+=Hs*W4,Ha+=Hp*W3,Hc=(Ha+=HL*W2)>>>0xd,Ha&=S,Ha+=Hl*W1,Ha+=Hh*(0x5*WH),Ha+=HC*(0x5*W9),Ha+=Hf*(0x5*W8),HZ=Hc+=(Ha+=W0*(0x5*W7))>>>0xd,HZ+=Hx*W7,HZ+=HP*W6,HZ+=Hs*W5,HZ+=Hp*W4,Hc=(HZ+=HL*W3)>>>0xd,HZ&=S,HZ+=Hl*W2,HZ+=Hh*W1,HZ+=HC*(0x5*WH),HZ+=Hf*(0x5*W9),Hu=Hc+=(HZ+=W0*(0x5*W8))>>>0xd,Hu+=Hx*W8,Hu+=HP*W7,Hu+=Hs*W6,Hu+=Hp*W5,Hc=(Hu+=HL*W4)>>>0xd,Hu&=S,Hu+=Hl*W3,Hu+=Hh*W2,Hu+=HC*W1,Hu+=Hf*(0x5*WH),HF=Hc+=(Hu+=W0*(0x5*W9))>>>0xd,HF+=Hx*W9,HF+=HP*W8,HF+=Hs*W7,HF+=Hp*W6,Hc=(HF+=HL*W5)>>>0xd,HF&=S,HF+=Hl*W4,HF+=Hh*W3,HF+=HC*W2,HF+=Hf*W1,Hb=Hc+=(HF+=W0*(0x5*WH))>>>0xd,Hb+=Hx*WH,Hb+=HP*W9,Hb+=Hs*W8,Hb+=Hp*W7,Hc=(Hb+=HL*W6)>>>0xd,Hb&=S,Hb+=Hl*W5,Hb+=Hh*W4,Hb+=HC*W3,Hb+=Hf*W2,Hx=HR=S&(Hc=(Hc=((Hc+=(Hb+=W0*W1)>>>0xd)<<0x2)+Hc|0x0)+(HR&=S)|0x0),HP=HY+=Hc>>>=0xd,Hs=HG&=S,Hp=HX&=S,HL=Ht&=S,Hl=Ha&=S,Hh=HZ&=S,HC=Hu&=S,Hf=HF&=S,W0=Hb&=S,HA+=0x10,HV-=0x10;this['h'][0x0]=Hx,this['h'][0x1]=HP,this['h'][0x2]=Hs,this['h'][0x3]=Hp,this['h'][0x4]=HL,this['h'][0x5]=Hl,this['h'][0x6]=Hh,this['h'][0x7]=HC,this['h'][0x8]=Hf,this['h'][0x9]=W0;},x[WT(0xaf)][WT(0xbb)]=function(HN,HA){var Wj=WT,HV,Hm,Hi,HE,HU=new Uint16Array(0xa);if(this['l']){for(HE=this['l'],this['b'][HE++]=0x1;HE<0x10;HE++)this['b'][HE]=0x0;this['f']=0x1,this[Wj(0xc4)](this['b'],0x0,0x10);}for(HV=this['h'][0x1]>>>0xd,this['h'][0x1]&=S,HE=0x2;HE<0xa;HE++)this['h'][HE]+=HV,HV=this['h'][HE]>>>0xd,this['h'][HE]&=S;for(this['h'][0x0]+=0x5*HV,HV=this['h'][0x0]>>>0xd,this['h'][0x0]&=S,this['h'][0x1]+=HV,HV=this['h'][0x1]>>>0xd,this['h'][0x1]&=S,this['h'][0x2]+=HV,HU[0x0]=this['h'][0x0]+0x5,HV=HU[0x0]>>>0xd,HU[0x0]&=S,HE=0x1;HE<0xa;HE++)HU[HE]=this['h'][HE]+HV,HV=HU[HE]>>>0xd,HU[HE]&=S;for(HU[0x9]-=0x2000,Hm=(0x1^HV)-0x1,HE=0x0;HE<0xa;HE++)HU[HE]&=Hm;for(Hm=~Hm,HE=0x0;HE<0xa;HE++)this['h'][HE]=this['h'][HE]&Hm|HU[HE];for(this['h'][0x0]=J&(this['h'][0x0]|this['h'][0x1]<<0xd),this['h'][0x1]=J&(this['h'][0x1]>>>0x3|this['h'][0x2]<<0xa),this['h'][0x2]=J&(this['h'][0x2]>>>0x6|this['h'][0x3]<<0x7),this['h'][0x3]=J&(this['h'][0x3]>>>0x9|this['h'][0x4]<<0x4),this['h'][0x4]=J&(this['h'][0x4]>>>0xc|this['h'][0x5]<<0x1|this['h'][0x6]<<0xe),this['h'][0x5]=J&(this['h'][0x6]>>>0x2|this['h'][0x7]<<0xb),this['h'][0x6]=J&(this['h'][0x7]>>>0x5|this['h'][0x8]<<0x8),this['h'][0x7]=J&(this['h'][0x8]>>>0x8|this['h'][0x9]<<0x5),Hi=this['h'][0x0]+this['p'][0x0],this['h'][0x0]=J&Hi,HE=0x1;HE<0x8;HE++)Hi=(this['h'][HE]+this['p'][HE]|0x0)+(Hi>>>0x10)|0x0,this['h'][HE]=J&Hi;HN[HA+0x0]=this['h'][0x0]>>>0x0&0xff,HN[HA+0x1]=this['h'][0x0]>>>0x8&0xff,HN[HA+0x2]=this['h'][0x1]>>>0x0&0xff,HN[HA+0x3]=this['h'][0x1]>>>0x8&0xff,HN[HA+0x4]=this['h'][0x2]>>>0x0&0xff,HN[HA+0x5]=this['h'][0x2]>>>0x8&0xff,HN[HA+0x6]=this['h'][0x3]>>>0x0&0xff,HN[HA+0x7]=this['h'][0x3]>>>0x8&0xff,HN[HA+0x8]=this['h'][0x4]>>>0x0&0xff,HN[HA+0x9]=this['h'][0x4]>>>0x8&0xff,HN[HA+0xa]=this['h'][0x5]>>>0x0&0xff,HN[HA+0xb]=this['h'][0x5]>>>0x8&0xff,HN[HA+0xc]=this['h'][0x6]>>>0x0&0xff,HN[HA+0xd]=this['h'][0x6]>>>0x8&0xff,HN[HA+0xe]=this['h'][0x7]>>>0x0&0xff,HN[HA+0xf]=this['h'][0x7]>>>0x8&0xff;},x[WT(0xaf)][WT(0xb8)]=function(HN,HA,HV){var Wk=WT,Hm,Hi;if(this['l']){for((Hi=0x10-this['l'])>HV&&(Hi=HV),Hm=0x0;Hm=0x10&&(Hi=HV-HV%0x10,this['liz'](HN,HA,Hi),HA+=Hi,HV-=Hi),HV){for(Hm=0x0;Hm=0x80;){for(Hv=0x0;Hv<0x10;Hv++)Hx=0x8*Hv+Wo,HC[Hv]=HV[Hx+0x0]<<0x18|HV[Hx+0x1]<<0x10|HV[Hx+0x2]<<0x8|HV[Hx+0x3],Hf[Hv]=HV[Hx+0x4]<<0x18|HV[Hx+0x5]<<0x10|HV[Hx+0x6]<<0x8|HV[Hx+0x7];for(Hv=0x0;Hv<0x50;Hv++)if(Hi=W0,HE=W1,HU=W2,HK=W3,HO=W4,Hw=W5,Hg=W6,HR=W8,HY=W9,HG=WH,HX=WW,Ht=Wn,Ha=Wq,HZ=WD,Hp=J&(Hs=WI),HL=Hs>>>0x10,Hl=J&(HP=W7),Hh=HP>>>0x10,Hp+=J&(Hs=(Wn>>>0xe|W4<<0x12)^(Wn>>>0x12|W4<<0xe)^(W4>>>0x9|Wn<<0x17)),HL+=Hs>>>0x10,Hl+=J&(HP=(W4>>>0xe|Wn<<0x12)^(W4>>>0x12|Wn<<0xe)^(Wn>>>0x9|W4<<0x17)),Hh+=HP>>>0x10,Hp+=J&(Hs=Wn&Wq^~Wn&WD),HL+=Hs>>>0x10,Hl+=J&(HP=W4&W5^~W4&W6),Hh+=HP>>>0x10,Hp+=J&(Hs=H7[0x2*Hv+0x1]),HL+=Hs>>>0x10,Hl+=J&(HP=H7[0x2*Hv]),Hh+=HP>>>0x10,HP=HC[Hv%0x10],HL+=(Hs=Hf[Hv%0x10])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10,Hp=J&(Hs=Hb=J&Hp|HL<<0x10),HL=Hs>>>0x10,Hl=J&(HP=HF=J&Hl|(Hh+=Hl>>>0x10)<<0x10),Hh=HP>>>0x10,Hp+=J&(Hs=(W8>>>0x1c|W0<<0x4)^(W0>>>0x2|W8<<0x1e)^(W0>>>0x7|W8<<0x19)),HL+=Hs>>>0x10,Hl+=J&(HP=(W0>>>0x1c|W8<<0x4)^(W8>>>0x2|W0<<0x1e)^(W8>>>0x7|W0<<0x19)),Hh+=HP>>>0x10,HL+=(Hs=W8&W9^W8&WH^W9&WH)>>>0x10,Hl+=J&(HP=W0&W1^W0&W2^W1&W2),Hh+=HP>>>0x10,Hc=J&(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)|(Hh+=Hl>>>0x10)<<0x10,Hu=J&Hp|HL<<0x10,Hp=J&(Hs=HX),HL=Hs>>>0x10,Hl=J&(HP=HK),Hh=HP>>>0x10,HL+=(Hs=Hb)>>>0x10,Hl+=J&(HP=HF),Hh+=HP>>>0x10,W1=Hi,W2=HE,W3=HU,W4=HK=J&(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)|(Hh+=Hl>>>0x10)<<0x10,W5=HO,W6=Hw,W7=Hg,W0=Hc,W9=HR,WH=HY,WW=HG,Wn=HX=J&Hp|HL<<0x10,Wq=Ht,WD=Ha,WI=HZ,W8=Hu,Hv%0x10==0xf){for(Hx=0x0;Hx<0x10;Hx++)HP=HC[Hx],Hp=J&(Hs=Hf[Hx]),HL=Hs>>>0x10,Hl=J&HP,Hh=HP>>>0x10,HP=HC[(Hx+0x9)%0x10],Hp+=J&(Hs=Hf[(Hx+0x9)%0x10]),HL+=Hs>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,HF=HC[(Hx+0x1)%0x10],Hp+=J&(Hs=((Hb=Hf[(Hx+0x1)%0x10])>>>0x1|HF<<0x1f)^(Hb>>>0x8|HF<<0x18)^(Hb>>>0x7|HF<<0x19)),HL+=Hs>>>0x10,Hl+=J&(HP=(HF>>>0x1|Hb<<0x1f)^(HF>>>0x8|Hb<<0x18)^HF>>>0x7),Hh+=HP>>>0x10,HF=HC[(Hx+0xe)%0x10],HL+=(Hs=((Hb=Hf[(Hx+0xe)%0x10])>>>0x13|HF<<0xd)^(HF>>>0x1d|Hb<<0x3)^(Hb>>>0x6|HF<<0x1a))>>>0x10,Hl+=J&(HP=(HF>>>0x13|Hb<<0xd)^(Hb>>>0x1d|HF<<0x3)^HF>>>0x6),Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HC[Hx]=J&Hl|Hh<<0x10,Hf[Hx]=J&Hp|HL<<0x10;}Hp=J&(Hs=W8),HL=Hs>>>0x10,Hl=J&(HP=W0),Hh=HP>>>0x10,HP=HN[0x0],HL+=(Hs=HA[0x0])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x0]=W0=J&Hl|Hh<<0x10,HA[0x0]=W8=J&Hp|HL<<0x10,Hp=J&(Hs=W9),HL=Hs>>>0x10,Hl=J&(HP=W1),Hh=HP>>>0x10,HP=HN[0x1],HL+=(Hs=HA[0x1])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x1]=W1=J&Hl|Hh<<0x10,HA[0x1]=W9=J&Hp|HL<<0x10,Hp=J&(Hs=WH),HL=Hs>>>0x10,Hl=J&(HP=W2),Hh=HP>>>0x10,HP=HN[0x2],HL+=(Hs=HA[0x2])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x2]=W2=J&Hl|Hh<<0x10,HA[0x2]=WH=J&Hp|HL<<0x10,Hp=J&(Hs=WW),HL=Hs>>>0x10,Hl=J&(HP=W3),Hh=HP>>>0x10,HP=HN[0x3],HL+=(Hs=HA[0x3])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x3]=W3=J&Hl|Hh<<0x10,HA[0x3]=WW=J&Hp|HL<<0x10,Hp=J&(Hs=Wn),HL=Hs>>>0x10,Hl=J&(HP=W4),Hh=HP>>>0x10,HP=HN[0x4],HL+=(Hs=HA[0x4])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x4]=W4=J&Hl|Hh<<0x10,HA[0x4]=Wn=J&Hp|HL<<0x10,Hp=J&(Hs=Wq),HL=Hs>>>0x10,Hl=J&(HP=W5),Hh=HP>>>0x10,HP=HN[0x5],HL+=(Hs=HA[0x5])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x5]=W5=J&Hl|Hh<<0x10,HA[0x5]=Wq=J&Hp|HL<<0x10,Hp=J&(Hs=WD),HL=Hs>>>0x10,Hl=J&(HP=W6),Hh=HP>>>0x10,HP=HN[0x6],HL+=(Hs=HA[0x6])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x6]=W6=J&Hl|Hh<<0x10,HA[0x6]=WD=J&Hp|HL<<0x10,Hp=J&(Hs=WI),HL=Hs>>>0x10,Hl=J&(HP=W7),Hh=HP>>>0x10,HP=HN[0x7],HL+=(Hs=HA[0x7])>>>0x10,Hl+=J&HP,Hh+=HP>>>0x10,Hh+=(Hl+=(HL+=(Hp+=J&Hs)>>>0x10)>>>0x10)>>>0x10,HN[0x7]=W7=J&Hl|Hh<<0x10,HA[0x7]=WI=J&Hp|HL<<0x10,Wo+=0x80,Hm-=0x80;}return Hm;}function H9(HN,HA){var HV=B(),Hm=B(),Hi=B(),HE=B(),HU=B(),HK=B(),HO=B(),Hw=B(),Hg=B();H4(HV,HN[0x1],HN[0x0]),H4(Hg,HA[0x1],HA[0x0]),H5(HV,HV,Hg),H3(Hm,HN[0x0],HN[0x1]),H3(Hg,HA[0x0],HA[0x1]),H5(Hm,Hm,Hg),H5(Hi,HN[0x3],HA[0x3]),H5(Hi,Hi,O),H5(HE,HN[0x2],HA[0x2]),H3(HE,HE,HE),H4(HU,Hm,HV),H4(HK,HE,Hi),H3(HO,HE,Hi),H3(Hw,Hm,HV),H5(HN[0x0],HU,HK),H5(HN[0x1],Hw,HO),H5(HN[0x2],HO,HK),H5(HN[0x3],HU,Hw);}function HH(HN,HA,HV){var Hm;for(Hm=0x0;Hm<0x4;Hm++)C(HN[Hm],HA[Hm],HV);}function HW(HN,HA){var HV=B(),Hm=B(),Hi=B();!function(HE,HU){var HK,HO=B();for(HK=0x0;HK<0x10;HK++)HO[HK]=HU[HK];for(HK=0xfd;HK>=0x0;HK--)H6(HO,HO),0x2!==HK&&0x4!==HK&&H5(HO,HO,HU);for(HK=0x0;HK<0x10;HK++)HE[HK]=HO[HK];}(Hi,HA[0x2]),H5(HV,HA[0x0],Hi),H5(Hm,HA[0x1],Hi),H0(HN,Hm),HN[0x1f]^=H2(HV)<<0x7;}function Hn(HN,HA,HV){var Hm,Hi;for(P(HN[0x0],Q),P(HN[0x1],T),P(HN[0x2],T),P(HN[0x3],Q),Hi=0xff;Hi>=0x0;--Hi)HH(HN,HA,Hm=HV[Hi/0x8|0x0]>>(0x7&Hi)&0x1),H9(HA,HN),H9(HN,HN),HH(HN,HA,Hm);}var Hq=new Float64Array([0xed,0xd3,0xf5,0x5c,0x1a,0x63,0x12,0x58,0xd6,0x9c,0xf7,0xa2,0xde,0xf9,0xde,0x14,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10]);function HD(HN){var HA,HV=new Float64Array(0x40);for(HA=0x0;HA<0x40;HA++)HV[HA]=HN[HA];for(HA=0x0;HA<0x40;HA++)HN[HA]=0x0;!function(Hm,Hi){var HE,HU,HK,HO;for(HU=0x3f;HU>=0x20;--HU){for(HE=0x0,HK=HU-0x20,HO=HU-0xc;HK>0x4)*Hq[HK],HE=Hi[HK]>>0x8,Hi[HK]&=0xff;for(HK=0x0;HK<0x20;HK++)Hi[HK]-=HE*Hq[HK];for(HU=0x0;HU<0x20;HU++)Hi[HU+0x1]+=Hi[HU]>>0x8,Hm[HU]=0xff&Hi[HU];}(HN,HV);}function HI(HN,HA){var HV=B(),Hm=B(),Hi=B(),HE=B(),HU=B(),HK=B(),HO=B();return P(HN[0x2],T),function(Hw,Hg){var Hc;for(Hc=0x0;Hc<0x10;Hc++)Hw[Hc]=Hg[0x2*Hc]+(Hg[0x2*Hc+0x1]<<0x8);Hw[0xf]&=0x7fff;}(HN[0x1],HA),H6(Hi,HN[0x1]),H5(HE,Hi,K),H4(Hi,Hi,HN[0x2]),H3(HE,HN[0x2],HE),H6(HU,HE),H6(HK,HU),H5(HO,HK,HU),H5(HV,HO,Hi),H5(HV,HV,HE),function(Hw,Hg){var Hc,HR=B();for(Hc=0x0;Hc<0x10;Hc++)HR[Hc]=Hg[Hc];for(Hc=0xfa;Hc>=0x0;Hc--)H6(HR,HR),0x1!==Hc&&H5(HR,HR,Hg);for(Hc=0x0;Hc<0x10;Hc++)Hw[Hc]=HR[Hc];}(HV,HV),H5(HV,HV,Hi),H5(HV,HV,HE),H5(HV,HV,HE),H5(HN[0x0],HV,HE),H6(Hm,HN[0x0]),H5(Hm,Hm,HE),H1(Hm,Hi)&&H5(HN[0x0],HN[0x0],G),H6(Hm,HN[0x0]),H5(Hm,Hm,HE),H1(Hm,Hi)?-0x1:(H2(HN[0x0])===HA[0x1f]>>0x7&&H4(HN[0x0],Q,HN[0x0]),H5(HN[0x3],HN[0x0],HN[0x1]),0x0);}function Ho(){return[B(),B(),B(),B()];}function Hd(HN,HA,HV){for(var Hm=0x0;Hm0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]2&&void 0!==arguments[2]?arguments[2]:{};return n.returnTypeNames=!0,this.encapsulate(e,t,n)},this.rootTypeName=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.iterateNone=!0,this.encapsulate(e,t,n)},s=this.encapsulate=function(a,s,u){var f=(u=Object.assign({sync:!0},o,u)).sync,b={},m=[],w=[],A=[],S=!(u&&"cyclic"in u)||u.cyclic,T=u.encapsulateObserver,N=B("",a,S,s||{},A);function j(e){var t=Object.values(b);if(u.iterateNone)return t.length?t[0]:h.getJSONType(e);if(t.length){if(u.returnTypeNames)return[].concat(n(new Set(t)));e&&d(e)&&!e.hasOwnProperty("$types")?e.$types=b:e={$:e,$types:{$:b}}}else y(e)&&e.hasOwnProperty("$types")&&(e={$:e,$types:!0});return!u.returnTypeNames&&e}return A.length?f&&u.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(function e(n,r){return Promise.all(r.map(function(e){return e[1].p})).then(function(i){return Promise.all(i.map(function(i){var o=[],a=r.splice(0,1)[0],s=t(a,7),u=s[0],c=s[2],f=s[3],l=s[4],d=s[5],y=s[6],h=B(u,i,c,f,o,!0,y),b=p(h,O);return u&&b?h.p.then(function(t){return l[d]=t,e(n,o)}):(u?l[d]=h:n=b?h.p:h,e(n,o))}))}).then(function(){return n})}(N,A)).then(j):!f&&u.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():u.stringification&&f?[j(N)]:f?j(N):Promise.resolve(j(N));function _(e,t,n){Object.assign(e,t);var r=c.map(function(t){var n=e[t];return delete e[t],n});n(),c.forEach(function(t,n){e[t]=r[n]})}function B(t,n,o,a,s,c,f){var y,g,E,A,S,N,j,C,U,I,L=void 0,P={},k=void 0===n?"undefined":e(n),R=T?function(e){var r=f||a.type||h.getJSONType(n);T(Object.assign(e||P,{keypath:t,value:n,cyclic:o,stateObj:a,promisesData:s,resolvingTypesonPromise:c,awaitingTypesonPromise:p(n,O)},void 0!==r?{type:r}:{}))}:null;if(k in{string:1,boolean:1,number:1,undefined:1})return void 0===n||"number"===k&&(isNaN(n)||n===-1/0||n===1/0)?(L=x(t,n,a,s,!1,c,R))!==n&&(P={replaced:L}):L=n,R&&R(),L;if(null===n)return R&&R(),n;if(o&&!a.iterateIn&&!a.iterateUnsetNumeric){if(!((y=m.indexOf(n))<0))return b[t]="#",R&&R({cyclicKeypath:w[y]}),"#"+w[y];!0===o&&(m.push(n),w.push(t))}if(g=d(n),E=i(n),A=(g||E)&&(!l.length||a.replaced)||a.iterateIn?n:x(t,n,a,s,g||E,null,R),S=void 0,A!==n?(L=A,P={replaced:A}):E||"array"===a.iterateIn?(S=new Array(n.length),P={clone:S}):g||"object"===a.iterateIn?P={clone:S={}}:""===t&&p(n,O)?(s.push([t,n,o,a,void 0,void 0,a.type]),L=n):L=n,R&&R(),u.iterateNone)return S||L;if(!S)return L;if(a.iterateIn){for(j in N=function(e){var r={ownKeys:n.hasOwnProperty(e)};_(a,r,function(){var r=t+(t?".":"")+v(e),i=B(r,n[e],!!o,a,s,c);p(i,O)?s.push([r,i,!!o,a,S,e,a.type]):void 0!==i&&(S[e]=i)})},n)N(j);R&&R({endIterateIn:!0,end:!0})}else r(n).forEach(function(e){var r=t+(t?".":"")+v(e);_(a,{ownKeys:!0},function(){var t=B(r,n[e],!!o,a,s,c);p(t,O)?s.push([r,t,!!o,a,S,e,a.type]):void 0!==t&&(S[e]=t)})}),R&&R({endIterateOwn:!0,end:!0});if(a.iterateUnsetNumeric){for(C=n.length,U=function(e){if(!(e in n)){var r=t+(t?".":"")+e;_(a,{ownKeys:!1},function(){var t=B(r,void 0,!!o,a,s,c);p(t,O)?s.push([r,t,!!o,a,S,e,a.type]):void 0!==t&&(S[e]=t)})}},I=0;I-1?void 0===(r=e[g(t.substr(0,n))])?void 0:m(r,t.substr(n+1)):e[g(t)]}function w(){}function O(e){this.p=new Promise(e)}return O.prototype.then=function(e,t){var n=this;return new O(function(r,i){n.p.then(function(t){r(e?e(t):t)},function(e){n.p.catch(function(e){return t?t(e):Promise.reject(e)}).then(r,i)})})},O.prototype.catch=function(e){return this.then(null,e)},O.resolve=function(e){return new O(function(t){t(e)})},O.reject=function(e){return new O(function(t,n){n(e)})},["all","race"].map(function(e){O[e]=function(t){return new O(function(n,r){Promise[e](t.map(function(e){return e.p})).then(n,r)})}}),h.Undefined=w,h.Promise=O,h.isThenable=f,h.toStringTag=l,h.hasConstructorOf=p,h.isObject=y,h.isPlainObject=d,h.isUserObject=function e(t){if(!t||"Object"!==l(t))return!1;var n=a(t);return!n||p(t,Object)||e(n)},h.escapeKeyPathComponent=v,h.unescapeKeyPathComponent=g,h.getByKeyPath=m,h.getJSONType=function(t){return null===t?"null":i(t)?"array":void 0===t?"undefined":e(t)},h.JSON_TYPES=["null","boolean","number","string","array","object"],h}()}),i=j(function(e,t){e.exports=function(){var e,t,r,i,o,a,s,u,c,f,l,p,d,y,h,b,v,g,m,w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n,r,i=[],o=!0,a=!1,s=void 0;try{for(r=e[Symbol.iterator]();!(o=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);o=!0);}catch(e){a=!0,s=e}finally{try{!o&&r.return&&r.return()}finally{if(a)throw s}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},E=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:{};return n.returnTypeNames=!0,this.encapsulate(e,t,n)},this.rootTypeName=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.iterateNone=!0,this.encapsulate(e,t,n)},n=this.encapsulate=function(t,n,r){var s=(r=Object.assign({sync:!0},e,r)).sync,u={},c=[],f=[],l=[],p=!(r&&"cyclic"in r)||r.cyclic,d=r.encapsulateObserver,y=v("",t,p,n||{},l);function h(e){var t=Object.values(u);if(r.iterateNone)return t.length?t[0]:P.getJSONType(e);if(t.length){if(r.returnTypeNames)return[].concat(E(new Set(t)));e&&I(e)&&!e.hasOwnProperty("$types")?e.$types=u:e={$:e,$types:{$:u}}}else L(e)&&e.hasOwnProperty("$types")&&(e={$:e,$types:!0});return!r.returnTypeNames&&e}return l.length?s&&r.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(function e(t,n){return Promise.all(n.map(function(e){return e[1].p})).then(function(r){return Promise.all(r.map(function(r){var i=[],o=n.splice(0,1)[0],a=O(o,7),s=a[0],u=a[2],c=a[3],f=a[4],l=a[5],p=a[6],d=v(s,r,u,c,i,!0,p),y=U(d,M);return s&&y?d.p.then(function(n){return f[l]=n,e(t,i)}):(s?f[l]=d:t=y?d.p:d,e(t,i))}))}).then(function(){return t})}(y,l)).then(h):!s&&r.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():r.stringification&&s?[h(y)]:s?h(y):Promise.resolve(h(y));function b(e,t,n){Object.assign(e,t);var r=B.map(function(t){var n=e[t];return delete e[t],n});n(),B.forEach(function(t,n){e[t]=r[n]})}function v(e,t,n,o,a,s,l){var p,y,h,m,O,E,T,N,j,_,B=void 0,x={},C=void 0===t?"undefined":w(t),L=d?function(r){var i=l||o.type||P.getJSONType(t);d(Object.assign(r||x,{keypath:e,value:t,cyclic:n,stateObj:o,promisesData:a,resolvingTypesonPromise:s,awaitingTypesonPromise:U(t,M)},void 0!==i?{type:i}:{}))}:null;if(C in{string:1,boolean:1,number:1,undefined:1})return void 0===t||"number"===C&&(isNaN(t)||t===-1/0||t===1/0)?(B=g(e,t,o,a,!1,s,L))!==t&&(x={replaced:B}):B=t,L&&L(),B;if(null===t)return L&&L(),t;if(n&&!o.iterateIn&&!o.iterateUnsetNumeric){if(!((p=c.indexOf(t))<0))return u[e]="#",L&&L({cyclicKeypath:f[p]}),"#"+f[p];!0===n&&(c.push(t),f.push(e))}if(y=I(t),h=S(t),m=(y||h)&&(!i.length||o.replaced)||o.iterateIn?t:g(e,t,o,a,y||h,null,L),O=void 0,m!==t?(B=m,x={replaced:m}):h||"array"===o.iterateIn?(O=new Array(t.length),x={clone:O}):y||"object"===o.iterateIn?x={clone:O={}}:""===e&&U(t,M)?(a.push([e,t,n,o,void 0,void 0,o.type]),B=t):B=t,L&&L(),r.iterateNone)return O||B;if(!O)return B;if(o.iterateIn){for(T in E=function(r){var i={ownKeys:t.hasOwnProperty(r)};b(o,i,function(){var i=e+(e?".":"")+R(r),u=v(i,t[r],!!n,o,a,s);U(u,M)?a.push([i,u,!!n,o,O,r,o.type]):void 0!==u&&(O[r]=u)})},t)E(T);L&&L({endIterateIn:!0,end:!0})}else A(t).forEach(function(r){var i=e+(e?".":"")+R(r);b(o,{ownKeys:!0},function(){var e=v(i,t[r],!!n,o,a,s);U(e,M)?a.push([i,e,!!n,o,O,r,o.type]):void 0!==e&&(O[r]=e)})}),L&&L({endIterateOwn:!0,end:!0});if(o.iterateUnsetNumeric){for(N=t.length,j=function(r){if(!(r in t)){var i=e+(e?".":"")+r;b(o,{ownKeys:!1},function(){var e=v(i,void 0,!!n,o,a,s);U(e,M)?a.push([i,e,!!n,o,O,r,o.type]):void 0!==e&&(O[r]=e)})}},_=0;_-1?void 0===(r=e[F(t.substr(0,n))])?void 0:D(r,t.substr(n+1)):e[F(t)]}function J(){}function M(e){this.p=new Promise(e)}for(M.prototype.then=function(e,t){var n=this;return new M(function(r,i){n.p.then(function(t){r(e?e(t):t)},function(e){n.p.catch(function(e){return t?t(e):Promise.reject(e)}).then(r,i)})})},M.prototype.catch=function(e){return this.then(null,e)},M.resolve=function(e){return new M(function(t){t(e)})},M.reject=function(e){return new M(function(t,n){n(e)})},["all","race"].map(function(e){M[e]=function(t){return new M(function(n,r){Promise[e](t.map(function(e){return e.p})).then(n,r)})}}),P.Undefined=J,P.Promise=M,P.isThenable=x,P.toStringTag=C,P.hasConstructorOf=U,P.isObject=L,P.isPlainObject=I,P.isUserObject=function e(t){if(!t||"Object"!==C(t))return!1;var n=N(t);return!n||U(t,Object)||e(n)},P.escapeKeyPathComponent=R,P.unescapeKeyPathComponent=F,P.getByKeyPath=D,P.getJSONType=function(e){return null===e?"null":S(e)?"array":void 0===e?"undefined":w(e)},P.JSON_TYPES=["null","boolean","number","string","array","object"],e={userObject:{test:function(e,t){return P.isUserObject(e)},replace:function(e){return Object.assign({},e)},revive:function(e){return e}}},t=[[{sparseArrays:{testPlainObjects:!0,test:function(e){return Array.isArray(e)},replace:function(e,t){return t.iterateUnsetNumeric=!0,e}}},{sparseUndefined:{test:function(e,t){return void 0===e&&!1===t.ownKeys},replace:function(e){return null},revive:function(e){}}}],{undef:{test:function(e,t){return void 0===e&&(t.ownKeys||!("ownKeys"in t))},replace:function(e){return null},revive:function(e){return new P.Undefined}}}],r={StringObject:{test:function(e){return"String"===P.toStringTag(e)&&"object"===(void 0===e?"undefined":w(e))},replace:function(e){return String(e)},revive:function(e){return new String(e)}},BooleanObject:{test:function(e){return"Boolean"===P.toStringTag(e)&&"object"===(void 0===e?"undefined":w(e))},replace:function(e){return Boolean(e)},revive:function(e){return new Boolean(e)}},NumberObject:{test:function(e){return"Number"===P.toStringTag(e)&&"object"===(void 0===e?"undefined":w(e))},replace:function(e){return Number(e)},revive:function(e){return new Number(e)}}},i=[{nan:{test:function(e){return"number"==typeof e&&isNaN(e)},replace:function(e){return"NaN"},revive:function(e){return NaN}}},{infinity:{test:function(e){return e===1/0},replace:function(e){return"Infinity"},revive:function(e){return 1/0}}},{negativeInfinity:{test:function(e){return e===-1/0},replace:function(e){return"-Infinity"},revive:function(e){return-1/0}}}],o={date:{test:function(e){return"Date"===P.toStringTag(e)},replace:function(e){var t=e.getTime();return isNaN(t)?"NaN":t},revive:function(e){return"NaN"===e?new Date(NaN):new Date(e)}}},a={regexp:{test:function(e){return"RegExp"===P.toStringTag(e)},replace:function(e){return{source:e.source,flags:(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.sticky?"y":"")+(e.unicode?"u":"")}},revive:function(e){var t=e.source,n=e.flags;return new RegExp(t,n)}}},s={map:{test:function(e){return"Map"===P.toStringTag(e)},replace:function(e){return Array.from(e.entries())},revive:function(e){return new Map(e)}}},u={set:{test:function(e){return"Set"===P.toStringTag(e)},replace:function(e){return Array.from(e.values())},revive:function(e){return new Set(e)}}},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=new Uint8Array(256),l=0;l>2],o+=c[(3&r[a])<<4|r[a+1]>>4],o+=c[(15&r[a+1])<<2|r[a+2]>>6],o+=c[63&r[a+2]];return i%3==2?o=o.substring(0,o.length-1)+"=":i%3==1&&(o=o.substring(0,o.length-2)+"=="),o},d=function(e){var t,n,r,i=e.length,o=.75*e.length,a=0,s=void 0,u=void 0,c=void 0,l=void 0;for("="===e[e.length-1]&&(o--,"="===e[e.length-2]&&o--),t=new ArrayBuffer(o),n=new Uint8Array(t),r=0;r>4,n[a++]=(15&u)<<4|c>>2,n[a++]=(3&c)<<6|63&l;return t},y={arraybuffer:{test:function(e){return"ArrayBuffer"===P.toStringTag(e)},replace:function(e,t){t.buffers||(t.buffers=[]);var n=t.buffers.indexOf(e);return n>-1?{index:n}:(t.buffers.push(e),p(e))},revive:function(e,t){if(t.buffers||(t.buffers=[]),"object"===(void 0===e?"undefined":w(e)))return t.buffers[e.index];var n=d(e);return t.buffers.push(n),n}}},h="undefined"==typeof self?n:self,b={},["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach(function(e){var t=e,n=h[t];n&&(b[e.toLowerCase()]={test:function(e){return P.toStringTag(e)===t},replace:function(e,t){var n,r=e.buffer,i=e.byteOffset,o=e.length;return t.buffers||(t.buffers=[]),(n=t.buffers.indexOf(r))>-1?{index:n,byteOffset:i,length:o}:(t.buffers.push(r),{encoded:p(r),byteOffset:i,length:o})},revive:function(e,t){t.buffers||(t.buffers=[]);var r=e.byteOffset,i=e.length,o=e.encoded,a=e.index,s=void 0;return"index"in e?s=t.buffers[a]:(s=d(o),t.buffers.push(s)),new n(s,r,i)}})}),v={dataview:{test:function(e){return"DataView"===P.toStringTag(e)},replace:function(e,t){var n,r=e.buffer,i=e.byteOffset,o=e.byteLength;return t.buffers||(t.buffers=[]),(n=t.buffers.indexOf(r))>-1?{index:n,byteOffset:i,byteLength:o}:(t.buffers.push(r),{encoded:p(r),byteOffset:i,byteLength:o})},revive:function(e,t){t.buffers||(t.buffers=[]);var n=e.byteOffset,r=e.byteLength,i=e.encoded,o=e.index,a=void 0;return"index"in e?a=t.buffers[o]:(a=d(i),t.buffers.push(a)),new DataView(a,n,r)}}},g={IntlCollator:{test:function(e){return P.hasConstructorOf(e,Intl.Collator)},replace:function(e){return e.resolvedOptions()},revive:function(e){return new Intl.Collator(e.locale,e)}},IntlDateTimeFormat:{test:function(e){return P.hasConstructorOf(e,Intl.DateTimeFormat)},replace:function(e){return e.resolvedOptions()},revive:function(e){return new Intl.DateTimeFormat(e.locale,e)}},IntlNumberFormat:{test:function(e){return P.hasConstructorOf(e,Intl.NumberFormat)},replace:function(e){return e.resolvedOptions()},revive:function(e){return new Intl.NumberFormat(e.locale,e)}}},[e,t,r,i,o,a,{imagedata:{test:function(e){return"ImageData"===P.toStringTag(e)},replace:function(e){return{array:Array.from(e.data),width:e.width,height:e.height}},revive:function(e){return new ImageData(new Uint8ClampedArray(e.array),e.width,e.height)}}},{imagebitmap:{test:function(e){return"ImageBitmap"===P.toStringTag(e)||e&&e.dataset&&"ImageBitmap"===e.dataset.toStringTag},replace:function(e){var t=document.createElement("canvas");return t.getContext("2d").drawImage(e,0,0),t.toDataURL()},revive:function(e){var t=document.createElement("canvas"),n=t.getContext("2d"),r=document.createElement("img");return r.onload=function(){n.drawImage(r,0,0)},r.src=e,t},reviveAsync:function(e){var t=document.createElement("canvas"),n=t.getContext("2d"),r=document.createElement("img");return r.onload=function(){n.drawImage(r,0,0)},r.src=e,createImageBitmap(t)}}},m={file:{test:function(e){return"File"===P.toStringTag(e)},replace:function(e){var t=new XMLHttpRequest;if(t.open("GET",URL.createObjectURL(e),!1),"undefined"!=typeof TextEncoder&&t.overrideMimeType("text/plain; charset=utf-16le"),200!==t.status&&0!==t.status)throw new Error("Bad Blob access: "+t.status);return t.send(),{type:e.type,stringContents:t.responseText,name:e.name,lastModified:e.lastModified}},revive:function(e){var t=e.name,n=e.type,r=e.stringContents,i=e.lastModified,o=K(r);return new File([o],t,{type:n,lastModified:i})},replaceAsync:function(e){return new P.Promise(function(t,n){if(e.isClosed)n(new Error("The File is closed"));else{var r=new FileReader;r.addEventListener("load",function(){t({type:e.type,stringContents:r.result,name:e.name,lastModified:e.lastModified})}),r.addEventListener("error",function(){n(r.error)}),r.readAsText(e,"UTF-16")}})}}},{file:m.file,filelist:{test:function(e){return"FileList"===P.toStringTag(e)},replace:function(e){for(var t=[],n=0;n0&&(i.push(","),a&&i.push("\n ")),w=n.length===l,f?(p=y?n.filter(function(e){return y(r,e)}):n,h=p.map(function(e){return d.encapsulate(e)}),d.mustFinalize()?[4,t.waitFor(d.finalize(h))]:[3,3]):[3,4]);case 2:A.sent(),A.label=3;case 3:return E=JSON.stringify(h,void 0,a?2:void 0),a&&(E=E.split("\n").join("\n ")),i.push(new Blob([E.substring(1,E.length-1)])),m=p.length,g=n.length>0?t.getByKeyPath(n[n.length-1],s.keyPath):null,[3,8];case 4:return[4,e.primaryKeys()];case 5:return b=A.sent(),v=b.map(function(e,t){return[e,n[t]]}),y&&(v=v.filter(function(e){var t=e[0],n=e[1];return y(r,n,t)})),O=v.map(function(e){return d.encapsulate(e)}),d.mustFinalize()?[4,t.waitFor(d.finalize(O))]:[3,7];case 6:A.sent(),A.label=7;case 7:E=JSON.stringify(O,void 0,a?2:void 0),a&&(E=E.split("\n").join("\n ")),i.push(new Blob([E.substring(1,E.length-1)])),m=v.length,g=b.length>0?b[b.length-1]:null,A.label=8;case 8:return c.completedRows+=n.length,[2]}})},E.label=1;case 1:return w?[5,O()]:[3,3];case 2:return"break"===E.sent()?[3,3]:[3,1];case 3:return i.push(h.substr(b)),c.completedTables+=1,c.completedTables=e.size},result:{}};return r}function x(e,n){return A(this,void 0,void 0,function(){var r,i,o,a;return S(this,function(s){switch(s.label){case 0:return r=(n=n||{}).chunkSizeBytes||1024*O,[4,U(e,r)];case 1:return i=s.sent(),o=i.result.data,(a=new t(o.databaseName)).version(o.databaseVersion).stores(function(e){var t,n,r,i={};for(t=0,n=e.tables;t0&&c.data[0].rows&&!c.data[0].rows.incomplete;)c.data.splice(0,1);return a.done()||a.eof()?[3,8]:u?(a.pullSync(o),[3,7]):[3,5];case 5:return[4,t.waitFor(a.pullAsync(o))];case 6:y.sent(),y.label=7;case 7:return[3,9];case 8:return[3,10];case 9:return[3,0];case 10:return[2]}})})}var o,a,s,u,c,f,l;return S(this,function(p){switch(p.label){case 0:return o=(r=r||{}).chunkSizeBytes||1024*O,[4,U(n,o)];case 1:if(a=p.sent(),s=a.result,u="FileReaderSync"in self,c=s.data,!r.acceptNameDiff&&e.name!==c.databaseName)throw new Error("Name differs. Current database name is "+e.name+" but export is "+c.databaseName);if(!r.acceptVersionDiff&&e.verno!==c.databaseVersion)throw new Error("Database version differs. Current database is in version "+e.verno+" but export is "+c.databaseVersion);return f=r.progressCallback,l={done:!1,completedRows:0,completedTables:0,totalRows:c.tables.reduce(function(e,t){return e+t.rowCount},0),totalTables:c.tables.length},f&&t.ignoreTransaction(function(){return f(l)}),r.noTransaction?[4,i()]:[3,3];case 2:return p.sent(),[3,5];case 3:return[4,e.transaction("rw",e.tables,i)];case 4:p.sent(),p.label=5;case 5:return l.done=!0,f&&t.ignoreTransaction(function(){return f(l)}),[2]}})})}function U(e,t){return A(this,void 0,void 0,function(){var n,r;return S(this,function(i){switch(i.label){case 0:n="slice"in e?B(e):e,i.label=1;case 1:return n.eof()?[3,3]:[4,n.pullAsync(t)];case 2:return i.sent(),n.result.data&&n.result.data.data?[3,3]:[3,1];case 3:if(!(r=n.result)||"dexie"!=r.formatName)throw new Error("Given file is not a dexie export");if(r.formatVersion>g)throw new Error("Format version "+r.formatVersion+" not supported");if(!r.data)throw new Error("No data in export file");if(!r.data.databaseName)throw new Error("Missing databaseName in export file");if(!r.data.databaseVersion)throw new Error("Missing databaseVersion in export file");if(!r.data.tables)throw new Error("Missing tables in export file");return[2,n]}})})}u=function(e,t,n){var r,i,a,s;for(null==n&&(n=e.byteLength),i=(r=new Uint8Array(e,t||0,n)).length,a="",s=0;s>2],a+=o[(3&r[s])<<4|r[s+1]>>4],a+=o[(15&r[s+1])<<2|r[s+2]>>6],a+=o[63&r[s+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},c=function(e){var t,n,r,i,o,s,u,c=e.length,f=.75*e.length,l=0;for("="===e[e.length-1]&&(f--,"="===e[e.length-2]&&f--),o=new ArrayBuffer(f),s=new Uint8Array(o),u=0;u>4,s[l++]=(15&n)<<4|r>>2,s[l++]=(3&r)<<6|63&i;return o},f="undefined"==typeof self?global:self,l={},["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach(function(e){var t=e,n=f[t];n&&(l[e.toLowerCase()+"2"]={test:function(e){return r.toStringTag(e)===t},replace:function(e){return{buffer:e.buffer,byteOffset:e.byteOffset,length:e.length}},revive:function(e){var t=e.buffer,r=e.byteOffset,i=e.length;return new n(t,r,i)}})}),p={arraybuffer:{test:function(e){return"ArrayBuffer"===r.toStringTag(e)},replace:function(e){return u(e,0,e.byteLength)},revive:function(e){return c(e)}}},d=(new r).register(i),y="FileReaderSync"in self,h=[],b=0,d.register([p,l,{blob2:{test:function(e){return"Blob"===r.toStringTag(e)},replace:function(e){var t,n,r;if(e.isClosed)throw new Error("The Blob is closed");return y?(t=N(e,"binary"),n=u(t,0,t.byteLength),{type:e.type,data:n}):(h.push(e),r={type:e.type,data:{start:b,end:b+e.size}},console.log("b.size: "+e.size),b+=e.size,r)},finalize:function(e,t){e.data=u(t,0,t.byteLength)},revive:function(e){var t=e.type,n=e.data;return new Blob([c(n)],{type:t})}}}]),d.mustFinalize=function(){return h.length>0},d.finalize=function(e){return A(void 0,void 0,void 0,function(){var n,r,i,o,a,s,u,c,f,l;return S(this,function(p){switch(p.label){case 0:return[4,T(new Blob(h),"binary")];case 1:if(n=p.sent(),e)for(r=0,i=e;r ["+n+"]");for(;o&&(s=o,w.c=o=n.charCodeAt(i++),s!==o?w.p=s:s=w.p,o);)switch(e.DEBUG&&console.log(i,o,e.STATE[w.state]),w.position++,o===u.lineFeed?(w.line++,w.column=0):w.column++,w.state){case r.BEGIN:o===u.openBrace?w.state=r.OPEN_OBJECT:o===u.openBracket?w.state=r.OPEN_ARRAY:g(o)||b(w,"Non-whitespace before {[.");continue;case r.OPEN_KEY:case r.OPEN_OBJECT:if(g(o))continue;if(w.state===r.OPEN_KEY)w.stack.push(r.CLOSE_KEY);else{if(o===u.closeBrace){p(w,"onopenobject"),this.depth++,p(w,"oncloseobject"),this.depth--,w.state=w.stack.pop()||r.VALUE;continue}w.stack.push(r.CLOSE_OBJECT)}o===u.doubleQuote?w.state=r.STRING:b(w,'Malformed object key should start with "');continue;case r.CLOSE_KEY:case r.CLOSE_OBJECT:if(g(o))continue;w.state===r.CLOSE_KEY?"key":"object",o===u.colon?(w.state===r.CLOSE_OBJECT?(w.stack.push(r.CLOSE_OBJECT),y(w,"onopenobject"),this.depth++):y(w,"onkey"),w.state=r.VALUE):o===u.closeBrace?(d(w,"oncloseobject"),this.depth--,w.state=w.stack.pop()||r.VALUE):o===u.comma?(w.state===r.CLOSE_OBJECT&&w.stack.push(r.CLOSE_OBJECT),y(w),w.state=r.OPEN_KEY):b(w,"Bad object");continue;case r.OPEN_ARRAY:case r.VALUE:if(g(o))continue;if(w.state===r.OPEN_ARRAY){if(p(w,"onopenarray"),this.depth++,w.state=r.VALUE,o===u.closeBracket){p(w,"onclosearray"),this.depth--,w.state=w.stack.pop()||r.VALUE;continue}w.stack.push(r.CLOSE_ARRAY)}o===u.doubleQuote?w.state=r.STRING:o===u.openBrace?w.state=r.OPEN_OBJECT:o===u.openBracket?w.state=r.OPEN_ARRAY:o===u.t?w.state=r.TRUE:o===u.f?w.state=r.FALSE:o===u.n?w.state=r.NULL:o===u.minus?w.numberNode+="-":u._0<=o&&o<=u._9?(w.numberNode+=String.fromCharCode(o),w.state=r.NUMBER_DIGIT):b(w,"Bad value");continue;case r.CLOSE_ARRAY:if(o===u.comma)w.stack.push(r.CLOSE_ARRAY),y(w,"onvalue"),w.state=r.VALUE;else if(o===u.closeBracket)d(w,"onclosearray"),this.depth--,w.state=w.stack.pop()||r.VALUE;else{if(g(o))continue;b(w,"Bad array")}continue;case r.STRING:void 0===w.textNode&&(w.textNode=""),c=i-1,f=w.slashed,l=w.unicodeI;e:for(;;){for(e.DEBUG&&console.log(i,o,e.STATE[w.state],f);l>0;)if(w.unicodeS+=String.fromCharCode(o),o=n.charCodeAt(i++),w.position++,4===l?(w.textNode+=String.fromCharCode(parseInt(w.unicodeS,16)),l=0,c=i-1):l++,!o)break e;if(o===u.doubleQuote&&!f){w.state=w.stack.pop()||r.VALUE,w.textNode+=n.substring(c,i-1),w.position+=i-1-c;break}if(o===u.backslash&&!f&&(f=!0,w.textNode+=n.substring(c,i-1),w.position+=i-1-c,o=n.charCodeAt(i++),w.position++,!o))break;if(f){if(f=!1,o===u.n?w.textNode+="\n":o===u.r?w.textNode+="\r":o===u.t?w.textNode+="\t":o===u.f?w.textNode+="\f":o===u.b?w.textNode+="\b":o===u.u?(l=1,w.unicodeS=""):w.textNode+=String.fromCharCode(o),o=n.charCodeAt(i++),w.position++,c=i-1,o)continue;break}if(a.lastIndex=i,null===(m=a.exec(n))){i=n.length+1,w.textNode+=n.substring(c,i-1),w.position+=i-1-c;break}if(i=m.index+1,!(o=n.charCodeAt(m.index))){w.textNode+=n.substring(c,i-1),w.position+=i-1-c;break}}w.slashed=f,w.unicodeI=l;continue;case r.TRUE:o===u.r?w.state=r.TRUE2:b(w,"Invalid true started with t"+o);continue;case r.TRUE2:o===u.u?w.state=r.TRUE3:b(w,"Invalid true started with tr"+o);continue;case r.TRUE3:o===u.e?(p(w,"onvalue",!0),w.state=w.stack.pop()||r.VALUE):b(w,"Invalid true started with tru"+o);continue;case r.FALSE:o===u.a?w.state=r.FALSE2:b(w,"Invalid false started with f"+o);continue;case r.FALSE2:o===u.l?w.state=r.FALSE3:b(w,"Invalid false started with fa"+o);continue;case r.FALSE3:o===u.s?w.state=r.FALSE4:b(w,"Invalid false started with fal"+o);continue;case r.FALSE4:o===u.e?(p(w,"onvalue",!1),w.state=w.stack.pop()||r.VALUE):b(w,"Invalid false started with fals"+o);continue;case r.NULL:o===u.u?w.state=r.NULL2:b(w,"Invalid null started with n"+o);continue;case r.NULL2:o===u.l?w.state=r.NULL3:b(w,"Invalid null started with nu"+o);continue;case r.NULL3:o===u.l?(p(w,"onvalue",null),w.state=w.stack.pop()||r.VALUE):b(w,"Invalid null started with nul"+o);continue;case r.NUMBER_DECIMAL_POINT:o===u.period?(w.numberNode+=".",w.state=r.NUMBER_DIGIT):b(w,"Leading zero not followed by .");continue;case r.NUMBER_DIGIT:u._0<=o&&o<=u._9?w.numberNode+=String.fromCharCode(o):o===u.period?(-1!==w.numberNode.indexOf(".")&&b(w,"Invalid number has two dots"),w.numberNode+="."):o===u.e||o===u.E?(-1===w.numberNode.indexOf("e")&&-1===w.numberNode.indexOf("E")||b(w,"Invalid number has two exponential"),w.numberNode+="e"):o===u.plus||o===u.minus?(s!==u.e&&s!==u.E&&b(w,"Invalid symbol in number"),w.numberNode+=String.fromCharCode(o)):(h(w),i--,w.state=w.stack.pop()||r.VALUE);continue;default:b(w,"Unknown state: "+w.state)}w.position>=w.bufferCheckPosition&&function(n){var r,i,o=Math.max(e.MAX_BUFFER_LENGTH,10),a=0;for(r in t){if((i=void 0===n[r]?0:n[r].length)>o)switch(r){case"text":closeText(n);break;default:b(n,"Max buffer length exceeded: "+r)}a=Math.max(a,i)}n.bufferCheckPosition=e.MAX_BUFFER_LENGTH-a+n.position}(w);return w},resume:function(){return this.error=null,this},close:function(){return this.write(null)}};try{i=m}catch(e){i=function(){}}function l(e){if(!(this instanceof l))return new l(e);this._parser=new f(e),this.writable=!0,this.readable=!0,this.bytes_remaining=0,this.bytes_in_sequence=0,this.temp_buffs={2:new Buffer(2),3:new Buffer(3),4:new Buffer(4)},this.string="";var t=this;i.apply(t),this._parser.onend=function(){t.emit("end")},this._parser.onerror=function(e){t.emit("error",e),t._parser.error=null},n.forEach(function(e){Object.defineProperty(t,"on"+e,{get:function(){return t._parser["on"+e]},set:function(n){if(!n)return t.removeAllListeners(e),t._parser["on"+e]=n,n;t.on(e,n)},enumerable:!0,configurable:!1})})}function p(t,n,r){e.INFO&&console.log("-- emit",n,r),t[n]&&t[n](r)}function d(e,t,n){y(e),p(e,t,n)}function y(e,t){e.textNode=function(e,t){if(void 0===t)return t;e.trim&&(t=t.trim());e.normalize&&(t=t.replace(/\s+/g," "));return t}(e.opt,e.textNode),void 0!==e.textNode&&p(e,t||"onvalue",e.textNode),e.textNode=void 0}function h(e){e.numberNode&&p(e,"onvalue",parseFloat(e.numberNode)),e.numberNode=""}function b(e,t){return y(e),t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c,t=new Error(t),e.error=t,p(e,"onerror",t),e}function v(e){return e.state===r.VALUE&&0===e.depth||b(e,"Unexpected end"),y(e),e.c="",e.closed=!0,p(e,"onend"),f.call(e,e.opt),e}function g(e){return e===u.carriageReturn||e===u.lineFeed||e===u.space||e===u.tab}l.prototype=Object.create(i.prototype,{constructor:{value:l}}),l.prototype.write=function(e){var t,n,r,i,o;for(e=new Buffer(e),t=0;t0){for(r=0;r=128){if(n>=194&&n<=223&&(this.bytes_in_sequence=2),n>=224&&n<=239&&(this.bytes_in_sequence=3),n>=240&&n<=244&&(this.bytes_in_sequence=4),this.bytes_in_sequence+t>e.length){for(i=0;i<=e.length-1-t;i++)this.temp_buffs[this.bytes_in_sequence][i]=e[t+i];return this.bytes_remaining=t+this.bytes_in_sequence-e.length,!0}this.string=e.slice(t,t+this.bytes_in_sequence).toString(),t=t+this.bytes_in_sequence-1,this._parser.write(this.string),this.emit("data",this.string)}else{for(o=t;o=128);o++);this.string=e.slice(t,o).toString(),this._parser.write(this.string),this.emit("data",this.string),t=o-1}},l.prototype.end=function(e){return e&&e.length&&this._parser.write(e.toString()),this._parser.end(),!0},l.prototype.on=function(e,t){var r=this;return r._parser["on"+e]||-1===n.indexOf(e)||(r._parser["on"+e]=function(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),r.emit.apply(r,t)}),i.prototype.on.call(r,e,t)},l.prototype.destroy=function(){c(this._parser),this.emit("close")}}(t)}),O=1024,t.prototype.export=function(e){return _(this,e)},t.prototype.import=function(e,t){return C(this,e,t)},t.import=function(e,t){return x(e,t)},E=function(){throw new Error("This addon extends Dexie.prototype globally and does not have be included in Dexie constructor's addons options.")},e.exportDB=_,e.importDB=x,e.importInto=C,e.peakImportFile=function(e){return A(this,void 0,void 0,function(){var t;return S(this,function(n){switch(n.label){case 0:t=B(e),n.label=1;case 1:return t.eof()?[3,3]:[4,t.pullAsync(5120)];case 2:return n.sent(),t.result.data&&t.result.data.data?(delete t.result.data.data,[3,3]):[3,1];case 3:return[2,t.result]}})})},e.default=E,Object.defineProperty(e,"__esModule",{value:!0})});
--------------------------------------------------------------------------------
/src/vendor/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v5.1.3 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 | */
6 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){if(t&&t.__esModule)return t;const e=Object.create(null);if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s="transitionend",n=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},o=t=>{const e=n(t);return e&&document.querySelector(e)?e:null},r=t=>{const e=n(t);return e?document.querySelector(e):null},a=t=>{t.dispatchEvent(new Event(s))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,h=(t,e,i)=>{Object.keys(i).forEach((s=>{const n=i[s],o=e[s],r=o&&l(o)?"element":null==(a=o)?`${a}`:{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase();var a;if(!new RegExp(n).test(r))throw new TypeError(`${t.toUpperCase()}: Option "${s}" provided type "${r}" but expected type "${n}".`)}))},d=t=>!(!l(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),u=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),g=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?g(t.parentNode):null},_=()=>{},f=t=>{t.offsetHeight},p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],b=()=>"rtl"===document.documentElement.dir,v=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{m.forEach((t=>t()))})),m.push(e)):e()},y=t=>{"function"==typeof t&&t()},E=(t,e,i=!0)=>{if(!i)return void y(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let o=!1;const r=({target:i})=>{i===e&&(o=!0,e.removeEventListener(s,r),y(t))};e.addEventListener(s,r),setTimeout((()=>{o||a(e)}),n)},w=(t,e,i,s)=>{let n=t.indexOf(e);if(-1===n)return t[!i&&s?t.length-1:0];const o=t.length;return n+=i?1:-1,s&&(n=(n+o)%o),t[Math.max(0,Math.min(n,o-1))]},A=/[^.]*(?=\..*)\.|.*/,T=/\..*/,C=/::\d+$/,k={};let L=1;const S={mouseenter:"mouseover",mouseleave:"mouseout"},O=/^(mouseenter|mouseleave)/i,N=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function D(t,e){return e&&`${e}::${L++}`||t.uidEvent||L++}function I(t){const e=D(t);return t.uidEvent=e,k[e]=k[e]||{},k[e]}function P(t,e,i=null){const s=Object.keys(t);for(let n=0,o=s.length;nfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};s?s=t(s):i=t(i)}const[o,r,a]=x(e,i,s),l=I(t),c=l[a]||(l[a]={}),h=P(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=D(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return n.delegateTarget=r,s.oneOff&&$.off(t,n.type,e,i),i.apply(r,[n]);return null}}(t,i,s):function(t,e){return function i(s){return s.delegateTarget=t,i.oneOff&&$.off(t,s.type,e),e.apply(t,[s])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,s,n){const o=P(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function H(t){return t=t.replace(T,""),S[t]||t}const $={on(t,e,i,s){M(t,e,i,s,!1)},one(t,e,i,s){M(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=x(e,i,s),a=r!==e,l=I(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,n?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,s){const n=e[i]||{};Object.keys(n).forEach((o=>{if(o.includes(s)){const s=n[o];j(t,e,i,s.originalHandler,s.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const s=i.replace(C,"");if(!a||e.includes(s)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=p(),n=H(e),o=e!==n,r=N.has(n);let a,l=!0,c=!0,h=!1,d=null;return o&&s&&(a=s.Event(e,i),s(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(n,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},B=new Map,z={set(t,e,i){B.has(t)||B.set(t,new Map);const s=B.get(t);s.has(e)||0===s.size?s.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(t,e)=>B.has(t)&&B.get(t).get(e)||null,remove(t,e){if(!B.has(t))return;const i=B.get(t);i.delete(e),0===i.size&&B.delete(t)}};class R{constructor(t){(t=c(t))&&(this._element=t,z.set(this._element,this.constructor.DATA_KEY,this))}dispose(){z.remove(this._element,this.constructor.DATA_KEY),$.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){E(t,e,i)}static getInstance(t){return z.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const F=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;$.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),u(this))return;const n=r(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))};class q extends R{static get NAME(){return"alert"}close(){if($.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),$.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}F(q,"close"),v(q);const W='[data-bs-toggle="button"]';class U extends R{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function K(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function V(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}$.on(document,"click.bs.button.data-api",W,(t=>{t.preventDefault();const e=t.target.closest(W);U.getOrCreateInstance(e).toggle()})),v(U);const X={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${V(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${V(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=K(t.dataset[i])})),e},getDataAttribute:(t,e)=>K(t.getAttribute(`data-bs-${V(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},Y={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode;for(;s&&s.nodeType===Node.ELEMENT_NODE&&3!==s.nodeType;)s.matches(e)&&i.push(s),s=s.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!u(t)&&d(t)))}},Q="carousel",G={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Z={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},J="next",tt="prev",et="left",it="right",st={ArrowLeft:it,ArrowRight:et},nt="slid.bs.carousel",ot="active",rt=".active.carousel-item";class at extends R{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=Y.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return G}static get NAME(){return Q}next(){this._slide(J)}nextWhenVisible(){!document.hidden&&d(this._element)&&this.next()}prev(){this._slide(tt)}pause(t){t||(this._isPaused=!0),Y.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(a(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=Y.findOne(rt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void $.one(this._element,nt,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?J:tt;this._slide(i,this._items[t])}_getConfig(t){return t={...G,...X.getDataAttributes(this._element),..."object"==typeof t?t:{}},h(Q,t,Z),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?it:et)}_addEventListeners(){this._config.keyboard&&$.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&($.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),$.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},s=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};Y.find(".carousel-item img",this._element).forEach((t=>{$.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?($.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),$.on(this._element,"pointerup.bs.carousel",(t=>s(t))),this._element.classList.add("pointer-event")):($.on(this._element,"touchstart.bs.carousel",(t=>e(t))),$.on(this._element,"touchmove.bs.carousel",(t=>i(t))),$.on(this._element,"touchend.bs.carousel",(t=>s(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?Y.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===J;return w(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),s=this._getItemIndex(Y.findOne(rt,this._element));return $.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:s,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=Y.findOne(".active",this._indicatorsElement);e.classList.remove(ot),e.removeAttribute("aria-current");const i=Y.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{$.trigger(this._element,nt,{relatedTarget:o,direction:d,from:n,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),f(o),s.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(ot),s.classList.remove(ot,h,c),this._isSliding=!1,setTimeout(u,0)};this._queueCallback(t,s,!0)}else s.classList.remove(ot),o.classList.add(ot),this._isSliding=!1,u();a&&this.cycle()}_directionToOrder(t){return[it,et].includes(t)?b()?t===et?tt:J:t===et?J:tt:t}_orderToDirection(t){return[J,tt].includes(t)?b()?t===tt?et:it:t===tt?it:et:t}static carouselInterface(t,e){const i=at.getOrCreateInstance(t,e);let{_config:s}=i;"object"==typeof e&&(s={...s,...e});const n="string"==typeof e?e:s.slide;if("number"==typeof e)i.to(e);else if("string"==typeof n){if(void 0===i[n])throw new TypeError(`No method named "${n}"`);i[n]()}else s.interval&&s.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){at.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=r(this);if(!e||!e.classList.contains("carousel"))return;const i={...X.getDataAttributes(e),...X.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),at.carouselInterface(e,i),s&&at.getInstance(e).to(s),t.preventDefault()}}$.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",at.dataApiClickHandler),$.on(window,"load.bs.carousel.data-api",(()=>{const t=Y.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&n.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ct}static get NAME(){return lt}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=Y.find(ft,this._config.parent);e=Y.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=Y.findOne(this._selector);if(e.length){const s=e.find((t=>i!==t));if(t=s?mt.getInstance(s):null,t&&t._isTransitioning)return}if($.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&mt.getOrCreateInstance(e,{toggle:!1}).hide(),t||z.set(e,"bs.collapse",null)}));const s=this._getDimension();this._element.classList.remove(ut),this._element.classList.add(gt),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${s[0].toUpperCase()+s.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gt),this._element.classList.add(ut,dt),this._element.style[s]="",$.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[s]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if($.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,f(this._element),this._element.classList.add(gt),this._element.classList.remove(ut,dt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(gt),this._element.classList.add(ut),$.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(dt)}_getConfig(t){return(t={...ct,...X.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=c(t.parent),h(lt,t,ht),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=Y.find(ft,this._config.parent);Y.find(pt,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=r(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(_t):t.classList.add(_t),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=mt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}$.on(document,"click.bs.collapse.data-api",pt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=o(this);Y.find(e).forEach((t=>{mt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),v(mt);const bt="dropdown",vt="Escape",yt="Space",Et="ArrowUp",wt="ArrowDown",At=new RegExp("ArrowUp|ArrowDown|Escape"),Tt="click.bs.dropdown.data-api",Ct="keydown.bs.dropdown.data-api",kt="show",Lt='[data-bs-toggle="dropdown"]',St=".dropdown-menu",Ot=b()?"top-end":"top-start",Nt=b()?"top-start":"top-end",Dt=b()?"bottom-end":"bottom-start",It=b()?"bottom-start":"bottom-end",Pt=b()?"left-start":"right-start",xt=b()?"right-start":"left-start",Mt={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},jt={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Ht extends R{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return Mt}static get DefaultType(){return jt}static get NAME(){return bt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(u(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if($.trigger(this._element,"show.bs.dropdown",t).defaultPrevented)return;const e=Ht.getParentFromElement(this._element);this._inNavbar?X.setDataAttribute(this._menu,"popper","none"):this._createPopper(e),"ontouchstart"in document.documentElement&&!e.closest(".navbar-nav")&&[].concat(...document.body.children).forEach((t=>$.on(t,"mouseover",_))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(kt),this._element.classList.add(kt),$.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(u(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){$.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>$.off(t,"mouseover",_))),this._popper&&this._popper.destroy(),this._menu.classList.remove(kt),this._element.classList.remove(kt),this._element.setAttribute("aria-expanded","false"),X.removeDataAttribute(this._menu,"popper"),$.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...X.getDataAttributes(this._element),...t},h(bt,t,this.constructor.DefaultType),"object"==typeof t.reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${bt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:l(this._config.reference)?e=c(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const s=this._getPopperConfig(),n=s.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=i.createPopper(e,this._menu,s),n&&X.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(kt)}_getMenuElement(){return Y.next(this._element,St)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return Pt;if(t.classList.contains("dropstart"))return xt;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Nt:Ot:e?It:Dt}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Y.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(d);i.length&&w(i,e,t===wt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Ht.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=Y.find(Lt);for(let i=0,s=e.length;ie+t)),this._setElementAttributes($t,"paddingRight",(e=>e+t)),this._setElementAttributes(Bt,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(n))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes($t,"paddingRight"),this._resetElementAttributes(Bt,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&X.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=X.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(X.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){l(t)?e(t):Y.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const Rt={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ft={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},qt="show",Wt="mousedown.bs.backdrop";class Ut{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add(qt),this._emulateAnimation((()=>{y(t)}))):y(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(qt),this._emulateAnimation((()=>{this.dispose(),y(t)}))):y(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...Rt,..."object"==typeof t?t:{}}).rootElement=c(t.rootElement),h("backdrop",t,Ft),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),$.on(this._getElement(),Wt,(()=>{y(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&($.off(this._element,Wt),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){E(t,this._getElement(),this._config.isAnimated)}}const Kt={trapElement:null,autofocus:!0},Vt={trapElement:"element",autofocus:"boolean"},Xt=".bs.focustrap",Yt="backward";class Qt{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),$.off(document,Xt),$.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),$.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,$.off(document,Xt))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const s=Y.focusableChildren(i);0===s.length?i.focus():this._lastTabNavDirection===Yt?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Yt:"forward")}_getConfig(t){return t={...Kt,..."object"==typeof t?t:{}},h("focustrap",t,Vt),t}}const Gt="modal",Zt="Escape",Jt={backdrop:!0,keyboard:!0,focus:!0},te={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},ee="hidden.bs.modal",ie="show.bs.modal",se="resize.bs.modal",ne="click.dismiss.bs.modal",oe="keydown.dismiss.bs.modal",re="mousedown.dismiss.bs.modal",ae="modal-open",le="show",ce="modal-static";class he extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=Y.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new zt}static get Default(){return Jt}static get NAME(){return Gt}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||$.trigger(this._element,ie,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(ae),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),$.on(this._dialog,re,(()=>{$.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if($.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(le),$.off(this._element,ne),$.off(this._dialog,re),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>$.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ut({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Qt({trapElement:this._element})}_getConfig(t){return t={...Jt,...X.getDataAttributes(this._element),..."object"==typeof t?t:{}},h(Gt,t,te),t}_showElement(t){const e=this._isAnimated(),i=Y.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&f(this._element),this._element.classList.add(le),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,$.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?$.on(this._element,oe,(t=>{this._config.keyboard&&t.key===Zt?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Zt||this._triggerBackdropTransition()})):$.off(this._element,oe)}_setResizeEvent(){this._isShown?$.on(window,se,(()=>this._adjustDialog())):$.off(window,se)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ae),this._resetAdjustments(),this._scrollBar.reset(),$.trigger(this._element,ee)}))}_showBackdrop(t){$.on(this._element,ne,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if($.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,s=e>document.documentElement.clientHeight;!s&&"hidden"===i.overflowY||t.contains(ce)||(s||(i.overflowY="hidden"),t.add(ce),this._queueCallback((()=>{t.remove(ce),s||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!b()||i&&!t&&b())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!b()||!i&&t&&b())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=he.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}$.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=r(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),$.one(e,ie,(t=>{t.defaultPrevented||$.one(e,ee,(()=>{d(this)&&this.focus()}))}));const i=Y.findOne(".modal.show");i&&he.getInstance(i).hide(),he.getOrCreateInstance(e).toggle(this)})),F(he),v(he);const de="offcanvas",ue={backdrop:!0,keyboard:!0,scroll:!1},ge={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},_e="show",fe=".offcanvas.show",pe="hidden.bs.offcanvas";class me extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return de}static get Default(){return ue}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||$.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new zt).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(_e),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),$.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&($.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove(_e),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new zt).reset(),$.trigger(this._element,pe)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...ue,...X.getDataAttributes(this._element),..."object"==typeof t?t:{}},h(de,t,ge),t}_initializeBackDrop(){return new Ut({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Qt({trapElement:this._element})}_addEventListeners(){$.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=me.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}$.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=r(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),u(this))return;$.one(e,pe,(()=>{d(this)&&this.focus()}));const i=Y.findOne(fe);i&&i!==e&&me.getInstance(i).hide(),me.getOrCreateInstance(e).toggle(this)})),$.on(window,"load.bs.offcanvas.data-api",(()=>Y.find(fe).forEach((t=>me.getOrCreateInstance(t).show())))),F(me),v(me);const be=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ve=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,ye=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ee=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!be.has(i)||Boolean(ve.test(t.nodeValue)||ye.test(t.nodeValue));const s=e.filter((t=>t instanceof RegExp));for(let t=0,e=s.length;t{Ee(t,r)||i.removeAttribute(t.nodeName)}))}return s.body.innerHTML}const Ae="tooltip",Te=new Set(["sanitize","allowList","sanitizeFn"]),Ce={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ke={AUTO:"auto",TOP:"top",RIGHT:b()?"left":"right",BOTTOM:"bottom",LEFT:b()?"right":"left"},Le={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Se={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},Oe="fade",Ne="show",De="show",Ie="out",Pe=".tooltip-inner",xe=".modal",Me="hide.bs.modal",je="hover",He="focus";class $e extends R{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Le}static get NAME(){return Ae}static get Event(){return Se}static get DefaultType(){return Ce}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(Ne))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),$.off(this._element.closest(xe),Me,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=$.trigger(this._element,this.constructor.Event.SHOW),e=g(this._element),s=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!s)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(Pe).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),o=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this._config.animation&&n.classList.add(Oe);const r="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;z.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(n),$.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=i.createPopper(this._element,n,this._getPopperConfig(a)),n.classList.add(Ne);const c=this._resolvePossibleFunction(this._config.customClass);c&&n.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{$.on(t,"mouseover",_)}));const h=this.tip.classList.contains(Oe);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,$.trigger(this._element,this.constructor.Event.SHOWN),t===Ie&&this._leave(null,this)}),this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if($.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(Ne),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>$.off(t,"mouseover",_))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(Oe);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==De&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),$.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(Oe,Ne),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),Pe)}_sanitizeAndSetContent(t,e,i){const s=Y.findOne(i,t);e||!s?this.setElementContent(s,e):s.remove()}setElementContent(t,e){if(null!==t)return l(e)?(e=c(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=we(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return ke[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)$.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===je?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===je?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;$.on(this._element,e,this._config.selector,(t=>this._enter(t))),$.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},$.on(this._element.closest(xe),Me,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?He:je]=!0),e.getTipElement().classList.contains(Ne)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===De&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?He:je]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ie,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===Ie&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=X.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Te.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:c(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),h(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=$e.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}v($e);const Be={...$e.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},ze={...$e.DefaultType,content:"(string|element|function)"},Re={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Fe extends $e{static get Default(){return Be}static get NAME(){return"popover"}static get Event(){return Re}static get DefaultType(){return ze}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}v(Fe);const qe="scrollspy",We={offset:10,method:"auto",target:""},Ue={offset:"number",method:"string",target:"(string|element)"},Ke="active",Ve=".nav-link, .list-group-item, .dropdown-item",Xe="position";class Ye extends R{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,$.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return We}static get NAME(){return qe}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":Xe,e="auto"===this._config.method?t:this._config.method,i=e===Xe?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Y.find(Ve,this._config.target).map((t=>{const s=o(t),n=s?Y.findOne(s):null;if(n){const t=n.getBoundingClientRect();if(t.width||t.height)return[X[e](n).top+i,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){$.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...We,...X.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=c(t.target)||document.documentElement,h(qe,t,Ue),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=Y.findOne(e.join(","),this._config.target);i.classList.add(Ke),i.classList.contains("dropdown-item")?Y.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(Ke):Y.parents(i,".nav, .list-group").forEach((t=>{Y.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(Ke))),Y.prev(t,".nav-item").forEach((t=>{Y.children(t,".nav-link").forEach((t=>t.classList.add(Ke)))}))})),$.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){Y.find(Ve,this._config.target).filter((t=>t.classList.contains(Ke))).forEach((t=>t.classList.remove(Ke)))}static jQueryInterface(t){return this.each((function(){const e=Ye.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}$.on(window,"load.bs.scrollspy.data-api",(()=>{Y.find('[data-bs-spy="scroll"]').forEach((t=>new Ye(t)))})),v(Ye);const Qe="active",Ge="fade",Ze="show",Je=".active",ti=":scope > li > .active";class ei extends R{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Qe))return;let t;const e=r(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?ti:Je;t=Y.find(e,i),t=t[t.length-1]}const s=t?$.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if($.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const n=()=>{$.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),$.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,n):n()}_activate(t,e,i){const s=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Y.children(e,Je):Y.find(ti,e))[0],n=i&&s&&s.classList.contains(Ge),o=()=>this._transitionComplete(t,s,i);s&&n?(s.classList.remove(Ze),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Qe);const t=Y.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Qe),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Qe),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),f(t),t.classList.contains(Ge)&&t.classList.add(Ze);let s=t.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&Y.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Qe))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=ei.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}$.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),u(this)||ei.getOrCreateInstance(this).show()})),v(ei);const ii="toast",si="hide",ni="show",oi="showing",ri={animation:"boolean",autohide:"boolean",delay:"number"},ai={animation:!0,autohide:!0,delay:5e3};class li extends R{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ri}static get Default(){return ai}static get NAME(){return ii}show(){$.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(si),f(this._element),this._element.classList.add(ni),this._element.classList.add(oi),this._queueCallback((()=>{this._element.classList.remove(oi),$.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(ni)&&($.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(oi),this._queueCallback((()=>{this._element.classList.add(si),this._element.classList.remove(oi),this._element.classList.remove(ni),$.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(ni)&&this._element.classList.remove(ni),super.dispose()}_getConfig(t){return t={...ai,...X.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},h(ii,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){$.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),$.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),$.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),$.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=li.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return F(li),v(li),{Alert:q,Button:U,Carousel:at,Collapse:mt,Dropdown:Ht,Modal:he,Offcanvas:me,Popover:Fe,ScrollSpy:Ye,Tab:ei,Toast:li,Tooltip:$e}}));
7 | //# sourceMappingURL=bootstrap.min.js.map
--------------------------------------------------------------------------------