@finsemble/finsemble-core 6.1.4 → 6.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mocharc.js +12 -12
- package/.nycrc.json +7 -7
- package/README.md +24 -24
- package/assets/fonts/LICENSE.txt +202 -202
- package/configs/core/config.json +214 -214
- package/configs/core/securityPolicies.json +24 -24
- package/configs/core/services.json +233 -233
- package/configs/schemas/README.md +1 -1
- package/configs/schemas/fileBasedSchemas/appdConfigFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/applicationConfigFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/componentsFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/coreConfigFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/dashbarFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/manifestFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/securityPoliciesFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/servicesFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/uiComponentsFile.schema.json +5 -5
- package/configs/schemas/fileBasedSchemas/workspacesFile.schema.json +5 -5
- package/configs/schemas/finsemble.schema.json +4006 -4006
- package/dist/FSBL.js +1 -1
- package/dist/clients/Interop/FinsembleDesktopAgent.md +154 -154
- package/dist/clients/Interop/tsconfig.json +7 -7
- package/dist/clients/Startup/README.md +28 -28
- package/dist/clients/dragAndDropAssets/dragAndDropScrim.css +54 -54
- package/dist/clients/dragAndDropAssets/ff-delete-circle.svg +10 -10
- package/dist/clients/dragAndDropAssets/ff-share.svg +13 -13
- package/dist/components/system/notification/ff-close.svg +14 -14
- package/dist/components/system/notification/finsemble_logo_white.svg +15 -15
- package/dist/components/system/notification/notification.html +155 -155
- package/dist/configs/core/config.json +214 -214
- package/dist/configs/core/securityPolicies.json +24 -24
- package/dist/configs/core/services.json +233 -233
- package/dist/configs/schemas/README.md +1 -1
- package/dist/configs/schemas/fileBasedSchemas/appdConfigFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/applicationConfigFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/componentsFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/coreConfigFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/dashbarFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/manifestFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/securityPoliciesFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/servicesFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/uiComponentsFile.schema.json +5 -5
- package/dist/configs/schemas/fileBasedSchemas/workspacesFile.schema.json +5 -5
- package/dist/configs/schemas/finsemble.schema.json +4006 -4006
- package/dist/finsemble-javascript-adapter.js +1 -1
- package/dist/index.js +1 -1
- package/dist/javascript-adapter-example-app.html +37 -37
- package/dist/services/Interop/DevTools.tsx +71 -71
- package/dist/services/Interop/Interop.html +15 -15
- package/dist/services/Interop/InteropService.js +1 -1
- package/dist/services/Interop/InteropService.md +148 -148
- package/dist/services/Interop/InteropServiceUI.css +12 -12
- package/dist/services/Interop/InteropServiceUI.js +1 -1
- package/dist/services/Interop/InteropServiceUI.tsx +39 -39
- package/dist/services/Interop/devtoolsEnhancer.tsx +63 -63
- package/dist/services/Interop/tsconfig.json +7 -7
- package/dist/services/ServiceTemplate.md +39 -39
- package/dist/services/assimilation/assimilation.html +18 -18
- package/dist/services/assimilation/assimilationService.js +1 -1
- package/dist/services/authentication/authentication.html +17 -17
- package/dist/services/authentication/authenticationService.js +1 -1
- package/dist/services/authentication/dialogSignOn.html +199 -199
- package/dist/services/config/config.html +17 -17
- package/dist/services/config/configService.js +1 -1
- package/dist/services/dataStore/dataStore.html +18 -18
- package/dist/services/dataStore/dataStoreService.js +1 -1
- package/dist/services/hotkeys/hotkeys.html +18 -18
- package/dist/services/hotkeys/hotkeysService.js +1 -1
- package/dist/services/linker/linker.html +18 -18
- package/dist/services/linker/linkerService.js +1 -1
- package/dist/services/logger/logger.html +18 -18
- package/dist/services/logger/loggerService.js +1 -1
- package/dist/services/logger/loggerUI.js +1 -1
- package/dist/services/logger/src/app.css +860 -860
- package/dist/services/logger/src/components/Views/Logs/rightPanel/consoleView.css +379 -379
- package/dist/services/logger/src/components/objectInspector/README.md +1 -1
- package/dist/services/notification/notification.html +11 -11
- package/dist/services/notification/notificationService.js +1 -1
- package/dist/services/preferences/preferencesService.js +1 -1
- package/dist/services/router/router.html +18 -18
- package/dist/services/router/routerService.js +1 -1
- package/dist/services/search/search.html +17 -17
- package/dist/services/search/searchService.js +1 -1
- package/dist/services/storage/adapters/instrumentedIndexedDBAdapter.js +1 -1
- package/dist/services/storage/storage.html +17 -17
- package/dist/services/storage/storageService.js +1 -1
- package/dist/services/systemManager/bootTasks/testTasks/_aReadMe.md +119 -119
- package/dist/services/systemManager/systemManager.html +24 -24
- package/dist/services/systemManager/systemManager.js +1 -1
- package/dist/services/window/Docking/GroupRequirements.md +18 -18
- package/dist/services/window/Splintering/SplinterAgentSlave.html +13 -13
- package/dist/services/window/Splintering/SplinterAgentSlave.js +1 -1
- package/dist/services/window/Splintering/Splintering.md +118 -118
- package/dist/services/window/StackedWindowManager/StackRequirements.md +23 -23
- package/dist/services/window/WindowBehaviorRequirements.md +25 -25
- package/dist/services/window/windowService.html +10 -10
- package/dist/services/window/windowService.js +1 -1
- package/dist/services/workspace/dev-docs/importExportFormat.md +51 -51
- package/dist/services/workspace/dev-docs/remotelyPersistedWorkspaces.md +62 -62
- package/dist/services/workspace/workspace.html +18 -18
- package/dist/services/workspace/workspace.schema.json +48 -48
- package/dist/services/workspace/workspaceService.js +1 -1
- package/package.json +1 -1
- package/tsconfig.json +23 -23
- package/types/index.d.ts +40 -55
- package/types/index.tsbuildinfo +1 -1
- package/types.tsconfig.json +15 -15
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see systemManager.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(self,(function(){return(()=>{var e={66835:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},40038:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},57664:(e,t,r)=>{"use strict";function n(e,...t){return(...r)=>e(...t,...r)}function i(e){return function(...t){var r=t.pop();return e.call(this,t,r)}}r.r(t),r.d(t,{default:()=>pt,apply:()=>n,applyEach:()=>L,applyEachSeries:()=>R,asyncify:()=>c,auto:()=>M,autoInject:()=>B,cargo:()=>q,cargoQueue:()=>z,compose:()=>K,concat:()=>Z,concatLimit:()=>Y,concatSeries:()=>X,constant:()=>ee,detect:()=>re,detectLimit:()=>ne,detectSeries:()=>ie,dir:()=>se,doUntil:()=>ue,doWhilst:()=>ae,each:()=>ce,eachLimit:()=>de,eachOf:()=>k,eachOfLimit:()=>E,eachOfSeries:()=>O,eachSeries:()=>fe,ensureAsync:()=>he,every:()=>pe,everyLimit:()=>me,everySeries:()=>ge,filter:()=>be,filterLimit:()=>Se,filterSeries:()=>_e,forever:()=>Ce,groupBy:()=>Pe,groupByLimit:()=>Ee,groupBySeries:()=>Te,log:()=>ke,map:()=>A,mapLimit:()=>J,mapSeries:()=>I,mapValues:()=>Le,mapValuesLimit:()=>Ae,mapValuesSeries:()=>Oe,memoize:()=>Ie,nextTick:()=>Re,parallel:()=>Fe,parallelLimit:()=>Me,priorityQueue:()=>$e,queue:()=>xe,race:()=>Be,reduce:()=>G,reduceRight:()=>Ue,reflect:()=>He,reflectAll:()=>Ve,reject:()=>ze,rejectLimit:()=>Ge,rejectSeries:()=>Qe,retry:()=>Je,retryable:()=>Ze,seq:()=>Q,series:()=>Xe,setImmediate:()=>l,some:()=>et,someLimit:()=>tt,someSeries:()=>rt,sortBy:()=>nt,timeout:()=>it,times:()=>st,timesLimit:()=>ot,timesSeries:()=>at,transform:()=>ut,tryEach:()=>lt,unmemoize:()=>ct,until:()=>ft,waterfall:()=>ht,whilst:()=>dt,all:()=>pe,allLimit:()=>me,allSeries:()=>ge,any:()=>et,anyLimit:()=>tt,anySeries:()=>rt,find:()=>re,findLimit:()=>ne,findSeries:()=>ie,flatMap:()=>Z,flatMapLimit:()=>Y,flatMapSeries:()=>X,forEach:()=>ce,forEachSeries:()=>fe,forEachLimit:()=>de,forEachOf:()=>k,forEachOfSeries:()=>O,forEachOfLimit:()=>E,inject:()=>G,foldl:()=>G,foldr:()=>Ue,select:()=>be,selectLimit:()=>Se,selectSeries:()=>_e,wrapSync:()=>c,during:()=>dt,doDuring:()=>ae});var o="function"==typeof setImmediate&&setImmediate,s="object"==typeof process&&"function"==typeof process.nextTick;function a(e){setTimeout(e,0)}function u(e){return(t,...r)=>e((()=>t(...r)))}var l=u(o?setImmediate:s?process.nextTick:a);function c(e){return h(e)?function(...t){const r=t.pop();return d(e.apply(this,t),r)}:i((function(t,r){var n;try{n=e.apply(this,t)}catch(e){return r(e)}if(n&&"function"==typeof n.then)return d(n,r);r(null,n)}))}function d(e,t){return e.then((e=>{f(t,null,e)}),(e=>{f(t,e&&e.message?e:new Error(e))}))}function f(e,t,r){try{e(t,r)}catch(e){l((e=>{throw e}),e)}}function h(e){return"AsyncFunction"===e[Symbol.toStringTag]}function p(e){if("function"!=typeof e)throw new Error("expected a function");return h(e)?c(e):e}function m(e,t=e.length){if(!t)throw new Error("arity is undefined");return function(...r){return"function"==typeof r[t-1]?e.apply(this,r):new Promise(((n,i)=>{r[t-1]=(e,...t)=>{if(e)return i(e);n(t.length>1?t:t[0])},e.apply(this,r)}))}}function g(e){return function(t,...r){return m((function(n){var i=this;return e(t,((e,t)=>{p(e).apply(i,r.concat(t))}),n)}))}}function y(e,t,r,n){t=t||[];var i=[],o=0,s=p(r);return e(t,((e,t,r)=>{var n=o++;s(e,((e,t)=>{i[n]=t,r(e)}))}),(e=>{n(e,i)}))}function v(e){return e&&"number"==typeof e.length&&e.length>=0&&e.length%1==0}const w={};function b(e){function t(...t){if(null!==e){var r=e;e=null,r.apply(this,t)}}return Object.assign(t,e),t}function S(e){return function(...t){if(null===e)throw new Error("Callback was already called.");var r=e;e=null,r.apply(this,t)}}function _(e,t,r,n){let i=!1,o=!1,s=!1,a=0,u=0;function l(){a>=t||s||i||(s=!0,e.next().then((({value:e,done:t})=>{if(!o&&!i){if(s=!1,t)return i=!0,void(a<=0&&n(null));a++,r(e,u,c),u++,l()}})).catch(d))}function c(e,t){if(a-=1,!o)return e?d(e):!1===e?(i=!0,void(o=!0)):t===w||i&&a<=0?(i=!0,n(null)):void l()}function d(e){o||(s=!1,i=!0,n(e))}l()}var C=e=>(t,r,n)=>{if(n=b(n),e<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!t)return n(null);if("AsyncGenerator"===t[Symbol.toStringTag])return _(t,e,r,n);if(function(e){return"function"==typeof e[Symbol.asyncIterator]}(t))return _(t[Symbol.asyncIterator](),e,r,n);var i=function(e){if(v(e))return function(e){var t=-1,r=e.length;return function(){return++t<r?{value:e[t],key:t}:null}}(e);var t,r,n,i,o=function(e){return e[Symbol.iterator]&&e[Symbol.iterator]()}(e);return o?function(e){var t=-1;return function(){var r=e.next();return r.done?null:(t++,{value:r.value,key:t})}}(o):(r=(t=e)?Object.keys(t):[],n=-1,i=r.length,function(){var e=r[++n];return n<i?{value:t[e],key:e}:null})}(t),o=!1,s=!1,a=0,u=!1;function l(e,t){if(!s)if(a-=1,e)o=!0,n(e);else if(!1===e)o=!0,s=!0;else{if(t===w||o&&a<=0)return o=!0,n(null);u||c()}}function c(){for(u=!0;a<e&&!o;){var t=i();if(null===t)return o=!0,void(a<=0&&n(null));a+=1,r(t.value,t.key,S(l))}u=!1}c()},E=m((function(e,t,r,n){return C(t)(e,p(r),n)}),4);function P(e,t,r){r=b(r);var n=0,i=0,{length:o}=e,s=!1;function a(e,t){!1===e&&(s=!0),!0!==s&&(e?r(e):++i!==o&&t!==w||r(null))}for(0===o&&r(null);n<o;n++)t(e[n],n,S(a))}function T(e,t,r){return E(e,1/0,t,r)}var k=m((function(e,t,r){return(v(e)?P:T)(e,p(t),r)}),3),A=m((function(e,t,r){return y(k,e,t,r)}),3),L=g(A),O=m((function(e,t,r){return E(e,1,t,r)}),3),I=m((function(e,t,r){return y(O,e,t,r)}),3),R=g(I);const D=Symbol("promiseCallback");function F(){let e,t;function r(r,...n){if(r)return t(r);e(n.length>1?n:n[0])}return r[D]=new Promise(((r,n)=>{e=r,t=n})),r}function M(e,t,r){"number"!=typeof t&&(r=t,t=null),r=b(r||F());var n=Object.keys(e).length;if(!n)return r(null);t||(t=n);var i={},o=0,s=!1,a=!1,u=Object.create(null),l=[],c=[],d={};function f(e,t){l.push((()=>function(e,t){if(!a){var n=S(((t,...n)=>{if(o--,!1!==t)if(n.length<2&&([n]=n),t){var l={};if(Object.keys(i).forEach((e=>{l[e]=i[e]})),l[e]=n,a=!0,u=Object.create(null),s)return;r(t,l)}else i[e]=n,(u[e]||[]).forEach((e=>e())),h();else s=!0}));o++;var l=p(t[t.length-1]);t.length>1?l(i,n):l(n)}}(e,t)))}function h(){if(!s){if(0===l.length&&0===o)return r(null,i);for(;l.length&&o<t;)l.shift()()}}function m(t){var r=[];return Object.keys(e).forEach((n=>{const i=e[n];Array.isArray(i)&&i.indexOf(t)>=0&&r.push(n)})),r}return Object.keys(e).forEach((t=>{var r=e[t];if(!Array.isArray(r))return f(t,[r]),void c.push(t);var n=r.slice(0,r.length-1),i=n.length;if(0===i)return f(t,r),void c.push(t);d[t]=i,n.forEach((o=>{if(!e[o])throw new Error("async.auto task `"+t+"` has a non-existent dependency `"+o+"` in "+n.join(", "));var s,a;(a=u[s=o])||(a=u[s]=[]),a.push((()=>{0==--i&&f(t,r)}))}))})),function(){for(var e=0;c.length;)e++,m(c.pop()).forEach((e=>{0==--d[e]&&c.push(e)}));if(e!==n)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),h(),r[D]}var x=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,N=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,j=/,/,W=/(=.+)?(\s*)$/,$=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function B(e,t){var r={};return Object.keys(e).forEach((t=>{var n,i=e[t],o=h(i),s=!o&&1===i.length||o&&0===i.length;if(Array.isArray(i))n=[...i],i=n.pop(),r[t]=n.concat(n.length>0?a:i);else if(s)r[t]=i;else{if(n=function(e){const t=e.toString().replace($,"");let r=t.match(x);if(r||(r=t.match(N)),!r)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,n]=r;return n.replace(/\s/g,"").split(j).map((e=>e.replace(W,"").trim()))}(i),0===i.length&&!o&&0===n.length)throw new Error("autoInject task functions require explicit parameters.");o||n.pop(),r[t]=n.concat(a)}function a(e,t){var r=n.map((t=>e[t]));r.push(t),p(i)(...r)}})),M(r,t)}class U{constructor(){this.head=this.tail=null,this.length=0}removeLink(e){return e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=e.next=null,this.length-=1,e}empty(){for(;this.head;)this.shift();return this}insertAfter(e,t){t.prev=e,t.next=e.next,e.next?e.next.prev=t:this.tail=t,e.next=t,this.length+=1}insertBefore(e,t){t.prev=e.prev,t.next=e,e.prev?e.prev.next=t:this.head=t,e.prev=t,this.length+=1}unshift(e){this.head?this.insertBefore(this.head,e):H(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):H(this,e)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var e=this.head;e;)yield e.data,e=e.next}remove(e){for(var t=this.head;t;){var{next:r}=t;e(t)&&this.removeLink(t),t=r}return this}}function H(e,t){e.length=1,e.head=e.tail=t}function V(e,t,r){if(null==t)t=1;else if(0===t)throw new RangeError("Concurrency must not be zero");var n=p(e),i=0,o=[];const s={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function a(e,t){return e?t?void(s[e]=s[e].filter((e=>e!==t))):s[e]=[]:Object.keys(s).forEach((e=>s[e]=[]))}function u(e,...t){s[e].forEach((e=>e(...t)))}var c=!1;function d(e,t,r,n){if(null!=n&&"function"!=typeof n)throw new Error("task callback must be a function");var i,o;function s(e,...t){return e?r?o(e):i():t.length<=1?i(t[0]):void i(t)}y.started=!0;var a={data:e,callback:r?s:n||s};if(t?y._tasks.unshift(a):y._tasks.push(a),c||(c=!0,l((()=>{c=!1,y.process()}))),r||!n)return new Promise(((e,t)=>{i=e,o=t}))}function f(e){return function(t,...r){i-=1;for(var n=0,s=e.length;n<s;n++){var a=e[n],l=o.indexOf(a);0===l?o.shift():l>0&&o.splice(l,1),a.callback(t,...r),null!=t&&u("error",t,a.data)}i<=y.concurrency-y.buffer&&u("unsaturated"),y.idle()&&u("drain"),y.process()}}function h(e){return!(0!==e.length||!y.idle()||(l((()=>u("drain"))),0))}const m=e=>t=>{if(!t)return new Promise(((t,r)=>{!function(e,n){const i=(...n)=>{a(e,i),((e,n)=>{if(e)return r(e);t(n)})(...n)};s[e].push(i)}(e)}));a(e),function(e,t){s[e].push(t)}(e,t)};var g=!1,y={_tasks:new U,*[Symbol.iterator](){yield*y._tasks[Symbol.iterator]()},concurrency:t,payload:r,buffer:t/4,started:!1,paused:!1,push(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!1,t)))}return d(e,!1,!1,t)},pushAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!0,t)))}return d(e,!1,!0,t)},kill(){a(),y._tasks.empty()},unshift(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!1,t)))}return d(e,!0,!1,t)},unshiftAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!0,t)))}return d(e,!0,!0,t)},remove(e){y._tasks.remove(e)},process(){if(!g){for(g=!0;!y.paused&&i<y.concurrency&&y._tasks.length;){var e=[],t=[],r=y._tasks.length;y.payload&&(r=Math.min(r,y.payload));for(var s=0;s<r;s++){var a=y._tasks.shift();e.push(a),o.push(a),t.push(a.data)}i+=1,0===y._tasks.length&&u("empty"),i===y.concurrency&&u("saturated");var l=S(f(e));n(t,l)}g=!1}},length:()=>y._tasks.length,running:()=>i,workersList:()=>o,idle:()=>y._tasks.length+i===0,pause(){y.paused=!0},resume(){!1!==y.paused&&(y.paused=!1,l(y.process))}};return Object.defineProperties(y,{saturated:{writable:!1,value:m("saturated")},unsaturated:{writable:!1,value:m("unsaturated")},empty:{writable:!1,value:m("empty")},drain:{writable:!1,value:m("drain")},error:{writable:!1,value:m("error")}}),y}function q(e,t){return V(e,1,t)}function z(e,t,r){return V(e,t,r)}var G=m((function(e,t,r,n){n=b(n);var i=p(r);return O(e,((e,r,n)=>{i(t,e,((e,r)=>{t=r,n(e)}))}),(e=>n(e,t)))}),4);function Q(...e){var t=e.map(p);return function(...e){var r=this,n=e[e.length-1];return"function"==typeof n?e.pop():n=F(),G(t,e,((e,t,n)=>{t.apply(r,e.concat(((e,...t)=>{n(e,t)})))}),((e,t)=>n(e,...t))),n[D]}}function K(...e){return Q(...e.reverse())}var J=m((function(e,t,r,n){return y(C(t),e,r,n)}),4),Y=m((function(e,t,r,n){var i=p(r);return J(e,t,((e,t)=>{i(e,((e,...r)=>e?t(e):t(e,r)))}),((e,t)=>{for(var r=[],i=0;i<t.length;i++)t[i]&&(r=r.concat(...t[i]));return n(e,r)}))}),4),Z=m((function(e,t,r){return Y(e,1/0,t,r)}),3),X=m((function(e,t,r){return Y(e,1,t,r)}),3);function ee(...e){return function(...t){return t.pop()(null,...e)}}function te(e,t){return(r,n,i,o)=>{var s,a=!1;const u=p(i);r(n,((r,n,i)=>{u(r,((n,o)=>n||!1===n?i(n):e(o)&&!s?(a=!0,s=t(!0,r),i(null,w)):void i()))}),(e=>{if(e)return o(e);o(null,a?s:t(!1))}))}}var re=m((function(e,t,r){return te((e=>e),((e,t)=>t))(k,e,t,r)}),3),ne=m((function(e,t,r,n){return te((e=>e),((e,t)=>t))(C(t),e,r,n)}),4),ie=m((function(e,t,r){return te((e=>e),((e,t)=>t))(C(1),e,t,r)}),3);function oe(e){return(t,...r)=>p(t)(...r,((t,...r)=>{"object"==typeof console&&(t?console.error&&console.error(t):console[e]&&r.forEach((t=>console[e](t))))}))}var se=oe("dir"),ae=m((function(e,t,r){r=S(r);var n,i=p(e),o=p(t);function s(e,...t){if(e)return r(e);!1!==e&&(n=t,o(...t,a))}function a(e,t){return e?r(e):!1!==e?t?void i(s):r(null,...n):void 0}return a(null,!0)}),3);function ue(e,t,r){const n=p(t);return ae(e,((...e)=>{const t=e.pop();n(...e,((e,r)=>t(e,!r)))}),r)}function le(e){return(t,r,n)=>e(t,n)}var ce=m((function(e,t,r){return k(e,le(p(t)),r)}),3),de=m((function(e,t,r,n){return C(t)(e,le(p(r)),n)}),4),fe=m((function(e,t,r){return de(e,1,t,r)}),3);function he(e){return h(e)?e:function(...t){var r=t.pop(),n=!0;t.push(((...e)=>{n?l((()=>r(...e))):r(...e)})),e.apply(this,t),n=!1}}var pe=m((function(e,t,r){return te((e=>!e),(e=>!e))(k,e,t,r)}),3),me=m((function(e,t,r,n){return te((e=>!e),(e=>!e))(C(t),e,r,n)}),4),ge=m((function(e,t,r){return te((e=>!e),(e=>!e))(O,e,t,r)}),3);function ye(e,t,r,n){var i=new Array(t.length);e(t,((e,t,n)=>{r(e,((e,r)=>{i[t]=!!r,n(e)}))}),(e=>{if(e)return n(e);for(var r=[],o=0;o<t.length;o++)i[o]&&r.push(t[o]);n(null,r)}))}function ve(e,t,r,n){var i=[];e(t,((e,t,n)=>{r(e,((r,o)=>{if(r)return n(r);o&&i.push({index:t,value:e}),n(r)}))}),(e=>{if(e)return n(e);n(null,i.sort(((e,t)=>e.index-t.index)).map((e=>e.value)))}))}function we(e,t,r,n){return(v(t)?ye:ve)(e,t,p(r),n)}var be=m((function(e,t,r){return we(k,e,t,r)}),3),Se=m((function(e,t,r,n){return we(C(t),e,r,n)}),4),_e=m((function(e,t,r){return we(O,e,t,r)}),3),Ce=m((function(e,t){var r=S(t),n=p(he(e));return function e(t){if(t)return r(t);!1!==t&&n(e)}()}),2),Ee=m((function(e,t,r,n){var i=p(r);return J(e,t,((e,t)=>{i(e,((r,n)=>r?t(r):t(r,{key:n,val:e})))}),((e,t)=>{for(var r={},{hasOwnProperty:i}=Object.prototype,o=0;o<t.length;o++)if(t[o]){var{key:s}=t[o],{val:a}=t[o];i.call(r,s)?r[s].push(a):r[s]=[a]}return n(e,r)}))}),4);function Pe(e,t,r){return Ee(e,1/0,t,r)}function Te(e,t,r){return Ee(e,1,t,r)}var ke=oe("log"),Ae=m((function(e,t,r,n){n=b(n);var i={},o=p(r);return C(t)(e,((e,t,r)=>{o(e,t,((e,n)=>{if(e)return r(e);i[t]=n,r(e)}))}),(e=>n(e,i)))}),4);function Le(e,t,r){return Ae(e,1/0,t,r)}function Oe(e,t,r){return Ae(e,1,t,r)}function Ie(e,t=(e=>e)){var r=Object.create(null),n=Object.create(null),o=p(e),s=i(((e,i)=>{var s=t(...e);s in r?l((()=>i(null,...r[s]))):s in n?n[s].push(i):(n[s]=[i],o(...e,((e,...t)=>{e||(r[s]=t);var i=n[s];delete n[s];for(var o=0,a=i.length;o<a;o++)i[o](e,...t)})))}));return s.memo=r,s.unmemoized=e,s}var Re=u(s?process.nextTick:o?setImmediate:a),De=m(((e,t,r)=>{var n=v(t)?[]:{};e(t,((e,t,r)=>{p(e)(((e,...i)=>{i.length<2&&([i]=i),n[t]=i,r(e)}))}),(e=>r(e,n)))}),3);function Fe(e,t){return De(k,e,t)}function Me(e,t,r){return De(C(t),e,r)}function xe(e,t){var r=p(e);return V(((e,t)=>{r(e[0],t)}),t,1)}class Ne{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(e){let t;for(;e>0&&We(this.heap[e],this.heap[t=je(e)]);){let r=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=r,e=t}}percDown(e){let t;for(;(t=1+(e<<1))<this.heap.length&&(t+1<this.heap.length&&We(this.heap[t+1],this.heap[t])&&(t+=1),!We(this.heap[e],this.heap[t]));){let r=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=r,e=t}}push(e){e.pushCount=++this.pushCount,this.heap.push(e),this.percUp(this.heap.length-1)}unshift(e){return this.heap.push(e)}shift(){let[e]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),e}toArray(){return[...this]}*[Symbol.iterator](){for(let e=0;e<this.heap.length;e++)yield this.heap[e].data}remove(e){let t=0;for(let r=0;r<this.heap.length;r++)e(this.heap[r])||(this.heap[t]=this.heap[r],t++);this.heap.splice(t);for(let e=je(this.heap.length-1);e>=0;e--)this.percDown(e);return this}}function je(e){return(e+1>>1)-1}function We(e,t){return e.priority!==t.priority?e.priority<t.priority:e.pushCount<t.pushCount}function $e(e,t){var r=xe(e,t);return r._tasks=new Ne,r.push=function(e,t=0,n=(()=>{})){if("function"!=typeof n)throw new Error("task callback must be a function");if(r.started=!0,Array.isArray(e)||(e=[e]),0===e.length&&r.idle())return l((()=>r.drain()));for(var i=0,o=e.length;i<o;i++){var s={data:e[i],priority:t,callback:n};r._tasks.push(s)}l(r.process)},delete r.unshift,r}var Be=m((function(e,t){if(t=b(t),!Array.isArray(e))return t(new TypeError("First argument to race must be an array of functions"));if(!e.length)return t();for(var r=0,n=e.length;r<n;r++)p(e[r])(t)}),2);function Ue(e,t,r,n){var i=[...e].reverse();return G(i,t,r,n)}function He(e){var t=p(e);return i((function(e,r){return e.push(((e,...t)=>{let n={};if(e&&(n.error=e),t.length>0){var i=t;t.length<=1&&([i]=t),n.value=i}r(null,n)})),t.apply(this,e)}))}function Ve(e){var t;return Array.isArray(e)?t=e.map(He):(t={},Object.keys(e).forEach((r=>{t[r]=He.call(this,e[r])}))),t}function qe(e,t,r,n){const i=p(r);return we(e,t,((e,t)=>{i(e,((e,r)=>{t(e,!r)}))}),n)}var ze=m((function(e,t,r){return qe(k,e,t,r)}),3),Ge=m((function(e,t,r,n){return qe(C(t),e,r,n)}),4),Qe=m((function(e,t,r){return qe(O,e,t,r)}),3);function Ke(e){return function(){return e}}function Je(e,t,r){var n={times:5,intervalFunc:Ke(0)};if(arguments.length<3&&"function"==typeof e?(r=t||F(),t=e):(Ye(n,e),r=r||F()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var i=p(t),o=1;function s(){i(((e,...t)=>{!1!==e&&(e&&o++<n.times&&("function"!=typeof n.errorFilter||n.errorFilter(e))?setTimeout(s,n.intervalFunc(o-1)):r(e,...t))}))}return s(),r[D]}function Ye(e,t){if("object"==typeof t)e.times=+t.times||5,e.intervalFunc="function"==typeof t.interval?t.interval:Ke(+t.interval||0),e.errorFilter=t.errorFilter;else{if("number"!=typeof t&&"string"!=typeof t)throw new Error("Invalid arguments for async.retry");e.times=+t||5}}function Ze(e,t){t||(t=e,e=null);let r=e&&e.arity||t.length;h(t)&&(r+=1);var n=p(t);return i(((t,i)=>{function o(e){n(...t,e)}return(t.length<r-1||null==i)&&(t.push(i),i=F()),e?Je(e,o,i):Je(o,i),i[D]}))}function Xe(e,t){return De(O,e,t)}var et=m((function(e,t,r){return te(Boolean,(e=>e))(k,e,t,r)}),3),tt=m((function(e,t,r,n){return te(Boolean,(e=>e))(C(t),e,r,n)}),4),rt=m((function(e,t,r){return te(Boolean,(e=>e))(O,e,t,r)}),3),nt=m((function(e,t,r){var n=p(t);return A(e,((e,t)=>{n(e,((r,n)=>{if(r)return t(r);t(r,{value:e,criteria:n})}))}),((e,t)=>{if(e)return r(e);r(null,t.sort(i).map((e=>e.value)))}));function i(e,t){var r=e.criteria,n=t.criteria;return r<n?-1:r>n?1:0}}),3);function it(e,t,r){var n=p(e);return i(((i,o)=>{var s,a=!1;i.push(((...e)=>{a||(o(...e),clearTimeout(s))})),s=setTimeout((function(){var t=e.name||"anonymous",n=new Error('Callback function "'+t+'" timed out.');n.code="ETIMEDOUT",r&&(n.info=r),a=!0,o(n)}),t),n(...i)}))}function ot(e,t,r,n){var i=p(r);return J(function(e){for(var t=Array(e);e--;)t[e]=e;return t}(e),t,i,n)}function st(e,t,r){return ot(e,1/0,t,r)}function at(e,t,r){return ot(e,1,t,r)}function ut(e,t,r,n){arguments.length<=3&&"function"==typeof t&&(n=r,r=t,t=Array.isArray(e)?[]:{}),n=b(n||F());var i=p(r);return k(e,((e,r,n)=>{i(t,e,r,n)}),(e=>n(e,t))),n[D]}var lt=m((function(e,t){var r,n=null;return fe(e,((e,t)=>{p(e)(((e,...i)=>{if(!1===e)return t(e);i.length<2?[r]=i:r=i,n=e,t(e?null:{})}))}),(()=>t(n,r)))}));function ct(e){return(...t)=>(e.unmemoized||e)(...t)}var dt=m((function(e,t,r){r=S(r);var n=p(t),i=p(e),o=[];function s(e,...t){if(e)return r(e);o=t,!1!==e&&i(a)}function a(e,t){return e?r(e):!1!==e?t?void n(s):r(null,...o):void 0}return i(a)}),3);function ft(e,t,r){const n=p(e);return dt((e=>n(((t,r)=>e(t,!r)))),t,r)}var ht=m((function(e,t){if(t=b(t),!Array.isArray(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();var r=0;function n(t){p(e[r++])(...t,S(i))}function i(i,...o){if(!1!==i)return i||r===e.length?t(i,...o):void n(o)}n([])}));const pt={apply:n,applyEach:L,applyEachSeries:R,asyncify:c,auto:M,autoInject:B,cargo:q,cargoQueue:z,compose:K,concat:Z,concatLimit:Y,concatSeries:X,constant:ee,detect:re,detectLimit:ne,detectSeries:ie,dir:se,doUntil:ue,doWhilst:ae,each:ce,eachLimit:de,eachOf:k,eachOfLimit:E,eachOfSeries:O,eachSeries:fe,ensureAsync:he,every:pe,everyLimit:me,everySeries:ge,filter:be,filterLimit:Se,filterSeries:_e,forever:Ce,groupBy:Pe,groupByLimit:Ee,groupBySeries:Te,log:ke,map:A,mapLimit:J,mapSeries:I,mapValues:Le,mapValuesLimit:Ae,mapValuesSeries:Oe,memoize:Ie,nextTick:Re,parallel:Fe,parallelLimit:Me,priorityQueue:$e,queue:xe,race:Be,reduce:G,reduceRight:Ue,reflect:He,reflectAll:Ve,reject:ze,rejectLimit:Ge,rejectSeries:Qe,retry:Je,retryable:Ze,seq:Q,series:Xe,setImmediate:l,some:et,someLimit:tt,someSeries:rt,sortBy:nt,timeout:it,times:st,timesLimit:ot,timesSeries:at,transform:ut,tryEach:lt,unmemoize:ct,until:ft,waterfall:ht,whilst:dt,all:pe,allLimit:me,allSeries:ge,any:et,anyLimit:tt,anySeries:rt,find:re,findLimit:ne,findSeries:ie,flatMap:Z,flatMapLimit:Y,flatMapSeries:X,forEach:ce,forEachSeries:fe,forEachLimit:de,forEachOf:k,forEachOfSeries:O,forEachOfLimit:E,inject:G,foldl:G,foldr:Ue,select:be,selectLimit:Se,selectSeries:_e,wrapSync:c,during:dt,doDuring:ae}},33998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigUtilInstance=void 0;var n=s(r(72551)),i=r(51742),o=s(r(53059));function s(e){return e&&e.__esModule?e:{default:e}}const a=new function(){const e=this;this.resolveConfigVariables=function(e,t){let r=0,i=0,o=!0;function s(e){const t=e.split(/[/\\:?=&\s]/);for(let r=0;r<t.length;r++)if("$"===t[r][0]){const i=t[r].substring(1);let s=a(i);if(void 0!==s){const a=e.replace(t[r],s);n.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveConfigVariables:resolveString configString",t[r],i,s,"old value=",e,"value=",a),o=!0,e=a}}return e}function a(t){let r=e[t];return void 0===r&&(e.custom?(r=e.custom[t],void 0===r&&n.default.system.warn("ConfigUtil.resolveString",`Missing [${t}] variable from finsemble.custom configuration object`)):n.default.system.error("ConfigUtil.resolveString",`Missing "custom" node from finsemble configuration - unable to get variable resoution for variable: ${t}`)),r}function u(e,t,r){n.default.system.verbose("forceObjectsToLogger","resolveArray","pass",t,"recursionLevel",r,"configArray:",e);for(let n=0;n<e.length;n++){const i=e[n];"string"==typeof i&&i.indexOf("$")>-1?e[n]=s(i):i instanceof Array?u(i,t,r+1):"object"==typeof i&&l(i,t,r+1)}}function l(e,t,r){e=e||{},n.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveConfigVariables:resolveObject","pass",t,"recursionLevel",r,"configObject:",e),Object.keys(e).forEach((n=>{const i=e[n];"string"==typeof i&&i.indexOf("$")>-1?e[n]=s(i):i instanceof Array?u(i,t,r+1):"object"==typeof i&&l(i,t,r+1)}))}for(;o&&i++<100;)o=!1,l(t,++r,1);i>=100&&n.default.system.error("forceObjectsToLogger","resolveConfigVariables exceeded maximum passes so continuing -- probably a recursive macro definitions. Look in this config for unresolved macro variables",e)},this.getExpandedRawManifest=function(t,r){function o(t,s,a){n.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getRawManifest",s,a),s.getManifest((r=>{n.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest: manifest retrieved. Pre-variable resolution",r),e.resolveConfigVariables(r.finsemble,r.finsemble),n.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest:Complete. post-variable resolution",r),t(r)}),(e=>{e&&(n.default.system.error("ConfigUtil.getExpandedRawManifest:application.getManifest:err",e),r&&r()),s.getParentUuid((e=>{const r=i.System.Application.wrap(e);n.default.system.debug("forceObjectsToLogger","uuid",e,"parentApplication",r),a<10?o(t,r,++a):t("could not find manifest in parent applications")}))}))}n.default.system.debug("ConfigUtil.getExpandedRawManifest starting"),i.System.ready((()=>{const e=i.System.Application.getCurrent();o(t,e,1)}))},this.readConfigFile=function(e,t){n.default.system.debug(`fetching ${e}`),fetch(e,{credentials:"include",cache:"no-cache"}).then((e=>e.json())).catch((r=>{t(`Failure importing ${e}: ${r}`,null)})).then((e=>{t(null,e)}))},this.getInitialManifest=function(t){i.System.ready((()=>{i.System.Application.getCurrent().getManifest((r=>{r.finsemble=r.finsemble||{},e.resolveConfigVariables(r.finsemble,r.finsemble),r.finsemble.applicationRoot||n.default.system.error("FATAL ERROR: applicationRoot was not defined in manifest file.");const i=`${r.finsemble.moduleRoot}/configs/core/config.json`;e.readConfigFile(i,((o,s)=>{o?n.default.system.error(`ConfigUtil.getInitialManifest:getCoreConfig:failed importing into finsemble config. $moduleRoot=${r.finsemble.moduleRoot}; Full Path=${i}`,o):(Object.keys(s).forEach((e=>{if("importConfig"===e){r.finsemble.importConfig=r.finsemble.importConfig||[];for(let e=0;e<s.importConfig.length;e++)r.finsemble.importConfig.unshift(s.importConfig[e])}else if("importThirdPartyConfig"===e){r.finsemble.importThirdPartyConfig=r.finsemble.importThirdPartyConfig||[];for(let e=0;e<s.importThirdPartyConfig.length;e++)r.finsemble.importThirdPartyConfig.unshift(s.importThirdPartyConfig[e])}else r.finsemble[e]=s[e]})),e.resolveConfigVariables(r.finsemble,r.finsemble),n.default.system.debug("forceObjectsToLogger","ConfigUtil.getInitialManifest:getCoreConfig:Initial Manifest after variables Resolved",r)),t(r)}))}))}))},this.promptAndSaveJSONToLocalFile=function(e,t){n.default.system.debug("saveJSONToLocalFile",e,t);const r=JSON.stringify(t,null,"\t"),i=`data:application/json;charset=utf-8,${encodeURIComponent(r)}`,o=`${e}.json`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",o),s.click()},this.configFormatForExport=function(e,t){n.default.system.debug("configFormatForExport starting",e,t);let r=o.default.cloneDeep(t);if("raw"===e);else if("all"===e)delete r.importConfig,delete r.comment;else if("application"===e)delete r.importConfig,delete r.comment,delete r.system,delete r.services;else if("workspace"===e)r={workspace:r};else if("workspaceTemplate"===e){const e={};e[r.name]=r,r={workspaceTemplates:e}}else"services"===e?r=r.services:"components"===e&&(r=r.components);return r},this.getDefault=function(e,t,r){let n=r;if(e){try{const r=t.split(".");let i=e;for(let e=1;e<r.length;e++)i=i[r[e]];n=i}catch(e){n=r}void 0===n&&(n=r)}return n},this.getFile=async function(e,t=Function.prototype){n.default.system.debug(`fetching import ${e}`);let r=null;return await fetch(e,{credentials:"include",cache:"no-cache"}).then((e=>e.json())).catch((r=>{t(`failure importing ${e}: ${r}`,null)})).then((e=>{t(null,e),r=e})),r}};t.ConfigUtilInstance=a},93802:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(5939),i=u(r(72551)),o=u(r(88021)),s=u(r(71879)),a=r(24232);function u(e){return e&&e.__esModule?e:{default:e}}let l;class c extends n.EventEmitter{constructor(e,t,r){if(super(),!r||!r.System)throw new Error("Monitors class requires dependency injection. Ensure that System is being passed in.");({System:l}=r),this.cachedMonitorInfo=null,this.limitedMonitorRefreshQueue=new o.default({concurrency:1}),this.bindAllFunctions(),this.limitedMonitorRefreshQueue.add((()=>this.refreshMonitors(e))),l.addEventListener("monitor-info-changed",(()=>{this.limitedMonitorRefreshQueue.add((()=>this.refreshMonitors(t)))})),l.addEventListener("session-changed",(e=>{e&&("object"!=typeof e||!e.hasOwnProperty("reason")||"unlock"!==e.reason&&"remote-connect"!==e.reason&&"unknown"!==e.reason)||this.limitedMonitorRefreshQueue.add((()=>this.refreshMonitors(t)))}))}bindAllFunctions(){let e=this;for(let t of Object.getOwnPropertyNames(Object.getPrototypeOf(e))){let r=e[t];r instanceof Function&&r!==c&&(e[t]=e[t].bind(e))}}asyncIt(e,t){return t(e),e}rationalizeMonitor(e){e.monitorRect.width=e.monitorRect.right-e.monitorRect.left,e.monitorRect.height=e.monitorRect.bottom-e.monitorRect.top,e.availableRect.width=e.availableRect.right-e.availableRect.left,e.availableRect.height=e.availableRect.bottom-e.availableRect.top}calculateMonitorScale(e,t){return(t.right-t.left)/(e.right-e.left)}monitorInfoIsChanged(e,t){if(!e||!t)return!0;if(e.nonPrimaryMonitors.length!==t.nonPrimaryMonitors.length)return!0;if(!(0,a.checkIfBoundsAreEqual)(e.primaryMonitor.availableRect,t.primaryMonitor.availableRect))return!0;if(!(0,a.checkIfBoundsAreEqual)(e.primaryMonitor.monitorRect,t.primaryMonitor.monitorRect))return!0;e.nonPrimaryMonitors.sort(((e,t)=>e.deviceName>t.deviceName?1:e.deviceName<t.deviceName?-1:0)),t.nonPrimaryMonitors.sort(((e,t)=>e.deviceName>t.deviceName?1:e.deviceName<t.deviceName?-1:0));let r=!1;return e.nonPrimaryMonitors.forEach(((e,n)=>{const i=t.nonPrimaryMonitors[n];(0,a.checkIfBoundsAreEqual)(e.availableRect,i.availableRect)&&(0,a.checkIfBoundsAreEqual)(e.monitorRect,i.monitorRect)||(r=!0)})),r}async refreshMonitors(e=Function.prototype){this.limitedMonitorRefreshQueue.clear();const t=await l.getMonitorInfo();if(!this.monitorInfoIsChanged(this.cachedMonitorInfo,t))return i.default.system.info("Skipped refreshMonitors because monitors do not change."),e(this.allMonitors);this.allMonitors=[];let{primaryMonitor:r}=t;if(Object.entries(r).length){r.whichMonitor="primary",r.position=0,this.allMonitors.push(Object.assign({},r));for(let e=0;e<t.nonPrimaryMonitors.length;e++){let r=t.nonPrimaryMonitors[e];r.whichMonitor=e,r.position=e+1,this.allMonitors.push(r)}for(let e=0;e<this.allMonitors.length;e++){let t=this.allMonitors[e];this.rationalizeMonitor(t)}this.cachedMonitorInfo=(0,s.default)(t),e(this.allMonitors),this.ready=!0,1===this.limitedMonitorRefreshQueue.pending&&this.emit("monitors-changed",{monitors:this.allMonitors})}else i.default.system.info("There is no primary monitor in 'monitorInfo' - the system is still in the process of updating the monitor information. Returning from monitorsAndScaling -> refreshMonitors")}getAllMonitors(e=Function.prototype){return this.ready?this.asyncIt(JSON.parse(JSON.stringify(this.allMonitors)),e):e?void this.refreshMonitors(e):"not ready"}getMonitorFromScaledXY(e,t,r=Function.prototype){return new Promise((n=>{if(!this.ready)return this.refreshMonitors((()=>{this.getMonitorFromScaledXY(e,t,r)})),"not ready";let i=null;for(var o=this.allMonitors,s=0;s<o.length;s++){var a=o[s],{monitorRect:u}=a;if(e>=u.left&&e<u.right&&t>=u.top&&t<u.bottom){i=a;break}}n(i),r(i)}))}getMonitorFromUnscaledXY(e,t,r=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.getMonitorFromUnscaledXY(e,t,r)})),"not ready";for(var n=this.allMonitors,i=0;i<n.length;i++){var o=n[i],s=o.monitor.scaledRect;if(e>=s.left&&e<s.right&&t>=s.top&&t<s.bottom)return this.asyncIt(o,r)}return this.asyncIt(null,r)}async translatePointFromScaled(e,t=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.translatePointFromScaled(e,t)})),"not ready";var r;e.point?({point:r}=e):r=e;var{monitor:n}=e;n||(n=(await this.getMonitorFromScaledXY(r.x,r.y)).data);let i=null;if(n){var o=r.x-n.monitorRect.left,s=r.y-n.monitorRect.top,a=o*n.deviceScaleFactor,u=s*n.deviceScaleFactor;i={x:a+n.monitor.scaledRect.left,y:u+n.monitor.scaledRect.top}}return t(i),Promise.resolve(i)}translatePointToScaled(e,t=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.translatePointToScaled(e,t)})),"not ready";var r;e.point?({point:r}=e):r=e;var n=e.monitor||this.getMonitorFromUnscaledXY(r.x,r.y);if(!n)return this.asyncIt(null,t);var i=r.x-n.monitor.scaledRect.left,o=r.y-n.monitor.scaledRect.top,s=i/n.deviceScaleFactor,a=o/n.deviceScaleFactor,u={x:s+n.monitorRect.left,y:a+n.monitorRect.top};return this.asyncIt(u,t)}async translateRectToScaled(e,t=Function.prototype){let r;if(!this.ready)return this.refreshMonitors((()=>{this.translateRectToScaled(e,t)})),"not ready";var n=this.translatePointToScaled({x:e.left,y:e.top}),i=this.translatePointToScaled({x:e.right,y:e.bottom});return!n&&i&&(r=await this.getMonitorFromScaledXY(i),n=this.translatePointToScaled({monitor:r,point:{x:e.left,y:e.top}})),!i&&n&&(r=await this.getMonitorFromScaledXY(i),i=this.translatePointToScaled({monitor:r,point:{x:e.right,y:e.bottom}})),this.asyncIt({top:n?n.y:null,left:n?n.x:null,bottom:i?i.y:null,right:i?i.x:null,height:n&&i?i.y-n.y:null,width:n&&i?i.x-n.x:null},t)}translateRectFromScaled(e,t=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.translateRectFromScaled(e,t)})),"not ready";var r=this.translatePointFromScaled({x:e.left,y:e.top}),n=this.translatePointFromScaled({x:e.right,y:e.bottom});return!r&&n&&(r=this.translatePointFromScaled({monitor:this.getMonitorFromUnscaledXY(n),point:{x:e.left,y:e.top}})),!n&&r&&(n=this.translatePointFromScaled({monitor:this.getMonitorFromUnscaledXY(r),point:{x:e.right,y:e.bottom}})),this.asyncIt({top:r?r.y:null,left:r?r.x:null,bottom:n?n.y:null,right:n?n.x:null,height:r&&n?n.y-r.y:null,width:r&&n?n.x-r.x:null},t)}}var d=c;t.default=d},19886:(e,t)=>{"use strict";function r(e,t){const r=(t=t.replace(/^\./,"")).split(/\.(?![^[]*])/g);for(let t=0;t<r.length;++t){const n=r[t].replace(/[["\]]/g,"");if(!e)return null;if("string"==typeof e)return null;if(!(n in e))return null;e=e[n]}return e}function i(e,t){const r=[];for(const n in e){const i=`${t}.`;n.includes(i)&&(r.push(n),delete e[n])}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.byString=r,t.initObject=function e(t,r,i){let o;if(r||(r=null),"object"!=typeof t)return o=r?`${r}.${n}`:n,void(i[o]=r);for(const n in t)"object"==typeof t[n]&&"undefined"!==t[n]?(o=r?`${r}.${n}`:n,i[o]=r,e(t[n],o,i)):(o=r?`${r}.${n}`:n,i[o]=r)},t.mapField=function e(t,n,i){if(i[n])return;const o=(n=(n=n.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),s=n;if(!i.hasOwnProperty(s)){let e=null;o.length>1&&(o.pop(),e=o.join(".")),i[s]=e}const a=r(t,s);if("undefined"!==a&&"object"==typeof a)for(const r in a)e(t,`${s}.${r}`,i)},t.checkForObjectChange=function(e,t,n){const o=r(e,t);return null!==o&&("object"==typeof o||"object"!=typeof o&&"object"==typeof t?i(n,t):null)},t.setPath=void 0,t.setPath=(e,t,r)=>t.split(".").reduce(((e,n)=>e[n]=t.split(".").pop()===n?r:e[n]||{}),e)},21014:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=new function(){let e=3;this.diagLevel=function(){return e},this.setDiagLevel=function(t){e=t},this.validationEnabled=function(){return e>=4}};t.default=r},73699:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(72551)),i=r(33998),o=r(51742),s=a(r(5020));function a(e){return e&&e.__esModule?e:{default:e}}let u=null;var l=new function(){const e={},t={};let a=null;this.getDefaultTemplateURL=function(e){a?setTimeout((()=>{e(a)}),0):(u||(u=r(70010).default),u.getValue({field:"finsemble"},((t,r)=>{a=i.ConfigUtilInstance.getDefault(r,"finsemble.notificationURL",`${r.moduleRoot}/components/system/notification/notification.html`),e(a)})))},this.alert=function(e,t,r,n,i){const o=this;i&&i.url?this.alertInternal(e,t,r,n,i,i.url):this.getDefaultTemplateURL((s=>{o.alertInternal(e,t,r,n,i,s)}))},this.alertInternal=function(r,i,a,u,l,c){let d=!1;const f=`UserNotification.alert.${a}`,h=(l=l||{}).duration||864e5;switch(i){case"ONCE-SINCE-STARTUP":f in e?d=!1:(d=!0,e[f]=!0);break;case"MAX-COUNT":{let e=0;const r=l.maxCount||1;f in t&&(e=t[f]),t[f]=++e,e<=r&&(d=!0);break}default:d=!0}if(n.default.log("UserNotification.alert",r,d,i,a,u,l),d){const e={url:c,message:u,timeout:h};s.default.systemLog({notification:!0},`Notification: ${u}`),new o.System.Notification(e)}}};t.default=l},13712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(21014))&&n.__esModule?n:{default:n},o=new function(){function e(e,t,r){const n=function(){try{throw Error("")}catch(e){return e}}(),i=n.stack.split("\n")[5],o=i.indexOf("at "),s=i.slice(o+2,i.length),a=n.stack.split("\n")[6],u=a.indexOf("at "),l=a.slice(u+2,a.length);console.warn(`parameter validation failed: parameter ${e} is of type '${typeof t}' but should be of type '${r}' in${s} called by${l}`)}this.args=function(){let t=!0;if(i.default.validationEnabled()){const r=arguments.length;if((r+1)%2!=0)for(let n=0;n<r;n+=2){let r=!1;const i=arguments[n];let o=arguments[n+1];if("="===o.slice(-1)&&(o=o.slice(0,-1),r=!0),typeof i!==o&&!(r&&void 0===i||void 0!==i&&"any"===o)){e(n/2+1,i,o),t=!1;break}}else console.warn(`validate.args requires even number of parameters: ${JSON.stringify(arguments)}`)}return t},this.args2=function(){let t=!0;if(i.default.validationEnabled()){const r=arguments.length;if((r+1)%3!=0)for(let n=0;n<r;n+=3){let r=!1;const i=arguments[n],o=arguments[n+1];let s=arguments[n+2];if("="===s.slice(-1)&&(s=s.slice(0,-1),r=!0),typeof o!==s&&!(r&&void 0===o||void 0!==o&&"any"===s)){e(i,o,s),t=!1;break}}else console.warn(`validate.args requires even number of parameters: ${JSON.stringify(arguments)}`)}return t}};t.default=o},18523:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e={},t={}){if(!e.url)throw new Error("Please specify the url of the app directory.");this.creds=t,this.config={url:e.url.replace(/\/+$/,"")}}_get(e,t){fetch(this.config.url+e,{method:"GET"}).then((e=>{e.json().then((r=>{200!==e.status?t(r):t(null,r)}))})).catch((e=>{t({message:`Request failed ${e.message}`})}))}_post(e,t,r){fetch(this.config.url+e,{method:"POST",credentials:"include",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}}).then((e=>{e.json().then((t=>{200!==e.status?r(t):r(null,t)}))})).catch((e=>{r({message:`Request failed ${e.message}`})}))}getAll(e){return new Promise(((t,r)=>{this._get("/apps/",((n,i)=>{n?r(n):t(i.applications),e&&e(n,!n&&i.applications)}))}))}get(e,t){return new Promise(((r,n)=>{this._get(`/apps/${e}`,((e,i)=>{let o;e?n(e):(o=i,i.applications&&i.applications.length&&(o=i.applications[0]),r(o)),t&&t(e,!e&&o)}))}))}getTags(e){return new Promise(((t,r)=>{this._get("/tags/",((n,i)=>{n?r(n):t(i.tags),e&&e(n,!n&&i.tags)}))}))}search(e,t){return new Promise(((r,n)=>{this._post("/apps/search",e,((e,i)=>{e?n(e):r(i.applications),t&&t(e,!e&&i.applications)}))}))}}},14291:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e){return e}}},39087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(5939)),i=u(r(72551)),o=u(r(39319)),s=r(51742),a=r(75688);function u(e){return e&&e.__esModule?e:{default:e}}class l extends n.default.EventEmitter{constructor(e){super(),i.default.system.debug("SplinterAgent constructor",e),this.spawnsAnything=e.spawnsAnything,this.windows=[],this.uuid=e.app.uuid,this.componentsICanSpawn=e.components||[],this.servicesICanSpawn=e.services||[],this.maxWindowsPerAgent=e.maxWindowsPerAgent,this.app=e.app,this.config=e,this.isMaxed=!1,this.addListeners()}canSpawn(e){return i.default.system.debug(`SplinterAgent.canSpawn: My uuid: ${this.app.uuid}. Checking on: ${e}`),this.componentsICanSpawn.includes(e)||this.servicesICanSpawn.includes(e)}setSlaveTitle(){const e=`Splinter Agent | Open Windows: ${this.windows.length} | Components:${this.componentsICanSpawn.toString()||"N/A"}, Services: ${this.servicesICanSpawn.toString()||"N/A"}`;i.default.system.debug(`SplinterAgent.setSlaveTitle: ${e}`),o.default.transmit(`${this.app.uuid}.setTitle`,{title:e})}addListeners(){i.default.system.debug("SplinterAgent.addListeners"),this.app.addEventListener("window-closed",this.removeWindow.bind(this)),this.app.addEventListener("window-crashed",(e=>{a.FinsembleWindow.getInstance(e,((t,r)=>{t?i.default.system.error("Window crash getInstance error",t):r.close(),this.removeWindow(e),i.default.system.error("Agent child crashed",e)}))})),this.app.addEventListener("window-out-of-memory",(e=>{this.removeWindow(e),i.default.system.error("Agent child out of memory",e)})),this.app.addEventListener("closed",(e=>{this.shutdown(),this.emit("agent-closed"),i.default.system.log("Agent closed",e)})),this.app.addEventListener("crashed",(e=>{this.shutdown(),this.emit("agent-crashed"),i.default.system.error("Agent crashed",e)})),this.app.addEventListener("out-of-memory",(e=>{this.shutdown(),this.emit("agent-crashed"),i.default.system.error("Agent out of memory",e)})),this.app.addEventListener("not-responding",(e=>{this.shutdown(),this.emit("agent-crashed"),i.default.system.error("Agent not responding",e)}))}addWindow(e){i.default.system.info("SplinterAgent.addWindow",e),this.windows.push(e),this.setSlaveTitle(),this.checkMaximum()}checkMaximum(){i.default.system.debug("SplinterAgent.checkMaximum"),this.isMaxed=this.windows.length===this.maxWindowsPerAgent,i.default.system.debug(`SplinterAgent.checkMaximum. numWindows: ${this.windows.length}. maxWindows: ${this.maxWindowsPerAgent}. isMaxed:${this.isMaxed}`),this.isMaxed&&this.emit("windowMaximumReached")}requestSpawn(e,t){i.default.system.debug("SplinterAgent.requestSpawn"),i.default.system.debug("SplinterAgent.requestSpawn arguments:",e);const r=this;e.uuid=this.app.uuid,window.pendingWindowNames&&(window.pendingWindowNames[e.name]=e.uuid),this.addWindow(e);const n=`${e.name}.onSpawned`;var a=function(){const u=s.System.Window.wrap(e.uuid,e.name);function l(e){o.default.removeListener(n,a),i.default.system.info(`SplinterAgent.noticed window closed: ${e.name}`),r.removeWindow({name:e.name})}u.addEventListener("closed",l),u.addEventListener("crashed",l),i.default.system.info(`Window spawned and connected to the agent. Adding window to global store. ${e.name}`);const c=e.customData.manifest.finsemble;e.customData.manifest={finsemble:{FinsembleUUID:c.FinsembleUUID,applicationRoot:c.applicationRoot,routerDomainRoot:c.moduleRoot,router:c.router}},t&&t(u)};o.default.addListener(n,a),o.default.transmit(`${this.app.uuid}.spawn`,{windowDescriptor:e})}removeWindow(e){i.default.system.debug(`SplinterAgent.removeWindow. window name: ${e.name}`);for(let t=0;t<this.windows.length;t++)if(this.windows[t].name===e.name){this.windows.splice(t,1),this.emit("windowRemoved",e);break}0===this.windows.length&&(i.default.system.debug(`Agent empty ${this.app.uuid}`),this.emit("empty")),this.setSlaveTitle(),this.checkMaximum()}async shutdown(){this.removeListener("empty",this.shutdown),await s.System.closeApplication(this.app)}}var c=l;t.default=c},46460:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(r(5939)),i=d(r(71879)),o=d(r(57664)),s=d(r(39319)),a=d(r(72551)),u=d(r(39087)),l=r(24232),c=r(51742);function d(e){return e&&e.__esModule?e:{default:e}}class f extends n.default.EventEmitter{constructor(e,t=Function.prototype){super(),a.default.system.debug("SplinterAgentPool constructor",e),this.finsembleConfig=e.finsembleConfig,this.manifest=e.manifest,this.status="requestedNewAgent",this.spawnQueue=[],this.agents=[],this.defaultAgentLabel=e.defaultAgentLabel||"defaultAgent",this.shuttingDown=!1,this.shutdown=this.shutdown.bind(this),this.removeAgent=this.removeAgent.bind(this);const r={agentLabel:this.defaultAgentLabel,spawnsAnything:!0,maxWindowsPerAgent:e.maxWindowsForDefaultAgent||1/0};e.agentList=e.agentList.concat([r]),a.default.system.debug("Spawning initial agent list",e.agentList),this.spawnSplinterAgent=this.spawnSplinterAgent.bind(this),this.poolReady=!1,o.default.each(e.agentList,this.spawnSplinterAgent,(()=>{this.poolReady=!0,this.flushSpawnQueue(),t()}))}availableAgentCount(e){let t=0;for(let r=0;r<this.agents.length;r++){const n=this.agents[r];n.config.agentLabel===e&&(!n.maxWindowsPerAgent||n.windows.length<n.maxWindowsPerAgent)&&t++}return t}addAgent(e){const t=this;if(a.default.system.debug(`Agent added to pool. Agent UUID: ${e.app.uuid}`),e.spawnsAnything){const r=()=>{const n=t.getFlexibleAgents();t.shuttingDown||0!==n.length||t.spawnSplinterAgent(e.config),e.removeListener("agent-closed",r),e.removeListener("agent-crashed",r)};e.addListener("agent-closed",r),e.addListener("agent-crashed",r)}e.addListener("windowRemoved",(e=>{t.emit("windowRemoved",e)})),e.addListener("windowMaximumReached",(()=>{0===this.availableAgentCount(e.config.agentLabel)&&t.spawnSplinterAgent(e.config)})),e.addListener("empty",(()=>{t.onAgentEmpty(e)})),a.default.system.debug(`addAgent pushed: ${e.app.uuid}`),this.agents.push(e),this.status="ready",this.flushSpawnQueue()}getFlexibleAgents(){return this.agents.filter((e=>e.spawnsAnything))}queueSpawn(e,t){a.default.system.debug("SplinterAgentPool Queueing Spawn.",e);const r={windowDescriptor:e,cb:t};this.spawnQueue.push(r)}flushSpawnQueue(){const e=(0,i.default)(this.spawnQueue);a.default.system.debug("SplinterAgentPool flushing spawn queue",e),this.spawnQueue=[];for(let t=0;t<e.length;t++){const r=e[t];this.routeSpawnRequest(r.windowDescriptor,r.cb)}}routeSpawnRequest(e,t=Function.prototype){return a.default.system.debug("SplinterAgentPool routingSpawnRequest",e),new Promise((r=>{const n=e=>{t(e),r(e)},i=this.retrieveAvailableAgent(e.componentType);i?i.requestSpawn(e,n):this.queueSpawn(e,n)}))}spawnSplinterAgent(e,t){a.default.system.debug("SplinterAgentPool spawning new Agent",e);const r=this;this.status="requestedNewAgent";const n=(0,l.getRandomWindowName)(e.agentLabel),i={url:`${this.finsembleConfig.moduleRoot}/services/window/Splintering/SplinterAgentSlave.html`,uuid:n,name:n,mainWindowOptions:{customData:{manifest:{finsemble:this.finsembleConfig}}},plugins:!0},o=new c.System.Application(i,(()=>{s.default.addListener(`${i.name}.onSpawned`,(()=>{a.default.system.debug("Agent spawned and connected to the pool.",i.name),e.app=o;const n=new u.default(e);r.addAgent(n),r.emit("addAgent",i.name),t&&t()}))}),(e=>{a.default.system.error("Failed to create Agent",e)}))}removeAgent(e){a.default.system.debug("SplinterAgentPool removeAgent",e,this.agents);for(let t=0;t<this.agents.length;t++){const r=this.agents[t];if(r.uuid===e)return this.agents.splice(t,1),void this.emit("processRemoved",r.name)}}retrieveAvailableAgent(e){a.default.system.debug(`SplinterAgentPool.retrieveAvailableAgent for: ${e}`);for(let t=0;t<this.agents.length;t++){const r=this.agents[t];if(r.canSpawn(e)){if(r.isMaxed)continue;return a.default.system.debug(`SplinterAgentPool.retrieveAvailableAgent: agent found (${r.app.uuid})`),r}}const t=this.getFlexibleAgents();for(let e=0;e<t.length;e++){const r=t[e];if(!r.isMaxed)return a.default.system.debug(`SplinterAgentPool.retrieveAvailableAgent: agent found (${r.app.uuid})`),r}return a.default.system.debug("No agent available."),null}onAgentEmpty(e){a.default.system.debug(`SplinterAgentPool.onAgentEmpty. ${e.app.uuid} is empty.`,this.shuttingDown),(this.shuttingDown||this.availableAgentCount(e.config.agentLabel)>1)&&(this.removeAgent(e.app.uuid),e.shutdown())}shutdown(e){a.default.system.debug("SplinterAgentPool.shutdown.",this.agents);const t=this;async function r(e){const r=c.System.Application.wrap(e.uuid);await c.System.closeApplication(r),t.removeAgent(e.uuid),a.default.system.verbose(`shutdown sync close, ${e.uuid}`)}t.shuttingDown=!0,o.default.whilst((()=>t.agents.length),(e=>{const n=JSON.parse(JSON.stringify(t.agents));o.default.each(n,r,e)}),e)}}var h=f;t.default=h},98903:(e,t,r)=>{"use strict";var n=r(15689),i=r(33969),o=r(65255),s=r(34293),a=r(33508),u=r(63368),l=r(20742),c=r(79394),d=r(93724);e.exports=y,y.prototype.validate=function(e,t){var r;if("string"==typeof e){if(!(r=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);r=n.validate||this._compile(n)}var i=r(t);return!0!==r.$async&&(this.errors=r.errors),i},y.prototype.compile=function(e,t){var r=this._addSchema(e,void 0,t);return r.validate||this._compile(r)},y.prototype.addSchema=function(e,t,r,n){if(Array.isArray(e)){for(var o=0;o<e.length;o++)this.addSchema(e[o],void 0,r,n);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return C(this,t=i.normalizeId(t||s)),this._schemas[t]=this._addSchema(e,r,n,!0),this},y.prototype.addMetaSchema=function(e,t,r){return this.addSchema(e,t,r,!0),this},y.prototype.validateSchema=function(e,t){var r=e.$schema;if(void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(!(r=r||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(p)?p:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var n=this.validate(r,e);if(!n&&t){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return n},y.prototype.getSchema=function(e){var t=v(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var r=i.schema.call(e,{schema:{}},t);if(r){var o=r.schema,a=r.root,u=r.baseId,l=n.call(e,o,a,void 0,u);return e._fragments[t]=new s({ref:t,fragment:!0,schema:o,root:a,baseId:u,validate:l}),l}}(this,e)}},y.prototype.removeSchema=function(e){if(e instanceof RegExp)return w(this,this._schemas,e),w(this,this._refs,e),this;switch(typeof e){case"undefined":return w(this,this._schemas),w(this,this._refs),this._cache.clear(),this;case"string":var t=v(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var r=this._opts.serialize,n=r?r(e):e;this._cache.del(n);var o=this._getId(e);o&&(o=i.normalizeId(o),delete this._schemas[o],delete this._refs[o])}return this},y.prototype.addFormat=function(e,t){return"string"==typeof t&&(t=new RegExp(t)),this._formats[e]=t,this},y.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var r=void 0===(t=t||{}).separator?", ":t.separator,n=void 0===t.dataVar?"data":t.dataVar,i="",o=0;o<e.length;o++){var s=e[o];s&&(i+=n+s.dataPath+" "+s.message+r)}return i.slice(0,-r.length)},y.prototype._addSchema=function(e,t,r,n){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var o=this._opts.serialize,a=o?o(e):e,u=this._cache.get(a);if(u)return u;n=n||!1!==this._opts.addUsedSchema;var l=i.normalizeId(this._getId(e));l&&n&&C(this,l);var c,d=!1!==this._opts.validateSchema&&!t;d&&!(c=l&&l==i.normalizeId(e.$schema))&&this.validateSchema(e,!0);var f=i.ids.call(this,e),h=new s({id:l,schema:e,localRefs:f,cacheKey:a,meta:r});return"#"!=l[0]&&n&&(this._refs[l]=h),this._cache.put(a,h),d&&c&&this.validateSchema(e,!0),h},y.prototype._compile=function(e,t){if(e.compiling)return e.validate=o,o.schema=e.schema,o.errors=null,o.root=t||o,!0===e.schema.$async&&(o.$async=!0),o;var r,i;e.compiling=!0,e.meta&&(r=this._opts,this._opts=this._metaOpts);try{i=n.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=r)}return e.validate=i,e.refs=i.refs,e.refVal=i.refVal,e.root=i.root,i;function o(){var t=e.validate,r=t.apply(this,arguments);return o.errors=t.errors,r}},y.prototype.compileAsync=r(59677);var f=r(77931);y.prototype.addKeyword=f.add,y.prototype.getKeyword=f.get,y.prototype.removeKeyword=f.remove,y.prototype.validateKeyword=f.validate;var h=r(85359);y.ValidationError=h.Validation,y.MissingRefError=h.MissingRef,y.$dataMetaSchema=c;var p="http://json-schema.org/draft-07/schema",m=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],g=["/properties"];function y(e){if(!(this instanceof y))return new y(e);e=this._opts=d.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:E,warn:E,error:E};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=u(e.format),this._cache=e.cache||new o,this._loadingSchemas={},this._compilations=[],this.RULES=l(),this._getId=function(e){switch(e.schemaId){case"auto":return _;case"id":return b;default:return S}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=a),this._metaOpts=function(e){for(var t=d.copy(e._opts),r=0;r<m.length;r++)delete t[m[r]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var r=e._opts.formats[t];e.addFormat(t,r)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var r=e._opts.keywords[t];e.addKeyword(t,r)}}(this),function(e){var t;if(e._opts.$data&&(t=r(66835),e.addMetaSchema(t,t.$id,!0)),!1!==e._opts.meta){var n=r(40038);e._opts.$data&&(n=c(n,g)),e.addMetaSchema(n,p,!0),e._refs["http://json-schema.org/schema"]=p}}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(t)if(Array.isArray(t))e.addSchema(t);else for(var r in t)e.addSchema(t[r],r)}(this)}function v(e,t){return t=i.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function w(e,t,r){for(var n in t){var i=t[n];i.meta||r&&!r.test(n)||(e._cache.del(i.cacheKey),delete t[n])}}function b(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function S(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function _(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function C(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function E(){}},65255:e=>{"use strict";var t=e.exports=function(){this._cache={}};t.prototype.put=function(e,t){this._cache[e]=t},t.prototype.get=function(e){return this._cache[e]},t.prototype.del=function(e){delete this._cache[e]},t.prototype.clear=function(){this._cache={}}},59677:(e,t,r)=>{"use strict";var n=r(85359).MissingRef;e.exports=function e(t,r,i){var o=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof r&&(i=r,r=void 0);var s=a(t).then((function(){var e=o._addSchema(t,void 0,r);return e.validate||u(e)}));return i&&s.then((function(e){i(null,e)}),i),s;function a(t){var r=t.$schema;return r&&!o.getSchema(r)?e.call(o,{$ref:r},!0):Promise.resolve()}function u(e){try{return o._compile(e)}catch(t){if(t instanceof n)return function(t){var n=t.missingSchema;if(l(n))throw new Error("Schema "+n+" is loaded but "+t.missingRef+" cannot be resolved");var i=o._loadingSchemas[n];return i||(i=o._loadingSchemas[n]=o._opts.loadSchema(n)).then(s,s),i.then((function(e){if(!l(n))return a(e).then((function(){l(n)||o.addSchema(e,n,void 0,r)}))})).then((function(){return u(e)}));function s(){delete o._loadingSchemas[n]}function l(e){return o._refs[e]||o._schemas[e]}}(t);throw t}}}},85359:(e,t,r)=>{"use strict";var n=r(33969);function i(e,t,r){this.message=r||i.message(e,t),this.missingRef=n.url(e,t),this.missingSchema=n.normalizeId(n.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:o((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:o(i)},i.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},63368:(e,t,r)=>{"use strict";var n=r(93724),i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,a=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,u=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,l=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,d=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,f=/^(?:\/(?:[^~/]|~0|~1)*)*$/,h=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return e="full"==e?"full":"fast",n.copy(m[e])}function g(e){var t=e.match(i);if(!t)return!1;var r=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:o[n])}function y(e,t){var r=e.match(s);if(!r)return!1;var n=r[1],i=r[2],o=r[3],a=r[5];return(n<=23&&i<=59&&o<=59||23==n&&59==i&&60==o)&&(!t||a)}e.exports=m,m.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":l,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:S,uuid:d,"json-pointer":f,"json-pointer-uri-fragment":h,"relative-json-pointer":p},m.full={date:g,time:y,"date-time":function(e){var t=e.split(v);return 2==t.length&&g(t[0])&&y(t[1],!0)},uri:function(e){return w.test(e)&&u.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":l,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:S,uuid:d,"json-pointer":f,"json-pointer-uri-fragment":h,"relative-json-pointer":p};var v=/t|\s/i,w=/\/|:/,b=/[^\\]\\Z/;function S(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},15689:(e,t,r)=>{"use strict";var n=r(33969),i=r(93724),o=r(85359),s=r(33508),a=r(81869),u=i.ucs2length,l=r(22303),c=o.Validation;function d(e,t,r){var n=h.call(this,e,t,r);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:r},{index:n,compiling:!1})}function f(e,t,r){var n=h.call(this,e,t,r);n>=0&&this._compilations.splice(n,1)}function h(e,t,r){for(var n=0;n<this._compilations.length;n++){var i=this._compilations[n];if(i.schema==e&&i.root==t&&i.baseId==r)return n}return-1}function p(e,t){return"var pattern"+e+" = new RegExp("+i.toQuotedString(t[e])+");"}function m(e){return"var default"+e+" = defaults["+e+"];"}function g(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function y(e){return"var customRule"+e+" = customRules["+e+"];"}function v(e,t){if(!e.length)return"";for(var r="",n=0;n<e.length;n++)r+=t(n,e);return r}e.exports=function e(t,r,h,w){var b=this,S=this._opts,_=[void 0],C={},E=[],P={},T=[],k={},A=[];r=r||{schema:t,refVal:_,refs:C};var L=d.call(this,t,r,w),O=this._compilations[L.index];if(L.compiling)return O.callValidate=function e(){var t=O.validate,r=t.apply(this,arguments);return e.errors=t.errors,r};var I=this._formats,R=this.RULES;try{var D=M(t,r,h,w);O.validate=D;var F=O.callValidate;return F&&(F.schema=D.schema,F.errors=null,F.refs=D.refs,F.refVal=D.refVal,F.root=D.root,F.$async=D.$async,S.sourceCode&&(F.source=D.source)),D}finally{f.call(this,t,r,w)}function M(t,s,d,f){var h=!s||s&&s.schema==t;if(s.schema!=r.schema)return e.call(b,t,s,d,f);var w,P=!0===t.$async,k=a({isTop:!0,schema:t,isRoot:h,baseId:f,root:s,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:o.MissingRef,RULES:R,validate:a,util:i,resolve:n,resolveRef:x,usePattern:W,useDefault:$,useCustomRule:B,opts:S,formats:I,logger:b.logger,self:b});k=v(_,g)+v(E,p)+v(T,m)+v(A,y)+k,S.processCode&&(k=S.processCode(k));try{w=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",k)(b,R,I,r,_,T,A,l,u,c),_[0]=w}catch(e){throw b.logger.error("Error compiling schema, function code:",k),e}return w.schema=t,w.errors=null,w.refs=C,w.refVal=_,w.root=h?w:s,P&&(w.$async=!0),!0===S.sourceCode&&(w.source={code:k,patterns:E,defaults:T}),w}function x(t,i,o){i=n.url(t,i);var s,a,u=C[i];if(void 0!==u)return j(s=_[u],a="refVal["+u+"]");if(!o&&r.refs){var l=r.refs[i];if(void 0!==l)return j(s=r.refVal[l],a=N(i,s))}a=N(i);var c=n.call(b,M,r,i);if(void 0===c){var d=h&&h[i];d&&(c=n.inlineRef(d,S.inlineRefs)?d:e.call(b,d,r,h,t))}if(void 0!==c)return function(e,t){var r=C[e];_[r]=t}(i,c),j(c,a);!function(e){delete C[e]}(i)}function N(e,t){var r=_.length;return _[r]=t,C[e]=r,"refVal"+r}function j(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function W(e){var t=P[e];return void 0===t&&(t=P[e]=E.length,E[t]=e),"pattern"+t}function $(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return i.toQuotedString(e);case"object":if(null===e)return"null";var t=s(e),r=k[t];return void 0===r&&(r=k[t]=T.length,T[r]=e),"default"+r}}function B(e,t,r,n){if(!1!==b._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every((function(e){return Object.prototype.hasOwnProperty.call(r,e)})))throw new Error("parent schema must have all required keywords: "+i.join(","));var o=e.definition.validateSchema;if(o&&!o(t)){var s="keyword schema is invalid: "+b.errorsText(o.errors);if("log"!=b._opts.validateSchema)throw new Error(s);b.logger.error(s)}}var a,u=e.definition.compile,l=e.definition.inline,c=e.definition.macro;if(u)a=u.call(b,t,r,n);else if(c)a=c.call(b,t,r,n),!1!==S.validateSchema&&b.validateSchema(a,!0);else if(l)a=l.call(b,n,e.keyword,t,r);else if(!(a=e.definition.validate))return;if(void 0===a)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var d=A.length;return A[d]=a,{code:"customRule"+d,validate:a}}}},33969:(e,t,r)=>{"use strict";var n=r(47533),i=r(22303),o=r(93724),s=r(34293),a=r(40500);function u(e,t,r){var n=this._refs[r];if("string"==typeof n){if(!this._refs[n])return u.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[r])instanceof s)return p(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var i,o,a,c=l.call(this,t,r);return c&&(i=c.schema,t=c.root,a=c.baseId),i instanceof s?o=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(o=p(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),o}function l(e,t){var r=n.parse(t),i=v(r),o=y(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==o){var a=b(i),u=this._refs[a];if("string"==typeof u)return c.call(this,e,u,r);if(u instanceof s)u.validate||this._compile(u),e=u;else{if(!((u=this._schemas[a])instanceof s))return;if(u.validate||this._compile(u),a==b(t))return{schema:u,root:e,baseId:o};e=u}if(!e.schema)return;o=y(this._getId(e.schema))}return f.call(this,r,o,e.schema,e)}function c(e,t,r){var n=l.call(this,e,t);if(n){var i=n.schema,o=n.baseId;e=n.root;var s=this._getId(i);return s&&(o=S(o,s)),f.call(this,r,o,i,e)}}e.exports=u,u.normalizeId=b,u.fullPath=y,u.url=S,u.ids=function(e){var t=b(this._getId(e)),r={"":t},s={"":y(t,!1)},u={},l=this;return a(e,{allKeys:!0},(function(e,t,a,c,d,f,h){if(""!==t){var p=l._getId(e),m=r[c],g=s[c]+"/"+d;if(void 0!==h&&(g+="/"+("number"==typeof h?h:o.escapeFragment(h))),"string"==typeof p){p=m=b(m?n.resolve(m,p):p);var y=l._refs[p];if("string"==typeof y&&(y=l._refs[y]),y&&y.schema){if(!i(e,y.schema))throw new Error('id "'+p+'" resolves to more than one schema')}else if(p!=b(g))if("#"==p[0]){if(u[p]&&!i(e,u[p]))throw new Error('id "'+p+'" resolves to more than one schema');u[p]=e}else l._refs[p]=g}r[t]=m,s[t]=g}})),u},u.inlineRef=p,u.schema=l;var d=o.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function f(e,t,r,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s<i.length;s++){var a=i[s];if(a){if(void 0===(r=r[a=o.unescapeFragment(a)]))break;var u;if(!d[a]&&((u=this._getId(r))&&(t=S(t,u)),r.$ref)){var c=S(t,r.$ref),f=l.call(this,n,c);f&&(r=f.schema,n=f.root,t=f.baseId)}}}return void 0!==r&&r!==n.schema?{schema:r,root:n,baseId:t}:void 0}}var h=o.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function p(e,t){return!1!==t&&(void 0===t||!0===t?m(e):t?g(e)<=t:void 0)}function m(e){var t;if(Array.isArray(e)){for(var r=0;r<e.length;r++)if("object"==typeof(t=e[r])&&!m(t))return!1}else for(var n in e){if("$ref"==n)return!1;if("object"==typeof(t=e[n])&&!m(t))return!1}return!0}function g(e){var t,r=0;if(Array.isArray(e)){for(var n=0;n<e.length;n++)if("object"==typeof(t=e[n])&&(r+=g(t)),r==1/0)return 1/0}else for(var i in e){if("$ref"==i)return 1/0;if(h[i])r++;else if("object"==typeof(t=e[i])&&(r+=g(t)+1),r==1/0)return 1/0}return r}function y(e,t){return!1!==t&&(e=b(e)),v(n.parse(e))}function v(e){return n.serialize(e).split("#")[0]+"#"}var w=/#\/?$/;function b(e){return e?e.replace(w,""):""}function S(e,t){return t=b(t),n.resolve(e,t)}},20742:(e,t,r)=>{"use strict";var n=r(59646),i=r(93724).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(r){r.rules=r.rules.map((function(r){var i;if("object"==typeof r){var o=Object.keys(r)[0];i=r[o],r=o,i.forEach((function(r){t.push(r),e.all[r]=!0}))}return t.push(r),e.all[r]={keyword:r,code:n[r],implements:i}})),e.all.$comment={keyword:"$comment",code:n.$comment},r.type&&(e.types[r.type]=r)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},34293:(e,t,r)=>{"use strict";var n=r(93724);e.exports=function(e){n.copy(e,this)}},36887:e=>{"use strict";e.exports=function(e){for(var t,r=0,n=e.length,i=0;i<n;)r++,(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<n&&56320==(64512&(t=e.charCodeAt(i)))&&i++;return r}},93724:(e,t,r)=>{"use strict";function n(e,t,r){var n=r?" !== ":" === ",i=r?" || ":" && ",o=r?"!":"",s=r?"":"!";switch(e){case"null":return t+n+"null";case"array":return o+"Array.isArray("+t+")";case"object":return"("+o+t+i+"typeof "+t+n+'"object"'+i+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+i+s+"("+t+" % 1)"+i+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var r in t=t||{},e)t[r]=e[r];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var r="",i=o(e);for(var s in i.array&&i.object&&(r=i.null?"(":"(!"+t+" || ",r+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)r+=(r?" && ":"")+n(s,t,!0);return r}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++){var o=t[n];(i[o]||"array"===e&&"array"===o)&&(r[r.length]=o)}if(r.length)return r}else{if(i[t])return[t];if("array"===e&&"array"===t)return["array"]}},toHash:o,getProperty:u,escapeQuotes:l,equal:r(22303),ucs2length:r(36887),varOccurences:function(e,t){t+="[^0-9]";var r=e.match(new RegExp(t,"g"));return r?r.length:0},varReplace:function(e,t,r){return t+="([^0-9])",r=r.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),r+"$1")},cleanUpCode:function(e){return e.replace(c,"").replace(d,"").replace(f,"if (!($1))")},finalCleanUpCode:function(e,t){var r=e.match(h);return r&&2==r.length&&(e=t?e.replace(m,"").replace(g,"return data;"):e.replace(p,"").replace("return errors === 0;","validate.errors = null; return true;")),(r=e.match(y))&&3===r.length?e.replace(v,""):e},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var r in e)if(t[r])return!0},schemaHasRulesExcept:function(e,t,r){if("boolean"==typeof e)return!e&&"not"!=r;for(var n in e)if(n!=r&&t[n])return!0},schemaUnknownRules:function(e,t){if("boolean"!=typeof e)for(var r in e)if(!t[r])return r},toQuotedString:w,getPathExpr:function(e,t,r,n){return _(e,r?"'/' + "+t+(n?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):n?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,r){return _(e,w(r?"/"+C(t):u(t)))},getData:function(e,t,r){var n,i,o,s;if(""===e)return"rootData";if("/"==e[0]){if(!b.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,o="rootData"}else{if(!(s=e.match(S)))throw new Error("Invalid JSON-pointer: "+e);if(n=+s[1],"#"==(i=s[2])){if(n>=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return r[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(o="data"+(t-n||""),!i)return o}for(var a=o,l=i.split("/"),c=0;c<l.length;c++){var d=l[c];d&&(a+=" && "+(o+=u(E(d))))}return a},unescapeFragment:function(e){return E(decodeURIComponent(e))},unescapeJsonPointer:E,escapeFragment:function(e){return encodeURIComponent(C(e))},escapeJsonPointer:C};var i=o(["string","number","integer","boolean","null"]);function o(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!0;return t}var s=/^[a-z$_][a-z$_0-9]*$/i,a=/'|\\/g;function u(e){return"number"==typeof e?"["+e+"]":s.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(a,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var c=/else\s*{\s*}/g,d=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,f=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g,h=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,m=/var errors = 0;|var vErrors = null;/g,g=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,y=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,v=/if \(rootData === undefined\) rootData = data;/;function w(e){return"'"+l(e)+"'"}var b=/^\/(?:[^~]|~0|~1)*$/,S=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function _(e,t){return'""'==e?t:(e+" + "+t).replace(/' \+ '/g,"")}function C(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function E(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},79394:e=>{"use strict";var t=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,r){for(var n=0;n<r.length;n++){e=JSON.parse(JSON.stringify(e));var i,o=r[n].split("/"),s=e;for(i=1;i<o.length;i++)s=s[o[i]];for(i=0;i<t.length;i++){var a=t[i],u=s[a];u&&(s[a]={anyOf:[u,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},35868:(e,t,r)=>{"use strict";var n=r(40038);e.exports={$id:"https://github.com/epoberezkin/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:n.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:n.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},61796:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a;var h="maximum"==t,p=h?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[p],g=e.opts.$data&&m&&m.$data,y=h?"<":">",v=h?">":"<",w=void 0;if(g){var b,S=e.util.getData(m.$data,s,e.dataPathArr),_="exclusive"+o,C="exclType"+o,E="exclIsNumber"+o,P="' + "+(k="op"+o)+" + '";i+=" var schemaExcl"+o+" = "+S+"; ",i+=" var "+_+"; var "+C+" = typeof "+(S="schemaExcl"+o)+"; if ("+C+" != 'boolean' && "+C+" != 'undefined' && "+C+" != 'number') { ",w=p,(b=b||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(w||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var T=i;i=b.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+C+" == 'number' ? ( ("+_+" = "+n+" === undefined || "+S+" "+y+"= "+n+") ? "+d+" "+v+"= "+S+" : "+d+" "+v+" "+n+" ) : ( ("+_+" = "+S+" === true) ? "+d+" "+v+"= "+n+" : "+d+" "+v+" "+n+" ) || "+d+" !== "+d+") { var op"+o+" = "+_+" ? '"+y+"' : '"+y+"='; ",void 0===a&&(w=p,l=e.errSchemaPath+"/"+p,n=S,f=g)}else if(P=y,(E="number"==typeof m)&&f){var k="'"+P+"'";i+=" if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" ( "+n+" === undefined || "+m+" "+y+"= "+n+" ? "+d+" "+v+"= "+m+" : "+d+" "+v+" "+n+" ) || "+d+" !== "+d+") { "}else E&&void 0===a?(_=!0,w=p,l=e.errSchemaPath+"/"+p,n=m,v+="="):(E&&(n=Math[h?"min":"max"](m,a)),m===(!E||n)?(_=!0,w=p,l=e.errSchemaPath+"/"+p,v+="="):(_=!1,P+="=")),k="'"+P+"'",i+=" if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+d+" "+v+" "+n+" || "+d+" !== "+d+") { ";return w=w||t,(b=b||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(w||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { comparison: "+k+", limit: "+n+", exclusive: "+_+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+P+" ",i+=f?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ",T=i,i=b.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},32407:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+d+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var h=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=f?"' + "+n+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},21250:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a;var h="maxLength"==t?">":"<";i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?i+=" "+d+".length ":i+=" ucs2length("+d+") ",i+=" "+h+" "+n+") { ";var p=t,m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=f?"' + "+n+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var g=i;return i=m.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},32596:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" Object.keys("+d+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var h=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=f?"' + "+n+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},39486:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,u=e.util.copy(e),l="";u.level++;var c="valid"+u.level,d=u.baseId,f=!0,h=i;if(h)for(var p,m=-1,g=h.length-1;m<g;)p=h[m+=1],(e.opts.strictKeywords?"object"==typeof p&&Object.keys(p).length>0:e.util.schemaHasRules(p,e.RULES.all))&&(f=!1,u.schema=p,u.schemaPath=o+"["+m+"]",u.errSchemaPath=s+"/"+m,n+=" "+e.validate(u)+" ",u.baseId=d,a&&(n+=" if ("+c+") { ",l+="}"));return a&&(n+=f?" if (true) { ":" "+l.slice(0,-1)+" "),e.util.cleanUpCode(n)}},95347:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e),p="";h.level++;var m="valid"+h.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var g=h.baseId;n+=" var "+f+" = errors; var "+d+" = false; ";var y=e.compositeRule;e.compositeRule=h.compositeRule=!0;var v=s;if(v)for(var w,b=-1,S=v.length-1;b<S;)w=v[b+=1],h.schema=w,h.schemaPath=a+"["+b+"]",h.errSchemaPath=u+"/"+b,n+=" "+e.validate(h)+" ",h.baseId=g,n+=" "+d+" = "+d+" || "+m+"; if (!"+d+") { ",p+="}";e.compositeRule=h.compositeRule=y,n+=" "+p+" if (!"+d+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}else l&&(n+=" if (true) { ");return n}},90923:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.schema[t],o=e.errSchemaPath+"/"+t,s=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?n+=" console.log("+s+");":"function"==typeof e.opts.$comment&&(n+=" self._opts.$comment("+s+", "+e.util.toQuotedString(o)+", validate.root.schema);"),n}},92617:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; "),f||(n+=" var schema"+i+" = validate.schema"+a+";"),n+="var "+d+" = equal("+c+", schema"+i+"); if (!"+d+") { ";var h=h||[];h.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var p=n;return n=h.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+p+"]); ":n+=" validate.errors = ["+p+"]; return false; ":n+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}},42119:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e);h.level++;var p="valid"+h.level,m="i"+i,g=h.dataLevel=e.dataLevel+1,y="data"+g,v=e.baseId,w=e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all);if(n+="var "+f+" = errors;var "+d+";",w){var b=e.compositeRule;e.compositeRule=h.compositeRule=!0,h.schema=s,h.schemaPath=a,h.errSchemaPath=u,n+=" var "+p+" = false; for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var S=c+"["+m+"]";h.dataPathArr[g]=m;var _=e.validate(h);h.baseId=v,e.util.varOccurences(_,y)<2?n+=" "+e.util.varReplace(_,y,S)+" ":n+=" var "+y+" = "+S+"; "+_+" ",n+=" if ("+p+") break; } ",e.compositeRule=h.compositeRule=b,n+=" if (!"+p+") {"}else n+=" if ("+c+".length == 0) {";var C=C||[];C.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;return n=C.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",w&&(n+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),e.util.cleanUpCode(n)}},91793:e=>{"use strict";e.exports=function(e,t,r){var n,i,o=" ",s=e.level,a=e.dataLevel,u=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,f="data"+(a||""),h="valid"+s,p="errs__"+s,m=e.opts.$data&&u&&u.$data;m?(o+=" var schema"+s+" = "+e.util.getData(u.$data,a,e.dataPathArr)+"; ",i="schema"+s):i=u;var g,y,v,w,b,S=this,_="definition"+s,C=S.definition,E="";if(m&&C.$data){b="keywordValidate"+s;var P=C.validateSchema;o+=" var "+_+" = RULES.custom['"+t+"'].definition; var "+b+" = "+_+".validate;"}else{if(!(w=e.useCustomRule(S,u,e.schema,e)))return;i="validate.schema"+l,b=w.code,g=C.compile,y=C.inline,v=C.macro}var T=b+".errors",k="i"+s,A="ruleErr"+s,L=C.async;if(L&&!e.async)throw new Error("async keyword in sync schema");if(y||v||(o+=T+" = null;"),o+="var "+p+" = errors;var "+h+";",m&&C.$data&&(E+="}",o+=" if ("+i+" === undefined) { "+h+" = true; } else { ",P&&(E+="}",o+=" "+h+" = "+_+".validateSchema("+i+"); if ("+h+") { ")),y)C.statements?o+=" "+w.validate+" ":o+=" "+h+" = "+w.validate+"; ";else if(v){var O=e.util.copy(e);E="",O.level++;var I="valid"+O.level;O.schema=w.validate,O.schemaPath="";var R=e.compositeRule;e.compositeRule=O.compositeRule=!0;var D=e.validate(O).replace(/validate\.schema/g,b);e.compositeRule=O.compositeRule=R,o+=" "+D}else{(N=N||[]).push(o),o="",o+=" "+b+".call( ",e.opts.passContext?o+="this":o+="self",g||!1===C.schema?o+=" , "+f+" ":o+=" , "+i+" , "+f+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var F=a?"data"+(a-1||""):"parentData",M=a?e.dataPathArr[a]:"parentDataProperty",x=o+=" , "+F+" , "+M+" , rootData ) ";o=N.pop(),!1===C.errors?(o+=" "+h+" = ",L&&(o+="await "),o+=x+"; "):o+=L?" var "+(T="customErrors"+s)+" = null; try { "+h+" = await "+x+"; } catch (e) { "+h+" = false; if (e instanceof ValidationError) "+T+" = e.errors; else throw e; } ":" "+T+" = null; "+h+" = "+x+"; "}if(C.modifying&&(o+=" if ("+F+") "+f+" = "+F+"["+M+"];"),o+=""+E,C.valid)d&&(o+=" if (true) { ");else{var N;o+=" if ( ",void 0===C.valid?(o+=" !",o+=v?""+I:""+h):o+=" "+!C.valid+" ",o+=") { ",n=S.keyword,(N=N||[]).push(o),o="",(N=N||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+S.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+S.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),o+=" } "):o+=" {} ";var j=o;o=N.pop(),!e.compositeRule&&d?e.async?o+=" throw new ValidationError(["+j+"]); ":o+=" validate.errors = ["+j+"]; return false; ":o+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var W=o;o=N.pop(),y?C.errors?"full"!=C.errors&&(o+=" for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+A+" = vErrors["+k+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+A+".schemaPath === undefined) { "+A+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+f+"; "),o+=" } "):!1===C.errors?o+=" "+W+" ":(o+=" if ("+p+" == errors) { "+W+" } else { for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+A+" = vErrors["+k+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+A+".schemaPath === undefined) { "+A+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+f+"; "),o+=" } } "):v?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+S.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+S.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?o+=" throw new ValidationError(vErrors); ":o+=" validate.errors = vErrors; return false; ")):!1===C.errors?o+=" "+W+" ":(o+=" if (Array.isArray("+T+")) { if (vErrors === null) vErrors = "+T+"; else vErrors = vErrors.concat("+T+"); errors = vErrors.length; for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+A+" = vErrors["+k+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; "+A+'.schemaPath = "'+c+'"; ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+f+"; "),o+=" } } else { "+W+" } "),o+=" } ",d&&(o+=" else { ")}return o}},29115:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e),h="";f.level++;var p="valid"+f.level,m={},g={},y=e.opts.ownProperties;for(S in s){var v=s[S],w=Array.isArray(v)?g:m;w[S]=v}n+="var "+d+" = errors;";var b=e.errorPath;for(var S in n+="var missing"+i+";",g)if((w=g[S]).length){if(n+=" if ( "+c+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),l){n+=" && ( ";var _=w;if(_)for(var C=-1,E=_.length-1;C<E;)O=_[C+=1],C&&(n+=" || "),n+=" ( ( "+(F=c+(D=e.util.getProperty(O)))+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:D)+") ) ";n+=")) { ";var P="missing"+i,T="' + "+P+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,P,!0):b+" + "+P);var k=k||[];k.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { property: '"+e.util.escapeQuotes(S)+"', missingProperty: '"+T+"', depsCount: "+w.length+", deps: '"+e.util.escapeQuotes(1==w.length?w[0]:w.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==w.length?n+="property "+e.util.escapeQuotes(w[0]):n+="properties "+e.util.escapeQuotes(w.join(", ")),n+=" when property "+e.util.escapeQuotes(S)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var A=n;n=k.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+A+"]); ":n+=" validate.errors = ["+A+"]; return false; ":n+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{n+=" ) { ";var L=w;if(L)for(var O,I=-1,R=L.length-1;I<R;){O=L[I+=1];var D=e.util.getProperty(O),F=(T=e.util.escapeQuotes(O),c+D);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,O,e.opts.jsonPointers)),n+=" if ( "+F+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { property: '"+e.util.escapeQuotes(S)+"', missingProperty: '"+T+"', depsCount: "+w.length+", deps: '"+e.util.escapeQuotes(1==w.length?w[0]:w.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==w.length?n+="property "+e.util.escapeQuotes(w[0]):n+="properties "+e.util.escapeQuotes(w.join(", ")),n+=" when property "+e.util.escapeQuotes(S)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}n+=" } ",l&&(h+="}",n+=" else { ")}e.errorPath=b;var M=f.baseId;for(var S in m)v=m[S],(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all))&&(n+=" "+p+" = true; if ( "+c+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),n+=") { ",f.schema=v,f.schemaPath=a+e.util.getProperty(S),f.errSchemaPath=u+"/"+e.util.escapeFragment(S),n+=" "+e.validate(f)+" ",f.baseId=M,n+=" } ",l&&(n+=" if ("+p+") { ",h+="}"));return l&&(n+=" "+h+" if ("+d+" == errors) {"),e.util.cleanUpCode(n)}},69317:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ");var h="i"+i,p="schema"+i;f||(n+=" var "+p+" = validate.schema"+a+";"),n+="var "+d+";",f&&(n+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),n+=d+" = false;for (var "+h+"=0; "+h+"<"+p+".length; "+h+"++) if (equal("+c+", "+p+"["+h+"])) { "+d+" = true; break; }",f&&(n+=" } "),n+=" if (!"+d+") { ";var m=m||[];m.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var g=n;return n=m.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+g+"]); ":n+=" validate.errors = ["+g+"]; return false; ":n+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}},8327:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||"");if(!1===e.opts.format)return l&&(n+=" if (true) { "),n;var d,f=e.opts.$data&&s&&s.$data;f?(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ",d="schema"+i):d=s;var h=e.opts.unknownFormats,p=Array.isArray(h);if(f)n+=" var "+(m="format"+i)+" = formats["+d+"]; var "+(g="isObject"+i)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(y="formatType"+i)+" = "+g+" && "+m+".type || 'string'; if ("+g+") { ",e.async&&(n+=" var async"+i+" = "+m+".async; "),n+=" "+m+" = "+m+".validate; } if ( ",f&&(n+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),n+=" (","ignore"!=h&&(n+=" ("+d+" && !"+m+" ",p&&(n+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),n+=") || "),n+=" ("+m+" && "+y+" == '"+r+"' && !(typeof "+m+" == 'function' ? ",e.async?n+=" (async"+i+" ? await "+m+"("+c+") : "+m+"("+c+")) ":n+=" "+m+"("+c+") ",n+=" : "+m+".test("+c+"))))) {";else{var m;if(!(m=e.formats[s])){if("ignore"==h)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(n+=" if (true) { "),n;if(p&&h.indexOf(s)>=0)return l&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var g,y=(g="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(g){var v=!0===m.async;m=m.validate}if(y!=r)return l&&(n+=" if (true) { "),n;if(v){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(w="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var w="formats"+e.util.getProperty(s);g&&(w+=".validate"),n+="function"==typeof m?" "+w+"("+c+") ":" "+w+".test("+c+") ",n+=") { "}}var b=b||[];b.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",n+=f?""+d:""+e.util.toQuotedString(s),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=f?"' + "+d+" + '":""+e.util.escapeQuotes(s),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=f?"validate.schema"+a:""+e.util.toQuotedString(s),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S=n;return n=b.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { "),n}},55926:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e);h.level++;var p="valid"+h.level,m=e.schema.then,g=e.schema.else,y=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=void 0!==g&&(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all)),w=h.baseId;if(y||v){var b;h.createErrors=!1,h.schema=s,h.schemaPath=a,h.errSchemaPath=u,n+=" var "+f+" = errors; var "+d+" = true; ";var S=e.compositeRule;e.compositeRule=h.compositeRule=!0,n+=" "+e.validate(h)+" ",h.baseId=w,h.createErrors=!0,n+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ",e.compositeRule=h.compositeRule=S,y?(n+=" if ("+p+") { ",h.schema=e.schema.then,h.schemaPath=e.schemaPath+".then",h.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(h)+" ",h.baseId=w,n+=" "+d+" = "+p+"; ",y&&v?n+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",n+=" } ",v&&(n+=" else { ")):n+=" if (!"+p+") { ",v&&(h.schema=e.schema.else,h.schemaPath=e.schemaPath+".else",h.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(h)+" ",h.baseId=w,n+=" "+d+" = "+p+"; ",y&&v?n+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",n+=" } "),n+=" if (!"+d+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",l&&(n+=" else { "),n=e.util.cleanUpCode(n)}else l&&(n+=" if (true) { ");return n}},59646:(e,t,r)=>{"use strict";e.exports={$ref:r(12331),allOf:r(39486),anyOf:r(95347),$comment:r(90923),const:r(92617),contains:r(42119),dependencies:r(29115),enum:r(69317),format:r(8327),if:r(55926),items:r(50392),maximum:r(61796),minimum:r(61796),maxItems:r(32407),minItems:r(32407),maxLength:r(21250),minLength:r(21250),maxProperties:r(32596),minProperties:r(32596),multipleOf:r(66039),not:r(37946),oneOf:r(29344),pattern:r(79737),properties:r(62537),propertyNames:r(22127),required:r(61204),uniqueItems:r(91985),validate:r(81869)}},50392:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e),p="";h.level++;var m="valid"+h.level,g="i"+i,y=h.dataLevel=e.dataLevel+1,v="data"+y,w=e.baseId;if(n+="var "+f+" = errors;var "+d+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){n+=" "+d+" = "+c+".length <= "+s.length+"; ";var S=u;u=e.errSchemaPath+"/additionalItems",n+=" if (!"+d+") { ";var _=_||[];_.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var C=n;n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+C+"]); ":n+=" validate.errors = ["+C+"]; return false; ":n+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u=S,l&&(p+="}",n+=" else { ")}var E=s;if(E)for(var P,T=-1,k=E.length-1;T<k;)if(P=E[T+=1],e.opts.strictKeywords?"object"==typeof P&&Object.keys(P).length>0:e.util.schemaHasRules(P,e.RULES.all)){n+=" "+m+" = true; if ("+c+".length > "+T+") { ";var A=c+"["+T+"]";h.schema=P,h.schemaPath=a+"["+T+"]",h.errSchemaPath=u+"/"+T,h.errorPath=e.util.getPathExpr(e.errorPath,T,e.opts.jsonPointers,!0),h.dataPathArr[y]=T;var L=e.validate(h);h.baseId=w,e.util.varOccurences(L,v)<2?n+=" "+e.util.varReplace(L,v,A)+" ":n+=" var "+v+" = "+A+"; "+L+" ",n+=" } ",l&&(n+=" if ("+m+") { ",p+="}")}"object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))&&(h.schema=b,h.schemaPath=e.schemaPath+".additionalItems",h.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+m+" = true; if ("+c+".length > "+s.length+") { for (var "+g+" = "+s.length+"; "+g+" < "+c+".length; "+g+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0),A=c+"["+g+"]",h.dataPathArr[y]=g,L=e.validate(h),h.baseId=w,e.util.varOccurences(L,v)<2?n+=" "+e.util.varReplace(L,v,A)+" ":n+=" var "+v+" = "+A+"; "+L+" ",l&&(n+=" if (!"+m+") break; "),n+=" } } ",l&&(n+=" if ("+m+") { ",p+="}"))}else(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all))&&(h.schema=s,h.schemaPath=a,h.errSchemaPath=u,n+=" for (var "+g+" = 0; "+g+" < "+c+".length; "+g+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0),A=c+"["+g+"]",h.dataPathArr[y]=g,L=e.validate(h),h.baseId=w,e.util.varOccurences(L,v)<2?n+=" "+e.util.varReplace(L,v,A)+" ":n+=" var "+v+" = "+A+"; "+L+" ",l&&(n+=" if (!"+m+") break; "),n+=" }");return l&&(n+=" "+p+" if ("+f+" == errors) {"),e.util.cleanUpCode(n)}},66039:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="var division"+o+";if (",f&&(i+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),i+=" (division"+o+" = "+d+" / "+n+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+o+" !== parseInt(division"+o+") ",i+=" ) ",f&&(i+=" ) "),i+=" ) { ";var h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=f?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var p=i;return i=h.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},37946:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){f.schema=s,f.schemaPath=a,f.errSchemaPath=u,n+=" var "+d+" = errors; ";var p,m=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.createErrors=!1,f.opts.allErrors&&(p=f.opts.allErrors,f.opts.allErrors=!1),n+=" "+e.validate(f)+" ",f.createErrors=!0,p&&(f.opts.allErrors=p),e.compositeRule=f.compositeRule=m,n+=" if ("+h+") { ";var g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var y=n;n=g.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(n+=" if (false) { ");return n}},29344:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e),p="";h.level++;var m="valid"+h.level,g=h.baseId,y="prevValid"+i,v="passingSchemas"+i;n+="var "+f+" = errors , "+y+" = false , "+d+" = false , "+v+" = null; ";var w=e.compositeRule;e.compositeRule=h.compositeRule=!0;var b=s;if(b)for(var S,_=-1,C=b.length-1;_<C;)S=b[_+=1],(e.opts.strictKeywords?"object"==typeof S&&Object.keys(S).length>0:e.util.schemaHasRules(S,e.RULES.all))?(h.schema=S,h.schemaPath=a+"["+_+"]",h.errSchemaPath=u+"/"+_,n+=" "+e.validate(h)+" ",h.baseId=g):n+=" var "+m+" = true; ",_&&(n+=" if ("+m+" && "+y+") { "+d+" = false; "+v+" = ["+v+", "+_+"]; } else { ",p+="}"),n+=" if ("+m+") { "+d+" = "+y+" = true; "+v+" = "+_+"; }";return e.compositeRule=h.compositeRule=w,n+=p+"if (!"+d+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+v+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},79737:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),i+=" !"+(f?"(new RegExp("+n+"))":e.usePattern(a))+".test("+d+") ) { ";var h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { pattern: ",i+=f?""+n:""+e.util.toQuotedString(a),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=f?"' + "+n+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+e.util.toQuotedString(a),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var p=i;return i=h.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},62537:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e),h="";f.level++;var p="valid"+f.level,m="key"+i,g="idx"+i,y=f.dataLevel=e.dataLevel+1,v="data"+y,w="dataProperties"+i,b=Object.keys(s||{}),S=e.schema.patternProperties||{},_=Object.keys(S),C=e.schema.additionalProperties,E=b.length||_.length,P=!1===C,T="object"==typeof C&&Object.keys(C).length,k=e.opts.removeAdditional,A=P||T||k,L=e.opts.ownProperties,O=e.baseId,I=e.schema.required;if(I&&(!e.opts.$data||!I.$data)&&I.length<e.opts.loopRequired)var R=e.util.toHash(I);if(n+="var "+d+" = errors;var "+p+" = true;",L&&(n+=" var "+w+" = undefined;"),A){if(n+=L?" "+w+" = "+w+" || Object.keys("+c+"); for (var "+g+"=0; "+g+"<"+w+".length; "+g+"++) { var "+m+" = "+w+"["+g+"]; ":" for (var "+m+" in "+c+") { ",E){if(n+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)n+=" || validate.schema"+a+".hasOwnProperty("+m+") ";else{var D=b;if(D)for(var F=-1,M=D.length-1;F<M;)Q=D[F+=1],n+=" || "+m+" == "+e.util.toQuotedString(Q)+" "}if(_.length){var x=_;if(x)for(var N=-1,j=x.length-1;N<j;)ie=x[N+=1],n+=" || "+e.usePattern(ie)+".test("+m+") "}n+=" ); if (isAdditional"+i+") { "}if("all"==k)n+=" delete "+c+"["+m+"]; ";else{var W=e.errorPath,$="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),P)if(k)n+=" delete "+c+"["+m+"]; ";else{n+=" "+p+" = false; ";var B=u;u=e.errSchemaPath+"/additionalProperties",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { additionalProperty: '"+$+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is an invalid additional property":n+="should NOT have additional properties",n+="' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var U=n;n=te.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+U+"]); ":n+=" validate.errors = ["+U+"]; return false; ":n+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=B,l&&(n+=" break; ")}else if(T)if("failing"==k){n+=" var "+d+" = errors; ";var H=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=C,f.schemaPath=e.schemaPath+".additionalProperties",f.errSchemaPath=e.errSchemaPath+"/additionalProperties",f.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var V=c+"["+m+"]";f.dataPathArr[y]=m;var q=e.validate(f);f.baseId=O,e.util.varOccurences(q,v)<2?n+=" "+e.util.varReplace(q,v,V)+" ":n+=" var "+v+" = "+V+"; "+q+" ",n+=" if (!"+p+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+m+"]; } ",e.compositeRule=f.compositeRule=H}else f.schema=C,f.schemaPath=e.schemaPath+".additionalProperties",f.errSchemaPath=e.errSchemaPath+"/additionalProperties",f.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),V=c+"["+m+"]",f.dataPathArr[y]=m,q=e.validate(f),f.baseId=O,e.util.varOccurences(q,v)<2?n+=" "+e.util.varReplace(q,v,V)+" ":n+=" var "+v+" = "+V+"; "+q+" ",l&&(n+=" if (!"+p+") break; ");e.errorPath=W}E&&(n+=" } "),n+=" } ",l&&(n+=" if ("+p+") { ",h+="}")}var z=e.opts.useDefaults&&!e.compositeRule;if(b.length){var G=b;if(G)for(var Q,K=-1,J=G.length-1;K<J;){var Y=s[Q=G[K+=1]];if(e.opts.strictKeywords?"object"==typeof Y&&Object.keys(Y).length>0:e.util.schemaHasRules(Y,e.RULES.all)){var Z=e.util.getProperty(Q),X=(V=c+Z,z&&void 0!==Y.default);if(f.schema=Y,f.schemaPath=a+Z,f.errSchemaPath=u+"/"+e.util.escapeFragment(Q),f.errorPath=e.util.getPath(e.errorPath,Q,e.opts.jsonPointers),f.dataPathArr[y]=e.util.toQuotedString(Q),q=e.validate(f),f.baseId=O,e.util.varOccurences(q,v)<2){q=e.util.varReplace(q,v,V);var ee=V}else ee=v,n+=" var "+v+" = "+V+"; ";if(X)n+=" "+q+" ";else{if(R&&R[Q]){n+=" if ( "+ee+" === undefined ",L&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=") { "+p+" = false; ",W=e.errorPath,B=u;var te,re=e.util.escapeQuotes(Q);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(W,Q,e.opts.jsonPointers)),u=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+re+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",U=n,n=te.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+U+"]); ":n+=" validate.errors = ["+U+"]; return false; ":n+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=B,e.errorPath=W,n+=" } else { "}else l?(n+=" if ( "+ee+" === undefined ",L&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=") { "+p+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",L&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=" ) { ");n+=" "+q+" } "}}l&&(n+=" if ("+p+") { ",h+="}")}}if(_.length){var ne=_;if(ne)for(var ie,oe=-1,se=ne.length-1;oe<se;)Y=S[ie=ne[oe+=1]],(e.opts.strictKeywords?"object"==typeof Y&&Object.keys(Y).length>0:e.util.schemaHasRules(Y,e.RULES.all))&&(f.schema=Y,f.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),f.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),n+=L?" "+w+" = "+w+" || Object.keys("+c+"); for (var "+g+"=0; "+g+"<"+w+".length; "+g+"++) { var "+m+" = "+w+"["+g+"]; ":" for (var "+m+" in "+c+") { ",n+=" if ("+e.usePattern(ie)+".test("+m+")) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),V=c+"["+m+"]",f.dataPathArr[y]=m,q=e.validate(f),f.baseId=O,e.util.varOccurences(q,v)<2?n+=" "+e.util.varReplace(q,v,V)+" ":n+=" var "+v+" = "+V+"; "+q+" ",l&&(n+=" if (!"+p+") break; "),n+=" } ",l&&(n+=" else "+p+" = true; "),n+=" } ",l&&(n+=" if ("+p+") { ",h+="}"))}return l&&(n+=" "+h+" if ("+d+" == errors) {"),e.util.cleanUpCode(n)}},22127:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level;if(n+="var "+d+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){f.schema=s,f.schemaPath=a,f.errSchemaPath=u;var p="key"+i,m="idx"+i,g="i"+i,y="' + "+p+" + '",v="data"+(f.dataLevel=e.dataLevel+1),w="dataProperties"+i,b=e.opts.ownProperties,S=e.baseId;b&&(n+=" var "+w+" = undefined; "),n+=b?" "+w+" = "+w+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+w+".length; "+m+"++) { var "+p+" = "+w+"["+m+"]; ":" for (var "+p+" in "+c+") { ",n+=" var startErrs"+i+" = errors; ";var _=p,C=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=e.validate(f);f.baseId=S,e.util.varOccurences(E,v)<2?n+=" "+e.util.varReplace(E,v,_)+" ":n+=" var "+v+" = "+_+"; "+E+" ",e.compositeRule=f.compositeRule=C,n+=" if (!"+h+") { for (var "+g+"=startErrs"+i+"; "+g+"<errors; "+g+"++) { vErrors["+g+"].propertyName = "+p+"; } var err = ",!1!==e.createErrors?(n+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(n+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),l&&(n+=" break; "),n+=" } }"}return l&&(n+=" if ("+d+" == errors) {"),e.util.cleanUpCode(n)}},12331:e=>{"use strict";e.exports=function(e,t,r){var n,i,o=" ",s=e.level,a=e.dataLevel,u=e.schema[t],l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(a||""),f="valid"+s;if("#"==u||"#/"==u)e.isRoot?(n=e.async,i="validate"):(n=!0===e.root.schema.$async,i="root.refVal[0]");else{var h=e.resolveRef(e.baseId,u,e.isRoot);if(void 0===h){var p=e.MissingRefError.message(e.baseId,u);if("fail"==e.opts.missingRefs){e.logger.error(p),(v=v||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { ref: '"+e.util.escapeQuotes(u)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(u)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(u)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var m=o;o=v.pop(),!e.compositeRule&&c?e.async?o+=" throw new ValidationError(["+m+"]); ":o+=" validate.errors = ["+m+"]; return false; ":o+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,u,p);e.logger.warn(p),c&&(o+=" if (true) { ")}}else if(h.inline){var g=e.util.copy(e);g.level++;var y="valid"+g.level;g.schema=h.schema,g.schemaPath="",g.errSchemaPath=u,o+=" "+e.validate(g).replace(/validate\.schema/g,h.code)+" ",c&&(o+=" if ("+y+") { ")}else n=!0===h.$async||e.async&&!1!==h.$async,i=h.code}if(i){var v;(v=v||[]).push(o),o="",e.opts.passContext?o+=" "+i+".call(this, ":o+=" "+i+"( ",o+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var w=o+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(o=v.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(o+=" var "+f+"; "),o+=" try { await "+w+"; ",c&&(o+=" "+f+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(o+=" "+f+" = false; "),o+=" } ",c&&(o+=" if ("+f+") { ")}else o+=" if (!"+w+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",c&&(o+=" else { ")}return o}},61204:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ");var h="schema"+i;if(!f)if(s.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],m=s;if(m)for(var g,y=-1,v=m.length-1;y<v;){g=m[y+=1];var w=e.schema.properties[g];w&&(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all))||(p[p.length]=g)}}else p=s;if(f||p.length){var b=e.errorPath,S=f||p.length>=e.opts.loopRequired,_=e.opts.ownProperties;if(l)if(n+=" var missing"+i+"; ",S){f||(n+=" var "+h+" = validate.schema"+a+"; ");var C="' + "+(L="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,L,e.opts.jsonPointers)),n+=" var "+d+" = true; ",f&&(n+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),n+=" for (var "+k+" = 0; "+k+" < "+h+".length; "+k+"++) { "+d+" = "+c+"["+h+"["+k+"]] !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", "+h+"["+k+"]) "),n+="; if (!"+d+") break; } ",f&&(n+=" } "),n+=" if (!"+d+") { ",(P=P||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;n=P.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var P,T=p;if(T)for(var k=-1,A=T.length-1;k<A;)I=T[k+=1],k&&(n+=" || "),n+=" ( ( "+(M=c+(F=e.util.getProperty(I)))+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?I:F)+") ) ";n+=") { ",C="' + "+(L="missing"+i)+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,L,!0):b+" + "+L),(P=P||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",E=n,n=P.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else if(S){var L;f||(n+=" var "+h+" = validate.schema"+a+"; "),C="' + "+(L="schema"+i+"["+(k="i"+i)+"]")+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,L,e.opts.jsonPointers)),f&&(n+=" if ("+h+" && !Array.isArray("+h+")) { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+h+" !== undefined) { "),n+=" for (var "+k+" = 0; "+k+" < "+h+".length; "+k+"++) { if ("+c+"["+h+"["+k+"]] === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+h+"["+k+"]) "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",f&&(n+=" } ")}else{var O=p;if(O)for(var I,R=-1,D=O.length-1;R<D;){I=O[R+=1];var F=e.util.getProperty(I),M=(C=e.util.escapeQuotes(I),c+F);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,I,e.opts.jsonPointers)),n+=" if ( "+M+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else l&&(n+=" if (true) {");return n}},91985:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f="valid"+o,h=e.opts.$data&&a&&a.$data;if(h?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,(a||h)&&!1!==e.opts.uniqueItems){h&&(i+=" var "+f+"; if ("+n+" === false || "+n+" === undefined) "+f+" = true; else if (typeof "+n+" != 'boolean') "+f+" = false; else { "),i+=" var i = "+d+".length , "+f+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,m=Array.isArray(p);if(!p||"object"==p||"array"==p||m&&(p.indexOf("object")>=0||p.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+f+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var g="checkDataType"+(m?"s":"");i+=" if ("+e.util[g](p,"item",!0)+") continue; ",m&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",h&&(i+=" } "),i+=" if (!"+f+") { ";var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=h?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var v=i;i=y.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},81869:e=>{"use strict";e.exports=function(e,t,r){var n="",i=!0===e.schema.$async,o=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),s=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var u="unknown keyword: "+a;if("log"!==e.opts.strictKeywords)throw new Error(u);e.logger.warn(u)}}if(e.isTop&&(n+=" var validate = ",i&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",s&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" /*# sourceURL="+s+" */ ")),"boolean"==typeof e.schema||!o&&!e.schema.$ref){t="false schema";var l=e.level,c=e.dataLevel,d=e.schema[t],f=e.schemaPath+e.util.getProperty(t),h=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(c||""),g="valid"+l;if(!1===e.schema){e.isTop?p=!0:n+=" var "+g+" = false; ",(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ";var y=n;n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n+=i?" return data; ":" validate.errors = null; return true; ":n+=" var "+g+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var v=e.isTop;if(l=e.level=0,c=e.dataLevel=0,m="data",e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var w="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(w);e.logger.warn(w)}n+=" var vErrors = null; ",n+=" var errors = 0; ",n+=" if (rootData === undefined) rootData = data; "}else{if(l=e.level,m="data"+((c=e.dataLevel)||""),s&&(e.baseId=e.resolve.url(e.baseId,s)),i&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+l+" = errors;"}g="valid"+l,p=!e.opts.allErrors;var b="",S="",_=e.schema.type,C=Array.isArray(_);if(_&&e.opts.nullable&&!0===e.schema.nullable&&(C?-1==_.indexOf("null")&&(_=_.concat("null")):"null"!=_&&(_=[_,"null"],C=!0)),C&&1==_.length&&(_=_[0],C=!1),e.schema.$ref&&o){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(o=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),_){if(e.opts.coerceTypes)var E=e.util.coerceToTypes(e.opts.coerceTypes,_);var P=e.RULES.types[_];if(E||C||!0===P||P&&!Z(P)){f=e.schemaPath+".type",h=e.errSchemaPath+"/type",f=e.schemaPath+".type",h=e.errSchemaPath+"/type";var T=C?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[T](_,m,!0)+") { ",E){var k="dataType"+l,A="coerced"+l;n+=" var "+k+" = typeof "+m+"; ","array"==e.opts.coerceTypes&&(n+=" if ("+k+" == 'object' && Array.isArray("+m+")) "+k+" = 'array'; "),n+=" var "+A+" = undefined; ";var L="",O=E;if(O)for(var I,R=-1,D=O.length-1;R<D;)I=O[R+=1],R&&(n+=" if ("+A+" === undefined) { ",L+="}"),"array"==e.opts.coerceTypes&&"array"!=I&&(n+=" if ("+k+" == 'array' && "+m+".length == 1) { "+A+" = "+m+" = "+m+"[0]; "+k+" = typeof "+m+"; } "),"string"==I?n+=" if ("+k+" == 'number' || "+k+" == 'boolean') "+A+" = '' + "+m+"; else if ("+m+" === null) "+A+" = ''; ":"number"==I||"integer"==I?(n+=" if ("+k+" == 'boolean' || "+m+" === null || ("+k+" == 'string' && "+m+" && "+m+" == +"+m+" ","integer"==I&&(n+=" && !("+m+" % 1)"),n+=")) "+A+" = +"+m+"; "):"boolean"==I?n+=" if ("+m+" === 'false' || "+m+" === 0 || "+m+" === null) "+A+" = false; else if ("+m+" === 'true' || "+m+" === 1) "+A+" = true; ":"null"==I?n+=" if ("+m+" === '' || "+m+" === 0 || "+m+" === false) "+A+" = null; ":"array"==e.opts.coerceTypes&&"array"==I&&(n+=" if ("+k+" == 'string' || "+k+" == 'number' || "+k+" == 'boolean' || "+m+" == null) "+A+" = ["+m+"]; ");n+=" "+L+" if ("+A+" === undefined) { ",(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { type: '",n+=C?""+_.join(","):""+_,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=C?""+_.join(","):""+_,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ",y=n,n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ";var F=c?"data"+(c-1||""):"parentData";n+=" "+m+" = "+A+"; ",c||(n+="if ("+F+" !== undefined)"),n+=" "+F+"["+(c?e.dataPathArr[c]:"parentDataProperty")+"] = "+A+"; } "}else(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { type: '",n+=C?""+_.join(","):""+_,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=C?""+_.join(","):""+_,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ",y=n,n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";n+=" } "}}if(e.schema.$ref&&!o)n+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",p&&(n+=" } if (errors === ",n+=v?"0":"errs_"+l,n+=") { ",S+="}");else{var M=e.RULES;if(M)for(var x=-1,N=M.length-1;x<N;)if(Z(P=M[x+=1])){if(P.type&&(n+=" if ("+e.util.checkDataType(P.type,m)+") { "),e.opts.useDefaults)if("object"==P.type&&e.schema.properties){d=e.schema.properties;var j=Object.keys(d);if(j)for(var W,$=-1,B=j.length-1;$<B;)if(void 0!==(V=d[W=j[$+=1]]).default){var U=m+e.util.getProperty(W);if(e.compositeRule){if(e.opts.strictDefaults){if(w="default is ignored for: "+U,"log"!==e.opts.strictDefaults)throw new Error(w);e.logger.warn(w)}}else n+=" if ("+U+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+U+" === null || "+U+" === '' "),n+=" ) "+U+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(V.default)+" ":n+=" "+JSON.stringify(V.default)+" ",n+="; "}}else if("array"==P.type&&Array.isArray(e.schema.items)){var H=e.schema.items;if(H){R=-1;for(var V,q=H.length-1;R<q;)if(void 0!==(V=H[R+=1]).default)if(U=m+"["+R+"]",e.compositeRule){if(e.opts.strictDefaults){if(w="default is ignored for: "+U,"log"!==e.opts.strictDefaults)throw new Error(w);e.logger.warn(w)}}else n+=" if ("+U+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+U+" === null || "+U+" === '' "),n+=" ) "+U+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(V.default)+" ":n+=" "+JSON.stringify(V.default)+" ",n+="; "}}var z,G=P.rules;if(G)for(var Q,K=-1,J=G.length-1;K<J;)if(X(Q=G[K+=1])){var Y=Q.code(e,Q.keyword,P.type);Y&&(n+=" "+Y+" ",p&&(b+="}"))}if(p&&(n+=" "+b+" ",b=""),P.type&&(n+=" } ",_&&_===P.type&&!E))n+=" else { ",f=e.schemaPath+".type",h=e.errSchemaPath+"/type",(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { type: '",n+=C?""+_.join(","):""+_,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=C?""+_.join(","):""+_,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ",y=n,n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ";p&&(n+=" if (errors === ",n+=v?"0":"errs_"+l,n+=") { ",S+="}")}}function Z(e){for(var t=e.rules,r=0;r<t.length;r++)if(X(t[r]))return!0}function X(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var r=t.implements,n=0;n<r.length;n++)if(void 0!==e.schema[r[n]])return!0}(t)}return p&&(n+=" "+S+" "),v?(i?(n+=" if (errors === 0) return data; ",n+=" else throw new ValidationError(vErrors); "):(n+=" validate.errors = vErrors; ",n+=" return errors === 0; "),n+=" }; return validate;"):n+=" var "+g+" = errors === errs_"+l+";",n=e.util.cleanUpCode(n),v&&(n=e.util.finalCleanUpCode(n,i)),n}},77931:(e,t,r)=>{"use strict";var n=/^[a-z_$][a-z0-9_$-]*$/i,i=r(91793),o=r(35868);e.exports={add:function(e,t){var r=this.RULES;if(r.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!n.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var o=t.type;if(Array.isArray(o))for(var s=0;s<o.length;s++)u(e,o[s],t);else u(e,o,t);var a=t.metaSchema;a&&(t.$data&&this._opts.$data&&(a={anyOf:[a,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(a,!0))}function u(e,t,n){for(var o,s=0;s<r.length;s++){var a=r[s];if(a.type==t){o=a;break}}o||(o={type:t,rules:[]},r.push(o));var u={keyword:e,definition:n,custom:!0,code:i,implements:n.implements};o.rules.push(u),r.custom[e]=u}return r.keywords[e]=r.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var r=0;r<t.length;r++)for(var n=t[r].rules,i=0;i<n.length;i++)if(n[i].keyword==e){n.splice(i,1);break}return this},validate:function e(t,r){e.errors=null;var n=this._validateKeyword=this._validateKeyword||this.compile(o,!0);if(n(t))return!0;if(e.errors=n.errors,r)throw new Error("custom keyword definition is invalid: "+this.errorsText(n.errors));return!1}}},74602:function(e,t,r){var n,i;void 0===(i="function"==typeof(n=function(){function e(e){return e&&"object"==typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}function t(t,r){return r&&!0===r.clone&&e(t)?n((i=t,Array.isArray(i)?[]:{}),t,r):t;var i}function r(r,i,o){var s=r.slice();return i.forEach((function(i,a){void 0===s[a]?s[a]=t(i,o):e(i)?s[a]=n(r[a],i,o):-1===r.indexOf(i)&&s.push(t(i,o))})),s}function n(i,o,s){var a=Array.isArray(o),u=(s||{arrayMerge:r}).arrayMerge||r;return a?Array.isArray(i)?u(i,o,s):t(o,s):function(r,i,o){var s={};return e(r)&&Object.keys(r).forEach((function(e){s[e]=t(r[e],o)})),Object.keys(i).forEach((function(a){e(i[a])&&r[a]?s[a]=n(r[a],i[a],o):s[a]=t(i[a],o)})),s}(i,o,s)}return n.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce((function(e,r){return n(e,r,t)}))},n})?n.call(t,r,t,e):n)||(e.exports=i)},33034:e=>{"use strict";var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function o(e,t,n,o,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var a=new i(n,o||e,s),u=r?r+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],a]:e._events[u].push(a):(e._events[u]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s},a.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},a.prototype.emit=function(e,t,n,i,o,s){var a=r?r+e:e;if(!this._events[a])return!1;var u,l,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,o),!0;case 6:return c.fn.call(c.context,t,n,i,o,s),!0}for(l=1,u=new Array(d-1);l<d;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var f,h=c.length;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),d){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,i);break;default:if(!u)for(f=1,u=new Array(d-1);f<d;f++)u[f-1]=arguments[f];c[l].fn.apply(c[l].context,u)}}return!0},a.prototype.on=function(e,t,r){return o(this,e,t,r,!1)},a.prototype.once=function(e,t,r){return o(this,e,t,r,!0)},a.prototype.removeListener=function(e,t,n,i){var o=r?r+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||n&&a.context!==n||s(this,o);else{for(var u=0,l=[],c=a.length;u<c;u++)(a[u].fn!==t||i&&!a[u].once||n&&a[u].context!==n)&&l.push(a[u]);l.length?this._events[o]=1===l.length?l[0]:l:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,e.exports=a},5939:e=>{"use strict";var t,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,o),n(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,r,n){var i,o,s,l;if(a(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),void 0===s)s=o[t]=r,++e._eventsCount;else if("function"==typeof s?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,l=c,console&&console.warn&&console.warn(l)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function f(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):p(i,i.length)}function h(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function p(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function m(e,t,r,n){if("function"==typeof e.on)n.once?e.once(t,r):e.on(t,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){n.once&&e.removeEventListener(t,i),r(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[e];if(void 0===u)return!1;if("function"==typeof u)n(u,this,t);else{var l=u.length,c=p(u,l);for(r=0;r<l;++r)n(c[r],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var r,n,i,o,s;if(a(t),void 0===(n=this._events))return this;if(void 0===(r=n[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,i),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var i,o=Object.keys(r);for(n=0;n<o.length;++n)"removeListener"!==(i=o[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},22303:e=>{"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;0!=i--;){var s=o[i];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},33508:e=>{"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var r,n="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(r=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},o={key:n,value:e[n]};return r(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var r,s;if(Array.isArray(t)){for(s="[",r=0;r<t.length;r++)r&&(s+=","),s+=e(t[r])||"null";return s+"]"}if(null===t)return"null";if(-1!==o.indexOf(t)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=o.push(t)-1,u=Object.keys(t).sort(i&&i(t));for(s="",r=0;r<u.length;r++){var l=u[r],c=e(t[l]);c&&(s&&(s+=","),s+=JSON.stringify(l)+":"+c)}return o.splice(a,1),"{"+s+"}"}}(e)}},30975:(e,t,r)=>{"use strict";function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===l(e)}function i(e){return"string"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e}function a(e){return null!=e}function u(e){return!e.trim().length}function l(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}r.r(t),r.d(t,{default:()=>$});const c=Object.prototype.hasOwnProperty;class d{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let r=f(e);t+=r.weight,this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function f(e){let t=null,r=null,o=null,s=1;if(i(e)||n(e))o=e,t=h(e),r=p(e);else{if(!c.call(e,"name"))throw new Error("Missing name property in key");const n=e.name;if(o=n,c.call(e,"weight")&&(s=e.weight,s<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(n));t=h(n),r=p(n)}return{path:t,id:r,weight:s,src:o}}function h(e){return n(e)?e:e.split(".")}function p(e){return n(e)?e.join("."):e}var m={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let r=[],u=!1;const c=(e,t,d)=>{if(a(e))if(t[d]){const f=e[t[d]];if(!a(f))return;if(d===t.length-1&&(i(f)||o(f)||function(e){return!0===e||!1===e||function(e){return s(e)&&null!==e}(e)&&"[object Boolean]"==l(e)}(f)))r.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(f));else if(n(f)){u=!0;for(let e=0,r=f.length;e<r;e+=1)c(f[e],t,d+1)}else t.length&&c(f,t,d+1)}else r.push(e)};return c(e,i(t)?t.split("."):t,0),u?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1};const g=/[^ ]+/g;class y{constructor({getFn:e=m.getFn}={}){this.norm=function(e=3){const t=new Map,r=Math.pow(10,e);return{get(e){const n=e.match(g).length;if(t.has(n))return t.get(n);const i=1/Math.sqrt(n),o=parseFloat(Math.round(i*r)/r);return t.set(n,o),o},clear(){t.clear()}}}(3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach(((e,t)=>{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,i(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();i(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!a(e)||u(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,t){let r={i:t,$:{}};this.keys.forEach(((t,o)=>{let s=this.getFn(e,t.path);if(a(s))if(n(s)){let e=[];const t=[{nestedArrIndex:-1,value:s}];for(;t.length;){const{nestedArrIndex:r,value:o}=t.pop();if(a(o))if(i(o)&&!u(o)){let t={v:o,i:r,n:this.norm.get(o)};e.push(t)}else n(o)&&o.forEach(((e,r)=>{t.push({nestedArrIndex:r,value:e})}))}r.$[o]=e}else if(!u(s)){let e={v:s,n:this.norm.get(s)};r.$[o]=e}})),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function v(e,t,{getFn:r=m.getFn}={}){const n=new y({getFn:r});return n.setKeys(e.map(f)),n.setSources(t),n.create(),n}function w(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=m.distance,ignoreLocation:o=m.ignoreLocation}={}){const s=t/e.length;if(o)return s;const a=Math.abs(n-r);return i?s+a/i:a?1:s}const b=32;function S(e){let t={};for(let r=0,n=e.length;r<n;r+=1){const i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}class _{constructor(e,{location:t=m.location,threshold:r=m.threshold,distance:n=m.distance,includeMatches:i=m.includeMatches,findAllMatches:o=m.findAllMatches,minMatchCharLength:s=m.minMatchCharLength,isCaseSensitive:a=m.isCaseSensitive,ignoreLocation:u=m.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:u},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const l=(e,t)=>{this.chunks.push({pattern:e,alphabet:S(e),startIndex:t})},c=this.pattern.length;if(c>b){let e=0;const t=c%b,r=c-t;for(;e<r;)l(this.pattern.substr(e,b),e),e+=b;if(t){const e=c-b;l(this.pattern.substr(e),e)}}else l(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,includeMatches:r}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}const{location:n,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,ignoreLocation:u}=this.options;let l=[],c=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:h})=>{const{isMatch:p,score:g,indices:y}=function(e,t,r,{location:n=m.location,distance:i=m.distance,threshold:o=m.threshold,findAllMatches:s=m.findAllMatches,minMatchCharLength:a=m.minMatchCharLength,includeMatches:u=m.includeMatches,ignoreLocation:l=m.ignoreLocation}={}){if(t.length>b)throw new Error("Pattern length exceeds max of 32.");const c=t.length,d=e.length,f=Math.max(0,Math.min(n,d));let h=o,p=f;const g=a>1||u,y=g?Array(d):[];let v;for(;(v=e.indexOf(t,p))>-1;){let e=w(t,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:l});if(h=Math.min(e,h),p=v+c,g){let e=0;for(;e<c;)y[v+e]=1,e+=1}}p=-1;let S=[],_=1,C=c+d;const E=1<<c-1;for(let n=0;n<c;n+=1){let o=0,a=C;for(;o<a;)w(t,{errors:n,currentLocation:f+a,expectedLocation:f,distance:i,ignoreLocation:l})<=h?o=a:C=a,a=Math.floor((C-o)/2+o);C=a;let u=Math.max(1,f-a+1),m=s?d:Math.min(f+a,d)+c,v=Array(m+2);v[m+1]=(1<<n)-1;for(let o=m;o>=u;o-=1){let s=o-1,a=r[e.charAt(s)];if(g&&(y[s]=+!!a),v[o]=(v[o+1]<<1|1)&a,n&&(v[o]|=(S[o+1]|S[o])<<1|1|S[o+1]),v[o]&E&&(_=w(t,{errors:n,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:l}),_<=h)){if(h=_,p=s,p<=f)break;u=Math.max(1,2*f-p)}}if(w(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:l})>h)break;S=v}const P={isMatch:p>=0,score:Math.max(.001,_)};if(g){const e=function(e=[],t=m.minMatchCharLength){let r=[],n=-1,i=-1,o=0;for(let s=e.length;o<s;o+=1){let s=e[o];s&&-1===n?n=o:s||-1===n||(i=o-1,i-n+1>=t&&r.push([n,i]),n=-1)}return e[o-1]&&o-n>=t&&r.push([n,o-1]),r}(y,a);e.length?u&&(P.indices=e):P.isMatch=!1}return P}(e,t,f,{location:n+h,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,includeMatches:r,ignoreLocation:u});p&&(d=!0),c+=g,p&&y&&(l=[...l,...y])}));let f={isMatch:d,score:d?c/this.chunks.length:1};return d&&r&&(f.indices=l),f}}class C{constructor(e){this.pattern=e}static isMultiMatch(e){return E(e,this.multiRegex)}static isSingleMatch(e){return E(e,this.singleRegex)}search(){}}function E(e,t){const r=e.match(t);return r?r[1]:null}class P extends C{constructor(e,{location:t=m.location,threshold:r=m.threshold,distance:n=m.distance,includeMatches:i=m.includeMatches,findAllMatches:o=m.findAllMatches,minMatchCharLength:s=m.minMatchCharLength,isCaseSensitive:a=m.isCaseSensitive,ignoreLocation:u=m.ignoreLocation}={}){super(e),this._bitapSearch=new _(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class T extends C{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0;const n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,n.push([t,r-1]);const o=!!n.length;return{isMatch:o,score:o?0:1,indices:n}}}const k=[class extends C{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},T,class extends C{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},P],A=k.length,L=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,O=new Set([P.type,T.type]);const I=[];function R(e,t){for(let r=0,n=I.length;r<n;r+=1){let n=I[r];if(n.condition(e,t))return new n(e,t)}return new _(e,t)}const D="$and",F=e=>!(!e.$and&&!e.$or),M=e=>({[D]:Object.keys(e).map((t=>({[t]:e[t]})))});function x(e,t,{auto:r=!0}={}){const o=e=>{let a=Object.keys(e);const u=(e=>!!e.$path)(e);if(!u&&a.length>1&&!F(e))return o(M(e));if((e=>!n(e)&&s(e)&&!F(e))(e)){const n=u?e.$path:a[0],o=u?e.$val:e[n];if(!i(o))throw new Error((e=>`Invalid value for key ${e}`)(n));const s={keyId:p(n),pattern:o};return r&&(s.searcher=R(o,t)),s}let l={children:[],operator:a[0]};return a.forEach((t=>{const r=e[t];n(r)&&r.forEach((e=>{l.children.push(o(e))}))})),l};return F(e)||(e=M(e)),o(e)}function N(e,t){const r=e.matches;t.matches=[],a(r)&&r.forEach((e=>{if(!a(e.indices)||!e.indices.length)return;const{indices:r,value:n}=e;let i={indices:r,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)}))}function j(e,t){t.score=e.score}class W{constructor(e,t={},r){this.options={...m,...t},this.options.useExtendedSearch,this._keyStore=new d(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof y))throw new Error("Incorrect 'index' type");this._myIndex=t||v(this.options.keys,this._docs,{getFn:this.options.getFn})}add(e){a(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let r=0,n=this._docs.length;r<n;r+=1){const i=this._docs[r];e(i,r)&&(this.removeAt(r),r-=1,n-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){const{includeMatches:r,includeScore:n,shouldSort:s,sortFn:a,ignoreFieldNorm:u}=this.options;let l=i(e)?i(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=m.ignoreFieldNorm}){e.forEach((e=>{let r=1;e.matches.forEach((({key:e,norm:n,score:i})=>{const o=e?e.weight:null;r*=Math.pow(0===i&&o?Number.EPSILON:i,(o||1)*(t?1:n))})),e.score=r}))}(l,{ignoreFieldNorm:u}),s&&l.sort(a),o(t)&&t>-1&&(l=l.slice(0,t)),function(e,t,{includeMatches:r=m.includeMatches,includeScore:n=m.includeScore}={}){const i=[];return r&&i.push(N),n&&i.push(j),e.map((e=>{const{idx:r}=e,n={item:t[r],refIndex:r};return i.length&&i.forEach((t=>{t(e,n)})),n}))}(l,this._docs,{includeMatches:r,includeScore:n})}_searchStringList(e){const t=R(e,this.options),{records:r}=this._myIndex,n=[];return r.forEach((({v:e,i:r,n:i})=>{if(!a(e))return;const{isMatch:o,score:s,indices:u}=t.searchIn(e);o&&n.push({item:e,idx:r,matches:[{score:s,value:e,norm:i,indices:u}]})})),n}_searchLogical(e){const t=x(e,this.options),r=(e,t,n)=>{if(!e.children){const{keyId:r,searcher:i}=e,o=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:i});return o&&o.length?[{idx:n,item:t,matches:o}]:[]}switch(e.operator){case D:{const i=[];for(let o=0,s=e.children.length;o<s;o+=1){const s=e.children[o],a=r(s,t,n);if(!a.length)return[];i.push(...a)}return i}case"$or":{const i=[];for(let o=0,s=e.children.length;o<s;o+=1){const s=e.children[o],a=r(s,t,n);if(a.length){i.push(...a);break}}return i}}},n=this._myIndex.records,i={},o=[];return n.forEach((({$:e,i:n})=>{if(a(e)){let s=r(t,e,n);s.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},o.push(i[n])),s.forEach((({matches:e})=>{i[n].matches.push(...e)})))}})),o}_searchObjectList(e){const t=R(e,this.options),{keys:r,records:n}=this._myIndex,i=[];return n.forEach((({$:e,i:n})=>{if(!a(e))return;let o=[];r.forEach(((r,n)=>{o.push(...this._findMatches({key:r,value:e[n],searcher:t}))})),o.length&&i.push({idx:n,item:e,matches:o})})),i}_findMatches({key:e,value:t,searcher:r}){if(!a(t))return[];let i=[];if(n(t))t.forEach((({v:t,i:n,n:o})=>{if(!a(t))return;const{isMatch:s,score:u,indices:l}=r.searchIn(t);s&&i.push({score:u,key:e,value:t,idx:n,norm:o,indices:l})}));else{const{v:n,n:o}=t,{isMatch:s,score:a,indices:u}=r.searchIn(n);s&&i.push({score:a,key:e,value:n,norm:o,indices:u})}return i}}W.version="6.4.6",W.createIndex=v,W.parseIndex=function(e,{getFn:t=m.getFn}={}){const{keys:r,records:n}=e,i=new y({getFn:t});return i.setKeys(r),i.setIndexRecords(n),i},W.config=m,W.parseQuery=x,function(...e){I.push(...e)}(class{constructor(e,{isCaseSensitive:t=m.isCaseSensitive,includeMatches:r=m.includeMatches,minMatchCharLength:n=m.minMatchCharLength,ignoreLocation:i=m.ignoreLocation,findAllMatches:o=m.findAllMatches,location:s=m.location,threshold:a=m.threshold,distance:u=m.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:r,minMatchCharLength:n,findAllMatches:o,ignoreLocation:i,location:s,threshold:a,distance:u},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let r=e.trim().split(L).filter((e=>e&&!!e.trim())),n=[];for(let e=0,i=r.length;e<i;e+=1){const i=r[e];let o=!1,s=-1;for(;!o&&++s<A;){const e=k[s];let r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),o=!0)}if(!o)for(s=-1;++s<A;){const e=k[s];let r=e.isSingleMatch(i);if(r){n.push(new e(r,t));break}}}return n}))}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:r,isCaseSensitive:n}=this.options;e=n?e:e.toLowerCase();let i=0,o=[],s=0;for(let n=0,a=t.length;n<a;n+=1){const a=t[n];o.length=0,i=0;for(let t=0,n=a.length;t<n;t+=1){const n=a[t],{isMatch:u,indices:l,score:c}=n.search(e);if(!u){s=0,i=0,o.length=0;break}if(i+=1,s+=c,r){const e=n.constructor.type;O.has(e)?o=[...o,...l]:o.push(l)}}if(i){let e={isMatch:!0,score:s/i};return r&&(e.indices=o),e}}return{isMatch:!1,score:1}}});const $=W},40500:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),r(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function r(e,n,i,o,s,a,u,l,c,d){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in n(o,s,a,u,l,c,d),o){var h=o[f];if(Array.isArray(h)){if(f in t.arrayKeywords)for(var p=0;p<h.length;p++)r(e,n,i,h[p],s+"/"+f+"/"+p,a,s,f,o,p)}else if(f in t.propsKeywords){if(h&&"object"==typeof h)for(var m in h)r(e,n,i,h[m],s+"/"+f+"/"+m.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,f,o,m)}else(f in t.keywords||e.allKeys&&!(f in t.skipKeywords))&&r(e,n,i,h,s+"/"+f,a,s,f,o)}i(o,s,a,u,l,c,d)}}t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},t.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},24081:(e,t,r)=>{var n=r(21059)(r(158),"DataView");e.exports=n},15999:(e,t,r)=>{var n=r(13387),i=r(69252),o=r(31125),s=r(9021),a=r(68131);function u(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=s,u.prototype.set=a,e.exports=u},26811:(e,t,r)=>{var n=r(72215),i=r(56105),o=r(30484),s=r(8046),a=r(30603);function u(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=s,u.prototype.set=a,e.exports=u},60945:(e,t,r)=>{var n=r(21059)(r(158),"Map");e.exports=n},25835:(e,t,r)=>{var n=r(73633),i=r(39382),o=r(28850),s=r(70756),a=r(2769);function u(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=s,u.prototype.set=a,e.exports=u},27540:(e,t,r)=>{var n=r(21059)(r(158),"Promise");e.exports=n},80476:(e,t,r)=>{var n=r(21059)(r(158),"Set");e.exports=n},74868:(e,t,r)=>{var n=r(25835),i=r(57554),o=r(18800);function s(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}s.prototype.add=s.prototype.push=i,s.prototype.has=o,e.exports=s},34987:(e,t,r)=>{var n=r(26811),i=r(73832),o=r(31676),s=r(33577),a=r(43343),u=r(20488);function l(e){var t=this.__data__=new n(e);this.size=t.size}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=s,l.prototype.has=a,l.prototype.set=u,e.exports=l},44937:(e,t,r)=>{var n=r(158).Symbol;e.exports=n},48596:(e,t,r)=>{var n=r(158).Uint8Array;e.exports=n},18307:(e,t,r)=>{var n=r(21059)(r(158),"WeakMap");e.exports=n},90929:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},73034:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},5680:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var s=e[r];t(s,r,e)&&(o[i++]=s)}return o}},92554:(e,t,r)=>{var n=r(65086),i=r(67016),o=r(93706),s=r(77638),a=r(49699),u=r(70094),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=o(e),c=!r&&i(e),d=!r&&!c&&s(e),f=!r&&!c&&!d&&u(e),h=r||c||d||f,p=h?n(e.length,String):[],m=p.length;for(var g in e)!t&&!l.call(e,g)||h&&("length"==g||d&&("offset"==g||"parent"==g)||f&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||a(g,m))||p.push(g);return p}},57041:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}},52824:e=>{e.exports=function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}},99280:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},96122:(e,t,r)=>{var n=r(88039),i=r(1316),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var s=e[t];o.call(e,t)&&i(s,r)&&(void 0!==r||t in e)||n(e,t,r)}},33993:(e,t,r)=>{var n=r(1316);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},73977:(e,t,r)=>{var n=r(34386),i=r(23150);e.exports=function(e,t){return e&&n(t,i(t),e)}},5081:(e,t,r)=>{var n=r(34386),i=r(61530);e.exports=function(e,t){return e&&n(t,i(t),e)}},88039:(e,t,r)=>{var n=r(88689);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},49548:(e,t,r)=>{var n=r(34987),i=r(73034),o=r(96122),s=r(73977),a=r(5081),u=r(728),l=r(86923),c=r(21375),d=r(1584),f=r(47461),h=r(31441),p=r(35551),m=r(75539),g=r(83394),y=r(45010),v=r(93706),w=r(77638),b=r(55948),S=r(23619),_=r(78255),C=r(23150),E=r(61530),P="[object Arguments]",T="[object Function]",k="[object Object]",A={};A[P]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[k]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[T]=A["[object WeakMap]"]=!1,e.exports=function e(t,r,L,O,I,R){var D,F=1&r,M=2&r,x=4&r;if(L&&(D=I?L(t,O,I,R):L(t)),void 0!==D)return D;if(!S(t))return t;var N=v(t);if(N){if(D=m(t),!F)return l(t,D)}else{var j=p(t),W=j==T||"[object GeneratorFunction]"==j;if(w(t))return u(t,F);if(j==k||j==P||W&&!I){if(D=M||W?{}:y(t),!F)return M?d(t,a(D,t)):c(t,s(D,t))}else{if(!A[j])return I?t:{};D=g(t,j,F)}}R||(R=new n);var $=R.get(t);if($)return $;R.set(t,D),_(t)?t.forEach((function(n){D.add(e(n,r,L,n,t,R))})):b(t)&&t.forEach((function(n,i){D.set(i,e(n,r,L,i,t,R))}));var B=N?void 0:(x?M?h:f:M?E:C)(t);return i(B||t,(function(n,i){B&&(n=t[i=n]),o(D,i,e(n,r,L,i,t,R))})),D}},33776:(e,t,r)=>{var n=r(23619),i=Object.create,o=function(){function e(){}return function(t){if(!n(t))return{};if(i)return i(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=o},22153:(e,t,r)=>{var n=r(52824),i=r(76648);e.exports=function e(t,r,o,s,a){var u=-1,l=t.length;for(o||(o=i),a||(a=[]);++u<l;){var c=t[u];r>0&&o(c)?r>1?e(c,r-1,o,s,a):n(a,c):s||(a[a.length]=c)}return a}},51845:(e,t,r)=>{var n=r(49160),i=r(46384);e.exports=function(e,t){for(var r=0,o=(t=n(t,e)).length;null!=e&&r<o;)e=e[i(t[r++])];return r&&r==o?e:void 0}},45328:(e,t,r)=>{var n=r(52824),i=r(93706);e.exports=function(e,t,r){var o=t(e);return i(e)?o:n(o,r(e))}},20194:(e,t,r)=>{var n=r(44937),i=r(15401),o=r(92445),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?i(e):o(e)}},56640:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},64634:(e,t,r)=>{var n=r(20194),i=r(81653);e.exports=function(e){return i(e)&&"[object Arguments]"==n(e)}},95372:(e,t,r)=>{var n=r(55365),i=r(81653);e.exports=function e(t,r,o,s,a){return t===r||(null==t||null==r||!i(t)&&!i(r)?t!=t&&r!=r:n(t,r,o,s,e,a))}},55365:(e,t,r)=>{var n=r(34987),i=r(95428),o=r(1108),s=r(71711),a=r(35551),u=r(93706),l=r(77638),c=r(70094),d="[object Arguments]",f="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,m,g,y){var v=u(e),w=u(t),b=v?f:a(e),S=w?f:a(t),_=(b=b==d?h:b)==h,C=(S=S==d?h:S)==h,E=b==S;if(E&&l(e)){if(!l(t))return!1;v=!0,_=!1}if(E&&!_)return y||(y=new n),v||c(e)?i(e,t,r,m,g,y):o(e,t,b,r,m,g,y);if(!(1&r)){var P=_&&p.call(e,"__wrapped__"),T=C&&p.call(t,"__wrapped__");if(P||T){var k=P?e.value():e,A=T?t.value():t;return y||(y=new n),g(k,A,r,m,y)}}return!!E&&(y||(y=new n),s(e,t,r,m,g,y))}},2471:(e,t,r)=>{var n=r(35551),i=r(81653);e.exports=function(e){return i(e)&&"[object Map]"==n(e)}},4249:(e,t,r)=>{var n=r(39277),i=r(83481),o=r(23619),s=r(91223),a=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,f=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(n(e)?f:a).test(s(e))}},42388:(e,t,r)=>{var n=r(35551),i=r(81653);e.exports=function(e){return i(e)&&"[object Set]"==n(e)}},88595:(e,t,r)=>{var n=r(20194),i=r(62008),o=r(81653),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!s[n(e)]}},76324:(e,t,r)=>{var n=r(3067),i=r(32501),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return i(e);var t=[];for(var r in Object(e))o.call(e,r)&&"constructor"!=r&&t.push(r);return t}},21506:(e,t,r)=>{var n=r(23619),i=r(3067),o=r(90807),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=i(e),r=[];for(var a in e)("constructor"!=a||!t&&s.call(e,a))&&r.push(a);return r}},11241:(e,t,r)=>{var n=r(10722),i=r(47975);e.exports=function(e,t){return n(e,t,(function(t,r){return i(e,r)}))}},10722:(e,t,r)=>{var n=r(51845),i=r(68400),o=r(49160);e.exports=function(e,t,r){for(var s=-1,a=t.length,u={};++s<a;){var l=t[s],c=n(e,l);r(c,l)&&i(u,o(l,e),c)}return u}},68400:(e,t,r)=>{var n=r(96122),i=r(49160),o=r(49699),s=r(23619),a=r(46384);e.exports=function(e,t,r,u){if(!s(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,f=e;null!=f&&++l<c;){var h=a(t[l]),p=r;if("__proto__"===h||"constructor"===h||"prototype"===h)return e;if(l!=d){var m=f[h];void 0===(p=u?u(m,h,f):void 0)&&(p=s(m)?m:o(t[l+1])?[]:{})}n(f,h,p),f=f[h]}return e}},86920:(e,t,r)=>{var n=r(80446),i=r(88689),o=r(41549),s=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:o;e.exports=s},65086:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},80430:(e,t,r)=>{var n=r(44937),i=r(57041),o=r(93706),s=r(81878),a=n?n.prototype:void 0,u=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(s(t))return u?u.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},12383:(e,t,r)=>{var n=r(38725),i=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,""):e}},2723:e=>{e.exports=function(e){return function(t){return e(t)}}},67446:e=>{e.exports=function(e,t){return e.has(t)}},49160:(e,t,r)=>{var n=r(93706),i=r(63140),o=r(39230),s=r(33270);e.exports=function(e,t){return n(e)?e:i(e,t)?[e]:o(s(e))}},53310:(e,t,r)=>{var n=r(48596);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},728:(e,t,r)=>{e=r.nmd(e);var n=r(158),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i?n.Buffer:void 0,a=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}},14352:(e,t,r)=>{var n=r(53310);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},44694:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},29169:(e,t,r)=>{var n=r(44937),i=n?n.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},69752:(e,t,r)=>{var n=r(53310);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},86923:e=>{e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},34386:(e,t,r)=>{var n=r(96122),i=r(88039);e.exports=function(e,t,r,o){var s=!r;r||(r={});for(var a=-1,u=t.length;++a<u;){var l=t[a],c=o?o(r[l],e[l],l,r,e):void 0;void 0===c&&(c=e[l]),s?i(r,l,c):n(r,l,c)}return r}},21375:(e,t,r)=>{var n=r(34386),i=r(45278);e.exports=function(e,t){return n(e,i(e),t)}},1584:(e,t,r)=>{var n=r(34386),i=r(27508);e.exports=function(e,t){return n(e,i(e),t)}},38728:(e,t,r)=>{var n=r(158)["__core-js_shared__"];e.exports=n},88689:(e,t,r)=>{var n=r(21059),i=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},95428:(e,t,r)=>{var n=r(74868),i=r(99280),o=r(67446);e.exports=function(e,t,r,s,a,u){var l=1&r,c=e.length,d=t.length;if(c!=d&&!(l&&d>c))return!1;var f=u.get(e),h=u.get(t);if(f&&h)return f==t&&h==e;var p=-1,m=!0,g=2&r?new n:void 0;for(u.set(e,t),u.set(t,e);++p<c;){var y=e[p],v=t[p];if(s)var w=l?s(v,y,p,t,e,u):s(y,v,p,e,t,u);if(void 0!==w){if(w)continue;m=!1;break}if(g){if(!i(t,(function(e,t){if(!o(g,t)&&(y===e||a(y,e,r,s,u)))return g.push(t)}))){m=!1;break}}else if(y!==v&&!a(y,v,r,s,u)){m=!1;break}}return u.delete(e),u.delete(t),m}},1108:(e,t,r)=>{var n=r(44937),i=r(48596),o=r(1316),s=r(95428),a=r(11382),u=r(76680),l=n?n.prototype:void 0,c=l?l.valueOf:void 0;e.exports=function(e,t,r,n,l,d,f){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new i(e),new i(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=a;case"[object Set]":var p=1&n;if(h||(h=u),e.size!=t.size&&!p)return!1;var m=f.get(e);if(m)return m==t;n|=2,f.set(e,t);var g=s(h(e),h(t),n,l,d,f);return f.delete(e),g;case"[object Symbol]":if(c)return c.call(e)==c.call(t)}return!1}},71711:(e,t,r)=>{var n=r(47461),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,o,s,a){var u=1&r,l=n(e),c=l.length;if(c!=n(t).length&&!u)return!1;for(var d=c;d--;){var f=l[d];if(!(u?f in t:i.call(t,f)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var m=!0;a.set(e,t),a.set(t,e);for(var g=u;++d<c;){var y=e[f=l[d]],v=t[f];if(o)var w=u?o(v,y,f,t,e,a):o(y,v,f,e,t,a);if(!(void 0===w?y===v||s(y,v,r,o,a):w)){m=!1;break}g||(g="constructor"==f)}if(m&&!g){var b=e.constructor,S=t.constructor;b==S||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof S&&S instanceof S||(m=!1)}return a.delete(e),a.delete(t),m}},39169:(e,t,r)=>{var n=r(30597),i=r(53039),o=r(47209);e.exports=function(e){return o(i(e,void 0,n),e+"")}},14528:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},47461:(e,t,r)=>{var n=r(45328),i=r(45278),o=r(23150);e.exports=function(e){return n(e,o,i)}},31441:(e,t,r)=>{var n=r(45328),i=r(27508),o=r(61530);e.exports=function(e){return n(e,o,i)}},5662:(e,t,r)=>{var n=r(10205);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},21059:(e,t,r)=>{var n=r(4249),i=r(4759);e.exports=function(e,t){var r=i(e,t);return n(r)?r:void 0}},97959:(e,t,r)=>{var n=r(78579)(Object.getPrototypeOf,Object);e.exports=n},15401:(e,t,r)=>{var n=r(44937),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),r=e[a];try{e[a]=void 0;var n=!0}catch(e){}var i=s.call(e);return n&&(t?e[a]=r:delete e[a]),i}},45278:(e,t,r)=>{var n=r(5680),i=r(59174),o=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return o.call(e,t)})))}:i;e.exports=a},27508:(e,t,r)=>{var n=r(52824),i=r(97959),o=r(45278),s=r(59174),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,o(e)),e=i(e);return t}:s;e.exports=a},35551:(e,t,r)=>{var n=r(24081),i=r(60945),o=r(27540),s=r(80476),a=r(18307),u=r(20194),l=r(91223),c="[object Map]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",p="[object DataView]",m=l(n),g=l(i),y=l(o),v=l(s),w=l(a),b=u;(n&&b(new n(new ArrayBuffer(1)))!=p||i&&b(new i)!=c||o&&b(o.resolve())!=d||s&&b(new s)!=f||a&&b(new a)!=h)&&(b=function(e){var t=u(e),r="[object Object]"==t?e.constructor:void 0,n=r?l(r):"";if(n)switch(n){case m:return p;case g:return c;case y:return d;case v:return f;case w:return h}return t}),e.exports=b},4759:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},96919:(e,t,r)=>{var n=r(49160),i=r(67016),o=r(93706),s=r(49699),a=r(62008),u=r(46384);e.exports=function(e,t,r){for(var l=-1,c=(t=n(t,e)).length,d=!1;++l<c;){var f=u(t[l]);if(!(d=null!=e&&r(e,f)))break;e=e[f]}return d||++l!=c?d:!!(c=null==e?0:e.length)&&a(c)&&s(f,c)&&(o(e)||i(e))}},13387:(e,t,r)=>{var n=r(45155);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},69252:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},31125:(e,t,r)=>{var n=r(45155),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return i.call(t,e)?t[e]:void 0}},9021:(e,t,r)=>{var n=r(45155),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:i.call(t,e)}},68131:(e,t,r)=>{var n=r(45155);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},75539:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},83394:(e,t,r)=>{var n=r(53310),i=r(14352),o=r(44694),s=r(29169),a=r(69752);e.exports=function(e,t,r){var u=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new u(+e);case"[object DataView]":return i(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(e,r);case"[object Map]":return new u;case"[object Number]":case"[object String]":return new u(e);case"[object RegExp]":return o(e);case"[object Set]":return new u;case"[object Symbol]":return s(e)}}},45010:(e,t,r)=>{var n=r(33776),i=r(97959),o=r(3067);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:n(i(e))}},76648:(e,t,r)=>{var n=r(44937),i=r(67016),o=r(93706),s=n?n.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(s&&e&&e[s])}},49699:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},63140:(e,t,r)=>{var n=r(93706),i=r(81878),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!i(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}},10205:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},83481:(e,t,r)=>{var n,i=r(38728),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!o&&o in e}},3067:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},72215:e=>{e.exports=function(){this.__data__=[],this.size=0}},56105:(e,t,r)=>{var n=r(33993),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():i.call(t,r,1),--this.size,0))}},30484:(e,t,r)=>{var n=r(33993);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},8046:(e,t,r)=>{var n=r(33993);e.exports=function(e){return n(this.__data__,e)>-1}},30603:(e,t,r)=>{var n=r(33993);e.exports=function(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}},73633:(e,t,r)=>{var n=r(15999),i=r(26811),o=r(60945);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},39382:(e,t,r)=>{var n=r(5662);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},28850:(e,t,r)=>{var n=r(5662);e.exports=function(e){return n(this,e).get(e)}},70756:(e,t,r)=>{var n=r(5662);e.exports=function(e){return n(this,e).has(e)}},2769:(e,t,r)=>{var n=r(5662);e.exports=function(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}},11382:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},32202:(e,t,r)=>{var n=r(54883);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},45155:(e,t,r)=>{var n=r(21059)(Object,"create");e.exports=n},32501:(e,t,r)=>{var n=r(78579)(Object.keys,Object);e.exports=n},90807:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},41771:(e,t,r)=>{e=r.nmd(e);var n=r(14528),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i&&n.process,a=function(){try{return o&&o.require&&o.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a},92445:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},78579:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},53039:(e,t,r)=>{var n=r(90929),i=Math.max;e.exports=function(e,t,r){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,s=-1,a=i(o.length-t,0),u=Array(a);++s<a;)u[s]=o[t+s];s=-1;for(var l=Array(t+1);++s<t;)l[s]=o[s];return l[t]=r(u),n(e,this,l)}}},158:(e,t,r)=>{var n=r(14528),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();e.exports=o},57554:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},18800:e=>{e.exports=function(e){return this.__data__.has(e)}},76680:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},47209:(e,t,r)=>{var n=r(86920),i=r(10832)(n);e.exports=i},10832:e=>{var t=Date.now;e.exports=function(e){var r=0,n=0;return function(){var i=t(),o=16-(i-n);if(n=i,o>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},73832:(e,t,r)=>{var n=r(26811);e.exports=function(){this.__data__=new n,this.size=0}},31676:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},33577:e=>{e.exports=function(e){return this.__data__.get(e)}},43343:e=>{e.exports=function(e){return this.__data__.has(e)}},20488:(e,t,r)=>{var n=r(26811),i=r(60945),o=r(25835);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!i||s.length<199)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new o(s)}return r.set(e,t),this.size=r.size,this}},39230:(e,t,r)=>{var n=r(32202),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,s=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,r,n,i){t.push(n?i.replace(o,"$1"):r||e)})),t}));e.exports=s},46384:(e,t,r)=>{var n=r(81878);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},91223:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},38725:e=>{var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},71879:(e,t,r)=>{var n=r(49548);e.exports=function(e){return n(e,4)}},99748:(e,t,r)=>{var n=r(49548);e.exports=function(e){return n(e,5)}},80446:e=>{e.exports=function(e){return function(){return e}}},76897:(e,t,r)=>{var n=r(23619),i=r(98253),o=r(95053),s=Math.max,a=Math.min;e.exports=function(e,t,r){var u,l,c,d,f,h,p=0,m=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var r=u,n=l;return u=l=void 0,p=t,d=e.apply(n,r)}function w(e){return p=e,f=setTimeout(S,t),m?v(e):d}function b(e){var r=e-h;return void 0===h||r>=t||r<0||g&&e-p>=c}function S(){var e=i();if(b(e))return _(e);f=setTimeout(S,function(e){var r=t-(e-h);return g?a(r,c-(e-p)):r}(e))}function _(e){return f=void 0,y&&u?v(e):(u=l=void 0,d)}function C(){var e=i(),r=b(e);if(u=arguments,l=this,h=e,r){if(void 0===f)return w(h);if(g)return clearTimeout(f),f=setTimeout(S,t),v(h)}return void 0===f&&(f=setTimeout(S,t)),d}return t=o(t)||0,n(r)&&(m=!!r.leading,c=(g="maxWait"in r)?s(o(r.maxWait)||0,t):c,y="trailing"in r?!!r.trailing:y),C.cancel=function(){void 0!==f&&clearTimeout(f),p=0,u=h=l=f=void 0},C.flush=function(){return void 0===f?d:_(i())},C}},1316:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},30597:(e,t,r)=>{var n=r(22153);e.exports=function(e){return null!=e&&e.length?n(e,1):[]}},80089:(e,t,r)=>{var n=r(51845);e.exports=function(e,t,r){var i=null==e?void 0:n(e,t);return void 0===i?r:i}},47975:(e,t,r)=>{var n=r(56640),i=r(96919);e.exports=function(e,t){return null!=e&&i(e,t,n)}},41549:e=>{e.exports=function(e){return e}},67016:(e,t,r)=>{var n=r(64634),i=r(81653),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=u},93706:e=>{var t=Array.isArray;e.exports=t},51528:(e,t,r)=>{var n=r(39277),i=r(62008);e.exports=function(e){return null!=e&&i(e.length)&&!n(e)}},77638:(e,t,r)=>{e=r.nmd(e);var n=r(158),i=r(30647),o=t&&!t.nodeType&&t,s=o&&e&&!e.nodeType&&e,a=s&&s.exports===o?n.Buffer:void 0,u=(a?a.isBuffer:void 0)||i;e.exports=u},47184:(e,t,r)=>{var n=r(95372);e.exports=function(e,t){return n(e,t)}},65162:(e,t,r)=>{var n=r(95372);e.exports=function(e,t,r){var i=(r="function"==typeof r?r:void 0)?r(e,t):void 0;return void 0===i?n(e,t,void 0,r):!!i}},39277:(e,t,r)=>{var n=r(20194),i=r(23619);e.exports=function(e){if(!i(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},62008:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},55948:(e,t,r)=>{var n=r(2471),i=r(2723),o=r(41771),s=o&&o.isMap,a=s?i(s):n;e.exports=a},23619:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},81653:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},78255:(e,t,r)=>{var n=r(42388),i=r(2723),o=r(41771),s=o&&o.isSet,a=s?i(s):n;e.exports=a},81878:(e,t,r)=>{var n=r(20194),i=r(81653);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==n(e)}},70094:(e,t,r)=>{var n=r(88595),i=r(2723),o=r(41771),s=o&&o.isTypedArray,a=s?i(s):n;e.exports=a},23150:(e,t,r)=>{var n=r(92554),i=r(76324),o=r(51528);e.exports=function(e){return o(e)?n(e):i(e)}},61530:(e,t,r)=>{var n=r(92554),i=r(21506),o=r(51528);e.exports=function(e){return o(e)?n(e,!0):i(e)}},53059:function(e,t,r){var n;e=r.nmd(e),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,f=NaN,h=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],m="[object Arguments]",g="[object Array]",y="[object Boolean]",v="[object Date]",w="[object Error]",b="[object Function]",S="[object GeneratorFunction]",_="[object Map]",C="[object Number]",E="[object Object]",P="[object Promise]",T="[object RegExp]",k="[object Set]",A="[object String]",L="[object Symbol]",O="[object WeakMap]",I="[object ArrayBuffer]",R="[object DataView]",D="[object Float32Array]",F="[object Float64Array]",M="[object Int8Array]",x="[object Int16Array]",N="[object Int32Array]",j="[object Uint8Array]",W="[object Uint8ClampedArray]",$="[object Uint16Array]",B="[object Uint32Array]",U=/\b__p \+= '';/g,H=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,q=/&(?:amp|lt|gt|quot|#39);/g,z=/[&<>"']/g,G=RegExp(q.source),Q=RegExp(z.source),K=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,Z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,re=RegExp(te.source),ne=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,he=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,me=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,we=/($^)/,be=/['\n\r\u2028\u2029\\]/g,Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",_e="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pe="["+Ee+"]",Te="["+Se+"]",ke="\\d+",Ae="["+_e+"]",Le="[^\\ud800-\\udfff"+Ee+ke+"\\u2700-\\u27bf"+_e+Ce+"]",Oe="\\ud83c[\\udffb-\\udfff]",Ie="[^\\ud800-\\udfff]",Re="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Ce+"]",Me="(?:"+Ae+"|"+Le+")",xe="(?:"+Fe+"|"+Le+")",Ne="(?:['’](?:d|ll|m|re|s|t|ve))?",je="(?:['’](?:D|LL|M|RE|S|T|VE))?",We="(?:"+Te+"|"+Oe+")?",$e="[\\ufe0e\\ufe0f]?",Be=$e+We+"(?:\\u200d(?:"+[Ie,Re,De].join("|")+")"+$e+We+")*",Ue="(?:"+["[\\u2700-\\u27bf]",Re,De].join("|")+")"+Be,He="(?:"+[Ie+Te+"?",Te,Re,De,"[\\ud800-\\udfff]"].join("|")+")",Ve=RegExp("['’]","g"),qe=RegExp(Te,"g"),ze=RegExp(Oe+"(?="+Oe+")|"+He+Be,"g"),Ge=RegExp([Fe+"?"+Ae+"+"+Ne+"(?="+[Pe,Fe,"$"].join("|")+")",xe+"+"+je+"(?="+[Pe,Fe+Me,"$"].join("|")+")",Fe+"?"+Me+"+"+Ne,Fe+"+"+je,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ke,Ue].join("|"),"g"),Qe=RegExp("[\\u200d\\ud800-\\udfff"+Se+"\\ufe0e\\ufe0f]"),Ke=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Je=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ye=-1,Ze={};Ze[D]=Ze[F]=Ze[M]=Ze[x]=Ze[N]=Ze[j]=Ze[W]=Ze[$]=Ze[B]=!0,Ze[m]=Ze[g]=Ze[I]=Ze[y]=Ze[R]=Ze[v]=Ze[w]=Ze[b]=Ze[_]=Ze[C]=Ze[E]=Ze[T]=Ze[k]=Ze[A]=Ze[O]=!1;var Xe={};Xe[m]=Xe[g]=Xe[I]=Xe[R]=Xe[y]=Xe[v]=Xe[D]=Xe[F]=Xe[M]=Xe[x]=Xe[N]=Xe[_]=Xe[C]=Xe[E]=Xe[T]=Xe[k]=Xe[A]=Xe[L]=Xe[j]=Xe[W]=Xe[$]=Xe[B]=!0,Xe[w]=Xe[b]=Xe[O]=!1;var et={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},tt=parseFloat,rt=parseInt,nt="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,it="object"==typeof self&&self&&self.Object===Object&&self,ot=nt||it||Function("return this")(),st=t&&!t.nodeType&&t,at=st&&e&&!e.nodeType&&e,ut=at&&at.exports===st,lt=ut&&nt.process,ct=function(){try{return at&&at.require&&at.require("util").types||lt&<.binding&<.binding("util")}catch(e){}}(),dt=ct&&ct.isArrayBuffer,ft=ct&&ct.isDate,ht=ct&&ct.isMap,pt=ct&&ct.isRegExp,mt=ct&&ct.isSet,gt=ct&&ct.isTypedArray;function yt(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function vt(e,t,r,n){for(var i=-1,o=null==e?0:e.length;++i<o;){var s=e[i];t(n,s,r(s),e)}return n}function wt(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function bt(e,t){for(var r=null==e?0:e.length;r--&&!1!==t(e[r],r,e););return e}function St(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function _t(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var s=e[r];t(s,r,e)&&(o[i++]=s)}return o}function Ct(e,t){return!(null==e||!e.length)&&Dt(e,t,0)>-1}function Et(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function Pt(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function Tt(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function kt(e,t,r,n){var i=-1,o=null==e?0:e.length;for(n&&o&&(r=e[++i]);++i<o;)r=t(r,e[i],i,e);return r}function At(e,t,r,n){var i=null==e?0:e.length;for(n&&i&&(r=e[--i]);i--;)r=t(r,e[i],i,e);return r}function Lt(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}var Ot=Nt("length");function It(e,t,r){var n;return r(e,(function(e,r,i){if(t(e,r,i))return n=r,!1})),n}function Rt(e,t,r,n){for(var i=e.length,o=r+(n?1:-1);n?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Dt(e,t,r){return t==t?function(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}(e,t,r):Rt(e,Mt,r)}function Ft(e,t,r,n){for(var i=r-1,o=e.length;++i<o;)if(n(e[i],t))return i;return-1}function Mt(e){return e!=e}function xt(e,t){var r=null==e?0:e.length;return r?$t(e,t)/r:f}function Nt(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function Wt(e,t,r,n,i){return i(e,(function(e,i,o){r=n?(n=!1,e):t(r,e,i,o)})),r}function $t(e,t){for(var r,n=-1,o=e.length;++n<o;){var s=t(e[n]);s!==i&&(r=r===i?s:r+s)}return r}function Bt(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function Ut(e){return e?e.slice(0,sr(e)+1).replace(ne,""):e}function Ht(e){return function(t){return e(t)}}function Vt(e,t){return Pt(t,(function(t){return e[t]}))}function qt(e,t){return e.has(t)}function zt(e,t){for(var r=-1,n=e.length;++r<n&&Dt(t,e[r],0)>-1;);return r}function Gt(e,t){for(var r=e.length;r--&&Dt(t,e[r],0)>-1;);return r}function Qt(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var Kt=jt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Jt=jt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Yt(e){return"\\"+et[e]}function Zt(e){return Qe.test(e)}function Xt(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function er(e,t){return function(r){return e(t(r))}}function tr(e,t){for(var r=-1,n=e.length,i=0,o=[];++r<n;){var s=e[r];s!==t&&s!==a||(e[r]=a,o[i++]=r)}return o}function rr(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}function nr(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=[e,e]})),r}function ir(e){return Zt(e)?function(e){for(var t=ze.lastIndex=0;ze.test(e);)++t;return t}(e):Ot(e)}function or(e){return Zt(e)?function(e){return e.match(ze)||[]}(e):function(e){return e.split("")}(e)}function sr(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var ar=jt({"&":"&","<":"<",">":">",""":'"',"'":"'"}),ur=function e(t){var r,n=(t=null==t?ot:ur.defaults(ot.Object(),t,ur.pick(ot,Je))).Array,ie=t.Date,Se=t.Error,_e=t.Function,Ce=t.Math,Ee=t.Object,Pe=t.RegExp,Te=t.String,ke=t.TypeError,Ae=n.prototype,Le=_e.prototype,Oe=Ee.prototype,Ie=t["__core-js_shared__"],Re=Le.toString,De=Oe.hasOwnProperty,Fe=0,Me=(r=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",xe=Oe.toString,Ne=Re.call(Ee),je=ot._,We=Pe("^"+Re.call(De).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$e=ut?t.Buffer:i,Be=t.Symbol,Ue=t.Uint8Array,He=$e?$e.allocUnsafe:i,ze=er(Ee.getPrototypeOf,Ee),Qe=Ee.create,et=Oe.propertyIsEnumerable,nt=Ae.splice,it=Be?Be.isConcatSpreadable:i,st=Be?Be.iterator:i,at=Be?Be.toStringTag:i,lt=function(){try{var e=lo(Ee,"defineProperty");return e({},"",{}),e}catch(e){}}(),ct=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Ot=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,lr=Ce.ceil,cr=Ce.floor,dr=Ee.getOwnPropertySymbols,fr=$e?$e.isBuffer:i,hr=t.isFinite,pr=Ae.join,mr=er(Ee.keys,Ee),gr=Ce.max,yr=Ce.min,vr=ie.now,wr=t.parseInt,br=Ce.random,Sr=Ae.reverse,_r=lo(t,"DataView"),Cr=lo(t,"Map"),Er=lo(t,"Promise"),Pr=lo(t,"Set"),Tr=lo(t,"WeakMap"),kr=lo(Ee,"create"),Ar=Tr&&new Tr,Lr={},Or=Wo(_r),Ir=Wo(Cr),Rr=Wo(Er),Dr=Wo(Pr),Fr=Wo(Tr),Mr=Be?Be.prototype:i,xr=Mr?Mr.valueOf:i,Nr=Mr?Mr.toString:i;function jr(e){if(ra(e)&&!qs(e)&&!(e instanceof Ur)){if(e instanceof Br)return e;if(De.call(e,"__wrapped__"))return $o(e)}return new Br(e)}var Wr=function(){function e(){}return function(t){if(!ta(t))return{};if(Qe)return Qe(t);e.prototype=t;var r=new e;return e.prototype=i,r}}();function $r(){}function Br(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Ur(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Hr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Vr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function qr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function zr(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new qr;++t<r;)this.add(e[t])}function Gr(e){var t=this.__data__=new Vr(e);this.size=t.size}function Qr(e,t){var r=qs(e),n=!r&&Vs(e),i=!r&&!n&&Ks(e),o=!r&&!n&&!i&&ca(e),s=r||n||i||o,a=s?Bt(e.length,Te):[],u=a.length;for(var l in e)!t&&!De.call(e,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||yo(l,u))||a.push(l);return a}function Kr(e){var t=e.length;return t?e[zn(0,t-1)]:i}function Jr(e,t){return Fo(ki(e),sn(t,0,e.length))}function Yr(e){return Fo(ki(e))}function Zr(e,t,r){(r!==i&&!Bs(e[t],r)||r===i&&!(t in e))&&nn(e,t,r)}function Xr(e,t,r){var n=e[t];De.call(e,t)&&Bs(n,r)&&(r!==i||t in e)||nn(e,t,r)}function en(e,t){for(var r=e.length;r--;)if(Bs(e[r][0],t))return r;return-1}function tn(e,t,r,n){return dn(e,(function(e,i,o){t(n,e,r(e),o)})),n}function rn(e,t){return e&&Ai(t,Ra(t),e)}function nn(e,t,r){"__proto__"==t&<?lt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function on(e,t){for(var r=-1,o=t.length,s=n(o),a=null==e;++r<o;)s[r]=a?i:ka(e,t[r]);return s}function sn(e,t,r){return e==e&&(r!==i&&(e=e<=r?e:r),t!==i&&(e=e>=t?e:t)),e}function an(e,t,r,n,o,s){var a,u=1&t,l=2&t,c=4&t;if(r&&(a=o?r(e,n,o,s):r(e)),a!==i)return a;if(!ta(e))return e;var d=qs(e);if(d){if(a=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&De.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!u)return ki(e,a)}else{var f=ho(e),h=f==b||f==S;if(Ks(e))return Si(e,u);if(f==E||f==m||h&&!o){if(a=l||h?{}:mo(e),!u)return l?function(e,t){return Ai(e,fo(e),t)}(e,function(e,t){return e&&Ai(t,Da(t),e)}(a,e)):function(e,t){return Ai(e,co(e),t)}(e,rn(a,e))}else{if(!Xe[f])return o?e:{};a=function(e,t,r){var n,i=e.constructor;switch(t){case I:return _i(e);case y:case v:return new i(+e);case R:return function(e,t){var r=t?_i(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case D:case F:case M:case x:case N:case j:case W:case $:case B:return Ci(e,r);case _:return new i;case C:case A:return new i(e);case T:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case k:return new i;case L:return n=e,xr?Ee(xr.call(n)):{}}}(e,f,u)}}s||(s=new Gr);var p=s.get(e);if(p)return p;s.set(e,a),aa(e)?e.forEach((function(n){a.add(an(n,t,r,n,e,s))})):na(e)&&e.forEach((function(n,i){a.set(i,an(n,t,r,i,e,s))}));var g=d?i:(c?l?ro:to:l?Da:Ra)(e);return wt(g||e,(function(n,i){g&&(n=e[i=n]),Xr(a,i,an(n,t,r,i,e,s))})),a}function un(e,t,r){var n=r.length;if(null==e)return!n;for(e=Ee(e);n--;){var o=r[n],s=t[o],a=e[o];if(a===i&&!(o in e)||!s(a))return!1}return!0}function ln(e,t,r){if("function"!=typeof e)throw new ke(o);return Oo((function(){e.apply(i,r)}),t)}function cn(e,t,r,n){var i=-1,o=Ct,s=!0,a=e.length,u=[],l=t.length;if(!a)return u;r&&(t=Pt(t,Ht(r))),n?(o=Et,s=!1):t.length>=200&&(o=qt,s=!1,t=new zr(t));e:for(;++i<a;){var c=e[i],d=null==r?c:r(c);if(c=n||0!==c?c:0,s&&d==d){for(var f=l;f--;)if(t[f]===d)continue e;u.push(c)}else o(t,d,n)||u.push(c)}return u}jr.templateSettings={escape:K,evaluate:J,interpolate:Y,variable:"",imports:{_:jr}},jr.prototype=$r.prototype,jr.prototype.constructor=jr,Br.prototype=Wr($r.prototype),Br.prototype.constructor=Br,Ur.prototype=Wr($r.prototype),Ur.prototype.constructor=Ur,Hr.prototype.clear=function(){this.__data__=kr?kr(null):{},this.size=0},Hr.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Hr.prototype.get=function(e){var t=this.__data__;if(kr){var r=t[e];return r===s?i:r}return De.call(t,e)?t[e]:i},Hr.prototype.has=function(e){var t=this.__data__;return kr?t[e]!==i:De.call(t,e)},Hr.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=kr&&t===i?s:t,this},Vr.prototype.clear=function(){this.__data__=[],this.size=0},Vr.prototype.delete=function(e){var t=this.__data__,r=en(t,e);return!(r<0||(r==t.length-1?t.pop():nt.call(t,r,1),--this.size,0))},Vr.prototype.get=function(e){var t=this.__data__,r=en(t,e);return r<0?i:t[r][1]},Vr.prototype.has=function(e){return en(this.__data__,e)>-1},Vr.prototype.set=function(e,t){var r=this.__data__,n=en(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},qr.prototype.clear=function(){this.size=0,this.__data__={hash:new Hr,map:new(Cr||Vr),string:new Hr}},qr.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},qr.prototype.get=function(e){return ao(this,e).get(e)},qr.prototype.has=function(e){return ao(this,e).has(e)},qr.prototype.set=function(e,t){var r=ao(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},zr.prototype.add=zr.prototype.push=function(e){return this.__data__.set(e,s),this},zr.prototype.has=function(e){return this.__data__.has(e)},Gr.prototype.clear=function(){this.__data__=new Vr,this.size=0},Gr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Gr.prototype.get=function(e){return this.__data__.get(e)},Gr.prototype.has=function(e){return this.__data__.has(e)},Gr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Vr){var n=r.__data__;if(!Cr||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new qr(n)}return r.set(e,t),this.size=r.size,this};var dn=Ii(wn),fn=Ii(bn,!0);function hn(e,t){var r=!0;return dn(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function pn(e,t,r){for(var n=-1,o=e.length;++n<o;){var s=e[n],a=t(s);if(null!=a&&(u===i?a==a&&!la(a):r(a,u)))var u=a,l=s}return l}function mn(e,t){var r=[];return dn(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function gn(e,t,r,n,i){var o=-1,s=e.length;for(r||(r=go),i||(i=[]);++o<s;){var a=e[o];t>0&&r(a)?t>1?gn(a,t-1,r,n,i):Tt(i,a):n||(i[i.length]=a)}return i}var yn=Ri(),vn=Ri(!0);function wn(e,t){return e&&yn(e,t,Ra)}function bn(e,t){return e&&vn(e,t,Ra)}function Sn(e,t){return _t(t,(function(t){return Zs(e[t])}))}function _n(e,t){for(var r=0,n=(t=yi(t,e)).length;null!=e&&r<n;)e=e[jo(t[r++])];return r&&r==n?e:i}function Cn(e,t,r){var n=t(e);return qs(e)?n:Tt(n,r(e))}function En(e){return null==e?e===i?"[object Undefined]":"[object Null]":at&&at in Ee(e)?function(e){var t=De.call(e,at),r=e[at];try{e[at]=i;var n=!0}catch(e){}var o=xe.call(e);return n&&(t?e[at]=r:delete e[at]),o}(e):function(e){return xe.call(e)}(e)}function Pn(e,t){return e>t}function Tn(e,t){return null!=e&&De.call(e,t)}function kn(e,t){return null!=e&&t in Ee(e)}function An(e,t,r){for(var o=r?Et:Ct,s=e[0].length,a=e.length,u=a,l=n(a),c=1/0,d=[];u--;){var f=e[u];u&&t&&(f=Pt(f,Ht(t))),c=yr(f.length,c),l[u]=!r&&(t||s>=120&&f.length>=120)?new zr(u&&f):i}f=e[0];var h=-1,p=l[0];e:for(;++h<s&&d.length<c;){var m=f[h],g=t?t(m):m;if(m=r||0!==m?m:0,!(p?qt(p,g):o(d,g,r))){for(u=a;--u;){var y=l[u];if(!(y?qt(y,g):o(e[u],g,r)))continue e}p&&p.push(g),d.push(m)}}return d}function Ln(e,t,r){var n=null==(e=To(e,t=yi(t,e)))?e:e[jo(Yo(t))];return null==n?i:yt(n,e,r)}function On(e){return ra(e)&&En(e)==m}function In(e,t,r,n,o){return e===t||(null==e||null==t||!ra(e)&&!ra(t)?e!=e&&t!=t:function(e,t,r,n,o,s){var a=qs(e),u=qs(t),l=a?g:ho(e),c=u?g:ho(t),d=(l=l==m?E:l)==E,f=(c=c==m?E:c)==E,h=l==c;if(h&&Ks(e)){if(!Ks(t))return!1;a=!0,d=!1}if(h&&!d)return s||(s=new Gr),a||ca(e)?Xi(e,t,r,n,o,s):function(e,t,r,n,i,o,s){switch(r){case R:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new Ue(e),new Ue(t)));case y:case v:case C:return Bs(+e,+t);case w:return e.name==t.name&&e.message==t.message;case T:case A:return e==t+"";case _:var a=Xt;case k:var u=1&n;if(a||(a=rr),e.size!=t.size&&!u)return!1;var l=s.get(e);if(l)return l==t;n|=2,s.set(e,t);var c=Xi(a(e),a(t),n,i,o,s);return s.delete(e),c;case L:if(xr)return xr.call(e)==xr.call(t)}return!1}(e,t,l,r,n,o,s);if(!(1&r)){var p=d&&De.call(e,"__wrapped__"),b=f&&De.call(t,"__wrapped__");if(p||b){var S=p?e.value():e,P=b?t.value():t;return s||(s=new Gr),o(S,P,r,n,s)}}return!!h&&(s||(s=new Gr),function(e,t,r,n,o,s){var a=1&r,u=to(e),l=u.length;if(l!=to(t).length&&!a)return!1;for(var c=l;c--;){var d=u[c];if(!(a?d in t:De.call(t,d)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var p=!0;s.set(e,t),s.set(t,e);for(var m=a;++c<l;){var g=e[d=u[c]],y=t[d];if(n)var v=a?n(y,g,d,t,e,s):n(g,y,d,e,t,s);if(!(v===i?g===y||o(g,y,r,n,s):v)){p=!1;break}m||(m="constructor"==d)}if(p&&!m){var w=e.constructor,b=t.constructor;w==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof w&&w instanceof w&&"function"==typeof b&&b instanceof b||(p=!1)}return s.delete(e),s.delete(t),p}(e,t,r,n,o,s))}(e,t,r,n,In,o))}function Rn(e,t,r,n){var o=r.length,s=o,a=!n;if(null==e)return!s;for(e=Ee(e);o--;){var u=r[o];if(a&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<s;){var l=(u=r[o])[0],c=e[l],d=u[1];if(a&&u[2]){if(c===i&&!(l in e))return!1}else{var f=new Gr;if(n)var h=n(c,d,l,e,t,f);if(!(h===i?In(d,c,3,n,f):h))return!1}}return!0}function Dn(e){return!(!ta(e)||(t=e,Me&&Me in t))&&(Zs(e)?We:me).test(Wo(e));var t}function Fn(e){return"function"==typeof e?e:null==e?iu:"object"==typeof e?qs(e)?Wn(e[0],e[1]):jn(e):hu(e)}function Mn(e){if(!_o(e))return mr(e);var t=[];for(var r in Ee(e))De.call(e,r)&&"constructor"!=r&&t.push(r);return t}function xn(e,t){return e<t}function Nn(e,t){var r=-1,i=Gs(e)?n(e.length):[];return dn(e,(function(e,n,o){i[++r]=t(e,n,o)})),i}function jn(e){var t=uo(e);return 1==t.length&&t[0][2]?Eo(t[0][0],t[0][1]):function(r){return r===e||Rn(r,e,t)}}function Wn(e,t){return wo(e)&&Co(t)?Eo(jo(e),t):function(r){var n=ka(r,e);return n===i&&n===t?Aa(r,e):In(t,n,3)}}function $n(e,t,r,n,o){e!==t&&yn(t,(function(s,a){if(o||(o=new Gr),ta(s))!function(e,t,r,n,o,s,a){var u=Ao(e,r),l=Ao(t,r),c=a.get(l);if(c)Zr(e,r,c);else{var d=s?s(u,l,r+"",e,t,a):i,f=d===i;if(f){var h=qs(l),p=!h&&Ks(l),m=!h&&!p&&ca(l);d=l,h||p||m?qs(u)?d=u:Qs(u)?d=ki(u):p?(f=!1,d=Si(l,!0)):m?(f=!1,d=Ci(l,!0)):d=[]:oa(l)||Vs(l)?(d=u,Vs(u)?d=va(u):ta(u)&&!Zs(u)||(d=mo(l))):f=!1}f&&(a.set(l,d),o(d,l,n,s,a),a.delete(l)),Zr(e,r,d)}}(e,t,a,r,$n,n,o);else{var u=n?n(Ao(e,a),s,a+"",e,t,o):i;u===i&&(u=s),Zr(e,a,u)}}),Da)}function Bn(e,t){var r=e.length;if(r)return yo(t+=t<0?r:0,r)?e[t]:i}function Un(e,t,r){t=t.length?Pt(t,(function(e){return qs(e)?function(t){return _n(t,1===e.length?e[0]:e)}:e})):[iu];var n=-1;return t=Pt(t,Ht(so())),function(e,t){var n=e.length;for(e.sort((function(e,t){return function(e,t,r){for(var n=-1,i=e.criteria,o=t.criteria,s=i.length,a=r.length;++n<s;){var u=Ei(i[n],o[n]);if(u)return n>=a?u:u*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}));n--;)e[n]=e[n].value;return e}(Nn(e,(function(e,r,i){return{criteria:Pt(t,(function(t){return t(e)})),index:++n,value:e}})))}function Hn(e,t,r){for(var n=-1,i=t.length,o={};++n<i;){var s=t[n],a=_n(e,s);r(a,s)&&Yn(o,yi(s,e),a)}return o}function Vn(e,t,r,n){var i=n?Ft:Dt,o=-1,s=t.length,a=e;for(e===t&&(t=ki(t)),r&&(a=Pt(e,Ht(r)));++o<s;)for(var u=0,l=t[o],c=r?r(l):l;(u=i(a,c,u,n))>-1;)a!==e&&nt.call(a,u,1),nt.call(e,u,1);return e}function qn(e,t){for(var r=e?t.length:0,n=r-1;r--;){var i=t[r];if(r==n||i!==o){var o=i;yo(i)?nt.call(e,i,1):li(e,i)}}return e}function zn(e,t){return e+cr(br()*(t-e+1))}function Gn(e,t){var r="";if(!e||t<1||t>d)return r;do{t%2&&(r+=e),(t=cr(t/2))&&(e+=e)}while(t);return r}function Qn(e,t){return Io(Po(e,t,iu),e+"")}function Kn(e){return Kr(Ba(e))}function Jn(e,t){var r=Ba(e);return Fo(r,sn(t,0,r.length))}function Yn(e,t,r,n){if(!ta(e))return e;for(var o=-1,s=(t=yi(t,e)).length,a=s-1,u=e;null!=u&&++o<s;){var l=jo(t[o]),c=r;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(o!=a){var d=u[l];(c=n?n(d,l,u):i)===i&&(c=ta(d)?d:yo(t[o+1])?[]:{})}Xr(u,l,c),u=u[l]}return e}var Zn=Ar?function(e,t){return Ar.set(e,t),e}:iu,Xn=lt?function(e,t){return lt(e,"toString",{configurable:!0,enumerable:!1,value:tu(t),writable:!0})}:iu;function ei(e){return Fo(Ba(e))}function ti(e,t,r){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var s=n(o);++i<o;)s[i]=e[i+t];return s}function ri(e,t){var r;return dn(e,(function(e,n,i){return!(r=t(e,n,i))})),!!r}function ni(e,t,r){var n=0,i=null==e?n:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;n<i;){var o=n+i>>>1,s=e[o];null!==s&&!la(s)&&(r?s<=t:s<t)?n=o+1:i=o}return i}return ii(e,t,iu,r)}function ii(e,t,r,n){var o=0,s=null==e?0:e.length;if(0===s)return 0;for(var a=(t=r(t))!=t,u=null===t,l=la(t),c=t===i;o<s;){var d=cr((o+s)/2),f=r(e[d]),h=f!==i,p=null===f,m=f==f,g=la(f);if(a)var y=n||m;else y=c?m&&(n||h):u?m&&h&&(n||!p):l?m&&h&&!p&&(n||!g):!p&&!g&&(n?f<=t:f<t);y?o=d+1:s=d}return yr(s,4294967294)}function oi(e,t){for(var r=-1,n=e.length,i=0,o=[];++r<n;){var s=e[r],a=t?t(s):s;if(!r||!Bs(a,u)){var u=a;o[i++]=0===s?0:s}}return o}function si(e){return"number"==typeof e?e:la(e)?f:+e}function ai(e){if("string"==typeof e)return e;if(qs(e))return Pt(e,ai)+"";if(la(e))return Nr?Nr.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function ui(e,t,r){var n=-1,i=Ct,o=e.length,s=!0,a=[],u=a;if(r)s=!1,i=Et;else if(o>=200){var l=t?null:Gi(e);if(l)return rr(l);s=!1,i=qt,u=new zr}else u=t?[]:a;e:for(;++n<o;){var c=e[n],d=t?t(c):c;if(c=r||0!==c?c:0,s&&d==d){for(var f=u.length;f--;)if(u[f]===d)continue e;t&&u.push(d),a.push(c)}else i(u,d,r)||(u!==a&&u.push(d),a.push(c))}return a}function li(e,t){return null==(e=To(e,t=yi(t,e)))||delete e[jo(Yo(t))]}function ci(e,t,r,n){return Yn(e,t,r(_n(e,t)),n)}function di(e,t,r,n){for(var i=e.length,o=n?i:-1;(n?o--:++o<i)&&t(e[o],o,e););return r?ti(e,n?0:o,n?o+1:i):ti(e,n?o+1:0,n?i:o)}function fi(e,t){var r=e;return r instanceof Ur&&(r=r.value()),kt(t,(function(e,t){return t.func.apply(t.thisArg,Tt([e],t.args))}),r)}function hi(e,t,r){var i=e.length;if(i<2)return i?ui(e[0]):[];for(var o=-1,s=n(i);++o<i;)for(var a=e[o],u=-1;++u<i;)u!=o&&(s[o]=cn(s[o]||a,e[u],t,r));return ui(gn(s,1),t,r)}function pi(e,t,r){for(var n=-1,o=e.length,s=t.length,a={};++n<o;){var u=n<s?t[n]:i;r(a,e[n],u)}return a}function mi(e){return Qs(e)?e:[]}function gi(e){return"function"==typeof e?e:iu}function yi(e,t){return qs(e)?e:wo(e,t)?[e]:No(wa(e))}var vi=Qn;function wi(e,t,r){var n=e.length;return r=r===i?n:r,!t&&r>=n?e:ti(e,t,r)}var bi=ct||function(e){return ot.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var r=e.length,n=He?He(r):new e.constructor(r);return e.copy(n),n}function _i(e){var t=new e.constructor(e.byteLength);return new Ue(t).set(new Ue(e)),t}function Ci(e,t){var r=t?_i(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var r=e!==i,n=null===e,o=e==e,s=la(e),a=t!==i,u=null===t,l=t==t,c=la(t);if(!u&&!c&&!s&&e>t||s&&a&&l&&!u&&!c||n&&a&&l||!r&&l||!o)return 1;if(!n&&!s&&!c&&e<t||c&&r&&o&&!n&&!s||u&&r&&o||!a&&o||!l)return-1}return 0}function Pi(e,t,r,i){for(var o=-1,s=e.length,a=r.length,u=-1,l=t.length,c=gr(s-a,0),d=n(l+c),f=!i;++u<l;)d[u]=t[u];for(;++o<a;)(f||o<s)&&(d[r[o]]=e[o]);for(;c--;)d[u++]=e[o++];return d}function Ti(e,t,r,i){for(var o=-1,s=e.length,a=-1,u=r.length,l=-1,c=t.length,d=gr(s-u,0),f=n(d+c),h=!i;++o<d;)f[o]=e[o];for(var p=o;++l<c;)f[p+l]=t[l];for(;++a<u;)(h||o<s)&&(f[p+r[a]]=e[o++]);return f}function ki(e,t){var r=-1,i=e.length;for(t||(t=n(i));++r<i;)t[r]=e[r];return t}function Ai(e,t,r,n){var o=!r;r||(r={});for(var s=-1,a=t.length;++s<a;){var u=t[s],l=n?n(r[u],e[u],u,r,e):i;l===i&&(l=e[u]),o?nn(r,u,l):Xr(r,u,l)}return r}function Li(e,t){return function(r,n){var i=qs(r)?vt:tn,o=t?t():{};return i(r,e,so(n,2),o)}}function Oi(e){return Qn((function(t,r){var n=-1,o=r.length,s=o>1?r[o-1]:i,a=o>2?r[2]:i;for(s=e.length>3&&"function"==typeof s?(o--,s):i,a&&vo(r[0],r[1],a)&&(s=o<3?i:s,o=1),t=Ee(t);++n<o;){var u=r[n];u&&e(t,u,n,s)}return t}))}function Ii(e,t){return function(r,n){if(null==r)return r;if(!Gs(r))return e(r,n);for(var i=r.length,o=t?i:-1,s=Ee(r);(t?o--:++o<i)&&!1!==n(s[o],o,s););return r}}function Ri(e){return function(t,r,n){for(var i=-1,o=Ee(t),s=n(t),a=s.length;a--;){var u=s[e?a:++i];if(!1===r(o[u],u,o))break}return t}}function Di(e){return function(t){var r=Zt(t=wa(t))?or(t):i,n=r?r[0]:t.charAt(0),o=r?wi(r,1).join(""):t.slice(1);return n[e]()+o}}function Fi(e){return function(t){return kt(Za(Va(t).replace(Ve,"")),e,"")}}function Mi(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=Wr(e.prototype),n=e.apply(r,t);return ta(n)?n:r}}function xi(e){return function(t,r,n){var o=Ee(t);if(!Gs(t)){var s=so(r,3);t=Ra(t),r=function(e){return s(o[e],e,o)}}var a=e(t,r,n);return a>-1?o[s?t[a]:a]:i}}function Ni(e){return eo((function(t){var r=t.length,n=r,s=Br.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if("function"!=typeof a)throw new ke(o);if(s&&!u&&"wrapper"==io(a))var u=new Br([],!0)}for(n=u?n:r;++n<r;){var l=io(a=t[n]),c="wrapper"==l?no(a):i;u=c&&bo(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?u[io(c[0])].apply(u,c[3]):1==a.length&&bo(a)?u[l]():u.thru(a)}return function(){var e=arguments,n=e[0];if(u&&1==e.length&&qs(n))return u.plant(n).value();for(var i=0,o=r?t[i].apply(this,e):n;++i<r;)o=t[i].call(this,o);return o}}))}function ji(e,t,r,o,s,a,u,c,d,f){var h=t&l,p=1&t,m=2&t,g=24&t,y=512&t,v=m?i:Mi(e);return function i(){for(var l=arguments.length,w=n(l),b=l;b--;)w[b]=arguments[b];if(g)var S=oo(i),_=Qt(w,S);if(o&&(w=Pi(w,o,s,g)),a&&(w=Ti(w,a,u,g)),l-=_,g&&l<f){var C=tr(w,S);return qi(e,t,ji,i.placeholder,r,w,C,c,d,f-l)}var E=p?r:this,P=m?E[e]:e;return l=w.length,c?w=ko(w,c):y&&l>1&&w.reverse(),h&&d<l&&(w.length=d),this&&this!==ot&&this instanceof i&&(P=v||Mi(P)),P.apply(E,w)}}function Wi(e,t){return function(r,n){return function(e,t,r,n){return wn(e,(function(e,i,o){t(n,r(e),i,o)})),n}(r,e,t(n),{})}}function $i(e,t){return function(r,n){var o;if(r===i&&n===i)return t;if(r!==i&&(o=r),n!==i){if(o===i)return n;"string"==typeof r||"string"==typeof n?(r=ai(r),n=ai(n)):(r=si(r),n=si(n)),o=e(r,n)}return o}}function Bi(e){return eo((function(t){return t=Pt(t,Ht(so())),Qn((function(r){var n=this;return e(t,(function(e){return yt(e,n,r)}))}))}))}function Ui(e,t){var r=(t=t===i?" ":ai(t)).length;if(r<2)return r?Gn(t,e):t;var n=Gn(t,lr(e/ir(t)));return Zt(t)?wi(or(n),0,e).join(""):n.slice(0,e)}function Hi(e){return function(t,r,o){return o&&"number"!=typeof o&&vo(t,r,o)&&(r=o=i),t=pa(t),r===i?(r=t,t=0):r=pa(r),function(e,t,r,i){for(var o=-1,s=gr(lr((t-e)/(r||1)),0),a=n(s);s--;)a[i?s:++o]=e,e+=r;return a}(t,r,o=o===i?t<r?1:-1:pa(o),e)}}function Vi(e){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=ya(t),r=ya(r)),e(t,r)}}function qi(e,t,r,n,o,s,a,l,c,d){var f=8&t;t|=f?u:64,4&(t&=~(f?64:u))||(t&=-4);var h=[e,t,o,f?s:i,f?a:i,f?i:s,f?i:a,l,c,d],p=r.apply(i,h);return bo(e)&&Lo(p,h),p.placeholder=n,Ro(p,e,t)}function zi(e){var t=Ce[e];return function(e,r){if(e=ya(e),(r=null==r?0:yr(ma(r),292))&&hr(e)){var n=(wa(e)+"e").split("e");return+((n=(wa(t(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return t(e)}}var Gi=Pr&&1/rr(new Pr([,-0]))[1]==c?function(e){return new Pr(e)}:lu;function Qi(e){return function(t){var r=ho(t);return r==_?Xt(t):r==k?nr(t):function(e,t){return Pt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Ki(e,t,r,s,c,d,f,h){var p=2&t;if(!p&&"function"!=typeof e)throw new ke(o);var m=s?s.length:0;if(m||(t&=-97,s=c=i),f=f===i?f:gr(ma(f),0),h=h===i?h:ma(h),m-=c?c.length:0,64&t){var g=s,y=c;s=c=i}var v=p?i:no(e),w=[e,t,r,s,c,g,y,d,f,h];if(v&&function(e,t){var r=e[1],n=t[1],i=r|n,o=i<131,s=n==l&&8==r||n==l&&256==r&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==r;if(!o&&!s)return e;1&n&&(e[2]=t[2],i|=1&r?0:4);var u=t[3];if(u){var c=e[3];e[3]=c?Pi(c,u,t[4]):u,e[4]=c?tr(e[3],a):t[4]}(u=t[5])&&(c=e[5],e[5]=c?Ti(c,u,t[6]):u,e[6]=c?tr(e[5],a):t[6]),(u=t[7])&&(e[7]=u),n&l&&(e[8]=null==e[8]?t[8]:yr(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(w,v),e=w[0],t=w[1],r=w[2],s=w[3],c=w[4],!(h=w[9]=w[9]===i?p?0:e.length:gr(w[9]-m,0))&&24&t&&(t&=-25),t&&1!=t)b=8==t||16==t?function(e,t,r){var o=Mi(e);return function s(){for(var a=arguments.length,u=n(a),l=a,c=oo(s);l--;)u[l]=arguments[l];var d=a<3&&u[0]!==c&&u[a-1]!==c?[]:tr(u,c);return(a-=d.length)<r?qi(e,t,ji,s.placeholder,i,u,d,i,i,r-a):yt(this&&this!==ot&&this instanceof s?o:e,this,u)}}(e,t,h):t!=u&&33!=t||c.length?ji.apply(i,w):function(e,t,r,i){var o=1&t,s=Mi(e);return function t(){for(var a=-1,u=arguments.length,l=-1,c=i.length,d=n(c+u),f=this&&this!==ot&&this instanceof t?s:e;++l<c;)d[l]=i[l];for(;u--;)d[l++]=arguments[++a];return yt(f,o?r:this,d)}}(e,t,r,s);else var b=function(e,t,r){var n=1&t,i=Mi(e);return function t(){return(this&&this!==ot&&this instanceof t?i:e).apply(n?r:this,arguments)}}(e,t,r);return Ro((v?Zn:Lo)(b,w),e,t)}function Ji(e,t,r,n){return e===i||Bs(e,Oe[r])&&!De.call(n,r)?t:e}function Yi(e,t,r,n,o,s){return ta(e)&&ta(t)&&(s.set(t,e),$n(e,t,i,Yi,s),s.delete(t)),e}function Zi(e){return oa(e)?i:e}function Xi(e,t,r,n,o,s){var a=1&r,u=e.length,l=t.length;if(u!=l&&!(a&&l>u))return!1;var c=s.get(e),d=s.get(t);if(c&&d)return c==t&&d==e;var f=-1,h=!0,p=2&r?new zr:i;for(s.set(e,t),s.set(t,e);++f<u;){var m=e[f],g=t[f];if(n)var y=a?n(g,m,f,t,e,s):n(m,g,f,e,t,s);if(y!==i){if(y)continue;h=!1;break}if(p){if(!Lt(t,(function(e,t){if(!qt(p,t)&&(m===e||o(m,e,r,n,s)))return p.push(t)}))){h=!1;break}}else if(m!==g&&!o(m,g,r,n,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function eo(e){return Io(Po(e,i,zo),e+"")}function to(e){return Cn(e,Ra,co)}function ro(e){return Cn(e,Da,fo)}var no=Ar?function(e){return Ar.get(e)}:lu;function io(e){for(var t=e.name+"",r=Lr[t],n=De.call(Lr,t)?r.length:0;n--;){var i=r[n],o=i.func;if(null==o||o==e)return i.name}return t}function oo(e){return(De.call(jr,"placeholder")?jr:e).placeholder}function so(){var e=jr.iteratee||ou;return e=e===ou?Fn:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var r,n,i=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function uo(e){for(var t=Ra(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,Co(i)]}return t}function lo(e,t){var r=function(e,t){return null==e?i:e[t]}(e,t);return Dn(r)?r:i}var co=dr?function(e){return null==e?[]:(e=Ee(e),_t(dr(e),(function(t){return et.call(e,t)})))}:gu,fo=dr?function(e){for(var t=[];e;)Tt(t,co(e)),e=ze(e);return t}:gu,ho=En;function po(e,t,r){for(var n=-1,i=(t=yi(t,e)).length,o=!1;++n<i;){var s=jo(t[n]);if(!(o=null!=e&&r(e,s)))break;e=e[s]}return o||++n!=i?o:!!(i=null==e?0:e.length)&&ea(i)&&yo(s,i)&&(qs(e)||Vs(e))}function mo(e){return"function"!=typeof e.constructor||_o(e)?{}:Wr(ze(e))}function go(e){return qs(e)||Vs(e)||!!(it&&e&&e[it])}function yo(e,t){var r=typeof e;return!!(t=null==t?d:t)&&("number"==r||"symbol"!=r&&ye.test(e))&&e>-1&&e%1==0&&e<t}function vo(e,t,r){if(!ta(r))return!1;var n=typeof t;return!!("number"==n?Gs(r)&&yo(t,r.length):"string"==n&&t in r)&&Bs(r[t],e)}function wo(e,t){if(qs(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!la(e))||X.test(e)||!Z.test(e)||null!=t&&e in Ee(t)}function bo(e){var t=io(e),r=jr[t];if("function"!=typeof r||!(t in Ur.prototype))return!1;if(e===r)return!0;var n=no(r);return!!n&&e===n[0]}(_r&&ho(new _r(new ArrayBuffer(1)))!=R||Cr&&ho(new Cr)!=_||Er&&ho(Er.resolve())!=P||Pr&&ho(new Pr)!=k||Tr&&ho(new Tr)!=O)&&(ho=function(e){var t=En(e),r=t==E?e.constructor:i,n=r?Wo(r):"";if(n)switch(n){case Or:return R;case Ir:return _;case Rr:return P;case Dr:return k;case Fr:return O}return t});var So=Ie?Zs:yu;function _o(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Oe)}function Co(e){return e==e&&!ta(e)}function Eo(e,t){return function(r){return null!=r&&r[e]===t&&(t!==i||e in Ee(r))}}function Po(e,t,r){return t=gr(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=gr(i.length-t,0),a=n(s);++o<s;)a[o]=i[t+o];o=-1;for(var u=n(t+1);++o<t;)u[o]=i[o];return u[t]=r(a),yt(e,this,u)}}function To(e,t){return t.length<2?e:_n(e,ti(t,0,-1))}function ko(e,t){for(var r=e.length,n=yr(t.length,r),o=ki(e);n--;){var s=t[n];e[n]=yo(s,r)?o[s]:i}return e}function Ao(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var Lo=Do(Zn),Oo=jt||function(e,t){return ot.setTimeout(e,t)},Io=Do(Xn);function Ro(e,t,r){var n=t+"";return Io(e,function(e,t){var r=t.length;if(!r)return e;var n=r-1;return t[n]=(r>1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return wt(p,(function(r){var n="_."+r[0];t&r[1]&&!Ct(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(n),r)))}function Do(e){var t=0,r=0;return function(){var n=vr(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Fo(e,t){var r=-1,n=e.length,o=n-1;for(t=t===i?n:t;++r<t;){var s=zn(r,o),a=e[s];e[s]=e[r],e[r]=a}return e.length=t,e}var Mo,xo,No=(Mo=Ms((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,r,n,i){t.push(n?i.replace(ce,"$1"):r||e)})),t}),(function(e){return 500===xo.size&&xo.clear(),e})),xo=Mo.cache,Mo);function jo(e){if("string"==typeof e||la(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Wo(e){if(null!=e){try{return Re.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function $o(e){if(e instanceof Ur)return e.clone();var t=new Br(e.__wrapped__,e.__chain__);return t.__actions__=ki(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Qn((function(e,t){return Qs(e)?cn(e,gn(t,1,Qs,!0)):[]})),Uo=Qn((function(e,t){var r=Yo(t);return Qs(r)&&(r=i),Qs(e)?cn(e,gn(t,1,Qs,!0),so(r,2)):[]})),Ho=Qn((function(e,t){var r=Yo(t);return Qs(r)&&(r=i),Qs(e)?cn(e,gn(t,1,Qs,!0),i,r):[]}));function Vo(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ma(r);return i<0&&(i=gr(n+i,0)),Rt(e,so(t,3),i)}function qo(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n-1;return r!==i&&(o=ma(r),o=r<0?gr(n+o,0):yr(o,n-1)),Rt(e,so(t,3),o,!0)}function zo(e){return null!=e&&e.length?gn(e,1):[]}function Go(e){return e&&e.length?e[0]:i}var Qo=Qn((function(e){var t=Pt(e,mi);return t.length&&t[0]===e[0]?An(t):[]})),Ko=Qn((function(e){var t=Yo(e),r=Pt(e,mi);return t===Yo(r)?t=i:r.pop(),r.length&&r[0]===e[0]?An(r,so(t,2)):[]})),Jo=Qn((function(e){var t=Yo(e),r=Pt(e,mi);return(t="function"==typeof t?t:i)&&r.pop(),r.length&&r[0]===e[0]?An(r,i,t):[]}));function Yo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Zo=Qn(Xo);function Xo(e,t){return e&&e.length&&t&&t.length?Vn(e,t):e}var es=eo((function(e,t){var r=null==e?0:e.length,n=on(e,t);return qn(e,Pt(t,(function(e){return yo(e,r)?+e:e})).sort(Ei)),n}));function ts(e){return null==e?e:Sr.call(e)}var rs=Qn((function(e){return ui(gn(e,1,Qs,!0))})),ns=Qn((function(e){var t=Yo(e);return Qs(t)&&(t=i),ui(gn(e,1,Qs,!0),so(t,2))})),is=Qn((function(e){var t=Yo(e);return t="function"==typeof t?t:i,ui(gn(e,1,Qs,!0),i,t)}));function os(e){if(!e||!e.length)return[];var t=0;return e=_t(e,(function(e){if(Qs(e))return t=gr(e.length,t),!0})),Bt(t,(function(t){return Pt(e,Nt(t))}))}function ss(e,t){if(!e||!e.length)return[];var r=os(e);return null==t?r:Pt(r,(function(e){return yt(t,i,e)}))}var as=Qn((function(e,t){return Qs(e)?cn(e,t):[]})),us=Qn((function(e){return hi(_t(e,Qs))})),ls=Qn((function(e){var t=Yo(e);return Qs(t)&&(t=i),hi(_t(e,Qs),so(t,2))})),cs=Qn((function(e){var t=Yo(e);return t="function"==typeof t?t:i,hi(_t(e,Qs),i,t)})),ds=Qn(os),fs=Qn((function(e){var t=e.length,r=t>1?e[t-1]:i;return r="function"==typeof r?(e.pop(),r):i,ss(e,r)}));function hs(e){var t=jr(e);return t.__chain__=!0,t}function ps(e,t){return t(e)}var ms=eo((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,o=function(t){return on(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Ur&&yo(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:ps,args:[o],thisArg:i}),new Br(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),gs=Li((function(e,t,r){De.call(e,r)?++e[r]:nn(e,r,1)})),ys=xi(Vo),vs=xi(qo);function ws(e,t){return(qs(e)?wt:dn)(e,so(t,3))}function bs(e,t){return(qs(e)?bt:fn)(e,so(t,3))}var Ss=Li((function(e,t,r){De.call(e,r)?e[r].push(t):nn(e,r,[t])})),_s=Qn((function(e,t,r){var i=-1,o="function"==typeof t,s=Gs(e)?n(e.length):[];return dn(e,(function(e){s[++i]=o?yt(t,e,r):Ln(e,t,r)})),s})),Cs=Li((function(e,t,r){nn(e,r,t)}));function Es(e,t){return(qs(e)?Pt:Nn)(e,so(t,3))}var Ps=Li((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]})),Ts=Qn((function(e,t){if(null==e)return[];var r=t.length;return r>1&&vo(e,t[0],t[1])?t=[]:r>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Un(e,gn(t,1),[])})),ks=Ot||function(){return ot.Date.now()};function As(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,Ki(e,l,i,i,i,i,t)}function Ls(e,t){var r;if("function"!=typeof t)throw new ke(o);return e=ma(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Os=Qn((function(e,t,r){var n=1;if(r.length){var i=tr(r,oo(Os));n|=u}return Ki(e,n,t,r,i)})),Is=Qn((function(e,t,r){var n=3;if(r.length){var i=tr(r,oo(Is));n|=u}return Ki(t,n,e,r,i)}));function Rs(e,t,r){var n,s,a,u,l,c,d=0,f=!1,h=!1,p=!0;if("function"!=typeof e)throw new ke(o);function m(t){var r=n,o=s;return n=s=i,d=t,u=e.apply(o,r)}function g(e){return d=e,l=Oo(v,t),f?m(e):u}function y(e){var r=e-c;return c===i||r>=t||r<0||h&&e-d>=a}function v(){var e=ks();if(y(e))return w(e);l=Oo(v,function(e){var r=t-(e-c);return h?yr(r,a-(e-d)):r}(e))}function w(e){return l=i,p&&n?m(e):(n=s=i,u)}function b(){var e=ks(),r=y(e);if(n=arguments,s=this,c=e,r){if(l===i)return g(c);if(h)return bi(l),l=Oo(v,t),m(c)}return l===i&&(l=Oo(v,t)),u}return t=ya(t)||0,ta(r)&&(f=!!r.leading,a=(h="maxWait"in r)?gr(ya(r.maxWait)||0,t):a,p="trailing"in r?!!r.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,n=c=s=l=i},b.flush=function(){return l===i?u:w(ks())},b}var Ds=Qn((function(e,t){return ln(e,1,t)})),Fs=Qn((function(e,t,r){return ln(e,ya(t)||0,r)}));function Ms(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ke(o);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=e.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(Ms.Cache||qr),r}function xs(e){if("function"!=typeof e)throw new ke(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ms.Cache=qr;var Ns=vi((function(e,t){var r=(t=1==t.length&&qs(t[0])?Pt(t[0],Ht(so())):Pt(gn(t,1),Ht(so()))).length;return Qn((function(n){for(var i=-1,o=yr(n.length,r);++i<o;)n[i]=t[i].call(this,n[i]);return yt(e,this,n)}))})),js=Qn((function(e,t){var r=tr(t,oo(js));return Ki(e,u,i,t,r)})),Ws=Qn((function(e,t){var r=tr(t,oo(Ws));return Ki(e,64,i,t,r)})),$s=eo((function(e,t){return Ki(e,256,i,i,i,t)}));function Bs(e,t){return e===t||e!=e&&t!=t}var Us=Vi(Pn),Hs=Vi((function(e,t){return e>=t})),Vs=On(function(){return arguments}())?On:function(e){return ra(e)&&De.call(e,"callee")&&!et.call(e,"callee")},qs=n.isArray,zs=dt?Ht(dt):function(e){return ra(e)&&En(e)==I};function Gs(e){return null!=e&&ea(e.length)&&!Zs(e)}function Qs(e){return ra(e)&&Gs(e)}var Ks=fr||yu,Js=ft?Ht(ft):function(e){return ra(e)&&En(e)==v};function Ys(e){if(!ra(e))return!1;var t=En(e);return t==w||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!oa(e)}function Zs(e){if(!ta(e))return!1;var t=En(e);return t==b||t==S||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xs(e){return"number"==typeof e&&e==ma(e)}function ea(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function ta(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ra(e){return null!=e&&"object"==typeof e}var na=ht?Ht(ht):function(e){return ra(e)&&ho(e)==_};function ia(e){return"number"==typeof e||ra(e)&&En(e)==C}function oa(e){if(!ra(e)||En(e)!=E)return!1;var t=ze(e);if(null===t)return!0;var r=De.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Re.call(r)==Ne}var sa=pt?Ht(pt):function(e){return ra(e)&&En(e)==T},aa=mt?Ht(mt):function(e){return ra(e)&&ho(e)==k};function ua(e){return"string"==typeof e||!qs(e)&&ra(e)&&En(e)==A}function la(e){return"symbol"==typeof e||ra(e)&&En(e)==L}var ca=gt?Ht(gt):function(e){return ra(e)&&ea(e.length)&&!!Ze[En(e)]},da=Vi(xn),fa=Vi((function(e,t){return e<=t}));function ha(e){if(!e)return[];if(Gs(e))return ua(e)?or(e):ki(e);if(st&&e[st])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[st]());var t=ho(e);return(t==_?Xt:t==k?rr:Ba)(e)}function pa(e){return e?(e=ya(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ma(e){var t=pa(e),r=t%1;return t==t?r?t-r:t:0}function ga(e){return e?sn(ma(e),0,h):0}function ya(e){if("number"==typeof e)return e;if(la(e))return f;if(ta(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Ut(e);var r=pe.test(e);return r||ge.test(e)?rt(e.slice(2),r?2:8):he.test(e)?f:+e}function va(e){return Ai(e,Da(e))}function wa(e){return null==e?"":ai(e)}var ba=Oi((function(e,t){if(_o(t)||Gs(t))Ai(t,Ra(t),e);else for(var r in t)De.call(t,r)&&Xr(e,r,t[r])})),Sa=Oi((function(e,t){Ai(t,Da(t),e)})),_a=Oi((function(e,t,r,n){Ai(t,Da(t),e,n)})),Ca=Oi((function(e,t,r,n){Ai(t,Ra(t),e,n)})),Ea=eo(on),Pa=Qn((function(e,t){e=Ee(e);var r=-1,n=t.length,o=n>2?t[2]:i;for(o&&vo(t[0],t[1],o)&&(n=1);++r<n;)for(var s=t[r],a=Da(s),u=-1,l=a.length;++u<l;){var c=a[u],d=e[c];(d===i||Bs(d,Oe[c])&&!De.call(e,c))&&(e[c]=s[c])}return e})),Ta=Qn((function(e){return e.push(i,Yi),yt(Ma,i,e)}));function ka(e,t,r){var n=null==e?i:_n(e,t);return n===i?r:n}function Aa(e,t){return null!=e&&po(e,t,kn)}var La=Wi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=xe.call(t)),e[t]=r}),tu(iu)),Oa=Wi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=xe.call(t)),De.call(e,t)?e[t].push(r):e[t]=[r]}),so),Ia=Qn(Ln);function Ra(e){return Gs(e)?Qr(e):Mn(e)}function Da(e){return Gs(e)?Qr(e,!0):function(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var r in Ee(e))t.push(r);return t}(e);var t=_o(e),r=[];for(var n in e)("constructor"!=n||!t&&De.call(e,n))&&r.push(n);return r}(e)}var Fa=Oi((function(e,t,r){$n(e,t,r)})),Ma=Oi((function(e,t,r,n){$n(e,t,r,n)})),xa=eo((function(e,t){var r={};if(null==e)return r;var n=!1;t=Pt(t,(function(t){return t=yi(t,e),n||(n=t.length>1),t})),Ai(e,ro(e),r),n&&(r=an(r,7,Zi));for(var i=t.length;i--;)li(r,t[i]);return r})),Na=eo((function(e,t){return null==e?{}:function(e,t){return Hn(e,t,(function(t,r){return Aa(e,r)}))}(e,t)}));function ja(e,t){if(null==e)return{};var r=Pt(ro(e),(function(e){return[e]}));return t=so(t),Hn(e,r,(function(e,r){return t(e,r[0])}))}var Wa=Qi(Ra),$a=Qi(Da);function Ba(e){return null==e?[]:Vt(e,Ra(e))}var Ua=Fi((function(e,t,r){return t=t.toLowerCase(),e+(r?Ha(t):t)}));function Ha(e){return Ya(wa(e).toLowerCase())}function Va(e){return(e=wa(e))&&e.replace(ve,Kt).replace(qe,"")}var qa=Fi((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),za=Fi((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Ga=Di("toLowerCase"),Qa=Fi((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()})),Ka=Fi((function(e,t,r){return e+(r?" ":"")+Ya(t)})),Ja=Fi((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Ya=Di("toUpperCase");function Za(e,t,r){return e=wa(e),(t=r?i:t)===i?function(e){return Ke.test(e)}(e)?function(e){return e.match(Ge)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var Xa=Qn((function(e,t){try{return yt(e,i,t)}catch(e){return Ys(e)?e:new Se(e)}})),eu=eo((function(e,t){return wt(t,(function(t){t=jo(t),nn(e,t,Os(e[t],e))})),e}));function tu(e){return function(){return e}}var ru=Ni(),nu=Ni(!0);function iu(e){return e}function ou(e){return Fn("function"==typeof e?e:an(e,1))}var su=Qn((function(e,t){return function(r){return Ln(r,e,t)}})),au=Qn((function(e,t){return function(r){return Ln(e,r,t)}}));function uu(e,t,r){var n=Ra(t),i=Sn(t,n);null!=r||ta(t)&&(i.length||!n.length)||(r=t,t=e,e=this,i=Sn(t,Ra(t)));var o=!(ta(r)&&"chain"in r&&!r.chain),s=Zs(e);return wt(i,(function(r){var n=t[r];e[r]=n,s&&(e.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=e(this.__wrapped__),i=r.__actions__=ki(this.__actions__);return i.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,Tt([this.value()],arguments))})})),e}function lu(){}var cu=Bi(Pt),du=Bi(St),fu=Bi(Lt);function hu(e){return wo(e)?Nt(jo(e)):function(e){return function(t){return _n(t,e)}}(e)}var pu=Hi(),mu=Hi(!0);function gu(){return[]}function yu(){return!1}var vu,wu=$i((function(e,t){return e+t}),0),bu=zi("ceil"),Su=$i((function(e,t){return e/t}),1),_u=zi("floor"),Cu=$i((function(e,t){return e*t}),1),Eu=zi("round"),Pu=$i((function(e,t){return e-t}),0);return jr.after=function(e,t){if("function"!=typeof t)throw new ke(o);return e=ma(e),function(){if(--e<1)return t.apply(this,arguments)}},jr.ary=As,jr.assign=ba,jr.assignIn=Sa,jr.assignInWith=_a,jr.assignWith=Ca,jr.at=Ea,jr.before=Ls,jr.bind=Os,jr.bindAll=eu,jr.bindKey=Is,jr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return qs(e)?e:[e]},jr.chain=hs,jr.chunk=function(e,t,r){t=(r?vo(e,t,r):t===i)?1:gr(ma(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,u=n(lr(o/t));s<o;)u[a++]=ti(e,s,s+=t);return u},jr.compact=function(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var o=e[t];o&&(i[n++]=o)}return i},jr.concat=function(){var e=arguments.length;if(!e)return[];for(var t=n(e-1),r=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Tt(qs(r)?ki(r):[r],gn(t,1))},jr.cond=function(e){var t=null==e?0:e.length,r=so();return e=t?Pt(e,(function(e){if("function"!=typeof e[1])throw new ke(o);return[r(e[0]),e[1]]})):[],Qn((function(r){for(var n=-1;++n<t;){var i=e[n];if(yt(i[0],this,r))return yt(i[1],this,r)}}))},jr.conforms=function(e){return function(e){var t=Ra(e);return function(r){return un(r,e,t)}}(an(e,1))},jr.constant=tu,jr.countBy=gs,jr.create=function(e,t){var r=Wr(e);return null==t?r:rn(r,t)},jr.curry=function e(t,r,n){var o=Ki(t,8,i,i,i,i,i,r=n?i:r);return o.placeholder=e.placeholder,o},jr.curryRight=function e(t,r,n){var o=Ki(t,16,i,i,i,i,i,r=n?i:r);return o.placeholder=e.placeholder,o},jr.debounce=Rs,jr.defaults=Pa,jr.defaultsDeep=Ta,jr.defer=Ds,jr.delay=Fs,jr.difference=Bo,jr.differenceBy=Uo,jr.differenceWith=Ho,jr.drop=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,(t=r||t===i?1:ma(t))<0?0:t,n):[]},jr.dropRight=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,0,(t=n-(t=r||t===i?1:ma(t)))<0?0:t):[]},jr.dropRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0,!0):[]},jr.dropWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0):[]},jr.fill=function(e,t,r,n){var o=null==e?0:e.length;return o?(r&&"number"!=typeof r&&vo(e,t,r)&&(r=0,n=o),function(e,t,r,n){var o=e.length;for((r=ma(r))<0&&(r=-r>o?0:o+r),(n=n===i||n>o?o:ma(n))<0&&(n+=o),n=r>n?0:ga(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},jr.filter=function(e,t){return(qs(e)?_t:mn)(e,so(t,3))},jr.flatMap=function(e,t){return gn(Es(e,t),1)},jr.flatMapDeep=function(e,t){return gn(Es(e,t),c)},jr.flatMapDepth=function(e,t,r){return r=r===i?1:ma(r),gn(Es(e,t),r)},jr.flatten=zo,jr.flattenDeep=function(e){return null!=e&&e.length?gn(e,c):[]},jr.flattenDepth=function(e,t){return null!=e&&e.length?gn(e,t=t===i?1:ma(t)):[]},jr.flip=function(e){return Ki(e,512)},jr.flow=ru,jr.flowRight=nu,jr.fromPairs=function(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var i=e[t];n[i[0]]=i[1]}return n},jr.functions=function(e){return null==e?[]:Sn(e,Ra(e))},jr.functionsIn=function(e){return null==e?[]:Sn(e,Da(e))},jr.groupBy=Ss,jr.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},jr.intersection=Qo,jr.intersectionBy=Ko,jr.intersectionWith=Jo,jr.invert=La,jr.invertBy=Oa,jr.invokeMap=_s,jr.iteratee=ou,jr.keyBy=Cs,jr.keys=Ra,jr.keysIn=Da,jr.map=Es,jr.mapKeys=function(e,t){var r={};return t=so(t,3),wn(e,(function(e,n,i){nn(r,t(e,n,i),e)})),r},jr.mapValues=function(e,t){var r={};return t=so(t,3),wn(e,(function(e,n,i){nn(r,n,t(e,n,i))})),r},jr.matches=function(e){return jn(an(e,1))},jr.matchesProperty=function(e,t){return Wn(e,an(t,1))},jr.memoize=Ms,jr.merge=Fa,jr.mergeWith=Ma,jr.method=su,jr.methodOf=au,jr.mixin=uu,jr.negate=xs,jr.nthArg=function(e){return e=ma(e),Qn((function(t){return Bn(t,e)}))},jr.omit=xa,jr.omitBy=function(e,t){return ja(e,xs(so(t)))},jr.once=function(e){return Ls(2,e)},jr.orderBy=function(e,t,r,n){return null==e?[]:(qs(t)||(t=null==t?[]:[t]),qs(r=n?i:r)||(r=null==r?[]:[r]),Un(e,t,r))},jr.over=cu,jr.overArgs=Ns,jr.overEvery=du,jr.overSome=fu,jr.partial=js,jr.partialRight=Ws,jr.partition=Ps,jr.pick=Na,jr.pickBy=ja,jr.property=hu,jr.propertyOf=function(e){return function(t){return null==e?i:_n(e,t)}},jr.pull=Zo,jr.pullAll=Xo,jr.pullAllBy=function(e,t,r){return e&&e.length&&t&&t.length?Vn(e,t,so(r,2)):e},jr.pullAllWith=function(e,t,r){return e&&e.length&&t&&t.length?Vn(e,t,i,r):e},jr.pullAt=es,jr.range=pu,jr.rangeRight=mu,jr.rearg=$s,jr.reject=function(e,t){return(qs(e)?_t:mn)(e,xs(so(t,3)))},jr.remove=function(e,t){var r=[];if(!e||!e.length)return r;var n=-1,i=[],o=e.length;for(t=so(t,3);++n<o;){var s=e[n];t(s,n,e)&&(r.push(s),i.push(n))}return qn(e,i),r},jr.rest=function(e,t){if("function"!=typeof e)throw new ke(o);return Qn(e,t=t===i?t:ma(t))},jr.reverse=ts,jr.sampleSize=function(e,t,r){return t=(r?vo(e,t,r):t===i)?1:ma(t),(qs(e)?Jr:Jn)(e,t)},jr.set=function(e,t,r){return null==e?e:Yn(e,t,r)},jr.setWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:Yn(e,t,r,n)},jr.shuffle=function(e){return(qs(e)?Yr:ei)(e)},jr.slice=function(e,t,r){var n=null==e?0:e.length;return n?(r&&"number"!=typeof r&&vo(e,t,r)?(t=0,r=n):(t=null==t?0:ma(t),r=r===i?n:ma(r)),ti(e,t,r)):[]},jr.sortBy=Ts,jr.sortedUniq=function(e){return e&&e.length?oi(e):[]},jr.sortedUniqBy=function(e,t){return e&&e.length?oi(e,so(t,2)):[]},jr.split=function(e,t,r){return r&&"number"!=typeof r&&vo(e,t,r)&&(t=r=i),(r=r===i?h:r>>>0)?(e=wa(e))&&("string"==typeof t||null!=t&&!sa(t))&&!(t=ai(t))&&Zt(e)?wi(or(e),0,r):e.split(t,r):[]},jr.spread=function(e,t){if("function"!=typeof e)throw new ke(o);return t=null==t?0:gr(ma(t),0),Qn((function(r){var n=r[t],i=wi(r,0,t);return n&&Tt(i,n),yt(e,this,i)}))},jr.tail=function(e){var t=null==e?0:e.length;return t?ti(e,1,t):[]},jr.take=function(e,t,r){return e&&e.length?ti(e,0,(t=r||t===i?1:ma(t))<0?0:t):[]},jr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,(t=n-(t=r||t===i?1:ma(t)))<0?0:t,n):[]},jr.takeRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!1,!0):[]},jr.takeWhile=function(e,t){return e&&e.length?di(e,so(t,3)):[]},jr.tap=function(e,t){return t(e),e},jr.throttle=function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new ke(o);return ta(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),Rs(e,t,{leading:n,maxWait:t,trailing:i})},jr.thru=ps,jr.toArray=ha,jr.toPairs=Wa,jr.toPairsIn=$a,jr.toPath=function(e){return qs(e)?Pt(e,jo):la(e)?[e]:ki(No(wa(e)))},jr.toPlainObject=va,jr.transform=function(e,t,r){var n=qs(e),i=n||Ks(e)||ca(e);if(t=so(t,4),null==r){var o=e&&e.constructor;r=i?n?new o:[]:ta(e)&&Zs(o)?Wr(ze(e)):{}}return(i?wt:wn)(e,(function(e,n,i){return t(r,e,n,i)})),r},jr.unary=function(e){return As(e,1)},jr.union=rs,jr.unionBy=ns,jr.unionWith=is,jr.uniq=function(e){return e&&e.length?ui(e):[]},jr.uniqBy=function(e,t){return e&&e.length?ui(e,so(t,2)):[]},jr.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?ui(e,i,t):[]},jr.unset=function(e,t){return null==e||li(e,t)},jr.unzip=os,jr.unzipWith=ss,jr.update=function(e,t,r){return null==e?e:ci(e,t,gi(r))},jr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:ci(e,t,gi(r),n)},jr.values=Ba,jr.valuesIn=function(e){return null==e?[]:Vt(e,Da(e))},jr.without=as,jr.words=Za,jr.wrap=function(e,t){return js(gi(t),e)},jr.xor=us,jr.xorBy=ls,jr.xorWith=cs,jr.zip=ds,jr.zipObject=function(e,t){return pi(e||[],t||[],Xr)},jr.zipObjectDeep=function(e,t){return pi(e||[],t||[],Yn)},jr.zipWith=fs,jr.entries=Wa,jr.entriesIn=$a,jr.extend=Sa,jr.extendWith=_a,uu(jr,jr),jr.add=wu,jr.attempt=Xa,jr.camelCase=Ua,jr.capitalize=Ha,jr.ceil=bu,jr.clamp=function(e,t,r){return r===i&&(r=t,t=i),r!==i&&(r=(r=ya(r))==r?r:0),t!==i&&(t=(t=ya(t))==t?t:0),sn(ya(e),t,r)},jr.clone=function(e){return an(e,4)},jr.cloneDeep=function(e){return an(e,5)},jr.cloneDeepWith=function(e,t){return an(e,5,t="function"==typeof t?t:i)},jr.cloneWith=function(e,t){return an(e,4,t="function"==typeof t?t:i)},jr.conformsTo=function(e,t){return null==t||un(e,t,Ra(t))},jr.deburr=Va,jr.defaultTo=function(e,t){return null==e||e!=e?t:e},jr.divide=Su,jr.endsWith=function(e,t,r){e=wa(e),t=ai(t);var n=e.length,o=r=r===i?n:sn(ma(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},jr.eq=Bs,jr.escape=function(e){return(e=wa(e))&&Q.test(e)?e.replace(z,Jt):e},jr.escapeRegExp=function(e){return(e=wa(e))&&re.test(e)?e.replace(te,"\\$&"):e},jr.every=function(e,t,r){var n=qs(e)?St:hn;return r&&vo(e,t,r)&&(t=i),n(e,so(t,3))},jr.find=ys,jr.findIndex=Vo,jr.findKey=function(e,t){return It(e,so(t,3),wn)},jr.findLast=vs,jr.findLastIndex=qo,jr.findLastKey=function(e,t){return It(e,so(t,3),bn)},jr.floor=_u,jr.forEach=ws,jr.forEachRight=bs,jr.forIn=function(e,t){return null==e?e:yn(e,so(t,3),Da)},jr.forInRight=function(e,t){return null==e?e:vn(e,so(t,3),Da)},jr.forOwn=function(e,t){return e&&wn(e,so(t,3))},jr.forOwnRight=function(e,t){return e&&bn(e,so(t,3))},jr.get=ka,jr.gt=Us,jr.gte=Hs,jr.has=function(e,t){return null!=e&&po(e,t,Tn)},jr.hasIn=Aa,jr.head=Go,jr.identity=iu,jr.includes=function(e,t,r,n){e=Gs(e)?e:Ba(e),r=r&&!n?ma(r):0;var i=e.length;return r<0&&(r=gr(i+r,0)),ua(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&Dt(e,t,r)>-1},jr.indexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ma(r);return i<0&&(i=gr(n+i,0)),Dt(e,t,i)},jr.inRange=function(e,t,r){return t=pa(t),r===i?(r=t,t=0):r=pa(r),function(e,t,r){return e>=yr(t,r)&&e<gr(t,r)}(e=ya(e),t,r)},jr.invoke=Ia,jr.isArguments=Vs,jr.isArray=qs,jr.isArrayBuffer=zs,jr.isArrayLike=Gs,jr.isArrayLikeObject=Qs,jr.isBoolean=function(e){return!0===e||!1===e||ra(e)&&En(e)==y},jr.isBuffer=Ks,jr.isDate=Js,jr.isElement=function(e){return ra(e)&&1===e.nodeType&&!oa(e)},jr.isEmpty=function(e){if(null==e)return!0;if(Gs(e)&&(qs(e)||"string"==typeof e||"function"==typeof e.splice||Ks(e)||ca(e)||Vs(e)))return!e.length;var t=ho(e);if(t==_||t==k)return!e.size;if(_o(e))return!Mn(e).length;for(var r in e)if(De.call(e,r))return!1;return!0},jr.isEqual=function(e,t){return In(e,t)},jr.isEqualWith=function(e,t,r){var n=(r="function"==typeof r?r:i)?r(e,t):i;return n===i?In(e,t,i,r):!!n},jr.isError=Ys,jr.isFinite=function(e){return"number"==typeof e&&hr(e)},jr.isFunction=Zs,jr.isInteger=Xs,jr.isLength=ea,jr.isMap=na,jr.isMatch=function(e,t){return e===t||Rn(e,t,uo(t))},jr.isMatchWith=function(e,t,r){return r="function"==typeof r?r:i,Rn(e,t,uo(t),r)},jr.isNaN=function(e){return ia(e)&&e!=+e},jr.isNative=function(e){if(So(e))throw new Se("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Dn(e)},jr.isNil=function(e){return null==e},jr.isNull=function(e){return null===e},jr.isNumber=ia,jr.isObject=ta,jr.isObjectLike=ra,jr.isPlainObject=oa,jr.isRegExp=sa,jr.isSafeInteger=function(e){return Xs(e)&&e>=-9007199254740991&&e<=d},jr.isSet=aa,jr.isString=ua,jr.isSymbol=la,jr.isTypedArray=ca,jr.isUndefined=function(e){return e===i},jr.isWeakMap=function(e){return ra(e)&&ho(e)==O},jr.isWeakSet=function(e){return ra(e)&&"[object WeakSet]"==En(e)},jr.join=function(e,t){return null==e?"":pr.call(e,t)},jr.kebabCase=qa,jr.last=Yo,jr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n;return r!==i&&(o=(o=ma(r))<0?gr(n+o,0):yr(o,n-1)),t==t?function(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,o):Rt(e,Mt,o,!0)},jr.lowerCase=za,jr.lowerFirst=Ga,jr.lt=da,jr.lte=fa,jr.max=function(e){return e&&e.length?pn(e,iu,Pn):i},jr.maxBy=function(e,t){return e&&e.length?pn(e,so(t,2),Pn):i},jr.mean=function(e){return xt(e,iu)},jr.meanBy=function(e,t){return xt(e,so(t,2))},jr.min=function(e){return e&&e.length?pn(e,iu,xn):i},jr.minBy=function(e,t){return e&&e.length?pn(e,so(t,2),xn):i},jr.stubArray=gu,jr.stubFalse=yu,jr.stubObject=function(){return{}},jr.stubString=function(){return""},jr.stubTrue=function(){return!0},jr.multiply=Cu,jr.nth=function(e,t){return e&&e.length?Bn(e,ma(t)):i},jr.noConflict=function(){return ot._===this&&(ot._=je),this},jr.noop=lu,jr.now=ks,jr.pad=function(e,t,r){e=wa(e);var n=(t=ma(t))?ir(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return Ui(cr(i),r)+e+Ui(lr(i),r)},jr.padEnd=function(e,t,r){e=wa(e);var n=(t=ma(t))?ir(e):0;return t&&n<t?e+Ui(t-n,r):e},jr.padStart=function(e,t,r){e=wa(e);var n=(t=ma(t))?ir(e):0;return t&&n<t?Ui(t-n,r)+e:e},jr.parseInt=function(e,t,r){return r||null==t?t=0:t&&(t=+t),wr(wa(e).replace(ne,""),t||0)},jr.random=function(e,t,r){if(r&&"boolean"!=typeof r&&vo(e,t,r)&&(t=r=i),r===i&&("boolean"==typeof t?(r=t,t=i):"boolean"==typeof e&&(r=e,e=i)),e===i&&t===i?(e=0,t=1):(e=pa(e),t===i?(t=e,e=0):t=pa(t)),e>t){var n=e;e=t,t=n}if(r||e%1||t%1){var o=br();return yr(e+o*(t-e+tt("1e-"+((o+"").length-1))),t)}return zn(e,t)},jr.reduce=function(e,t,r){var n=qs(e)?kt:Wt,i=arguments.length<3;return n(e,so(t,4),r,i,dn)},jr.reduceRight=function(e,t,r){var n=qs(e)?At:Wt,i=arguments.length<3;return n(e,so(t,4),r,i,fn)},jr.repeat=function(e,t,r){return t=(r?vo(e,t,r):t===i)?1:ma(t),Gn(wa(e),t)},jr.replace=function(){var e=arguments,t=wa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},jr.result=function(e,t,r){var n=-1,o=(t=yi(t,e)).length;for(o||(o=1,e=i);++n<o;){var s=null==e?i:e[jo(t[n])];s===i&&(n=o,s=r),e=Zs(s)?s.call(e):s}return e},jr.round=Eu,jr.runInContext=e,jr.sample=function(e){return(qs(e)?Kr:Kn)(e)},jr.size=function(e){if(null==e)return 0;if(Gs(e))return ua(e)?ir(e):e.length;var t=ho(e);return t==_||t==k?e.size:Mn(e).length},jr.snakeCase=Qa,jr.some=function(e,t,r){var n=qs(e)?Lt:ri;return r&&vo(e,t,r)&&(t=i),n(e,so(t,3))},jr.sortedIndex=function(e,t){return ni(e,t)},jr.sortedIndexBy=function(e,t,r){return ii(e,t,so(r,2))},jr.sortedIndexOf=function(e,t){var r=null==e?0:e.length;if(r){var n=ni(e,t);if(n<r&&Bs(e[n],t))return n}return-1},jr.sortedLastIndex=function(e,t){return ni(e,t,!0)},jr.sortedLastIndexBy=function(e,t,r){return ii(e,t,so(r,2),!0)},jr.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var r=ni(e,t,!0)-1;if(Bs(e[r],t))return r}return-1},jr.startCase=Ka,jr.startsWith=function(e,t,r){return e=wa(e),r=null==r?0:sn(ma(r),0,e.length),t=ai(t),e.slice(r,r+t.length)==t},jr.subtract=Pu,jr.sum=function(e){return e&&e.length?$t(e,iu):0},jr.sumBy=function(e,t){return e&&e.length?$t(e,so(t,2)):0},jr.template=function(e,t,r){var n=jr.templateSettings;r&&vo(e,t,r)&&(t=i),e=wa(e),t=_a({},t,n,Ji);var o,s,a=_a({},t.imports,n.imports,Ji),u=Ra(a),l=Vt(a,u),c=0,d=t.interpolate||we,f="__p += '",h=Pe((t.escape||we).source+"|"+d.source+"|"+(d===Y?de:we).source+"|"+(t.evaluate||we).source+"|$","g"),p="//# sourceURL="+(De.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ye+"]")+"\n";e.replace(h,(function(t,r,n,i,a,u){return n||(n=i),f+=e.slice(c,u).replace(be,Yt),r&&(o=!0,f+="' +\n__e("+r+") +\n'"),a&&(s=!0,f+="';\n"+a+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),c=u+t.length,t})),f+="';\n";var m=De.call(t,"variable")&&t.variable;if(m){if(le.test(m))throw new Se("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(U,""):f).replace(H,"$1").replace(V,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Xa((function(){return _e(u,p+"return "+f).apply(i,l)}));if(g.source=f,Ys(g))throw g;return g},jr.times=function(e,t){if((e=ma(e))<1||e>d)return[];var r=h,n=yr(e,h);t=so(t),e-=h;for(var i=Bt(n,t);++r<e;)t(r);return i},jr.toFinite=pa,jr.toInteger=ma,jr.toLength=ga,jr.toLower=function(e){return wa(e).toLowerCase()},jr.toNumber=ya,jr.toSafeInteger=function(e){return e?sn(ma(e),-9007199254740991,d):0===e?e:0},jr.toString=wa,jr.toUpper=function(e){return wa(e).toUpperCase()},jr.trim=function(e,t,r){if((e=wa(e))&&(r||t===i))return Ut(e);if(!e||!(t=ai(t)))return e;var n=or(e),o=or(t);return wi(n,zt(n,o),Gt(n,o)+1).join("")},jr.trimEnd=function(e,t,r){if((e=wa(e))&&(r||t===i))return e.slice(0,sr(e)+1);if(!e||!(t=ai(t)))return e;var n=or(e);return wi(n,0,Gt(n,or(t))+1).join("")},jr.trimStart=function(e,t,r){if((e=wa(e))&&(r||t===i))return e.replace(ne,"");if(!e||!(t=ai(t)))return e;var n=or(e);return wi(n,zt(n,or(t))).join("")},jr.truncate=function(e,t){var r=30,n="...";if(ta(t)){var o="separator"in t?t.separator:o;r="length"in t?ma(t.length):r,n="omission"in t?ai(t.omission):n}var s=(e=wa(e)).length;if(Zt(e)){var a=or(e);s=a.length}if(r>=s)return e;var u=r-ir(n);if(u<1)return n;var l=a?wi(a,0,u).join(""):e.slice(0,u);if(o===i)return l+n;if(a&&(u+=l.length-u),sa(o)){if(e.slice(u).search(o)){var c,d=l;for(o.global||(o=Pe(o.source,wa(fe.exec(o))+"g")),o.lastIndex=0;c=o.exec(d);)var f=c.index;l=l.slice(0,f===i?u:f)}}else if(e.indexOf(ai(o),u)!=u){var h=l.lastIndexOf(o);h>-1&&(l=l.slice(0,h))}return l+n},jr.unescape=function(e){return(e=wa(e))&&G.test(e)?e.replace(q,ar):e},jr.uniqueId=function(e){var t=++Fe;return wa(e)+t},jr.upperCase=Ja,jr.upperFirst=Ya,jr.each=ws,jr.eachRight=bs,jr.first=Go,uu(jr,(vu={},wn(jr,(function(e,t){De.call(jr.prototype,t)||(vu[t]=e)})),vu),{chain:!1}),jr.VERSION="4.17.21",wt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){jr[e].placeholder=jr})),wt(["drop","take"],(function(e,t){Ur.prototype[e]=function(r){r=r===i?1:gr(ma(r),0);var n=this.__filtered__&&!t?new Ur(this):this.clone();return n.__filtered__?n.__takeCount__=yr(r,n.__takeCount__):n.__views__.push({size:yr(r,h),type:e+(n.__dir__<0?"Right":"")}),n},Ur.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),wt(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;Ur.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:so(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),wt(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Ur.prototype[e]=function(){return this[r](1).value()[0]}})),wt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Ur.prototype[e]=function(){return this.__filtered__?new Ur(this):this[r](1)}})),Ur.prototype.compact=function(){return this.filter(iu)},Ur.prototype.find=function(e){return this.filter(e).head()},Ur.prototype.findLast=function(e){return this.reverse().find(e)},Ur.prototype.invokeMap=Qn((function(e,t){return"function"==typeof e?new Ur(this):this.map((function(r){return Ln(r,e,t)}))})),Ur.prototype.reject=function(e){return this.filter(xs(so(e)))},Ur.prototype.slice=function(e,t){e=ma(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Ur(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=ma(t))<0?r.dropRight(-t):r.take(t-e)),r)},Ur.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ur.prototype.toArray=function(){return this.take(h)},wn(Ur.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=jr[n?"take"+("last"==t?"Right":""):t],s=n||/^find/.test(t);o&&(jr.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,u=t instanceof Ur,l=a[0],c=u||qs(t),d=function(e){var t=o.apply(jr,Tt([e],a));return n&&f?t[0]:t};c&&r&&"function"==typeof l&&1!=l.length&&(u=c=!1);var f=this.__chain__,h=!!this.__actions__.length,p=s&&!f,m=u&&!h;if(!s&&c){t=m?t:new Ur(this);var g=e.apply(t,a);return g.__actions__.push({func:ps,args:[d],thisArg:i}),new Br(g,f)}return p&&m?e.apply(this,a):(g=this.thru(d),p?n?g.value()[0]:g.value():g)})})),wt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ae[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);jr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var i=this.value();return t.apply(qs(i)?i:[],e)}return this[r]((function(r){return t.apply(qs(r)?r:[],e)}))}})),wn(Ur.prototype,(function(e,t){var r=jr[t];if(r){var n=r.name+"";De.call(Lr,n)||(Lr[n]=[]),Lr[n].push({name:t,func:r})}})),Lr[ji(i,2).name]=[{name:"wrapper",func:i}],Ur.prototype.clone=function(){var e=new Ur(this.__wrapped__);return e.__actions__=ki(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ki(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ki(this.__views__),e},Ur.prototype.reverse=function(){if(this.__filtered__){var e=new Ur(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Ur.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=qs(e),n=t<0,i=r?e.length:0,o=function(e,t,r){for(var n=-1,i=r.length;++n<i;){var o=r[n],s=o.size;switch(o.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=yr(t,e+s);break;case"takeRight":e=gr(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,u=a-s,l=n?a:s-1,c=this.__iteratees__,d=c.length,f=0,h=yr(u,this.__takeCount__);if(!r||!n&&i==u&&h==u)return fi(e,this.__actions__);var p=[];e:for(;u--&&f<h;){for(var m=-1,g=e[l+=t];++m<d;){var y=c[m],v=y.iteratee,w=y.type,b=v(g);if(2==w)g=b;else if(!b){if(1==w)continue e;break e}}p[f++]=g}return p},jr.prototype.at=ms,jr.prototype.chain=function(){return hs(this)},jr.prototype.commit=function(){return new Br(this.value(),this.__chain__)},jr.prototype.next=function(){this.__values__===i&&(this.__values__=ha(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},jr.prototype.plant=function(e){for(var t,r=this;r instanceof $r;){var n=$o(r);n.__index__=0,n.__values__=i,t?o.__wrapped__=n:t=n;var o=n;r=r.__wrapped__}return o.__wrapped__=e,t},jr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Ur){var t=e;return this.__actions__.length&&(t=new Ur(this)),(t=t.reverse()).__actions__.push({func:ps,args:[ts],thisArg:i}),new Br(t,this.__chain__)}return this.thru(ts)},jr.prototype.toJSON=jr.prototype.valueOf=jr.prototype.value=function(){return fi(this.__wrapped__,this.__actions__)},jr.prototype.first=jr.prototype.head,st&&(jr.prototype[st]=function(){return this}),jr}();ot._=ur,(n=function(){return ur}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},54883:(e,t,r)=>{var n=r(25835);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=e.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(i.Cache||n),r}i.Cache=n,e.exports=i},98253:(e,t,r)=>{var n=r(158);e.exports=function(){return n.Date.now()}},75892:(e,t,r)=>{var n=r(11241),i=r(39169)((function(e,t){return null==e?{}:n(e,t)}));e.exports=i},59174:e=>{e.exports=function(){return[]}},30647:e=>{e.exports=function(){return!1}},38172:(e,t,r)=>{var n=r(76897),i=r(23619);e.exports=function(e,t,r){var o=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(r)&&(o="leading"in r?!!r.leading:o,s="trailing"in r?!!r.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}},95053:(e,t,r)=>{var n=r(12383),i=r(23619),o=r(81878),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=a.test(e);return r||u.test(e)?l(e.slice(2),r?2:8):s.test(e)?NaN:+e}},33270:(e,t,r)=>{var n=r(80430);e.exports=function(e){return null==e?"":n(e)}},42169:(e,t,r)=>{"use strict";const n=r(14561);e.exports=e=>{if(!Number.isInteger(e)&&e!==1/0||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new n;let r=0;const i=async(e,n,...i)=>{r++;const o=(async()=>e(...i))();n(o);try{await o}catch{}r--,t.size>0&&t.dequeue()()},o=(n,...o)=>new Promise((s=>{((n,o,...s)=>{t.enqueue(i.bind(null,n,o,...s)),(async()=>{await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()})()})(n,s,...o)}));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}},88021:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var n=r(33034);class i extends Error{constructor(e){super(e),this.name="TimeoutError"}}class o{constructor(){Object.defineProperty(this,"_queue",{enumerable:!0,configurable:!0,writable:!0,value:[]})}enqueue(e,t){var r;const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&(null===(r=this._queue[this.size-1])||void 0===r?void 0:r.priority)>=t.priority)return void this._queue.push(n);const i=function(e,t,r){let n=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let s=n+r;o=e[s],t.priority-o.priority<=0?(n=++s,i-=r+1):i=r}var o;return n}(this._queue,n);this._queue.splice(i,0,n)}dequeue(){const e=this._queue.shift();return null==e?void 0:e.run}filter(e){return this._queue.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this._queue.length}}const s=()=>{},a=new i;class u extends n{constructor(e){var t,r,n,i;if(super(),Object.defineProperty(this,"_carryoverConcurrencyCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isIntervalIgnored",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_intervalCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_intervalCap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_interval",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_intervalEnd",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_intervalId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_timeoutId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_queueClass",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pendingCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_concurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isPaused",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_resolveEmpty",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_resolveIdle",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_throwOnTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:o,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!==(r=null===(t=e.intervalCap)||void 0===t?void 0:t.toString())&&void 0!==r?r:""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!==(i=null===(n=e.interval)||void 0===n?void 0:n.toString())&&void 0!==i?i:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=!0===e.throwOnTimeout,this._isPaused=!1===e.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=s,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=s,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){const e=Date.now();if(void 0===this._intervalId){const t=this._intervalEnd-e;if(!(t<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout((()=>{this._onResumeInterval()}),t)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){const e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){const t=this._queue.dequeue();return!!t&&(this.emit("active"),t(),e&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval((()=>{this._onInterval()}),this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,t={}){return new Promise(((r,n)=>{this._queue.enqueue((async()=>{this._pendingCount++,this._intervalCount++;try{const i=void 0===this._timeout&&void 0===t.timeout?e():function(e,t,r,n){let i;const o=new Promise(((o,s)=>{if("number"!=typeof t||t<0)throw new TypeError("Expected `milliseconds` to be a positive number");t!==Number.POSITIVE_INFINITY?(n={customTimers:{setTimeout,clearTimeout},...n},i=n.customTimers.setTimeout.call(void 0,(()=>{try{o(r())}catch(e){s(e)}}),t),(async()=>{try{o(await e)}catch(e){s(e)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()):o(e)}));return o.clear=()=>{clearTimeout(i),i=void 0},o}(Promise.resolve(e()),void 0===t.timeout?this._timeout:t.timeout,(()=>{(void 0===t.throwOnTimeout?this._throwOnTimeout:t.throwOnTimeout)&&n(a)})),o=await i;r(o),this.emit("completed",o)}catch(e){n(e),this.emit("error",e)}this._next()}),t),this._tryToStartAnother(),this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise((e=>{const t=this._resolveEmpty;this._resolveEmpty=()=>{t(),e()}}))}async onSizeLessThan(e){if(!(this._queue.size<e))return new Promise((t=>{const r=()=>{this._queue.size<e&&(this.removeListener("next",r),t())};this.on("next",r)}))}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise((e=>{const t=this._resolveIdle;this._resolveIdle=()=>{t(),e()}}))}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}}},47533:function(e,t){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i<n;++i)t[i]=t[i].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function r(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function o(e){var n="[A-Za-z]",i="[0-9]",o=t(i,"[A-Fa-f]"),s=r(r("%[EFef]"+o+"%"+o+o+"%"+o+o)+"|"+r("%[89A-Fa-f]"+o+"%"+o+o)+"|"+r("%"+o+o)),a="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",u=t("[\\:\\/\\?\\#\\[\\]\\@]",a),l=e?"[\\uE000-\\uF8FF]":"[]",c=t(n,i,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=r(n+t(n,i,"[\\+\\-\\.]")+"*"),f=r(r(s+"|"+t(c,a,"[\\:]"))+"*"),h=(r(r("25[0-5]")+"|"+r("2[0-4][0-9]")+"|"+r("1[0-9][0-9]")+"|"+r("[1-9][0-9]")+"|"+i),r(r("25[0-5]")+"|"+r("2[0-4][0-9]")+"|"+r("1[0-9][0-9]")+"|"+r("0?[1-9][0-9]")+"|0?0?"+i)),p=r(h+"\\."+h+"\\."+h+"\\."+h),m=r(o+"{1,4}"),g=r(r(m+"\\:"+m)+"|"+p),y=r(r(m+"\\:")+"{6}"+g),v=r("\\:\\:"+r(m+"\\:")+"{5}"+g),w=r(r(m)+"?\\:\\:"+r(m+"\\:")+"{4}"+g),b=r(r(r(m+"\\:")+"{0,1}"+m)+"?\\:\\:"+r(m+"\\:")+"{3}"+g),S=r(r(r(m+"\\:")+"{0,2}"+m)+"?\\:\\:"+r(m+"\\:")+"{2}"+g),_=r(r(r(m+"\\:")+"{0,3}"+m)+"?\\:\\:"+m+"\\:"+g),C=r(r(r(m+"\\:")+"{0,4}"+m)+"?\\:\\:"+g),E=r(r(r(m+"\\:")+"{0,5}"+m)+"?\\:\\:"+m),P=r(r(r(m+"\\:")+"{0,6}"+m)+"?\\:\\:"),T=r([y,v,w,b,S,_,C,E,P].join("|")),k=r(r(c+"|"+s)+"+"),A=(r(T+"\\%25"+k),r(T+r("\\%25|\\%(?!"+o+"{2})")+k)),L=r("[vV]"+o+"+\\."+t(c,a,"[\\:]")+"+"),O=r("\\["+r(A+"|"+T+"|"+L)+"\\]"),I=r(r(s+"|"+t(c,a))+"*"),R=r(O+"|"+p+"(?!"+I+")|"+I),D=r("[0-9]*"),F=r(r(f+"@")+"?"+R+r("\\:"+D)+"?"),M=r(s+"|"+t(c,a,"[\\:\\@]")),x=r(M+"*"),N=r(M+"+"),j=r(r(s+"|"+t(c,a,"[\\@]"))+"+"),W=r(r("\\/"+x)+"*"),$=r("\\/"+r(N+W)+"?"),B=r(j+W),U=r(N+W),H="(?!"+M+")",V=(r(W+"|"+$+"|"+B+"|"+U+"|"+H),r(r(M+"|"+t("[\\/\\?]",l))+"*")),q=r(r(M+"|[\\/\\?]")+"*"),z=r(r("\\/\\/"+F+W)+"|"+$+"|"+U+"|"+H),G=r(d+"\\:"+z+r("\\?"+V)+"?"+r("\\#"+q)+"?"),Q=r(r("\\/\\/"+F+W)+"|"+$+"|"+B+"|"+H),K=r(Q+r("\\?"+V)+"?"+r("\\#"+q)+"?");return r(G+"|"+K),r(d+"\\:"+z+r("\\?"+V)+"?"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+D+")")+"?)")+"?("+W+"|"+$+"|"+U+"|"+H+")"),r("\\?("+V+")"),r("\\#("+q+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+D+")")+"?)")+"?("+W+"|"+$+"|"+B+"|"+H+")"),r("\\?("+V+")"),r("\\#("+q+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+D+")")+"?)")+"?("+W+"|"+$+"|"+U+"|"+H+")"),r("\\?("+V+")"),r("\\#("+q+")"),r("("+f+")@"),r("\\:("+D+")"),{NOT_SCHEME:new RegExp(t("[^]",n,i,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",c,a),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",c,a),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",c,a),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",c,a),"g"),NOT_QUERY:new RegExp(t("[^\\%]",c,a,"[\\:\\@\\/\\?]",l),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",c,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",c,a),"g"),UNRESERVED:new RegExp(c,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",c,u),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+p+")$"),IPV6ADDRESS:new RegExp("^\\[?("+T+")"+r(r("\\%25|\\%(?!"+o+"{2})")+"("+k+")")+"?\\]?$")}}var s=o(!1),a=o(!0),u=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},l=2147483647,c=36,d=/^xn--/,f=/[^\0-\x7E]/,h=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,g=String.fromCharCode;function y(e){throw new RangeError(p[e])}function v(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+function(e,t){for(var r=[],n=e.length;n--;)r[n]=t(e[n]);return r}((e=e.replace(h,".")).split("."),t).join(".")}function w(e){for(var t=[],r=0,n=e.length;r<n;){var i=e.charCodeAt(r++);if(i>=55296&&i<=56319&&r<n){var o=e.charCodeAt(r++);56320==(64512&o)?t.push(((1023&i)<<10)+(1023&o)+65536):(t.push(i),r--)}else t.push(i)}return t}var b=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},S=function(e,t,r){var n=0;for(e=r?m(e/700):e>>1,e+=m(e/t);e>455;n+=c)e=m(e/35);return m(n+36*e/(e+38))},_=function(e){var t,r=[],n=e.length,i=0,o=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var u=0;u<a;++u)e.charCodeAt(u)>=128&&y("not-basic"),r.push(e.charCodeAt(u));for(var d=a>0?a+1:0;d<n;){for(var f=i,h=1,p=c;;p+=c){d>=n&&y("invalid-input");var g=(t=e.charCodeAt(d++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:c;(g>=c||g>m((l-i)/h))&&y("overflow"),i+=g*h;var v=p<=s?1:p>=s+26?26:p-s;if(g<v)break;var w=c-v;h>m(l/w)&&y("overflow"),h*=w}var b=r.length+1;s=S(i-f,b,0==f),m(i/b)>l-o&&y("overflow"),o+=m(i/b),i%=b,r.splice(i++,0,o)}return String.fromCodePoint.apply(String,r)},C=function(e){var t=[],r=(e=w(e)).length,n=128,i=0,o=72,s=!0,a=!1,u=void 0;try{for(var d,f=e[Symbol.iterator]();!(s=(d=f.next()).done);s=!0){var h=d.value;h<128&&t.push(g(h))}}catch(e){a=!0,u=e}finally{try{!s&&f.return&&f.return()}finally{if(a)throw u}}var p=t.length,v=p;for(p&&t.push("-");v<r;){var _=l,C=!0,E=!1,P=void 0;try{for(var T,k=e[Symbol.iterator]();!(C=(T=k.next()).done);C=!0){var A=T.value;A>=n&&A<_&&(_=A)}}catch(e){E=!0,P=e}finally{try{!C&&k.return&&k.return()}finally{if(E)throw P}}var L=v+1;_-n>m((l-i)/L)&&y("overflow"),i+=(_-n)*L,n=_;var O=!0,I=!1,R=void 0;try{for(var D,F=e[Symbol.iterator]();!(O=(D=F.next()).done);O=!0){var M=D.value;if(M<n&&++i>l&&y("overflow"),M==n){for(var x=i,N=c;;N+=c){var j=N<=o?1:N>=o+26?26:N-o;if(x<j)break;var W=x-j,$=c-j;t.push(g(b(j+W%$,0))),x=m(W/$)}t.push(g(b(x,0))),o=S(i,L,v==p),i=0,++v}}}catch(e){I=!0,R=e}finally{try{!O&&F.return&&F.return()}finally{if(I)throw R}}++i,++n}return t.join("")},E=function(e){return v(e,(function(e){return f.test(e)?"xn--"+C(e):e}))},P=function(e){return v(e,(function(e){return d.test(e)?_(e.slice(4).toLowerCase()):e}))},T={};function k(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function A(e){for(var t="",r=0,n=e.length;r<n;){var i=parseInt(e.substr(r+1,2),16);if(i<128)t+=String.fromCharCode(i),r+=3;else if(i>=194&&i<224){if(n-r>=6){var o=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&i)<<6|63&o)}else t+=e.substr(r,6);r+=6}else if(i>=224){if(n-r>=9){var s=parseInt(e.substr(r+4,2),16),a=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function L(e,t){function r(e){var r=A(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,k).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,k).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,k).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,k).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,k).replace(t.PCT_ENCODED,i)),e}function O(e){return e.replace(/^0*(.*)/,"$1")||"0"}function I(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=u(r,2)[1];return n?n.split(".").map(O).join("."):e}function R(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=u(r,3),i=n[1],o=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=u(s,2),l=a[0],c=a[1],d=c?c.split(":").map(O):[],f=l.split(":").map(O),h=t.IPV4ADDRESS.test(f[f.length-1]),p=h?7:8,m=f.length-p,g=Array(p),y=0;y<p;++y)g[y]=d[y]||f[m+y]||"";h&&(g[p-1]=I(g[p-1],t));var v=g.reduce((function(e,t,r){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===r?n.length++:e.push({index:r,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],w=void 0;if(v&&v.length>1){var b=g.slice(0,v.index),S=g.slice(v.index+v.length);w=b.join(":")+"::"+S.join(":")}else w=g.join(":");return o&&(w+="%"+o),w}return e}var D=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,F=void 0==="".match(/(){0}/)[1];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},n=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(D);if(i){F?(r.scheme=i[1],r.userinfo=i[3],r.host=i[4],r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=i[7],r.fragment=i[8],isNaN(r.port)&&(r.port=i[5])):(r.scheme=i[1]||void 0,r.userinfo=-1!==e.indexOf("@")?i[3]:void 0,r.host=-1!==e.indexOf("//")?i[4]:void 0,r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=-1!==e.indexOf("?")?i[7]:void 0,r.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),r.host&&(r.host=R(I(r.host,n),n)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var o=T[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)L(r,n);else{if(r.host&&(t.domainHost||o&&o.domainHost))try{r.host=E(r.host.replace(n.PCT_ENCODED,A).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+e}L(r,s)}o&&o.parse&&o.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function x(e,t){var r=!1!==t.iri?a:s,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(R(I(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}var N=/^\.\.?\//,j=/^\/\.(\/|$)/,W=/^\/\.\.(\/|$)/,$=/^\/?(?:.|\n)*?(?=\/|$)/;function B(e){for(var t=[];e.length;)if(e.match(N))e=e.replace(N,"");else if(e.match(j))e=e.replace(j,"/");else if(e.match(W))e=e.replace(W,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match($);if(!r)throw new Error("Unexpected dot segment condition");var n=r[0];e=e.slice(n.length),t.push(n)}return t.join("")}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?a:s,n=[],i=T[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(r.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?P(e.host):E(e.host.replace(r.PCT_ENCODED,A).toLowerCase())}catch(r){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+r}L(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var o=x(e,t);if(void 0!==o&&("suffix"!==t.reference&&n.push("//"),n.push(o),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var u=e.path;t.absolutePath||i&&i.absolutePath||(u=B(u)),void 0===o&&(u=u.replace(/^\/\//,"/%2F")),n.push(u)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function H(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=M(U(e,r),r),t=M(U(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=B(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=B(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=B(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=B(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,A)}var q={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return e.port!==(r?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},z={scheme:"https",domainHost:q.domainHost,parse:q.parse,serialize:q.serialize};function G(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var Q={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=G(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,t){if(e.port!==(G(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),n=u(r,2),i=n[0],o=n[1];e.path=i&&"/"!==i?i:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},K={scheme:"wss",domainHost:Q.domainHost,parse:Q.parse,serialize:Q.serialize},J={},Y="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Z="[0-9A-Fa-f]",X=r(r("%[EFef][0-9A-Fa-f]%"+Z+Z+"%"+Z+Z)+"|"+r("%[89A-Fa-f][0-9A-Fa-f]%"+Z+Z)+"|"+r("%"+Z+Z)),ee=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),te=new RegExp(Y,"g"),re=new RegExp(X,"g"),ne=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),ie=new RegExp(t("[^]",Y,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),oe=ie;function se(e){var t=A(e);return t.match(te)?t:e}var ae={scheme:"mailto",parse:function(e,t){var r=e,n=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var i=!1,o={},s=r.query.split("&"),a=0,u=s.length;a<u;++a){var l=s[a].split("=");switch(l[0]){case"to":for(var c=l[1].split(","),d=0,f=c.length;d<f;++d)n.push(c[d]);break;case"subject":r.subject=V(l[1],t);break;case"body":r.body=V(l[1],t);break;default:i=!0,o[V(l[0],t)]=V(l[1],t)}}i&&(r.headers=o)}r.query=void 0;for(var h=0,p=n.length;h<p;++h){var m=n[h].split("@");if(m[0]=V(m[0]),t.unicodeSupport)m[1]=V(m[1],t).toLowerCase();else try{m[1]=E(V(m[1],t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}n[h]=m.join("@")}return r},serialize:function(e,t){var r,n=e,o=null!=(r=e.to)?r instanceof Array?r:"number"!=typeof r.length||r.split||r.setInterval||r.call?[r]:Array.prototype.slice.call(r):[];if(o){for(var s=0,a=o.length;s<a;++s){var u=String(o[s]),l=u.lastIndexOf("@"),c=u.slice(0,l).replace(re,se).replace(re,i).replace(ne,k),d=u.slice(l+1);try{d=t.iri?P(d):E(V(d,t).toLowerCase())}catch(e){n.error=n.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}o[s]=c+"@"+d}n.path=o.join(",")}var f=e.headers=e.headers||{};e.subject&&(f.subject=e.subject),e.body&&(f.body=e.body);var h=[];for(var p in f)f[p]!==J[p]&&h.push(p.replace(re,se).replace(re,i).replace(ie,k)+"="+f[p].replace(re,se).replace(re,i).replace(oe,k));return h.length&&(n.query=h.join("&")),n}},ue=/^([^\:]+)\:(.*)/,le={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(ue),n=e;if(r){var i=t.scheme||n.scheme||"urn",o=r[1].toLowerCase(),s=r[2],a=i+":"+(t.nid||o),u=T[a];n.nid=o,n.nss=s,n.path=void 0,u&&(n=u.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",n=e.nid,i=r+":"+(t.nid||n),o=T[i];o&&(e=o.serialize(e,t));var s=e,a=e.nss;return s.path=(n||t.nid)+":"+a,s}},ce=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,de={scheme:"urn:uuid",parse:function(e,t){var r=e;return r.uuid=r.nss,r.nss=void 0,t.tolerant||r.uuid&&r.uuid.match(ce)||(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};T[q.scheme]=q,T[z.scheme]=z,T[Q.scheme]=Q,T[K.scheme]=K,T[ae.scheme]=ae,T[le.scheme]=le,T[de.scheme]=de,e.SCHEMES=T,e.pctEncChar=k,e.pctDecChars=A,e.parse=M,e.removeDotSegments=B,e.serialize=U,e.resolveComponents=H,e.resolve=function(e,t,r){var n=function(e,t){var r=e;if(t)for(var n in t)r[n]=t[n];return r}({scheme:"null"},r);return U(H(M(e,n),M(t,n),n,!0),n)},e.normalize=function(e,t){return"string"==typeof e?e=U(M(e,t),t):"object"===n(e)&&(e=M(U(e,t),t)),e},e.equal=function(e,t,r){return"string"==typeof e?e=U(M(e,r),r):"object"===n(e)&&(e=U(e,r)),"string"==typeof t?t=U(M(t,r),r):"object"===n(t)&&(t=U(t,r)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,k)},e.unescapeComponent=V,Object.defineProperty(e,"__esModule",{value:!0})}(t)},50586:(e,t,r)=>{var n=r(36589),i=r(22708),o=i;o.v1=n,o.v4=i,e.exports=o},98726:e=>{for(var t=[],r=0;r<256;++r)t[r]=(r+256).toString(16).substr(1);e.exports=function(e,r){var n=r||0,i=t;return i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]}},76338:(e,t,r)=>{var n,i=r.g.crypto||r.g.msCrypto;if(i&&i.getRandomValues){var o=new Uint8Array(16);n=function(){return i.getRandomValues(o),o}}if(!n){var s=new Array(16);n=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),s[t]=e>>>((3&t)<<3)&255;return s}}e.exports=n},36589:(e,t,r)=>{var n=r(76338),i=r(98726),o=n(),s=[1|o[0],o[1],o[2],o[3],o[4],o[5]],a=16383&(o[6]<<8|o[7]),u=0,l=0;e.exports=function(e,t,r){var n=t&&r||0,o=t||[],c=void 0!==(e=e||{}).clockseq?e.clockseq:a,d=void 0!==e.msecs?e.msecs:(new Date).getTime(),f=void 0!==e.nsecs?e.nsecs:l+1,h=d-u+(f-l)/1e4;if(h<0&&void 0===e.clockseq&&(c=c+1&16383),(h<0||d>u)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=d,l=f,a=c;var p=(1e4*(268435455&(d+=122192928e5))+f)%4294967296;o[n++]=p>>>24&255,o[n++]=p>>>16&255,o[n++]=p>>>8&255,o[n++]=255&p;var m=d/4294967296*1e4&268435455;o[n++]=m>>>8&255,o[n++]=255&m,o[n++]=m>>>24&15|16,o[n++]=m>>>16&255,o[n++]=c>>>8|128,o[n++]=255&c;for(var g=e.node||s,y=0;y<6;++y)o[n+y]=g[y];return t||i(o)}},22708:(e,t,r)=>{var n=r(76338),i=r(98726);e.exports=function(e,t,r){var o=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||n)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},14561:e=>{class t{constructor(e){this.value=e,this.next=void 0}}class r{constructor(){this.clear()}enqueue(e){const r=new t(e);this._head?(this._tail.next=r,this._tail=r):(this._head=r,this._tail=r),this._size++}dequeue(){const e=this._head;if(e)return this._head=this._head.next,this._size--,e.value}clear(){this._head=void 0,this._tail=void 0,this._size=0}get size(){return this._size}*[Symbol.iterator](){let e=this._head;for(;e;)yield e.value,e=e.next}}e.exports=r},34361:function(e,t,r){"use strict";var n,i,o,s,a,u,l,c,d,f,h,p,m,g=this&&this.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},y=this&&this.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},v=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleDesktopAgent=void 0;const w=r(98832),b=v(r(72551)),S=r(6192),_=r(81298),C=r(81298),E=v(r(60306));class P{constructor(e){n.set(this,void 0),i.set(this,void 0),g(this,n,e,"f")}start(e){const t={type:"heartbeat",meta:{uuid:e}};y(this,n,"f").transmit(_.HEARTBEAT_CHANNEL,t),g(this,i,setInterval((()=>{y(this,n,"f").transmit(_.HEARTBEAT_CHANNEL,t)}),_.HEARTBEAT_INTERVAL),"f")}stop(){clearInterval(y(this,i,"f")),g(this,i,void 0,"f")}}n=new WeakMap,i=new WeakMap;class T{constructor(e,t,r="app"){o.set(this,void 0),g(this,o,e,"f"),this.id=t,this.type=r}broadcast(e){y(this,o,"f").channelBroadcast(this.id,e)}getCurrentContext(e){return y(this,o,"f").channelGetCurrentContext(this.id,e)}addContextListener(e,t){return y(this,o,"f").channelAddContextListener(this.id,e,t)}}o=new WeakMap,t.FinsembleDesktopAgent=class{constructor({routerClient:e,startup:t}){s.set(this,!1),a.set(this,void 0),u.set(this,!1),l.set(this,""),c.set(this,`FSBL.FDC3.Client.${Date.now()}_${Math.random()}`),d.set(this,{}),f.set(this,{}),h.set(this,[]),p.set(this,void 0),m.set(this,void 0),g(this,p,e,"f"),g(this,a,new P(e),"f"),g(this,m,t,"f");const r=()=>!0===S.Globals?.FSBL?.Clients?.WindowClient?.options?.customData?.interop?.autoConnect;if(S.Globals?.FSBL?.addEventListener?S.Globals?.FSBL.addEventListener("onReady",(()=>{r()&&this.connectWhenFSBLIsReady()})):window.addEventListener("FSBLReady",(()=>{r()&&this.connectWhenFSBLIsReady()})),window.Event){const e=new Event("fdc3Ready");window&&window.dispatchEvent(e)}}meta(){return{uuid:y(this,l,"f"),href:window.document?document.location.href:""}}triggerContextListeners(e){const{context:t}=e.payload;(y(this,f,"f")[t?.type]??[]).concat(y(this,f,"f")["*"]??[]).forEach((({handler:r,channel:n})=>{e.meta.channel!==n&&(e.meta.channel||n)||r(t)}))}triggerIntentListeners(e){const{intent:t,context:r}=e.payload,n=y(this,d,"f")[t];r&&(n||[]).forEach((e=>e(r)))}handleIncoming(e){switch(b.default.log("FDC3 Client: handleIncoming",e.type,e),e.type){case"broadcast":this.triggerContextListeners(e);break;case"intent":this.triggerIntentListeners(e)}}releaseQueue(){const e=e=>(void 0!==e?.meta?.uuid&&(e.meta.uuid=y(this,l,"f")),e);y(this,h,"f").forEach((async t=>{const{message:r,handler:n,resolve:i}=t,{err:o,response:s}=await y(this,p,"f").query(_.SERVER_CHANNEL,e(r),n);i({err:o,receiveMessage:s?.data})})),g(this,h,[],"f")}async connectWhenFSBLIsReady(){y(this,u,"f")||(g(this,u,!0,"f"),await y(this,m,"f").onReady(),this.connect())}exchange(e,t=(()=>{})){return new Promise((async r=>{if(y(this,s,"f")){const{err:n,response:i}=await y(this,p,"f").query(_.SERVER_CHANNEL,e,t);r({err:n,receiveMessage:i?.data})}else y(this,h,"f").push({message:e,handler:t,resolve:r}),this.connectWhenFSBLIsReady()}))}async connect(){const e=y(this,m,"f").getStartupData(),{windowName:t="Unknown window",authenticationToken:r}=e;b.default.log(`fdc3.connect StartupData for ${t}`,e),g(this,l,t,"f");const n={type:"register",meta:this.meta(),payload:{clientChannel:y(this,c,"f"),windowName:t,authenticationToken:r}};y(this,p,"f").query(_.SERVER_CHANNEL,n,(e=>{e?b.default.error("connect error",e):(y(this,p,"f").addResponder(y(this,c,"f"),((e,t)=>{if(e||!t){const t=C.errorAsString(e??"No request received on responder");b.default.error(`FinsembleDesktopAgent can't listen on channel ${y(this,c,"f")} : ${t}`)}else t.data&&this.handleIncoming(t.data),t.sendQueryResponse(null)})),g(this,s,!0,"f"),this.releaseQueue())})),y(this,a,"f").start(y(this,l,"f"))}stop(){y(this,a,"f").stop();const e={type:"unregister",meta:this.meta()};this.exchange(e,(()=>{y(this,p,"f").removeResponder(y(this,c,"f")),g(this,s,!1,"f")}))}async getCurrentContext(e){const t={type:"currentContextRequest",meta:this.meta(),payload:{contextType:e}},{err:r,receiveMessage:n}=await this.exchange(t);return r?null:"currentContext"===n?.type&&n.payload.context?n.payload.context:null}async channelGetCurrentContext(e,t){const r={type:"currentContextRequest",meta:{...this.meta(),channel:e},payload:{contextType:t}},{err:n,receiveMessage:i}=await this.exchange(r);return n?null:"currentContext"===i?.type?i.payload.context:null}broadcast(e){const t={type:"broadcast",meta:this.meta(),payload:{context:e}};this.exchange(t)}channelBroadcast(e,t){const r={type:"broadcast",meta:{...this.meta(),channel:e},payload:{context:t}};this.exchange(r)}async getSystemChannels(){const e={type:"systemChannelRequest",meta:this.meta()},{err:t,receiveMessage:r}=await this.exchange(e);return t?[]:("systemChannels"===r?.type?r?.payload?.channels:[]).map((e=>new T(this,e,"system")))}async open(e,t){const r={type:"open",meta:this.meta(),payload:{target:e,context:t}},{err:n,receiveMessage:i}=await this.exchange(r),o=i;if(n)throw w.OpenError.ResolverUnavailable;if(o.payload.error)throw o.payload.error}async findIntent(e,t){const r={type:"findIntent",meta:this.meta(),payload:{intent:e,context:t}},{err:n,receiveMessage:i}=await this.exchange(r),o=i;if(n)throw w.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.appIntent)throw"Invalid response returned from InteropService for findIntent. No appIntent and no error.";return o.payload.appIntent}async findIntentsByContext(e){const t={type:"findIntentsByContext",meta:this.meta(),payload:{context:e}},{receiveMessage:r}=await this.exchange(t),n=r;if(n.payload.error)throw n.payload.error;return n.payload.intents||[]}async raiseIntent(e,t,r){const n={type:"raiseIntent",meta:this.meta(),payload:{intent:e,context:t,target:r}},{err:i,receiveMessage:o}=await this.exchange(n),s=o;if(i)throw w.ResolveError.ResolverUnavailable;if(s.payload.error)throw s.payload.error;if(!s.payload.data)throw"Invalid response returned from InteropService for raiseIntent. No data.";return s.payload.data}async raiseIntentForContext(e,t){const r={type:"raiseIntent",meta:this.meta(),payload:{context:e,target:t}},{err:n,receiveMessage:i}=await this.exchange(r),o=i;if(n)throw w.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.data)throw"Invalid response returned from InteropService for raiseIntentForContext. No data.";return o.payload.data}addIntentListener(e,t){y(this,d,"f")[e]=C.mmAdd(y(this,d,"f"),e,t);const r={type:"subscribeIntent",meta:this.meta(),payload:{intent:e}};return this.exchange(r),{unsubscribe:()=>{const r={type:"unsubscribeIntent",meta:this.meta(),payload:{intent:e}};this.exchange(r),y(this,d,"f")[e]=C.mmRemove(y(this,d,"f"),e,t)}}}channelAddContextListener(e,t,r){const n=r?t:"*";r||(r=t);const i={handler:r,channel:e};y(this,f,"f")[n]=C.mmAdd(y(this,d,"f"),n,i);let o={type:"subscribeContext",meta:this.meta(),payload:{contextType:n}};return e&&(o.meta.channel=e),this.exchange(o),{unsubscribe:()=>{let t={type:"unsubscribeContext",meta:this.meta(),payload:{contextType:n}};e&&(t.meta.channel=e),y(this,f,"f")[n]=C.mmRemove(y(this,d,"f"),n,i),this.exchange(t)}}}addContextListener(e,t){return this.channelAddContextListener(null,e,t)}async joinChannel(e){const t={type:"joinChannels",meta:this.meta(),payload:{channels:[e]}};await this.exchange(t)}async getOrCreateChannel(e){return new T(this,e)}async getCurrentChannels(){const e={type:"getCurrentChannels",meta:this.meta()},{err:t,receiveMessage:r}=await this.exchange(e),n=r;if(t)throw t;if(n.payload.error)throw n.payload.error;if(!n.payload.data)throw"Invalid response returned from InteropService for getCurrentChannels. No data.";return n.payload.data.map((e=>new T(this,e.channel,"system")))}async getCurrentChannel(){const e=await this.getCurrentChannels();return e&&e.length?e[0]:null}async leaveCurrentChannel(){const e={type:"leaveChannels",meta:this.meta(),payload:{}};await this.exchange(e)}getInfo(){return{fdc3Version:"1.2",provider:"Finsemble",providerVersion:E.default.version}}},s=new WeakMap,a=new WeakMap,u=new WeakMap,l=new WeakMap,c=new WeakMap,d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,m=new WeakMap},17703:function(e,t,r){"use strict";var n,i=this&&this.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InteropAdmin=void 0;const s=o(r(39319)),a=o(r(72551)),u=r(81298),l=r(98832);class c{constructor(){n.set(this,window.name)}async addAppDefinitions(e){const t={type:"addAppDefinitions",meta:{uuid:i(this,n,"f")},payload:{apps:e}};await s.default.query(u.SERVER_CHANNEL,t)}async removeAppDefinitions(e){const t={type:"removeAppDefinitions",meta:{uuid:i(this,n,"f")},payload:{apps:e}};await s.default.query(u.SERVER_CHANNEL,t)}async setAuthenticationToken(e){const t={type:"setAuthenticationToken",meta:{uuid:i(this,n,"f")},payload:{authenticationToken:e}};await s.default.query(u.SERVER_CHANNEL,t)}async registerUIResolverListener(e){s.default.addResponder(u.INTENT_RESOLVER_CHANNEL,(async(t,r)=>{let n,i;if(t)Promise.reject(`registerUIResolverListener failed. It can only be invoked once, system wide (router error: ${t})`);else{const t=r?.data;try{n=await e(t)}catch(e){a.default.log(`registerUIResolverListener IntentResolution rejected ${e}`),i={error:l.ResolveError.ResolverUnavailable}}r?.sendQueryResponse(null,i||n)}}));const t={type:"registerUIResolver",meta:{uuid:i(this,n,"f")}};await s.default.query(u.SERVER_CHANNEL,t)}}t.InteropAdmin=c,n=new WeakMap,t.default=c},81298:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousAuthenticationToken=t.HEARTBEAT_INTERVAL=t.HEARTBEAT_CHANNEL=t.INTENT_RESOLVER_CHANNEL=t.SERVER_CHANNEL=t.GLOBAL_CHANNEL=t.errorAsString=t.mmRemove=t.concatNoDups=t.mmAdd=void 0,t.mmAdd=function(e,t,r){return(e[t]||[]).concat([r])},t.concatNoDups=function(e,t){const r=Array.isArray(t)?t:[t],n=e?r.concat(e):r;return Array.from(new Set(n))},t.mmRemove=function(e,t,r){return(e[t]||[]).filter((e=>e===r))},t.errorAsString=function(e){return e?.message??e??null},t.GLOBAL_CHANNEL="global",t.SERVER_CHANNEL="FSBL.FDC3.Interop.Server",t.INTENT_RESOLVER_CHANNEL="FSBL.FDC3.intent.resolver",t.HEARTBEAT_CHANNEL="FSBL.FDC3.Interop.Server",t.HEARTBEAT_INTERVAL=4e3,t.AnonymousAuthenticationToken={authenticationKeyType:"unauthenticated",meta:{name:"Anonymous app"}}},10589:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLService=void 0;const i=n(r(39319)),o=r(67580),s=r(51742),a=r(16925),u=r(50586),l=r(6192),c=r(34361);t.FSBLService=class{async startApp(){await s.System.ready();const e=await o.getSystemStartupData(),t=s.System.Window.getCurrent(),r=t.name??document?.location?.href??"Unknown App",n=t.name??document?.location?.href??`Unknown window-${u.v4()}`,d=o.getManifestFromStartupData(e)??{},f=o.getRouterConfig({windowName:n,systemManifest:d});await i.default.start(f);const h=a.Startup.getInstance();h.setStartupData({windowName:n,authenticationToken:{authenticationKeyType:"unauthenticated",meta:{name:r}}}),l.Globals.fdc3=new c.FinsembleDesktopAgent({routerClient:i.default,startup:h}),h.ready()}async stopApp(){i.default.stop()}}},67580:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getManifestFromStartupData=t.getSystemStartupData=t.getRouterConfig=t.getRecommendedTransport=void 0;const i=n(r(72551)),o=r(51742),s=r(33998),a={sameDomainTransport:"FinsembleTransport",crossDomainTransport:"FinsembleTransport",transportSettings:{FinsembleTransport:{serverAddress:"ws://127.0.0.1:3376"}},transportName:"FinsembleTransport"},u=e=>{if(!e)return i.default.error("No documentRoot provided to RouterConfig.isCrossDomain(). Check the moduleRoot entry of the manifest."),!0;const t=document.createElement("a");t.href=e;const r=window.location.hostname===t.hostname,n=window.location.protocol===t.protocol,o=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),s=r&&o&&n;return i.default.system.debug(`Transport crossDomain=${u} (${r}:${n}:${o})`),!s};t.getRecommendedTransport=e=>{const{moduleRoot:t,router:r}=e?.finsemble,{sameDomainTransport:n="SharedWorker",crossDomainTransport:o="IPCBus"}=r??{},s=u(t)?o:n;return i.default.system.log(`Transport Info: Selected=${s} SameDomainDefault=${n} CrossDomainDefault=${o}`),console.log(`Transport Info: Selected=${s} SameDomainDefault=${n} CrossDomainDefault=${o}`),s},t.getRouterConfig=({windowName:e,systemManifest:r,transportSettings:n})=>r?((e,r)=>{if(i.default.system.info("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest"),e&&"string"!=typeof e){const n=e.finsemble,i=n?.router?.transportSettings??n?.IAC??{},o=n?.notificationURL??`${n.moduleRoot}/components/system/notification/notification.html`;return{windowName:r,routerDomainRoot:n.moduleRoot,transportName:t.getRecommendedTransport(e),transportSettings:i,notificationURL:o}}return i.default.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest failed -- fatal error. No manifest found.",e),{...a,windowName:r}})(r,e):{...a,windowName:e,transportSettings:n??{}},t.getSystemStartupData=async()=>new Promise((e=>{o.System.Window.getCurrent().getOptions((t=>{e(t)}))})),t.getManifestFromStartupData=e=>{let t=e?.manifest;return t?.finsemble&&s.ConfigUtilInstance.resolveConfigVariables(t.finsemble,t.finsemble),t}},16925:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Startup=void 0;const n=r(81298),i=r(6192),o=r(50586),s=r(4971);class a{constructor(){this.isReady=!1,this.onReadyListeners=[],this.currentStartupData={authenticationToken:n.AnonymousAuthenticationToken,windowName:`Unknown window-${o.v4()}`}}static getInstance(){return a.instance?a.instance:a.instance=s.singleton("Startup",a)}getStartupData(){return this.currentStartupData}setStartupData(e){this.currentStartupData=e}onReady(e){return new Promise((t=>{this.isReady?(e&&setTimeout(e,0),t()):this.onReadyListeners.push((()=>{e&&e(),t()}))}))}ready(){this.isReady=!0,this.onReadyListeners.forEach((e=>{e()})),i.Globals.dispatchEvent&&i.Globals.dispatchEvent(new Event("FSBLReady"))}}t.Startup=a,a.instance=null},17348:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(57664),u=o(r(19886)),l=s(r(72551)),c=window;t.default=class{constructor(e,t){this.values={},this.listeners=[],this.registeredDispatchListeners=[],this.mapping={},this.Dispatcher={register:e=>{this.registeredDispatchListeners.push(e)},dispatch:e=>{this.isGlobal?this.routerClient.transmit(`storeService.dispatch.${this.name}`,e):this.handleDispatchedMessages(null,{data:e})}},this.handleChanges=(e,t)=>{if(e&&l.default.system.error("DistributedStoreClient",e),!t.data.store)return;t.data.field||(t.data.field=null);const r=this.name+(t.data.field?`.${t.data.field}`:""),n=t.data.storeData?t.data.storeData:t.data.value;this.triggerListeners(r,n)},this.routerClient=t,this.isGlobal=e.global,this.name=e.store?e.store:"finsemble",e.values&&(this.values=e.values),this.lst=this.listeners,u.initObject(this.values,null,this.mapping),this.isGlobal&&this.routerClient.addListener(`storeService.dispatch.${this.name}`,this.handleDispatchedMessages.bind(this))}handleDispatchedMessages(e,t){for(let e=0;e<this.registeredDispatchListeners.length;e++)this.registeredDispatchListeners[e](t.data)}setValue(e,t){if(e.field||l.default.system.error("DistributedStore.setValue:no field provided",e),e.hasOwnProperty("value")||l.default.system.error("DistributedStore.setValue:no value provided",e),this.isGlobal){const r={store:this.name,field:e.field,value:e.value};return c.distributedStoreClient.routerClient.query("storeService.setValue",r,(e=>{if(t)return t(e)}))}const r=u.checkForObjectChange(this.values,e.field,this.mapping);return u.setPath(this.values,e.field,e.value),u.mapField(this.values,e.field,this.mapping),r&&this.sendRemovals(r),this.triggerListeners(this.name,this),this.publishObjectUpdates(e.field,this.mapping),t?t(null):null}publishObjectUpdates(e,t){const r=t;for(;e;)this.triggerListeners(`${this.name}.${e}`,u.byString(this.values,e)),e=r[e]}sendRemovals(e){for(let t=0;t<e.length;t++)this.triggerListeners(`${this.name}.${e[t]}`,u.byString(this.values,e[t]))}setValues(e,t){return e?Array.isArray(e)?void a.each(e,((e,t)=>{this.setValue(e,t)}),(e=>t?t(e):null)):l.default.system.error("DistributedStore.setValues:params must be an array"):l.default.system.error("DistributedStore.setValues:no params given")}getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field)return t?t("no field provided"):"no field provided";if(this.isGlobal)return this.getGlobalValue(e,t);const r=u.byString(this.values,e.field);return void 0!==r?t?t(null,r):r:t?t("couldn't find a value"):null}getValues(e,t){if(null===e&&(e=t),"function"==typeof e)return t=e,this.isGlobal?this.getGlobalValues(null,t):t?t(null,this.values):this.values;if(!Array.isArray(e))return this.getValue(e,t);if(this.isGlobal)return this.getGlobalValues(e,t);const r={};for(let t=0;t<e.length;t++){const n=e[t],i="string"==typeof n?n:n.field,o=u.byString(this.values,i);r[i]=o}return t?t(null,r):r}getGlobalValue(e,t){c.distributedStoreClient.routerClient.query("storeService.getValue",{store:this.name,field:e.field},((e,r)=>e?t(e):t(e,r.data)))}getGlobalValues(e,t){c.distributedStoreClient.routerClient.query("storeService.getValues",{store:this.name,fields:e},((e,r)=>e?t(e):t(e,r.data)))}removeValue(e,t){if(!e.field){if(void 0===e)return t("no field provided");e={field:e}}return e.value=null,this.setValue(e,t)}removeValues(e,t){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");a.map(e,this.removeValue,((e,r)=>t(e,r)))}destroy(e){const t={store:this.name,global:this.isGlobal};c.distributedStoreClient.removeStore(t,(t=>t?e(t):e(null,!0)))}changeSub(e){this.subs||(this.subs=[]),this.subs[e]||(this.isGlobal&&c.distributedStoreClient.routerClient.subscribe(`storeService${e}`,this.handleChanges),this.subs[e]=!0)}addListener(e,t,r){"function"==typeof e&&(t=e,e={});let{field:n}=e;const i=this.name+(n?`.${n}`:"");return this.listeners[i]?this.listeners[i].push(t):this.listeners[i]=[t],this.changeSub(i),r?r():null}addListeners(e,t,r){if(!Array.isArray(e))return this.addListener(e,t,r);for(let r=0;r<e.length;r++){let i=null;const o=e[r];var n;"string"==typeof o?i=o:o.field&&(({field:i}=o),n=e[r].listener);const s=this.name+(i?`.${i}`:"");n||t&&"function"==typeof t&&(n=t),this.listeners[s]?this.listeners[s].push(n):this.listeners[s]=[n],this.changeSub(s)}return r?r():null}removeListener(e,t,r){"function"==typeof e&&(r=t,t=e,e={});let{field:n}=e;const i=this.name+(n?`.${n}`:"");if(this.listeners[i])for(let e=0;e<this.listeners[i].length;e++)if(this.listeners[i][e]===t)return this.listeners[i].splice(e,1),r?r(null,!0):null;return r?r(null,!1):null}removeListeners(e,t,r){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,r):e.field&&this.removeListener(e,t,r),r("missing fields");let n=0;for(let r=0;r<e.length;r++){let o=null;const s=e[r];var i;"string"==typeof s?o=s:s.field&&(({field:o}=s),i=e[r].listener);const a=this.name+(o?`.${o}`:"");if(!i){if(!t||"function"!=typeof t)continue;i=t}for(let e=0;e<this.listeners[a].length;e++)this.listeners[a][e]===i&&(this.listeners[a].splice(e,1),n++)}return n<e.length?r("All listeners could not be found",!1):r?r(null,!0):null}triggerListeners(e,t){if(this.listeners[e])for(let r=0;r<this.listeners[e].length;r++)"function"==typeof this.listeners[e][r]?(l.default.system.debug("DistributedStore.triggerListeners",e,t),this.listeners[e][r](null,{field:e,value:t})):l.default.system.warn("DistributedStoreClient:triggerListeners: listener is not a function",e,r,this.listeners[e][r])}}},72669:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._BaseClient=void 0;const i=n(r(39319)),o=n(r(72551)),s=r(51742),a=r(13854);t._BaseClient=class{constructor(e){this.status="offline",this.startupTime=0,this.initialized=!1,this.startupDependencies={services:[],clients:[]},this.finsembleWindow=null,this.windowName="",this.clientReadyQueue=[],this.processClientReadyQueue=()=>{for(const e of this.clientReadyQueue)e();this.clientReadyQueue=[]},this.onReady=e=>{this.clientReadyQueue.push(e),"online"===this.status&&this.processClientReadyQueue()},this.setClientOnline=()=>{this.status="online";const e=`STARTUP:CLIENT ONLINE:${this.finWindow?.name}:${this.name}`;this.startupTime=window.performance.now()-this.startupTime;const t=()=>{this.logger.system.debug(e),this.processClientReadyQueue(),a.FSBLDependencyManagerSingleton.setClientOnline(this.name)};this._onReady?this._onReady(t):t()},this.initialize=(e=Function.prototype)=>{this.initialized||(this.initialized=!0,this.startupTime=performance.now(),this.finWindow=s.System.Window.getCurrent(),this.windowName=this.finWindow.name,this.logger.system.debug("Baseclient Init Router Ready",this.name),a.FSBLDependencyManagerSingleton.startup.waitFor(this.startupDependencies,(()=>{e(),this.setClientOnline()})))},this.onClose=e=>{e&&e()},this.name=e.name,this._onReady=e.onReady,this.startupDependencies=e.startupDependencies||{services:[],clients:[]},this.logger=o.default,this.routerClient=i.default}}},70010:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(57664),o=n(r(13712)),s=r(72669),a=n(r(5020)),u=n(r(72551));class l extends s._BaseClient{constructor(e){super(e),this.listeners=[],this.changeSub=e=>{this.subs||(this.subs={}),this.subs[e]||(this.routerClient.query("configService.addListener",e,(t=>{t&&u.default.system.error("Error adding listener to config service",t),this.routerClient.subscribe(e,this.handleChanges)})),this.subs[e]=!0)},this.handleChanges=(e,t)=>{e&&u.default.system.error(e),t.data.field||(t.data.field=null);const r=t.data.storeData?t.data.storeData:t.data.value;this.triggerListeners(t.data.field?t.data.field:"configService",r)},this.triggerListeners=(e,t)=>{if(this.listeners[e])for(let r=0;r<this.listeners[e].length;r++)"function"==typeof this.listeners[e][r]?this.listeners[e][r](null,{field:e,value:t}):u.default.system.warn("ConfigClient:triggerListeners: listener is not a function",e)},this.set=(e,t)=>{u.default.system.debug("ConfigClient.Set",e),"function"==typeof e?(t=e,o.default.args(t,"function"),e={}):o.default.args(e,"object",t,"function"),this.routerClient.query("config.set",e,((e,r)=>{t(e,r?r.data:null)}))},this.processAndSet=this.processAndSet.bind(this),this.getValue=this.getValue.bind(this),this.getValues=this.getValues.bind(this),this.setValue=this.setValue.bind(this),this.setValues=this.setValues.bind(this),this.removeValue=this.removeValue.bind(this),this.removeValues=this.removeValues.bind(this),this.addListener=this.addListener.bind(this),this.addListeners=this.addListeners.bind(this),this.removeListener=this.removeListener.bind(this),this.removeListeners=this.removeListeners.bind(this),this.setPreference=this.setPreference.bind(this),this.getPreferences=this.getPreferences.bind(this),this.unsetPreference=this.unsetPreference.bind(this)}getValue(e,t=Function.prototype){return"string"==typeof e&&(e={field:e}),new Promise(((r,n)=>{if(!e.field){const e="no field provided";return n(e),t(e)}this.routerClient.query("configService.getValue",{field:e.field},((e,i)=>e?(n(e),t(e)):(r({err:e,data:i.data}),t(e,i.data))))}))}getValues(e,t=Function.prototype){return"function"==typeof e&&(t=e,e=null),e&&!Array.isArray(e)?this.getValue(e,t):new Promise((r=>{this.routerClient.query("configService.getValues",{fields:e},((e,n)=>e?t(e):(r({err:e,data:n.data}),t(e,n.data))))}))}setValue(e,t){const r={field:e.field,value:e.value};return this.routerClient.query("configService.setValue",r,(e=>t?t(e):null))}setValues(e,t){return e?Array.isArray(e)?this.routerClient.query("configService.setValues",e,(e=>t?t(e):null)):u.default.system.error("ConfigClient.SetValues. Params must be an array"):u.default.system.error("ConfigClient.SetValues. No params given")}removeValue(e,t=Function.prototype){if(void 0!==e){if(e.field||"string"!=typeof e)return t("no field provided");e={field:e}}return e.value=null,this.setValue(e,t)}removeValues(e,t=Function.prototype){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");i.map(e,this.removeValue,((e,r)=>t(e,r)))}addListener(e,t,r){let n=null;"function"==typeof e&&(t=e,e={field:n}),({field:n}=e);const i="configService"+(n?`.${n}`:"");return this.listeners[i]?this.listeners[i].push(t):this.listeners[i]=[t],this.changeSub(i),r?r():null}addListeners(e,t,r){if(!Array.isArray(e))return this.addListener({field:e.field},t,r);for(let r=0;r<e.length;r++){let i=null;const o=e[r];var n;"string"==typeof o?i=o:o.field&&(({field:i}=o),n=o.listener);const s="configService"+(i?`.${i}`:"");n||t&&"function"==typeof t&&(n=t),this.listeners[s]?this.listeners[s].push(n):this.listeners[s]=[n],this.changeSub(s)}return r?r():null}removeListener(e,t,r){let n=null;"function"==typeof e&&(r=t,t=e,e={field:n}),({field:n}=e);const i=this.name+(n?`.${n}`:"");if(this.listeners[i])for(let e=0;e<this.listeners[i].length;e++)if(this.listeners[i][e]===t)return this.listeners[i].pop(e),r?r(null,!0):null;return r?r(null,!1):null}removeListeners(e,t,r){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,r):e.field&&this.removeListener(e,t,r),r?.("missing fields");let n=0;for(let r=0;r<e.length;r++){let o=null;const s=e[r];var i;"string"==typeof s?o=s:s.field&&(({field:o}=s),i=e[r].listener);const a="configService"+(o?`.${o}`:"");if(!i){if(!t||"function"!=typeof t)continue;i=t}for(let e=0;e<this.listeners[a].length;e++)this.listeners[a][e]===i&&(this.listeners[a].pop(r),n++)}return n<e.length?r?.("All listeners could not be found",!1):r?r(null,!0):null}get(e,t){u.default.system.debug("ConfigClient.Get",e),u.default.system.deprecated("This functionality has been deprecated. It will be removed in a future Finsemble release. Use getValue instead.",e),1===arguments.length?(t=e,o.default.args(t,"function"),e={}):o.default.args(e,"object",t,"function"),this.routerClient.query("config.get",e,((e,r)=>{t(e,r?r.data:null)}))}processAndSet(e,t){if(u.default.system.debug("ConfigClient.processAndSet",e),o.default.args(e,"object",t,"function=")&&o.default.args2("params.newConfig",e.newConfig,"object","params.overwrite",e.overwrite,"boolean=","params.replace",e.replace,"boolean="),!e.overwrite&&e.replace){const e="cannot use replace option unless overwrite is also true";u.default.system.warn("ConfigClient.processAndSet:",e),t&&t(e,null)}else this.routerClient.query("config.processAndSet",e,((e,r)=>{t&&t(e,r?r.data:null)}))}setPreference(e,t){this.routerClient.query("PreferencesService.setPreference",e,((e,r)=>{t&&t(e,r?r.data:null)}))}async getPreferences(e){await a.default.waitForStartup("preferencesService"),this.routerClient.query("PreferencesService.getPreferences",{},((t,r)=>{u.default.system.debug("ConfigClient.getPreferences response",r),e&&e(t,r?r.data:null)}))}async unsetPreference(e,t){u.default.system.debug("ConfigClient.unsetPreference",e),this.routerClient.query("PreferencesService.unsetPreference",e,((e,r)=>{t&&t(e,r?r.data:null)}))}}const c=new l({startupDependencies:{services:["configService"]},onReady(e){e&&e()},name:"configClient"});t.default=c},87346:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(57664),o=n(r(9562)),s=n(r(95376)),a=n(r(43190)),u=n(r(13712)),l=r(72669),c=r(75688),d=n(r(72551)),f=r(51742),h=r(24232);s.default.initialize(),o.default.initialize(),a.default.initialize();class p extends l._BaseClient{constructor(e){super(e),this.getParametersFromInDialog=()=>{const{inputParams:e}=s.default.getSpawnData();return d.default.system.debug(`DialogManagerClient:getParametersFromInDialog: ${JSON.stringify(e)}`),e},this.respondAndExitFromInDialog=e=>{u.default.args(e,"any"),d.default.system.debug(`DialogManagerClient:respondAndExitFromInDialog: ${JSON.stringify(e)}`);const{responseChannel:t}=s.default.getSpawnData();this.routerClient.transmit(t,e)},this.getAvailableDialog=(e,t)=>{this.DialogStore.getValue("dialogs.available",((r,n)=>{for(const r in n){const i=n[r];if(i.componentType===e)return t(i)}t(null)}))},this.generateDialogReadyChannel=e=>`Dialog.${e.windowName+e.uuid}.ready`,this.showDialog=()=>{const e=this.generateDialogReadyChannel(o.default.myWindowIdentifier);this.routerClient.transmit(e,{userInputTimeout:void 0===this.userInputTimeout?1e4:this.userInputTimeout})},this.sendQueryToDialog=(e,t,r)=>{function n(t){console.warn(`No response from dialog ${e.windowName} after ${t/1e3} seconds. Check to make sure your dialog is sending back data.`)}this.moveDialogFromAvailableToOpened(e);const i=`Dialog.${e.windowName+e.uuid}.Show`,s=this.generateDialogReadyChannel(e);let a;const u=(r,i)=>{a=setTimeout(n.bind(null,i.data.userInputTimeout),i.data.userInputTimeout),d.default.perf.info("DialogManagerClient:sendQueryToDialog:Dialog: ShowWindow Start"),o.default.showWindow(e,{monitor:t.monitor||"mine",left:"center",top:"center"},((e,t)=>{c.FinsembleWindow.getInstance({name:t.finWindow.name},((e,t)=>{t.bringToFront(),t.focus()})),d.default.perf.info("DialogManagerClient:sendQueryToDialog:ShowWindow finish")})),this.routerClient.removeListener(s,u)};this.routerClient.addListener(s,u),d.default.perf.info("DialogManagerClient:sendQueryToDialog ShowWindow Query begin."),this.routerClient.query(i,t,((t,n)=>{clearTimeout(a),this.moveDialogFromOpenedToAvailable(e),r(t,n.data)}))},this.moveDialogFromOpenedToAvailable=e=>{this.DialogStore.getValue("dialogs",((t,r)=>{const n=r.opened,i=r.available;delete n[e.windowName],i[e.windowName]=e,this.DialogStore.setValue({field:"dialogs.opened",value:n}),this.DialogStore.setValue({field:"dialogs.available",value:i})}))},this.moveDialogFromAvailableToOpened=e=>{this.DialogStore.getValue("dialogs",((t,r)=>{const n=r.available,i=r.opened;delete n[e.windowName],i[e.windowName]=e,this.DialogStore.setValue({field:"dialogs.available",value:n}),this.DialogStore.setValue({field:"dialogs.opened",value:i})}))},this.registerModal=()=>{this.isModal&&(f.System.getMonitorInfo((e=>{const t=e.virtualScreen;t.width=t.right-t.left,t.height=t.bottom-t.top,this.finsembleWindow.setBounds({bounds:t})})),this.DialogStore.setValue({field:"modalIdentifier",value:o.default.myWindowIdentifier}))},this.showModal=e=>{this.DialogStore.getValue("modalIdentifier",(async(t,r)=>{if(null==r)return;const{wrap:n}=await c.FinsembleWindow.getInstance({uuid:r.uuid,name:r.windowName});n.updateOptions({options:{opacity:.4}},(()=>{n.show((()=>{n.bringToFront((()=>{this.finsembleWindow.focus((()=>{this.finsembleWindow.bringToFront(),e&&"function"==typeof e&&e()}))}))}))}))}))},this.open=(e,t,r)=>{this.getAvailableDialog(e,(n=>{n?this.sendQueryToDialog(n,t,r):o.default.spawn(e,{options:{customData:{foreign:{clients:{dialogManager:{isDialog:!0}}}}}},(()=>{this.open(e,t,r)}))}))},this.DialogStore=null,this.isDialog=!1,this.isModal=!1,this.RESPONDER_CHANNEL=null,this.openerMessage=null,this.registerDialogCallback=e=>{this.routerClient.addResponder(this.RESPONDER_CHANNEL,((t,r)=>{this.openerMessage=r,e(t,r)}))},this.hideModal=()=>{this.DialogStore.getValue("modalIdentifier",(async(e,t)=>{if(null==t)return;const{wrap:r}=await c.FinsembleWindow.getInstance({uuid:t.uuid,name:t.windowName});r.hide()}))},this.respondToOpener=e=>{d.default.system.info("DialogManagerClient:RespondToOpener:",e),this.openerMessage.sendQueryResponse(null,e),!1!==e.hideModalOnClose&&this.hideModal(),this.finsembleWindow.hide(),this.openerMessage=null},this.registerWithStore=e=>{if(this.isDialog){const t=o.default.myWindowIdentifier;this.RESPONDER_CHANNEL=`Dialog.${t.windowName+t.uuid}.Show`,this.DialogStore.setValue({field:`dialogs.available.${t.windowName}`,value:t},e)}else e()},this.checkIfWindowIsDialog=e=>{let t=null;try{this.isDialog=s.default?.options?.customData?.foreign?.clients?.dialogManager?.isDialog}catch(e){t=e}e&&e(t)},this.createStore=e=>{a.default.createStore({store:"DialogStore",values:{dialogs:{opened:{},available:{}}},global:!0},((t,r)=>{this.DialogStore=r,e()}))},this.getFinsembleWindow=e=>{if(!this.isDialog)return e();c.FinsembleWindow.getInstance({name:this.finWindow?.name,uuid:this.finWindow?.uuid},((t,r)=>{this.finsembleWindow=r,e()}))},this.spawnDialog=this.spawnDialog.bind(this)}spawnDialog(e,t,r,n){u.default.args(e,"object",t,"object",r,"function");const i=h.getRandomWindowName("DialogChannel");e.data={inputParams:t,responseChannel:i},e.left||0===e.left||e.right||0===e.right||(e.left="center"),e.top||0===e.top||e.bottom||0===e.bottom||(e.top="center"),this.routerClient.addListener(i,((e,t)=>{r(e,t.data),this.routerClient.removeListener(i,n)})),o.default.spawn("dialogTemplate",e,((e,t)=>{e&&(d.default.system.error("ERROR",e),r(e,t)),n&&n(e,t)}))}}var m=new p({startupDependencies:{clients:["distributedStoreClient","windowClient"]},onReady(e){m.checkIfWindowIsDialog(),i.series([m.createStore.bind(m),m.registerWithStore.bind(m),m.getFinsembleWindow.bind(m),e=>{o.default.onReady(e)},e=>{s.default.onReady(e)}],e)},name:"dialogManager"});t.default=m},43190:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(72669),o=n(r(17348));let s;const a=window;let u;const l={};function c(e,t){return u.routerClient.query("storeService.getStore",e,(function(e,r){return e?t(e):t(e,new s(r.data,u.routerClient))}))}function d(e,t){u.routerClient.query("storeService.removeStore",e,((e,r)=>t(e,!e&&r.data)))}class f extends i._BaseClient{constructor(e){super(e),this.load=function(e){e()},u=this,this.ls=l}getStore(e,t){return e.global?c(e,t):e.store&&l[e.store]?t(null,l[e.store]):c(e,t)}createStore(e,t=Function.prototype){let r=new Promise(((r,n)=>{if(e.global)return this.routerClient.query("storeService.createStore",e,((e,i)=>{if(e)return n(e),t(e);const o=new s(i.data,u.routerClient);return r({err:e,data:o}),t(e,o)}));if(l[e.store])return r({err:null,data:l[e.store]}),t(null,l[e.store]);const i=new s(e,u.routerClient);return l[i.name]=i,r({err:null,data:i}),t(null,i)}));return r.catch((e=>{console.log(e)})),r}removeStore(e,t){return e.global?d(e,t):l[e.store]?(delete l[e.store],t(null,!0)):void d(e,t)}}var h=new f({startupDependencies:{},onReady(e){s=o.default,h.load(e)},name:"distributedStoreClient"});a.distributedStoreClient=h,t.default=h},68718:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(5939),o=r(72669),s=n(r(39319)),a=n(r(72551)),u=r(87063).F,l=window,c=new i.EventEmitter;function d(e,t=u){const r=[];return e.keys.forEach((e=>{if("string"!=typeof e)return a.default.system.error("FSBL.Clients.HotkeyClient - one of the keys passed into a function was not a string: ",e);e=e.toLowerCase();const n=t[e];if(!n)return a.default.system.error(`FSBL.Clients.HotkeyClient - At least one of the key codes does not map to a supported key - registering hotkey unsuccessful. Unsupported keys: ${e}`);r.push(n)})),r}const f=function(e){this.cb=e,this.shift=!1,this.ctrl=!1,this.cmd=!1,this.capsLock=!1,this.initialize()};f.prototype.keyup=function(e){switch(e.key){case"Shift":return this.shift=!1,void this.cb({key:e.key,e,keystroke:this});case"Control":case"Alt":return this.ctrl=!1,void this.cb({key:e.key,e,keystroke:this});case"Meta":case"Win":return this.cmd=!1,void this.cb({key:e.key,e,keystroke:this})}this.key&&this.cb({key:this.key,e,keystroke:this})},f.prototype.keydown=function(e){if(!this.noKeyCapture)switch(this.key=e.key,e.key){case"Meta":case"Win":this.cmd=!0;break;case"Shift":this.shift=!0;break;case"Control":case"Alt":this.ctrl=!0;break;case"CapsLock":this.capsLock=!this.capsLock;break;case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"Up":case"Down":case"Left":case"Right":this.key=null,this.cb({key:e.key,e,keystroke:this})}},f.prototype.keypress=function(e){if(this.noKeyCapture)return;const t=e.which;t<32||t>222||(this.key=e.key)},f.prototype.initialize=function(){const e=this;document.addEventListener("keyup",(t=>{e.keyup(t)})),document.addEventListener("keydown",(t=>{e.downValue=t.key,e.keydown(t)})),document.addEventListener("keypress",(t=>{e.keypress(t)})),window.addEventListener("blur",(t=>{e.ctrl=!1,e.cb({key:"Control",e:t,keystroke:e})}))};const h=[];class p extends o._BaseClient{constructor(e){super(e),this.onClose=e=>{this.removeAllHotkeys(e)},this.keyMap=u,this.listenForHotkeys=this.listenForHotkeys.bind(this),this.routerClient=s.default,this.localListeners={}}addLocalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.addLocalHotkey"),a.default.system.debug("HotkeyClient.addLocalHotkey, keyArr: ",e);const n=d({keys:e}).sort().toString(),i=()=>{document.hasFocus()&&t()};this.localListeners[n]||(this.localListeners[n]={}),this.localListeners[n][t]=i,c.addListener(n,i),this.routerClient.query("hotkeysService.registerGlobalHotkey",{keys:n,windowName:this.windowName},r)}addBrowserHotkey(e,t){this.KeyStroke||(this.KeyStroke=new f((e=>{const{key:t,keystroke:r}=e,n=[t];r.ctrl&&n.push("control"),r.shift&&n.push("shift"),r.alt&&n.push("alt"),r.cmd&&n.push("command");const i=n.sort().toString();h.forEach((e=>{const t=e.keyString.toUpperCase(),r=i.toUpperCase();r!==t&&r.replace(/(CONTROL|COMMAND)/,"COMMANDORCONTROL")!==t||e.handler()}))})));const r=d({keys:e}).sort().toString();h.push({keyString:r,handler:t})}removeLocalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.removeLocalHotkey"),a.default.system.debug("HotkeyClient.removeLocalHotkey, keyArr: ",e);const n=d({keys:e}).sort().toString(),i=this.localListeners[n][t];c.removeListener(n,i),this.routerClient.query("hotkeysService.unregisterGlobalHotkey",{keys:n,windowName:this.windowName},r)}addGlobalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.addGlobalHotkey"),a.default.system.debug("HotkeyClient.addGlobalHotkey, keyArr: ",e);const n=d({keys:e}).sort().join("+");c.addListener(n,t),this.routerClient.query("hotkeysService.registerGlobalHotkey",{keys:n,windowName:this.windowName},r)}removeGlobalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.removeGlobalHotkey"),a.default.system.debug("HotkeyClient.removeGlobalHotkey, keyArr: ",e);const n=d({keys:e}).sort().join("+");c.removeListener(n,t),this.routerClient.query("hotkeysService.unregisterGlobalHotkey",{keys:n,windowName:this.windowName},r)}listenForHotkeys(){const e=this;this.routerClient.addListener("HotkeyTriggered",((t,r)=>{t?console.error(`Hotkey Channel Error: ${JSON.stringify(t)}`):r.data.windows.includes(e.windowName)&&c.emit(r.data.keys)}))}removeAllHotkeys(e){c.removeAllListeners(),this.routerClient.query("hotkeysService.removeAllHotkeysForWindow",{windowName:this.windowName},e)}}const m=new p({onReady(e){m.listenForHotkeys(),e&&e()},name:"hotkeyClient"});l.Keystroke=f,t.default=m},9562:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(72669),u=s(r(95376)),l=o(r(76420)),c=s(r(13712)),d=r(51742),f=s(r(72551)),h=r(75688),p=window,m={};class g extends a._BaseClient{constructor(e){super(e),c.default.args(e,"object=")&&e&&c.default.args2("params.onReady",e.onReady,"function="),this.windowClient=e.clients.windowClient}getComponentList(e=Function.prototype){return c.default.args(e,"function="),new Promise((t=>{this.routerClient.query("Launcher.componentList",{},((r,n)=>{e(r,n.data),t({err:r,data:n.data})}))}))}getComponentDefaultConfig(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{this.routerClient.query("Launcher.componentList",{},((n,i)=>{const o=i.data[e];t(n,o),r({err:n,data:o})}))}))}getMonitorInfo(e={},t=Function.prototype){const r=this;return c.default.args(t,"function="),f.default.system.debug("MONITOR: launcherClient.getMonitorInfo"),"all"===e.monitor?r.getMonitorInfoAll(t):new Promise((n=>{l.getMyWindowIdentifier((i=>{e.windowIdentifier||(e.windowIdentifier=i),r.routerClient.query("Launcher.getMonitorInfo",e,((e,r)=>{t&&t(e,r.data),f.default.system.log("MONITOR: launcherClient.getMonitorInfo query response data",r.data),n({err:e,data:r.data})}))}))}))}getMonitorInfoAll(e=Function.prototype){return c.default.args(e,"function="),f.default.system.debug("MONITOR: launcherClient.getMonitorInfoAll"),new Promise(((t,r)=>{this.routerClient.query("Launcher.getMonitorInfoAll",{},((n,i)=>{n&&(r({err:n}),e(n)),t({err:n,data:i.data}),e(n,i.data)}))}))}registerComponent(e,t=Function.prototype){return new Promise((r=>{this.routerClient.query("LauncherService.registerComponent",e,((e,n)=>{t&&t(e,n.data),r({err:e,data:n.data})}))}))}unRegisterComponent(e,t=Function.prototype){return e.componentType?new Promise((r=>{this.routerClient.query("LauncherService.unRegisterComponent",e,((e,n)=>{t&&t(e,n.data),r({err:e,data:n.data})}))})):t("No componentType provided")}locatorToIdentifier(e){let t={};return t.windowName="windowName"in e?e.windowName:"","componentType"in e&&(t.componentType=e.componentType),"uuid"in e&&(t.uuid=e.uuid),t}toggleWindowOnClick(e,t,r){const n=this;let i=this.locatorToIdentifier(t),o=`${i.windowName}:${i.uuid}`;i.windowName||(o=i.componentType),!1!==m[o]?(r.position||(r.position="absolute"),this.showWindow(t,r,(function(t,r){if(!r)return;const{finWindow:i}=r;var s=function(){m[o]=!0,n.windowClient.isMouseOverDOMElement(e,(e=>{m[o]=!e})),i.removeEventListener("blurred",s)};i.addEventListener("blurred",s)}))):m[o]=!0}showWindow(e,t,r=Function.prototype){c.default.args(e,"object",t,"object=",r,"function=");const n=this;return t||(t={}),(t=l.clone(t)).staggerPixels||0===t.staggerPixels||(t.staggerPixels=100),t.windowIdentifier=this.locatorToIdentifier(e),new Promise((e=>{l.getMyWindowIdentifier((i=>{t.relativeWindow||(t.relativeWindow=i),n.routerClient.query("Launcher.showWindow",t,(async(t,n)=>{if(t)return e({err:t}),r(t);const i=n.data.windowIdentifier;n.data.windowIdentifier.name=n.data.windowIdentifier.windowName;const{wrap:o}=await h.FinsembleWindow.getInstance({name:i.windowName});n.data.finWindow=o,e({err:t,data:n.data}),r(t,n.data)}))}))}))}spawn(e,t,r=Function.prototype){const n=this;return c.default.args(e,"string",t,"object=",r,"function="),t||(t={}),(t=l.clone(t)).component=e,t.options||(t.options={}),t.options.customData||(t.options.customData={}),t.staggerPixels||0===t.staggerPixels||(t.staggerPixels=50),f.default.system.debug(`LauncherClient.spawn starting for componentType:${e}`),new Promise((i=>{l.getMyWindowIdentifier((o=>{t.launchingWindow=o,n.callSpawn(t,((t,n)=>{f.default.system.debug(`LauncherClient.spawn completing for componentType:${e}`,t),i({err:t,response:n}),r(t,n)}))}))}))}callSpawn(e,t=Function.prototype){const r=this;return c.default.args(t,"function="),f.default.perf.debug("CallSpawn","start","from spawn to callback",e),new Promise((n=>{function i(e,r){t(e,r),n({err:e,data:r})}r.routerClient.query("Launcher.spawn",e,(async(e,t)=>{if(f.default.system.debug("CallSpawn","Initial launcher callback params",e,t),f.default.perf.debug("CallSpawn","Initial launcher callback",t),e)return i(e,t.data),f.default.system.error("LauncherClient.callSpawn",e);t.data.windowIdentifier.name=t.data.windowIdentifier.windowName;var n=t.data;if(n.windowDescriptor.native)return i(e,n);const o=n.windowIdentifier,{wrap:s}=await h.FinsembleWindow.getInstance({name:o.windowName});n.finWindow=s;const a=`Finsemble.${n.windowIdentifier.windowName}.componentReady`,u=r.routerClient.subscribe(a,((t,o)=>{if(t)return f.default.system.error(t);o&&0===Object.keys(o.data).length||(f.default.perf.debug("CallSpawn","stop"),i(e,n),r.routerClient.unsubscribe(u))}))}))}))}getMonitor(e,t=Function.prototype){return f.default.system.deprecated("This method is deprecated and will be removed in a future release. Method getMonitorInfo should be used instead."),c.default.args(t,"function="),this.getMonitorInfo({windowIdentifier:e},t)}getMyWindowIdentifier(e=Function.prototype){return c.default.args(e,"function="),new Promise((t=>{l.getMyWindowIdentifier((r=>{e(r),t(r)}))}))}getActiveDescriptors(e=Function.prototype){return c.default.args(e,"function="),new Promise((t=>{this.routerClient.query("Launcher.getActiveDescriptors",{},((r,n)=>{r&&f.default.system.error(r),e(r,n.data),t({err:r,data:n.data})}))}))}getActiveAndPendingWindowNames(e=Function.prototype){return new Promise((t=>{this.routerClient.query("Launcher.getActiveAndPendingWindowNames",{},((r,n)=>{r&&f.default.system.error(r),e(r,n.data),t({err:r,data:n.data})}))}))}async getPendingWindows(){const{err:e,response:t}=await this.routerClient.query("Launcher.getPendingWindows",{});return e&&f.default.system.error("Error retrieving pending windows:",e),{err:e,data:t.data}}addUserDefinedComponent(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"add",name:e.name,url:e.url},((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))}removeUserDefinedComponent(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"remove",name:e.name,url:e.url},((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))}getComponentsThatCanReceiveDataTypes(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{if(!e||!e.dataTypes){const e="Invalid params. Expected: {dataTypes: string[]}";return t(e),r({err:e})}Array.isArray(e.dataTypes)||(e.dataTypes=[e.dataTypes]),this.routerClient.query("LauncherService.getComponentsThatCanReceiveDataTypes",e,((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))}bringWindowsToFront(e={},t=Function.prototype){return c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&c.default.args(e.groupName,"string"),e.componentType&&c.default.args(e.componentType,"string"),this.routerClient.query("LauncherService.bringWindowsToFront",e,((e,r)=>{t(e,r)})),Promise.resolve()}hyperFocus(e,t=Function.prototype){return f.default.system.deprecated("hyperFocus is deprecated as of version 4.0.0. This functionality may be removed in a future release"),c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.windowList||e.groupName||e.componentType||(e.windowList=[this.myWindowIdentifier]),e.groupName&&c.default.args(e.groupName,"string"),e.componentType&&c.default.args(e.componentType,"string"),this.routerClient.transmit("LauncherService.hyperFocus",e),t(),Promise.resolve()}minimizeWindows(e,t=Function.prototype){return c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&c.default.args(e.groupName,"string"),e.componentType&&c.default.args(e.componentType,"string"),this.routerClient.transmit("LauncherService.minimizeWindows",e),t(),Promise.resolve()}createWindowGroup(e,t=Function.prototype){return c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList],delete e.groupName),c.default.args(e.groupName,"string"),new Promise((r=>{if(!e.groupName){const e="Invalid Parameters";return r({err:e}),void t(e)}this.routerClient.query("LauncherService.createWindowGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}addWindowsToGroup(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return r({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),c.default.args(e.groupName,"string"),this.routerClient.query("LauncherService.addWindowsToGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}removeWindowsFromGroup(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return r({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),this.routerClient.query("LauncherService.removeWindowsFromGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}getGroupsForWindow(e,t=Function.prototype){return c.default.args(t,"function="),"function"==typeof e&&(t=e,e=null),new Promise((r=>{e&&e.windowIdentifier?this.routerClient.query("LauncherService.getGroupsForWindow",e,((e,n)=>{r({err:e,data:n.data}),t(e,n.data)})):this.windowClient.getComponentState({field:"finsemble:windowGroups"},((e,n)=>{r({err:e,data:n}),t(e,n)}))}))}addToGroups(e,t=Function.prototype){return c.default.args(t,"function="),c.default.args(e.groupNames,"array"),e.windowIdentifier||(e.windowIdentifier=this.myWindowIdentifier),new Promise((r=>{this.routerClient.query("LauncherService.addWindowToGroups",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}_createWrap(e,t){this.routerClient.query("LauncherService.createWrap",e,t)}start(e){const t=this;if(void 0!==p.FSBL){function r(){t.routerClient.subscribe(`Finsemble.LauncherService.updateGroups.${t.windowName}`,((e,r)=>{Array.isArray(r.data)&&t.windowClient.setComponentState({field:"finsemble:windowGroups",value:r.data})}))}p.FSBL.addEventListener("onReady",(()=>{t.windowClient.onReady((()=>{t.windowClient.getComponentState({field:"finsemble:windowGroups"},((e,n)=>{if(!e&&n)return t.addToGroups({groupNames:n},r);r()}))}))}))}setInterval((()=>{t.routerClient.transmit("Finsemble.heartbeat",{type:"component",windowName:t.windowName,componentType:"finsemble",isBrowserView:d.System.isBrowserView()})}),1e3),this.getMyWindowIdentifier((r=>{t.myWindowIdentifier=r,e&&e()}))}}let y;function v(e){return(e=e||{}).windowClient||(e.windowClient=u.default),new g({clients:e,onReady(e){f.default.system.debug("launcherClient ready",window.name),f.default.perf.debug("LauncherClientReadyTime","stop"),y.start(e)},name:"launcherClient"})}y=v(),y.constructInstance=v,t.default=y},75729:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalLogger=void 0;const{debug:r,warn:n,log:i,error:o}=console,s=()=>{},a=s,u={warn:n,info:s,log:i,debug:r,error:o,verbose:a,deprecated:o},l={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!0,LocalOnly:!1},c={console:{Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0},dev:l,system:l,perf:l};function d(e){return"logger.service.logMessages"===e}t.LocalLogger=class{constructor(){this.start=()=>{},this.isLogMessage=d,this.setting=()=>c,this.callStack=()=>function(){const{stack:e}=function(){try{throw Error("")}catch(e){return e}}(),t=("\n",4,e.split("\n",4).join("\n").length);return`Log Stack: \n${e.substring(t).substr(1)}`}(),this.unregisterClient=()=>{},this.setRouterClient=()=>{},this.warn=n,this.info=s,this.log=i,this.debug=r,this.error=o,this.verbose=a,this.system=u,this.perf=u,this.deprecated=o}}},72551:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LoggerConstructor=void 0;const n=r(51742),i=r(75729),o=r(16925),s={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!1,LocalOnly:!1},a={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0},u=r(38172);t.LoggerConstructor=function(e){const i=this;let l;i.RouterClient=e&&e.RouterClient;let c=!1,d=!1;const f=i;let h,p,m=0,g=0;this.startupTime=0;let y=[];if("undefined"==typeof window)return;let v=n.System.Window.getCurrent().name;window.top!==window&&(v=`${v}.Frame`),this.onLogStateChangeCallback=[];let w={console:a,dev:s,system:s,perf:s};function b(e,t,r){this.category=e,!l&&n.System.isBrowserView()&&(l=n.System.getViewId()),this.logClientName=l?`${v}: view-${l}`:v,this.logType=t,this.logData=r,this.logTimestamp=window.performance.timing.navigationStart+window.performance.now()+m}function S(e,t){e&&e.dev&&(w=e,i.onLogStateChangeCallback.forEach((t=>{t(e)}))),function(e){f.system.debug("Logger updateQueueBasedOnState",e,m,"QUEUE LENGTH",y.length,w);const t=[];for(let r=0,{length:n}=y;r<n;r++)if(w[y[r].category][y[r].logType]&&!w[y[r].category].LocalOnly)e&&(y[r].logTimestamp=y[r].logTimestamp+m),t.push(y[r]);else if(w[y[r].category][y[r].logType]&&w[y[r].category].LocalOnly){const e=y[r];console.log(e.category,e.logType,e.logTimestamp-window.performance.timing.navigationStart,e.logData,"(Previously queued!)")}y=t}(t)}function _(){const{stack:e}=function(){try{throw Error("")}catch(e){return e}}(),t=("\n",4,e.split("\n",4).join("\n").length);return`Log Stack: \n${e.substring(t).substr(1)}`}this.onStateChanged=e=>{-1===this.onLogStateChangeCallback.indexOf(e)&&this.onLogStateChangeCallback.push(e)},this.setClientName=function(e){console.error("logger.setClientName() is deprecated"),v=e},this.getClientName=function(){return console.error("logger.getClientName() is deprecated"),v},this.clearMessageList=function(){y=[]},this.callStack=function(){return _()},this.setting=function(){return w};const C=console.error,E=console.warn,P=console.info,T=console.log,k=console.debug;function A(e){return e.reduce(((e,t)=>e.concat(Array.isArray(t)?A(t):t)),[])}function L(e,t){try{e.apply(console,A(t))}catch(e){(t=[]).push(_())}}let O=()=>{y.length>0&&(i.RouterClient.transmit("logger.service.logMessages",y),f.clearMessageList())};function I(e,r,n){let i,o=!1,s=!0;"forceObjectsToLogger"===n[0]&&(o=!0,s=!1,n.splice(0,1)),n=n.map((e=>s&&function(e){const t=[],r=[e];let n=0,i=0;for(;r.length&&i<1e3;){i++;const e=r.pop();if("boolean"==typeof e)n+=4;else if("string"==typeof e)n+=2*e.length;else if("number"==typeof e)n+=8;else if("object"==typeof e&&-1===t.indexOf(e)){t.push(e);for(const t in e)r.push(e[t])}}return n}(e)>5e4?(L(P,["Message too large to send to the logger.",n]),"Log argument greater than 50KB. Check local Console to see output of the object."):e));try{for(let e=0;e<n.length;e++)n[e]instanceof Error&&(n[e]=n[e].toString());i=new b(e,r,JSON.stringify(n))}catch(t){n.splice(0,n.length),n.push(_()),i=new b(e,r,`*** Logging Error: ${JSON.stringify(n)}`)}o||!function(e){return!0===e.logData.includes("Finsemble.heartbeat")}(i)?function(e){if(y.length<2e4)y.push(e);else{console.error("Logging Queue Overflowed! Dumping queue here then continuing.",y.length);let e,r=0;for(;e=y.shift();)console.log("Message "+r++,e);t.Logger.system.error("Logging Queue Overflowed! Dumping queue in client then continuing.")}}(i):++g<=5&&L(P,[`"Filtered Logger Message (${g} of first 5 shown)`,i]),d&&O()}function R(){const{windowName:e}=o.Startup.getInstance().getStartupData();v=e,window.top!==window&&(v=`${v}.Frame`);const t=`finsemble.logger.client.${v}`;!l&&n.System.isBrowserView()&&(l=n.System.getViewId()),f.system.debug("logger.service.registering",v),n.System.Window.getCurrent().getOptions((r=>{const n=r?.customData?.component?.centralLoggerNamePrefix;i.RouterClient.query("logger.service.register",{clientName:v,clientChannel:t,windowName:e,viewId:l,centralLoggerNamePrefix:n},((e,t)=>{if(e)setTimeout(R,750);else{for(const e of y)e.viewId=l;d=!0,f.system.debug("logger.service.registered"),h=t.data,"routerService"!==v?(m=p,S(h,!0)):S(h,!1),I("system","Debug",["Logger Registered"]),O()}}))})),i.RouterClient.addListener(t,((e,t)=>{f.system.debug("logger.client.setLogState",t.data),h=t.data,S(h,!1)}))}O=u(O,"routerService"===v?100:250,{leading:!1}),this.error=function(){const e=Array.prototype.slice.call(arguments);e.push(_()),w.dev.Error&&!w.dev.LocalOnly&&I("dev","Error",e),e.unshift(`dev error (${window.performance.now()}):`),L(C,e)},this.warn=function(){if(w.dev.Warn){const e=Array.prototype.slice.call(arguments);e.push(_()),w.dev.Warn&&!w.dev.LocalOnly&&I("dev","Warn",e),w.dev.Warn&&w.dev.LocalOnly&&(e.unshift(`dev warn (${window.performance.now()}):`),L(E,e))}},this.info=function(){if(w.dev.Info){const e=Array.prototype.slice.call(arguments);w.dev.Info&&!w.dev.LocalOnly&&I("dev","Info",e),w.dev.Info&&w.dev.LocalOnly&&(e.unshift(`dev info (${window.performance.now()}):`),L(P,e))}},this.log=function(){if(w.dev.Log){const e=Array.prototype.slice.call(arguments);w.dev.Log&&!w.dev.LocalOnly&&I("dev","Log",e),w.dev.Log&&w.dev.LocalOnly&&(e.unshift(`dev log (${window.performance.now()}):`),L(T,e))}},this.debug=function(){if(w.dev.Debug){const e=Array.prototype.slice.call(arguments);w.dev.Debug&&!w.dev.LocalOnly&&I("dev","Debug",e),w.dev.Debug&&w.dev.LocalOnly&&(e.unshift(`dev debug (${window.performance.now()}):`),L(k,e))}},this.verbose=function(){if(w.dev.Verbose){const e=Array.prototype.slice.call(arguments);w.dev.Verbose&&!w.dev.LocalOnly&&I("dev","Verbose",e),w.dev.Verbose&&w.dev.LocalOnly&&(e.unshift(`dev verbose (${window.performance.now()}):`),L(k,e))}},this.deprecated=this.error,this.system={},this.system.error=function(){const e=Array.prototype.slice.call(arguments);e.push(_()),w.system.Error&&!w.system.LocalOnly&&I("system","Error",e),e.unshift(`system error (${window.performance.now()}):`),L(C,e)},this.system.warn=function(){if(w.system.Warn){const e=Array.prototype.slice.call(arguments);e.push(_()),w.system.Warn&&!w.system.LocalOnly&&I("system","Warn",e),w.system.Warn&&w.system.LocalOnly&&(e.unshift(`system warn (${window.performance.now()}):`),L(E,e))}},this.system.info=function(){if(w.system.Info){const e=Array.prototype.slice.call(arguments);w.system.Info&&!w.system.LocalOnly&&I("system","Info",e),w.system.Info&&w.system.LocalOnly&&(e.unshift(`system info (${window.performance.now()}):`),L(P,e))}},this.system.log=function(){if(w.system.Log){const e=Array.prototype.slice.call(arguments);w.system.Log&&!w.system.LocalOnly&&I("system","Log",e),w.system.Log&&w.system.LocalOnly&&(e.unshift(`system log (${window.performance.now()}):`),L(T,e))}},this.system.debug=function(){if(w.system.Debug){const e=Array.prototype.slice.call(arguments);w.system.Debug&&!w.system.LocalOnly&&I("system","Debug",e),w.system.Debug&&w.system.LocalOnly&&(e.unshift(`system debug (${window.performance.now()}):`),L(k,e))}},this.system.verbose=function(){if(w.system.Verbose){var e=Array.prototype.slice.call(arguments);w.system.Verbose&&!w.system.LocalOnly&&I("system","Verbose",e),w.system.Verbose&&w.system.LocalOnly&&((e=Array.prototype.slice.call(arguments)).unshift(`system log (${window.performance.now()}):`),L(k,e))}},this.system.deprecated=this.system.error,this.perf={},this.perf.error=function(){const e=Array.prototype.slice.call(arguments);e.push(_()),w.perf.Error&&!w.perf.LocalOnly&&I("perf","Error",e),e.unshift(`perf error (${window.performance.now()}):`),L(C,e)},this.perf.warn=function(){if(w.perf.Warn){const e=Array.prototype.slice.call(arguments);e.push(_()),w.perf.Warn&&!w.perf.LocalOnly&&I("perf","Warn",e),w.perf.Warn&&w.perf.LocalOnly&&(e.unshift(`perf warn (${window.performance.now()}):`),L(E,e))}},this.perf.info=function(){if(w.perf.Info){const e=Array.prototype.slice.call(arguments);w.perf.Info&&!w.perf.LocalOnly&&I("perf","Info",e),w.perf.Info&&w.perf.LocalOnly&&(e.unshift(`perf info (${window.performance.now()}):`),L(P,e))}},this.perf.log=function(){if(w.perf.Log){const e=Array.prototype.slice.call(arguments);w.perf.Log&&!w.perf.LocalOnly&&I("perf","Log",e),w.perf.Log&&w.perf.LocalOnly&&(e.unshift(`perf log (${window.performance.now()}):`),L(T,e))}},this.perf.debug=function(){if(w.perf.Debug){const e=Array.prototype.slice.call(arguments);w.perf.Debug&&!w.perf.LocalOnly&&I("perf","Debug",e),w.perf.Debug&&w.perf.LocalOnly&&(e.unshift(`perf debug (${window.performance.now()}):`),L(k,e))}},this.perf.verbose=function(){if(w.perf.Verbose){const e=Array.prototype.slice.call(arguments);w.perf.Verbose&&!w.perf.LocalOnly&&I("perf","Verbose",e),w.perf.Verbose&&w.perf.LocalOnly&&(e.unshift(`perf verbose (${window.performance.now()}):`),L(k,e))}},this.perf.deprecated=this.perf.error,this.unregisterClient=function(e=null,t=Function.prototype){f.system.debug("logger.service.unregister",v,e,l),O();const r=e||{clientName:v,viewId:l};i.RouterClient.query("logger.service.unregister",r,t)},this.isLogMessage=function(e){return"logger.service.logMessages"===e},this.status="offline",this.setRouterClient=e=>{this.RouterClient=e},this.start=function(){let e;this.startupTime=performance.now(),i.RouterClient||(console.log("No instance of the RouterClient found for this instance of the Logger. Dynamically requiring it."),i.RouterClient=r(39319).default);const t=()=>{e=i.RouterClient.subscribe("Finsemble.Service.State.loggerService",((t,r)=>{"ready"===r.data.state&&(i.status="online",f.system.debug("Logger onReady",v),i.RouterClient.calibrateTimeWithRouterService((e=>{p=e,c||(i.startupTime=performance.now()-i.startupTime,R(),c=!0)})),i.RouterClient.unsubscribe(e))}))};"routerService"===window.name?i.RouterClient.query("logger.service.register",{},(e=>{e?setTimeout(t,750):t()})):i.RouterClient.onReady(t),n.System.isBrowserView()&&window.addEventListener("beforeunload",(()=>{i.unregisterClient()}))}},t.Logger="undefined"!=typeof window?new t.LoggerConstructor:new i.LocalLogger,t.default=t.Logger},40568:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RouterClientConstructor=void 0;const i=n(r(82369)),o=n(r(13712)),s=n(r(73699)),a=r(51742),u=r(72551),l=r(6192),c=r(75729),d=r(50586),f=[];let h=u.Logger;function p(e,t={}){if(null===e||"object"!=typeof e)return e;if(e.constructor==Date||e.constructor==RegExp||e.constructor==Function||e.constructor==String||e.constructor==Number||e.constructor==Boolean)return new e.constructor(e);t=t||new e.constructor;for(const r in e)t[r]=void 0===t[r]?p(e[r],null):t[r];return t}t.RouterClientConstructor=function(){let e,t;const r={},n={},u={},m={},g={},y={},v={},w={},b={},S={};let _,C=null,E=!1;const P=[];function T(){this.header={origin:_,type:"initialHandshake"}}function k(e,t){this.header={origin:_,type:"timeCalibration"},this.clientBaseTime=e,this.serviceBaseTime=t}function A(e){this.header={origin:_,type:"addListener",channel:e}}function L(e,t,r){this.header={origin:_,type:"transmit",channel:e},this.data=t,this.options=r}function O(e){this.header={origin:_,type:"removeListener",channel:e}}function I(e){this.header={origin:_,type:"addResponder",channel:e}}function R(e,t,r){this.header={origin:_,type:"query",queryID:e,channel:t},this.data=r}function D(e,t,r){this.header={origin:_,type:"queryResponse",queryID:e,error:t},this.data=r}function F(e){this.header={origin:_,type:"removeResponder",channel:e}}function M(e,t){this.header={origin:_,type:"subscribe",subscribeID:e,topic:t}}function x(e,t){this.header={origin:_,type:"unsubscribe",subscribeID:e,topic:t}}function N(e,t){this.header={origin:_,type:"publish",topic:e},this.data=t}function j(e,t,r,n){this.header={origin:_,type:"notify",subscribeID:e,topic:t,error:r},this.data=n}function W(e,t,r){this.header={origin:_,type:"addPubSubResponder",topic:e,handleOnServer:r},this.data=t}function $(e){this.header={origin:_,type:"removePubSubResponder",topic:e}}function B(e){C?C.send(e):(h.system.info("RouterClient: Queuing message since router initialization not complete",e),f.push(e))}function U(){return this.header.origin===this.header.lastClient}function H(e,t){h.system.info("RouterClient: outgoing query response","CHANNEL",this.header.channel,"RESPONSE DATA",t,"QUERY ID",this.header.queryID),B(new D(this.header.queryID,e,t))}function V(e,t){const r=e[t.header.channel];void 0===r?h.system.warn(`RouterClient: no query responder define on channel ${t.header.channel} incoming from ${t.header.origin}`,t):t.header.error?(h.system.warn("RouterClient: queryResponder error",t),r(t.header.error,null),delete e[t.header.channel]):(t.originatedHere=U,t.sendQueryResponse=H.bind(t),h.system.info("RouterClient: incoming query","CHANNEL",t.header.channel,"FROM",t.header.origin,"QUERY MESSAGE",t),r(null,t))}function q(e,t){if(e)h.system.warn("RouterClient: income publish rejected by pubsub responder",e,t);else{m[this.header.topic]=t;const r=y[this.header.topic];if(void 0!==r)for(let n=0;n<r.length;n++)h.system.info("RouterClient: sending pubsub notify","TOPIC",this.header.topic,"NOTIFY DATA",t),B(new j(r[n],this.header.topic,e,t))}}function z(e,t){var r,n,i;(function(e){let t=!1;return void 0===e&&(t=!0),t})(t)||B(new j(this.header.subscribeID,this.header.topic,e,t)),e?h.system.warn("RouterClient: incoming subscription rejected by pubsub responder","TOPIC",this.header.topic,"MESSAGE",this):(r=y,n=this.header.topic,i=this.header.subscribeID,n in r?r[n].push(i):r[n]=[i],h.system.info("RouterClient: incoming subscription added","TOPIC",this.header.topic,"MESSAGE",this))}function G(){!function(e,t,r){let n=!1;if(t in e){const i=y[t];for(let o=0;o<i.length;o++)if(r===i[o]){i.splice(o,1),0===i.length&&delete e[t],n=!0,h.system.info("RouterClient: PubSub removeListener","TOPIC",t,"FROM",r);break}}n||h.system.warn(`RouterClient: tried to remove non-existent listener on ${t} from ${JSON.stringify(r)}`)}(y,this.header.topic,this.header.subscribeID)}function Q(i){switch(h.system.verbose("Incoming Message Type",i.header.type,i),i.header.type){case"transmit":!function(e,t){const r=e[t.header.channel]||[],n=[];if(Array.isArray(r)&&0!==r.length){t.originatedHere=U,r.forEach((e=>{n.push(e)}));for(let e=0;e<n.length;e++)h.isLogMessage(t.header.channel)||h.system.info("RouterClient: incoming transmit","CHANNEL",t.header.channel,"FROM",t.header.origin,"MESSAGE",t),n[e](null,t)}else h.system.warn(`RouterClient: no listener for incoming transmit on channel ${t.header.channel} from ${t.header.origin}`,t)}(r,i);break;case"query":V(n,i);break;case"queryResponse":!function(e,t){const r=e[t.header.queryID];void 0===r?h.system.warn("RouterClient: no handler for incoming query response","QUERY ID",t.header.queryID):(function(e,t){const r=e[t];void 0!==r&&clearTimeout(r)}(S,t.header.queryID),t.header.error?(h.system.debug("RouterClient: incoming queryResponse error",t.header,"QUERY ID",t.header.queryID),r(t.header.error,t)):(h.system.info("RouterClient: incoming query response","RESPONSE MESSAGE",t,"QUERY ID",t.header.queryID),r(null,t)),delete e[t.header.queryID])}(b,i);break;case"notify":!function(e,t){const r=e[t.header.subscribeID];void 0===r?h.system.warn("RouterClient: no subscription handler defined for incoming notify for subscriberID",t.header.subscribeID,t):t.header.error?(h.system.info("RouterClient: incoming PubSub notify error for subscriberID","SUBSCRIBER ID",t.header.subscribeID,"NOTIFY MESSAGE",t),r(t.header.error,t)):(t.originatedHere=U,h.system.info("RouterClient: incoming PubSub notify","SUBSCRIBER ID",t.header.subscribeID,"NOTIFY MESSAGE",t),r(null,t))}(v,i);break;case"publish":!function(e){let t=u[e.header.topic];if(void 0===t)for(const r in g)if(g[r].test(e.header.topic)){t=u[r];break}void 0===t?h.system.warn("RouterClient: no pubsub responder defined for incoming publish","TOPIC",e.header.topic,"PUBLISH MESSAGE",e):(e.sendNotifyToAllSubscribers=q,t.publishCallback?(h.system.info("RouterClient: incoming PubSub publish callback invoked","TOPIC",e.header.topic,"PUBLISH MESSAGE",e),t.publishCallback(null,e)):(h.system.info("RouterClient: incoming PubSub publish","TOPIC",e.header.topic,"PUBLISH MESSAGE",e),e.sendNotifyToAllSubscribers(null,e.data)))}(i);break;case"subscribe":!function(e){h.system.info("RouterClient: PubSub subscribe","TOPIC",e.header.topic);let t=u[e.header.topic];if(void 0===t)for(const r in g)if(g[r].test(e.header.topic)){t=u[r];let n=m[e.header.topic];void 0===n&&(n=m[r]),m[e.header.topic]=n;break}void 0===t?h.system.warn("RouterClient: no pubsub responder defined for incoming subscribe",e):e.header.error?h.system.warn(`RouterClient: pubsub error received from router service: ${JSON.stringify(e.header.error)}`):(e.sendNotifyToSubscriber=z,t.subscribeCallback?(e.data=m[e.header.topic],t.subscribeCallback(null,e)):e.sendNotifyToSubscriber(null,m[e.header.topic]))}(i);break;case"unsubscribe":!function(e){let t=u[e.header.topic];if(void 0===t)for(const r in g)if(g[r].test(e.header.topic)){t=u[r];break}void 0===t?h.system.warn("RouterClient: no pubsub responder defined for incoming unsubscribe","TOPIC",e.header.topic,"UNSUBSCRIBE MESSAGE",e):(e.removeSubscriber=G,t.unsubscribeCallback?(h.system.info("RouterClient: incoming unsubscribe callback","TOPIC",e.header.topic,"UNSUBSCRIBE MESSAGE",e),t.unsubscribeCallback(null,e)):(h.system.info("RouterClient: incoming unsubscribe","TOPIC",e.header.topic,"UNSUBSCRIBE MESSAGE",e),e.removeSubscriber()))}(i);break;case"timeCalibration":const o=()=>{t?t(i):setTimeout((()=>{o()}),10)};o();break;case"initialHandshakeResponse":e()}}function K(e,t){t.header.lastClient=_,t.header.incomingTransportInfo=e,Q(t)}this.startupTime=0,this.notificationURL="";const J=(t,r,n)=>{let o,a;h.system.debug(`Name of transport to establish: ${r}`),this.notificationURL=t.notificationURL;let u,l,c,d,p=!1,m=0;const g=t=>{a=0,h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:transport ready","TRANSPORT OBJECT",t),C=t,e=d,c(),o=setInterval(c,200)};u=e=>{h.system.error("RouterClientError",e)};const y=()=>{h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:getClientTransport","ROUTER PARAMS:",t),i.default.getTransport(t,r,K,_,"RouterService").then(g).catch(u)};l=()=>{if(clearInterval(o),m++,m<=3)h.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient: failure to connect to router service. Retrying...",m,t),y();else{const e="A cross domain transport has failed to connect. Cross domain components may not work. Please contact your administrator.";h.system.error(e,t),s.default.alert("dev","ONCE-SINCE-STARTUP","FSBL-Internal-Transport-Failure",e,{url:this.notificationURL})}},c=()=>{h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient: sendHandshake",a),B(new T),a++>50&&l()},d=()=>{if(!p){if(h.system.debug(`WINDOW LIFECYCLE:STARTUP:RouterClient connected: Starting ${_} with transport ${C.identifier()}`),p=!0,clearInterval(o),f)for(let e=0;e<f.length;e++){h.system.debug("RouterClient: firing queued msg");const t=f[e];C.send(t)}n&&n()}},y()};function Y(){return`${_}.${d.v4()}`}function Z(e,t){let r=!1;return void 0!==e[t]&&(delete e[t],r=!0),r}this.calibrateTimeWithRouterService=function(e){let r,n=0,i=1/0;t=function(t){n++,n>5?function(t){let n=0;for(let e=1;e<5;e++){const o=t.clientBaseTime[e-1],s=t.clientBaseTime[e]-o,a=t.serviceBaseTime[e-1]-(o+s/2);s<i&&(i=s,r=a),n+=a,h.system.debug("calibrationCalculation Intermediate Values","lastRRT",s,"lastOffset",a,"fastestOffset",r,"fastestRRT",i)}n/=4,h.system.debug("RouterClient calibrationCalculation","Average Offset",n,"Chosen FastestOffset",r,t),e(r)}(t):(t.clientBaseTime.push(l.Globals.performance.timing.navigationStart+l.Globals.performance.now()),B(new k(t.clientBaseTime,t.serviceBaseTime)))},t(new k([],[]))},this.onReady=e=>new Promise((t=>{o.default.args(e,"function");const r=()=>{e&&e(),t()};E?r():P.push(r)})),this.addListener=function(e,t){h.system.info("RouterClient.addListener","CHANNEL",e),o.default.args(e,"string",t,"function"),function(e,t,r){let n=!1;const i=e[t];return void 0===i||0===i.length?(e[t]=[r],n=!0):i.push(r),n}(r,e,t)&&B(new A(e))},this.transmit=function(e,t,r={suppressWarnings:!1}){h.isLogMessage(e)||h.system.info("RouterClient.transmit","TO CHANNEL",e,"EVENT",t),o.default.args(e,"string",t,"any"),B(new L(e,t,r))},this.removeListener=function(e,t){h.system.info("RouterClient.removeListener","CHANNEL",e,"EVENT HANDLER",t),o.default.args(e,"string",t,"function"),function(e,t,r){let n=!1;const i=e[t];if(void 0!==i){const e=i.indexOf(r);e>-1?(i.splice(e,1),0===i.length&&(n=!0)):h.system.warn(`no listener defined for channel: ${t}`)}return n}(r,e,t)&&B(new O(e))},this.addResponder=(e,t)=>{if(h.system.info("RouterClient.addResponder","CHANNEL",e),o.default.args(e,"string",t,"function"),function(e,t,r){let n=!1;return void 0===e[t]&&(e[t]=r,n=!0),n}(n,e,t))B(new I(e));else{const r=`RouterClient.addResponder: Responder already locally defined for channel ${e}`;h.system.warn(r),t(r,null)}},this.query=(e,t,r,n)=>{const i=`${Y()}.${e}`,s=window.performance.timing.navigationStart+window.performance.now(),a=window.performance.timing.navigationStart,u=window.performance.now();return h.system.info("RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",r,"QUERY ID",i,{timestamp:s,navstart:a,timenow:u}),n||(n=r,r={timeout:2e4}),o.default.args(e,"string",t,"any=",r,"object=",n,"function"),r=r||{},o.default.args2("params.timeout",r.timeout,"number"),new Promise((function(o){b[i]=(l,c)=>{o({err:l,response:c}),"function"==typeof n?n(l,c):h.system.warn("No response event handler passed to RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",r,"QUERY ID",i,{timestamp:s,navstart:a,timenow:u})},l.Globals.runningInFSBLUnitTest||function(e,t,r,n){n>0&&(e[t]=setTimeout((()=>{h.system.warn(`RouterClient: timeout waiting on query response on channel ${r} for queryID ${t} on timer ${e[t]} timeout=${n}`)}),n))}(S,i,e,r.timeout),B(new R(i,e,t))}))},this.removeResponder=e=>{h.system.info("RouterClient.removeResponder","RESPONDER CHANNEL",e),o.default.args(e,"string"),Z(n,e)&&B(new F(e))},this.addPubSubResponder=(e,t,r,n)=>{let i,s;h.system.info("RouterClient.addPubSubResponder","TOPIC",e,"INITIAL STATE",t,"PARAMS",r),o.default.args(e,"any",t,"object=",r,"object="),r=r||{},o.default.args2("params.subscribeCallback",r.subscribeCallback,"function=","params.publishCallback",r.publishCallback,"function=")&&o.default.args2("params.unsubscribeCallback",r.unsubscribeCallback,"function="),void 0===r.subscribeCallback&&void 0===r.publishCallback&&void 0===r.unsubscribeCallback?(t=t||{},B(new W(e.toString(),t,!0)),s="success"):!function(e,t,r,n){let i=!1;return void 0===u[e.toString()]&&(e instanceof RegExp&&(g[e.toString()]=e,h.system.info(`RouterClient: PubSub RegEx added for topic ${e.toString()}`)),u[e.toString()]={subscribeCallback:t,publishCallback:r,unsubscribeCallback:n},i=!0),i}(e,r.subscribeCallback,r.publishCallback,r.unsubscribeCallback)?(i=`RouterClient.addPubSubResponder: Responder already locally defined for topic ${e}`,h.system.error(i)):(t=t||{},m[e.toString()]=p(t),B(new W(e.toString(),t,!1)),s="success"),n&&n(i,s)},this.removePubSubResponder=e=>{h.system.info("RouterClient.removePubSubResponder","TOPIC",e),o.default.args(e,"any"),Z(u,e)?(delete m[e.toString()],delete g[e.toString()],B(new $(e))):h.system.warn(`RouterClient.removePubSubResponder failed: Could not find responder for topic ${e}`)},this.subscribe=(e,t)=>{h.system.info("RouterClient.subscribe","TOPIC",e),o.default.args(e,"string",t,"function");const r=Y();return function(e,t,r,n){e[t]=r,w[t]=n}(v,r,t,e),B(new M(r,e)),{subscribeID:r,topic:e}},this.publish=(e,t)=>{h.system.info("RouterClient.publish","TOPIC",e,"EVENT",t),o.default.args(e,"string",t,"any"),B(new N(e,t))},this.unsubscribe=e=>{h.system.info("RouterClient.unsubscribe","SUBSCRIBE ID",e),o.default.args(e,"object")&&o.default.args2("subscribeIDStruct.subscribeID",e.subscribeID,"string"),!function(e,t){let r=!1;return void 0!==e[t]&&(delete e[t],r=!0),r}(v,e.subscribeID)?h.system.warn(`RouterClient.unsubscribe: Could not find subscribeID for topic ${e.topic}`):B(new x(e.subscribeID,e.topic))},this.trustedMessage=function(e){let t=!0;return h.system.debug("RouterClient.trustedMessage header",e.header),"SharedWorker"===e.header.originIncomingTransportInfo.transportID&&(t=!0),t},this.disconnectAll=function(){h.system.info("RouterClient.disconnectAll");for(const e in r)h.system.debug(`RouterClient.disconnectAll is removing listener on ${e}`),B(new O(e)),delete r[e];for(const e in n)h.system.debug(`RouterClient.disconnectAll is removing responder on ${e}`),B(new F(e)),delete n[e];for(const e in u)h.system.debug(`RouterClient.disconnectAll is removing pubsub responder on ${e}`),B(new $(e)),delete u[e.toString()],delete m[e.toString()],delete g[e.toString()];for(const e in v){const t=w[e];h.system.debug(`RouterClient.disconnectAll is removing subscriber on ${t}`),B(new x(e,t)),delete v[e],delete w[e]}},this.start=e=>new Promise((async t=>{if(this.started){const e="RouterClient.start() called twice. Ignoring second call.";return h.warn(e),t(e)}this.started=!0,h=new c.LocalLogger,"loggerService"===a.System.Window.getCurrent().name&&(h=new c.LocalLogger),_=`RouterClient.${e.windowName}.${d.v4()}`;const r=`"RouterClient Check: connecting new client for ${_}`;h.system.debug(r),console.debug(r),J(e,e.transportName,(()=>{!function(){for(h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient Ready"),E=!0;P.length>0;)h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient parentReady invoked"),P.shift()()}(),t(null)}))})),this.stop=()=>{this.disconnectAll(),i.default.close(),this.started=!1}}},39319:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RouterConnectionInstance=t.RouterConnectionSingleton=void 0;const n=r(40568),i=r(72551),o=r(4971);t.RouterConnectionSingleton=o.singleton("RouterClient",n.RouterClientConstructor),i.Logger.setRouterClient(t.RouterConnectionSingleton);var s=r(40568);Object.defineProperty(t,"RouterConnectionInstance",{enumerable:!0,get:function(){return s.RouterClientConstructor}}),t.default=t.RouterConnectionSingleton},9321:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(72551)),o=r(72669),s=r(76420);i.default.system.debug("Starting searchClient");class a extends o._BaseClient{constructor(){super(...arguments),this.providers={},this.resultProviders={},this.searchResultsList=[],this.isSearching=!1,this.unRegister=this.unregister,this.handleResults=(e,t)=>{t.data.searchId&&t.data.searchId==this.searchId&&(this.resultProviders[t.data.provider.channel]=t.data,this.searchResultsList.push(t.data),this.resultsCallback(null,this.searchResultsList))}}register(e,t){return e.name?e.searchCallback?void this.routerClient.query("Search.register",{name:e.name,channel:`${this.finWindow?.name}.${e.name}`,providerActionTitle:e.providerActionTitle,providerActionCallback:!!e.providerActionCallback},((r,n)=>{if(r)return t?t(r):console.error(r);const i=`${this.finWindow?.name}.${e.name}`;return this.providers[e.name]=e.name,this.routerClient.addResponder(`Search.Provider.${i}`,((t,r)=>{if(t)return console.error(t);r&&e.searchCallback(r.data,((e,t)=>{r.sendQueryResponse(e,t)}))})),this.routerClient.addResponder(`Search.Provider.ItemAction.${i}`,((t,r)=>{if(t)return console.error(t);r&&e.itemActionCallback&&e.itemActionCallback(r.data,s.windowNameFromRouterHeader(r.header),((e,t)=>{r.sendQueryResponse(e,t)}))})),e.providerActionCallback&&this.routerClient.addResponder(`Search.Provider.Action.${i}`,((t,r)=>{if(t)return console.error(t);r&&e.providerActionCallback&&e.providerActionCallback(s.windowNameFromRouterHeader(r.header),((e,t)=>{r.sendQueryResponse(e,t)}))})),t?t(null,n.data):null})):t?.("no provider callback provided"):t?.("no provider name provided")}unregister(e,t){if(!e.name)return t?.("Provider name was not provided");const r=`${this.finWindow?.name}.${e.name}`;this.routerClient.query("Search.unregister",{channel:r},(()=>(this.routerClient.removeResponder(`Search.Provider.${r}`),this.routerClient.removeResponder(`Search.Provider.ItemAction.${r}`),this.routerClient.removeResponder(`Search.Provider.Action.${r}`),delete this.providers[e.name],t?t():null)))}search(e,t){this.isSearching||(this.routerClient.addPubSubResponder(`Search.${this.finWindow?.name}`),this.routerClient.subscribe(`Search.${this.finWindow?.name}`,this.handleResults),this.isSearching=!0),this.searchResultsList=[],e.windowName=this.finWindow?.name,this.routerClient.query("Search.search",e,((e,r)=>{if(e)return t(e);this.resultsCallback=t,this.searchId=r.data.searchId}))}invokeItemAction(e,t){this.routerClient.query(`Search.Provider.ItemAction.${e.provider}`,{item:e,action:t})}invokeProviderAction(e){this.routerClient.query(`Search.Provider.Action.${e.channel}`,{})}}const u=new a({onReady(e){e&&e()},name:"searchClient"});t.default=u},63862:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StorageClient=void 0;const i=n(r(42169)),o=n(r(13712)),s=n(r(72551)),a=r(72669),u=r(24232),l=i.default(1);class c extends a._BaseClient{constructor(){super(...arguments),this.clientReady=!1,this.delete=this.remove}setUser(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.user,"string",t,"function="),this.routerClient.query("Storage.setUser",{user:e.user},((r,n)=>{(r?s.default.system.error:s.default.system.info)("APPLICATION LIFECYCLE:StorageClient.setUser",e,r,n),t&&t(r,n.data)}))}setStore(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",e.dataStore,"string=",t,"function="),s.default.system.log("APPLICATION LIFECYCLE:StorageClient.setStore",e,t),this.routerClient.query("Storage.setStore",e,((e,r)=>{(e?s.default.system.error:s.default.system.info)("Storage.setStore",e,r),t&&t(e,r.data)}))}save(e,t){if(this.clientReady||s.default.system.error("storageClient invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");return new Promise(((r,n)=>{o.default.args(e.topic,"string",e.key,"string",e.value,"any",t,"function="),this.routerClient.query("Storage.save",e,((e,i)=>{(e?s.default.system.error:s.default.system.info)("Storage.save",e,i),t&&t(e,i.data),e?n({err:e,data:null}):r({err:e,data:i.data})}))}))}save1(e){return l((()=>this.save(e)))}get(e,t){if(this.clientReady||s.default.system.error("storageClient invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");return new Promise(((r,n)=>{o.default.args(e.topic,"string",e.key,"string",t,"function="),this.routerClient.query("Storage.get",e,((e,i)=>{if(e)return s.default.system.error("Storage.get",e,i),t&&t(e,i?i.data:null),n(e,i?i.data:null);s.default.system.info("Storage.get",e,i),t&&t(e,i.data),r(i.data)}))}))}get1(e,t){return l((()=>this.get(e,t)))}async updateStorage(e){const{topic:t,key:r,updateFn:n}=e,i=await this.get({topic:t,key:r});return await this.save({topic:t,key:r,value:n(i)})}updateStorage1(e){return l((()=>this.updateStorage(e)))}keys(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",t,"function="),s.default.system.debug("StorageClient.keys",e,t),this.routerClient.query("Storage.keys",e,((e,r)=>{(e?s.default.system.error:s.default.system.info)("Storage.keys",e,r),t&&t(e,r.data)}))}keys1(e){return l((()=>u.promisify(this.keys.bind(this))(e)))}getMultiple(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),s.default.system.info("StorageClient.getMultiple",e,t),this.routerClient.query("Storage.getMultiple",e,((r,n)=>{(r?s.default.system.error:s.default.system.info)("StorageClient.getMultiple:",e,n),t&&t(r,n)}))}remove(e,t){return this.clientReady||s.default.system.error("storageClient invoked before ready"),new Promise(((r,n)=>{o.default.args(e.topic,"string",e.key,"string",t,"function="),this.routerClient.query("Storage.delete",e,((e,i)=>{(e?s.default.system.error:s.default.system.info)("StorageClient.delete",e,i),t&&t(e,i.data),e?n({err:e,data:null}):r({err:e,data:i.data})}))}))}remove1(e){return l((()=>this.remove(e)))}clearCache(e){s.default.system.log("StorageClient.clearCache",e),this.routerClient.query("Storage.clearCache",null,((t,r)=>{(t?s.default.system.error:s.default.system.info)("StorageClient.clearCache",t,r),e&&e(t,r.data)}))}}t.StorageClient=c;var d=new c({onReady(e){e&&e(),d.clientReady=!0},name:"storageClient"});t.default=d},95376:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(57664),u=s(r(63862)),l=s(r(68718)),c=o(r(76420)),d=r(51742),f=r(72669),h=s(r(72551)),p=s(r(13712)),m=r(75688),g=r(33998),y=s(r(39319)),v=r(78379),w=s(r(70010)),b=r(24232),S=r(80089);let _;function C(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}class E extends f._BaseClient{constructor(e){super(e),this.showAtMousePosition=function(){this.routerClient.transmit("DockingService.showAtMousePosition",this.getWindowIdentifier())},p.default.args(e,"object=")&&e&&p.default.args2("params.onReady",e.onReady,"function="),this.options={},this.windowHash="",this.title=null,this.toolbarBottom=40,this.containers=[],this.componentState={},this.windowState="normal",this.hasHeader=!1,this.enableWindowsAeroSnap=!1,this.bindFunctions(),this.minimizeWithDockedWindows=this.minimize}bindFunctions(){this.onWindowRestored=this.onWindowRestored.bind(this),this.onWindowMaximized=this.onWindowMaximized.bind(this),this.onWindowBlurred=this.onWindowBlurred.bind(this),this.onWindowFocused=this.onWindowFocused.bind(this),this.onMinimizedRestored=this.onMinimizedRestored.bind(this),this.onWindowMinimized=this.onWindowMinimized.bind(this),this.close=this.close.bind(this),this.getInitialOptions=this.getInitialOptions.bind(this),this.cacheInitialBounds=this.cacheInitialBounds.bind(this),this._setHeaderHeight=this._setHeaderHeight.bind(this)}onWindowRestored(){this.updateHeaderState("Maximize",{hide:!1})}onWindowMaximized(){this.updateHeaderState("Maximize",{hide:!0})}onWindowBlurred(){this.setActive(!1)}onWindowFocused(){this.setActive(!0)}onMinimizedRestored(){this.routerClient.transmit("DockingService.windowRestored",_.name),_.removeEventListener("restored",this.onMinimizedRestored)}onWindowMinimized(){this.routerClient.query("DockingService.windowMinimized",{windowName:_.name}),_.addEventListener("restored",this.onMinimizedRestored)}getWindowGroups(){return this.windowGroups}groupUpdateHandler(e,t){e?FSBL.Clients.Logger.error(e):t.data&&t.data.groupData&&(this.windowGroups=Object.values(t.data.groupData).filter((e=>e.windowNames.includes(this.getWindowNameForDocking()))))}close(e,t=(()=>{})){e||(e={removeFromWorkspace:!0,closeWindow:!0});const{parentWindow:r}=_;if(e.userInitiated&&r)return r.close(e,t);_.close(e,t)}getWindowHash(){return this.windowHash}getWindowTitle(){return this.title}retrieveMonitorDimensions(e=Function.prototype){c.getMonitor(null,(t=>{_.updateOptions({options:{monitorDimensions:t.monitorRect}}),e&&e(t.monitorRect)}))}listenForHashChanges(){d.System.hasBrowserView()||(_.updateOptions({url:window.top.location.href},(()=>{})),function(e){const{pushState:t}=e;e.pushState=function(r){"function"==typeof e.onpushstate&&e.onpushstate({state:r}),t.apply(e,arguments),_.updateOptions({url:window.top.location.href},(()=>{}))};const{replaceState:r}=e;e.replaceState=function(t){"function"==typeof e.onreplacestate&&e.onreplacestate({state:t}),r.apply(e,arguments),_.updateOptions({url:window.top.location.toString()})}}(window.history),window.addEventListener("hashchange",(()=>{_.updateOptions({url:window.top.location.toString()},(()=>{}))})))}getInitialOptions(e){this.isInAService?(this.options={},h.default.system.debug("WindowClient:getting options empty",this.options),e()):_.getOptions(((t,r)=>{t&&(r={}),_.windowOptions=r,this.options=r,h.default.system.debug("WindowClient:getting options",this.options),e()}))}cacheInitialBounds(e){if(d.System.hasBrowserView())return e();this.cacheBounds((()=>{try{if(!_.windowOptions.customData.foreign.components["Window Manager"].persistWindowState)return e();_.updateOptions({options:{url:window.top.location.toString()}})}catch(e){h.default.system.warn('customData.foreign.components["Window Manager" is undefined')}e()}))}setInitialWindowBounds(e){h.default.system.warn("`FSBL.Clients.WindowClient.setInitialWindowBounds is deprecated and will be removed in a future version of finsemble. Use 'getInitialOptions' and 'cacheInitialBounds' instead."),a.parallel([this.getInitialOptions,this.cacheInitialBounds],e)}getWindowBounds(){return{top:_.windowOptions.defaultTop,left:_.windowOptions.defaultLeft,width:_.windowOptions.defaultWidth,height:_.windowOptions.defaultHeight}}saveWindowBounds(e,t){if(h.default.system.debug("WINDOW LIFECYCLE:SavingBounds:",e,"setActiveWorkspaceDirty",t),void 0===t&&(t=!1),p.default.args(e,"object")&&p.default.args2("bounds.top",e.top,"number"),e){_.updateOptions({options:{top:Math.round(e.top),defaultTop:Math.round(e.top),left:Math.round(e.left),defaultLeft:Math.round(e.left),width:Math.round(e.width),defaultWidth:Math.round(e.width),height:Math.round(e.height),defaultHeight:Math.round(e.height)}});try{_.windowOptions.customData.foreign.components["Window Manager"].persistWindowState}catch(e){}}}minimize(e){this.cacheBounds((()=>{_.minimize(null,(t=>{t&&h.default.system.error("WindowClient:minimize",t),e&&e(t)}))}))}setAlwaysOnTop(e,t){_.setAlwaysOnTop({alwaysOnTop:e},t)}restore(e=(()=>{})){_.restore(null,(t=>{t&&h.default.system.error("WindowClient:restore",t),e(t)}))}cacheBounds(e){this.getBounds(((t,r)=>{if(t)return e(),console.warn("Get bounds error.",t,"Window may not be registered with the window service");_.updateOptions({options:{cachedLeft:r.left,defaultLeft:r.left,cachedTop:r.top,defaultTop:r.top,cachedWidth:r.width,defaultWidth:r.width,cachedHeight:r.height,defaultHeight:r.height}}),e&&e(r)}))}maximize(e){_.maximize(),e()}removeFinWindowEventListeners(){_.removeEventListener("maximized",this.onWindowMaximized),_.removeEventListener("restored",this.onWindowRestored),_.removeEventListener("blurred",this.onWindowBlurred),_.removeEventListener("focused",this.onWindowFocused),_.removeEventListener("close-requested",this.close),_.removeEventListener("minimized",this.onWindowMinimized)}injectDOM(e){if(h.default.system.debug("injectDOM",e),document.getElementById("FSBLHeader"))return;window.scrollTo(0,0);const t=document.createElement("div");t.innerHTML=`<div id="FSBLHeader"${e?` style=height:${e}`:""}></div>`,t.firstChild&&document.body.insertBefore(t.firstChild,document.body.firstChild)}getComponentState(e,t){if(e||(e={}),e.fields&&!Array.isArray(e.fields)&&(e.fields=[e.fields]),p.default.args(e,"object",t,"function"),_)return _.getComponentState(e,t);h.default.system.warn("Attempt to use getComponentState before component is ready or in a service"),e.windowName||(e.windowName=window.name);const r=this.getContainerHash(e.windowName);u.default.get({topic:v.WORKSPACE.CACHE_STORAGE_TOPIC,key:r},((r,n)=>{if(r)return h.default.system.error("Error retrieving window client's component state."),void t(r);const i=n;if(n&&e.field)this.componentState=i||{},t(r,i[e.field]);else{if(e.fields){const r={};for(let t=0;t<e.fields.length;t++)i[e.fields[t]]&&(r[e.fields[t]]=i[e.fields[t]]);return t(null,r)}if(n)return t(null,i);h.default.system.info("WindowClient:getComponentState:error, response, params",r,n,e),t("Not found",n)}}))}async setComponentState(e,t=(()=>{})){return p.default.args(e,"object",t,"function=")&&p.default.args2("params.field",e.field,"string"),_?_.setComponentState(e,t):this.isInAService?(t("Cannot call setComponentState in a service."),Promise.resolve()):(t("Cannot call setComponentState. The window may not be ready"),Promise.reject("The window is not yet ready to save state."))}async removeComponentState(e,t=(()=>{})){return p.default.args(e,"object",t,"function=")&&p.default.args2("params.field",e.field,"string"),(_||await m.FinsembleWindow.getInstance({name:e.windowName||window.name})).removeComponentState(e,t)}getWindowNameForDocking(){const e=_.parentWindow;return e?e.name:_.name}getContainerHash(e){return c.camelCase(this.windowHash,e)}formGroup(){_.formGroup()}registerWithDockingManager(e,t){_.parentWindow&&(h.default.system.debug("registerWithDockingManager ignore registration request if has a parent"),t&&t());const r=_.name,{uuid:n}=_;this.startedRegistrationWithDocking=!0,this.routerClient.query("DockingService.registerWindow",{name:r,uuid:n,options:e||{},windowType:"WebWindow"},(()=>{this.startedRegistrationWithDocking=!1,this.deregisterPlease&&(this.deregisterWithDockingManager(),this.deregisterPlease=!1),h.default.system.debug("WINDOW LIFECYCLE: Docking Registration complete."),t&&t()}))}deregisterWithDockingManager(e){this.startedRegistrationWithDocking&&(this.deregisterPlease=!0);const t=_.name;this.routerClient.transmit("DockingService.deregisterWindow",{name:t,userInitiated:e})}bumpFixedElements(e){if("complete"!==document.readyState)return setTimeout((()=>{this.bumpFixedElements(e)}),100);if(!e)return;let{absolute:t,fixed:r,bumpBy:n}=e;if(!t&&!r)return;const i=document.getElementById("FSBLHeader");if(!i||0===i.children.length||!i.children[0].clientHeight)return setTimeout((()=>{this.bumpFixedElements(e)}),100);"auto"===n?n="0px":-1===new String(n).indexOf("px")&&(n=`${n}px`);const o=document.body.getElementsByTagName("*"),s=o.length;for(let e=0;e<s;e++){if("FSBLHeader"===o[e].id||o[e].classList.contains("fsbl-header"))continue;const i=window.getComputedStyle(o[e],null),s=["0","0px",0],a=i.getPropertyValue("top");t&&o[e].parentNode===document.body&&"absolute"==i.getPropertyValue("position")&&("all"==t?o[e].style.top=`calc(${a} + ${n})`:"0Positioned"==t&&s.includes(a)&&(o[e].style.top=n)),r&&"fixed"==i.getPropertyValue("position")&&("all"==r?o[e].style.top=`calc(${a} + ${n})`:"0Positioned"==r&&s.includes(a)&&(o[e].style.top=n))}}bringWindowToFront(){_.bringToFront({forceFocus:!0},(e=>{e?h.default.system.error(`WindowClient.bringWindowToFront: failure:${e}`):h.default.system.info("WindowClient.bringWindowToFront: success")}))}injectStylesheetOverride(){const e=document.createElement("style");e.type="text/css",e.appendChild(document.createTextNode(_.windowOptions.customData.cssOverride)),document.body.appendChild(e)}checkIfChildApp(){if(_.windowOptions&&_.windowOptions.customData&&_.windowOptions.customData.parentUUID&&_.windowOptions.customData.parentUUID!==d.System.Application.getCurrent().uuid){const e=d.System.Application.wrap(_.windowOptions.customData.parentUUID);e.addEventListener("crashed",this.close.bind(null,!1)),e.addEventListener("initialized",this.close.bind(null,!1)),e.addEventListener("out-of-memory",this.close.bind(null,!1))}}preventUnintendedDropEvents(){function e(e){e.preventDefault()}window.addEventListener("dragover",e,!1),window.addEventListener("drop",e,!1)}rejectWindowsKeyResizes(){let e=!1;const t=async t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&y.default.transmit("Finsemble.WindowService.WindowsKey","up"):"Meta"===t.key&&e&&(e=!1,d.System.Window.getCurrent().updateOptions({resizable:!0}))},r=t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&y.default.transmit("Finsemble.WindowService.WindowsKey","down"):"Meta"===t.key&&(e=!0,d.System.Window.getCurrent().updateOptions({resizable:!1}))};FSBL&&l.default.onReady((()=>{window.addEventListener("keyup",t),window.addEventListener("keydown",r)}))}modifyReload(){FSBL&&l.default.onReady((()=>{l.default.addBrowserHotkey(["ctrl","r"],_.reload)}))}addListeners(e=Function.prototype){this.listenForHashChanges(),this.preventUnintendedDropEvents(),this.rejectWindowsKeyResizes(),this.modifyReload(),_.addListener("setParent",(()=>{h.default.system.info("WindowClient.setParent deregisterWithDockingManager"),this.deregisterWithDockingManager()})),_.addEventListener("maximized",this.onWindowMaximized),_.addEventListener("minimized",this.onWindowMinimized),_.addEventListener("restored",this.onWindowRestored),_.addEventListener("blurred",this.onWindowBlurred),_.addEventListener("focused",this.onWindowFocused),e()}updateHeaderState(e,t){this.commandChannel&&this.commandChannel(e,t)}headerCommandChannel(e){this.commandChannel=e}ejectFromGroup(){_.ejectFromGroup()}setWindowTitle(e){h.default.system.deprecated("This method is deprecated and will be removed in a future release. Please simply set the application's `document.title` element to change the title. Or, set `components['Window Manager'].title` in the app's manifest."),this.setWindowTitlePrivate(e)}setWindowTitlePrivate(e){p.default.args(e,"string"),this.title=e,this.updateHeaderState("Main",{windowTitle:e}),_.setTitle(e)}getSpawnData(){if(!this.options.customData)return{};const{spawnData:e}=this.options.customData;return void 0===e?{}:e}getCurrentWindow(){return d.System.Window.getCurrent()}async getDesktopBoundingBox(e){let t=e;"string"==typeof e&&(t=document.querySelector(e));const r=t.getBoundingClientRect(),n=await _.getBounds(),i=n.data;let o,s;n.err?(o=this.options.defaultTop,s=this.options.defaultLeft):(o=i.top,s=i.left);const a={top:o+r.top,left:s+r.left,width:r.width,height:r.height,right:0,bottom:0};return a.right=a.left+a.width,a.bottom=a.top+a.height,a}isPointInBox(e,t){return t.bottom||(t.bottom=t.top+t.height),t.right||(t.right=t.left+t.width),e.x>t.left&&e.x<t.right&&e.y<t.bottom&&e.y>t.top}isMouseOverDOMElement(e,t){this.getDesktopBoundingBox(e).then((e=>{d.System.getMousePosition(((r,n)=>{t(this.isPointInBox(n,e))}))}))}getWindowIdentifier(){var e=null;return this.options&&this.options.customData&&this.options.customData.component&&(e=this.options.customData.component.type),{windowName:_?_.name:window.name,uuid:_?_.uuid:null,componentType:e}}setActive(e){var t,r;e?(r="desktop-active",(t=document.documentElement).classList?t.classList.add(r):C(t,r)||(t.className=`${t.className} ${r}`)):function(e,t){if(e.classList)e.classList.remove(t);else if(C(e,t)){const r=new RegExp(`(\\s|^)${t}(\\s|$)`);e.className=e.className.replace(r," ")}}(document.documentElement,"desktop-active")}getBounds(e){_.getBounds(((t,r)=>{e(t,r)}))}setShape(e,t=Function.prototype){_.setShape(e,t)}startTilingOrTabbing(e,t=Function.prototype){FSBL.Clients.RouterClient.transmit("DockingService.startTilingOrTabbing",e),t()}startMovingWindow(e){d.System.Window.getCurrent().startMovingWindow(e)}stopMovingWindow(){d.System.Window.getCurrent().stopMovingWindow()}cancelTilingOrTabbing(e,t=Function.prototype){console.debug("CancelTilingOrTabbing"),y.default.transmit("DockingService.cancelTilingOrTabbing",e),t()}sendIdentifierForTilingOrTabbing(e,t=Function.prototype){FSBL.Clients.RouterClient.transmit("DockingService.identifierForTilingOrTabbing",e),t()}stopTilingOrTabbing(e,t=Function.prototype){const r=()=>{y.default.query("DockingService.stopTilingOrTabbing",e,(()=>{t()})),y.default.transmit("DockingService.stopTilingOrTabbing",e)};return e.mousePosition?(r(),e.allowDropOnSelf?void 0:t()):d.System.getMousePosition(((n,i)=>{if(e.mousePosition=i,r(),!e.allowDropOnSelf)return t()}))}getStackedWindow(e,t){if(h.default.system.debug("WindowClient.getStackedWindow",e),t=t||e,(e=e||{}).windowIdentifiers=e.windowIdentifiers||[],!_.parentWindow&&e.create){const r=e=>{const{parentName:n}=e.data;_.setParent({windowName:n},((e,r)=>{t?.(e,r)})),_.removeListener("parent-set",r)};_.addListener("parent-set",r),FSBL.Clients.LauncherClient.spawn("StackedWindow",{windowType:"StackedWindow",data:{windowIdentifiers:e.windowIdentifiers},options:{newStack:!0}},((e,r)=>{h.default.system.debug("WindowClient.getStackedWindow-success",e,r),e&&t?.(e,null)}))}else _.getParent(t)}getMonitorInfo(e,t){c.getMyWindowIdentifier((r=>{e.windowIdentifier||(e.windowIdentifier=r),this.routerClient.query("Launcher.getMonitorInfo",e,((e,r)=>{t&&t(e,r.data)}))}))}fitToDOM(e,t){let r=document.documentElement.offsetHeight,n=this.options.width;"function"==typeof e&&(t=e,e=null),e&&e.padding&&(e.padding.height&&(r+=e.padding.height),e.padding.width&&(n+=e.padding.width)),e&&e.maxHeight&&r>e.maxHeight&&(r=e.maxHeight),h.default.system.debug("WindowClient.FitToDOM:newHeight",r,e),this.getMonitorInfo({},((e,i)=>{i&&(r>=i.availableRect.height&&(r=i.availableRect.height),n>=i.availableRect.width&&(n=i.availableRect.width)),h.default.system.debug("WindowClient.FitToDOM:fixBounds",r,n),_.getBounds(((e,i)=>{i.width!=n||i.height!=r?(i.width=n,i.height=r,_.setBounds({bounds:i},t)):"function"==typeof t&&t()}))}))}_setHeaderHeight(e){let t=document.getElementsByClassName("fsbl-header")[0];if(!t)return setTimeout((()=>{this._setHeaderHeight(e)}),100);let r=window.getComputedStyle(t,null).getPropertyValue("height");document.body.style.marginTop=r,e.bumpElements&&"auto"===e.bumpElements.bumpBy&&(e.bumpElements.bumpBy=r),this.bumpFixedElements(e.bumpElements)}async start(e=Function.prototype){if(p.default.args(e,"function"),b.iAmAServiceWindow())return this.isInAService=!0,e();setInterval((()=>{_&&document?.title&&this.title!==document.title&&(!FSBL.System.isBrowserView&&FSBL.System.hasBrowserView||this.setWindowTitlePrivate(document.title))}),200);const t=this;await w.default.getValue("finsemble");let r=null,n=!1,i=!1,o=!1;this.componentState={},(e=>{m.FinsembleWindow.getInstance({name:this.finWindow?.name,uuid:this.finWindow?.uuid},((t,r)=>{if(h.default.system.debug(`FinsembleWindow.getInstance ${this.finWindow?.name}`),"Cannot Wrap Service Manager or Services"==t)return this.isInAService=!0,this.windowHash=c.camelCase("activeWorkspace",window.name),e();!t&&r||h.default.system.error("wrap failure",t),this.finsembleWindow=r,({finsembleWindow:_}=this),this.windowHash=c.camelCase("activeWorkspace",_.name),this.addListeners(),this.routerClient.subscribe("Finsemble.WorkspaceService.groupUpdate",((e,t)=>this.groupUpdateHandler(e,t))),e()}))})((()=>{this.retrieveMonitorDimensions(),this.getInitialOptions((()=>{if(!_||!_.windowOptions)return this.isInAService||h.default.system.error("Something went wrong attempting to get the current window."),e();({customData:r}=_.windowOptions),h.default.system.debug("getInitialOptions",r),r&&(n=S(r,"window.compound",!1),r.cssOverride&&(h.default.system.debug("Window has cssOverride. See local window to inspect object"),i=!0),o=!n&&S(r,["foreign","components","Window Manager","FSBLHeader"],!1)),a.parallel([function(e){i&&t.injectStylesheetOverride(),e()},function(e){w.default.getValue("finsemble",((r,n)=>{r&&h.default.system.error("Error reading windowService config from finsemble");const i=n.services.windowService.config.enableWindowsAeroSnap;t.enableWindowsAeroSnap=g.ConfigUtilInstance.getDefault(n,"config.servicesConfig.docking.enableWindowsAeroSnap",i),e()}))},function(e){if(d.System.isBrowserView())e();else{if(!r||!r.component||b.iAmAServiceWindow())return e();{let n=g.ConfigUtilInstance.getDefault(r,"customData.foreign.services.windowService.manageWindowMovement",!1);n||(n=g.ConfigUtilInstance.getDefault(r,"customData.foreign.services.dockingService.manageWindowMovement",!1));const i=g.ConfigUtilInstance.getDefault(r,"customData.foreign.components.Window Manager.FSBLHeader",!1),o=g.ConfigUtilInstance.getDefault(r,"customData.window.dockable",!1);n=n||i||o;let s=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowAutoArrange",oldValue:"isArrangable"},null);if(null===s&&(s=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowAutoArrange",oldValue:"isArrangeable"},n)),!n&&!s)return e();if(r.window.allowAutoArrange=s,r.window.snapping=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowSnapping",oldValue:"ignoreSnappingRequests"},n),r&&r.foreign&&r.foreign.services){const e=void 0!==r.foreign.services.windowService?"windowService":"dockingService";void 0!==r.foreign.services[e].ignoreSnappingRequests&&(r.window.snapping=!r.foreign.services[e].ignoreSnappingRequests)}if(g.ConfigUtilInstance.getDefault(r,"customData.window.ephemeral",!1)&&!r.window.snapping&&(r.window.snapping=!1),r.window.tiling=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowTiling",oldValue:"ignoreTilingAndTabbingRequests"},n),r.window.tabbing=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowTabbing",oldValue:"ignoreTilingAndTabbingRequests"},n),r&&r.foreign&&r.foreign.services){const e=void 0!==r.foreign.services.windowService?"windowService":"dockingService";void 0!==r.foreign.services[e].ignoreTilingAndTabbingRequests&&(r.window.tiling=!r.window.tiling,r.window.tabbing=!r.window.tabbing)}r.window.canGroup=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowGrouping",oldValue:"canGroup"},n),r.window.canMinimize=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowMinimize",oldValue:"canMinimize"},void 0),void 0===r.window.canMinimize&&(r.window.canMinimize=r.component.canMinimize,void 0===r.window.canMinimize&&(r.window.canMinimize=n)),void 0===r.window.canMaximize&&(r.window.canMaximize=r.component.canMaximize,void 0===r.window.canMaximize&&(r.window.canMaximize=n)),r.window.overwriteStartDocked=g.ConfigUtilInstance.getDefault(r,"customData.foreign.services.workspaceService.global",!1),t.registerWithDockingManager(r.window,(()=>{t.cacheInitialBounds(e)}))}}}],((t,r)=>e(t,r)))}))}))}}var P=new E({startupDependencies:{clients:["storageClient"]},onReady(e){P.start(e)},name:"windowClient"});t.default=P},6008:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(72669),u=o(r(76420)),l=s(r(13712)),c=s(r(72551)),d=r(78379),f=r(33998),h=s(r(73014));class p extends a._BaseClient{constructor(e){super(e),this.workspaces=[],this.setWorkspaces=this.setWorkspaceOrder,this.createNewWorkspace=this.createWorkspace,this.getWorkspaceDefinition=this.export,this.addWorkspaceDefinition=this.import,this.saveWorkspaceTemplateToConfigFile=this.exportToFile,l.default.args(e,"object=")&&e&&l.default.args2("params.onReady",e.onReady,"function="),this.publicEventManager=new h.default({name:"workspaceClient",sourceType:"workspace"})}_serviceResponseHandler(e,t,r,n,i=Function.prototype){if(e)return n(new Error(e)),i(e);t||(t={data:null}),r(t.data),i(null,t.data)}saveGlobalData(e,t){return c.default.system.debug("WorkspaceClient.saveGlobalData",e),new Promise(((r,n)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.SAVE_GLOBAL_DATA,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}saveViewData(e,t){return c.default.system.debug("WorkspaceClient.saveViewData",e),new Promise(((r,n)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.SAVE_VIEW_DATA,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}addEventListener(e,t){this.publicEventManager.addEventListener(e,t)}removeEventListener(e,t){this.publicEventManager.removeEventListener(e,t)}async addWindow(e,t=null){l.default.args(e,"object",t,"function=")&&e&&l.default.args2("params.name",e.name,"string");const{err:r,response:n}=await this.routerClient.query("WorkspaceService.addWindow",e,(()=>{}));if(c.default.system.log(`WORKSPACE LIFECYCLE: Window added:WorkspaceClient.addWindow: Name (${e.name})`),t&&t(r,n),!t&&r)throw r;return n}removeWindow(e,t=Function.prototype){l.default.args(e,"object",t,"function=")&&l.default.args2("params.name",e.name,"string"),this.routerClient.query("WorkspaceService.removeWindow",e,((r,n)=>{if(r)return c.default.system.error(r);c.default.system.log(`WORKSPACE LIFECYCLE:WorkspaceClient.removeWindow:Window removed: Name (${e.name})`),t(r,n?n.data:null)}))}autoArrange(e,t=Function.prototype){l.default.args(e,"object",t,"function="),e=e||{},u.getMyWindowIdentifier((e=>{this.routerClient.query("DockingService.autoArrange",{windowIdentifier:e},t)}))}minimizeAll(e,t=Function.prototype){l.default.args(e,"object",t,"function="),e=e||{monitor:"all"},u.getMyWindowIdentifier((r=>{e.windowIdentifier||(e.windowIdentifier=r),this.routerClient.query("WorkspaceService.minimizeAll",e,t)}))}bringWindowsToFront(e,t=Function.prototype){l.default.args(e,"object",t,"function="),e=e||{monitor:"all"},u.getMyWindowIdentifier((r=>{e.windowIdentifier||(e.windowIdentifier=r),this.routerClient.query("WorkspaceService.bringWindowsToFront",e,t)}))}async getActiveWorkspace(e){c.default.system.debug("WorkspaceClient.getActiveWorkspace");const t=(await this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE,{})).response;if(this.activeWorkspace=t.data,t.data.err)throw e&&e(t.data.err),new Error(t.data.err);return e&&e(null,t),t}getWorkspaces(e){return l.default.args(e,"function="),c.default.system.debug("WorkspaceClient.getWorkspaces"),new Promise((async(t,r)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_WORKSPACES,{},((n,i)=>{this._serviceResponseHandler(n,i,t,r,e)}))}))}getWorkspaceActions(e){return e(null,d.WORKSPACE.API_CHANNELS)}getWorkspaceNames(e){return l.default.args(e,"function="),c.default.system.debug("WorkspaceClient.getWorkspaceNames"),new Promise((async(t,r)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_WORKSPACE_NAMES,{},((n,i)=>{this._serviceResponseHandler(n,i,t,r,e)}))}))}setWorkspaceOrder(e,t){const{workspaces:r}=e;return l.default.args(t,"function"),c.default.system.debug("WorkspaceClient.setWorkspaceOrder",e),new Promise(((n,i)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.SET_WORKSPACE_ORDER,r||e,((e,r)=>{this._serviceResponseHandler(e,r,n,i,t)}))}))}remove(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&!e.name&&!e.workspace&&l.default.args2("params.name",e.name,"string"),c.default.system.debug("WorkspaceClient.remove",e),new Promise((async(r,n)=>{e.name||(e.name=e.workspace?.name,delete e.workspace);const i=(await this.getActiveWorkspace()).data;if(e.name===i.name){c.default.system.error(`APPLICATION LIFECYCLE: Cannot remove active workspace: WorkspaceClient.remove:attempt to remove active workspace name:${i.name}`);const e="Cannot remove active workspace";return this._serviceResponseHandler(e,null,r,n,t)}this.routerClient.query(d.WORKSPACE.API_CHANNELS.REMOVE,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}rename(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&l.default.args2("params.oldName",e.oldName,"string","params.newName",e.newName,"string"),c.default.system.debug("WorkspaceClient.rename",e),new Promise(((r,n)=>{if(!e.overwriteExisting&&this.workspaceExists(e.newName)){const e="Workspace Already Exists";return this._serviceResponseHandler(e,null,r,n,t)}this.routerClient.query(d.WORKSPACE.API_CHANNELS.RENAME,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}clone(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&l.default.args2("params.name",e.name,"string"),delete e.name,e.newName||(e.newName=`${e.name}_clone`),e.removeOldWorkspace=!1,this.rename({removeOldWorkspace:!1,newName:e.newName,oldName:e.name},t)}save(e=Function.prototype){return c.default.system.debug("WorkspaceClient.save"),new Promise(((t,r)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.SAVE,{},((n,i)=>{this._serviceResponseHandler(n,i,t,r,e)}))}))}workspaceExists(e){l.default.args(e,"string");for(let t=0;t<this.workspaces.length;t++)if(e===this.workspaces[t])return!0;return!1}saveAs(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&l.default.args2("params.name",e.name,"string"),c.default.system.debug("WorkspaceClient.saveAs",e),new Promise(((r,n)=>{if(!e.force&&this.workspaceExists(e.name))return this._serviceResponseHandler("Workspace Already Exists",null,r,n,t);this.routerClient.query(d.WORKSPACE.API_CHANNELS.SAVE_AS,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}async switchTo(e,t=Function.prototype){l.default.args(e,"object",t,"function")&&l.default.args2("params.name",e.name,"string"),c.default.system.debug("WorkspaceClient.switchTo",e);const r=await this.routerClient.query(d.WORKSPACE.API_CHANNELS.SWITCH_TO,e);if(r.err)throw t(r.err,null),new Error(r.err);return t(r),r}async _setWindowState(e){if(!this.activeWorkspace)throw"Workspace is not yet ready";if(!this.activeWorkspace.windows.includes(e.windowName))throw"Cannot set state for Window not in workspace";return c.default.system.debug("WorkspaceClient.setWindowData",e),this.routerClient.query(d.WORKSPACE.API_CHANNELS.SET_WINDOW_STATE,e)}async _getWindowState(e){return c.default.system.debug("WorkspaceClient.getWindowData",e),this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_WINDOW_STATE,e)}async isWorkspaceDirty(e=Function.prototype){l.default.args(e,"function"),c.default.system.debug("WorkspaceClient.isWorkspaceDirty");const{err:t,response:r}=await this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE_DIRTY,{},(()=>{}));return e(t,r),r.data}async createWorkspace(e,t,r=((e,t)=>{e&&(c.default.system.error(`Error creating workspace: ${e}`),c.default.system.info(`Result from create workspace: ${t}`))})){c.default.system.log(`WorkspaceClient: Creating Workspace Request for name "${e}"`);const n=(await this.routerClient.query(d.WORKSPACE.API_CHANNELS.NEW_WORKSPACE,{workspaceName:e})).response.data;!1!==t.switchAfterCreation&&await this.switchTo({name:n});const i={workspaceName:n};return r(null,i),i}export(e,t){return l.default.args(e,"object",t,"function")&&l.default.args2("params.workspaceName",e.workspaceName,"string"),c.default.system.debug("WorkspaceClient.export",e),new Promise(((r,n)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.EXPORT,e,((i,o)=>{const s={};s[e.workspaceName]=o.data,this._serviceResponseHandler(i,{data:s},r,n,t)}))}))}async import(e,t){l.default.args(e,"object",t,"function=")&&l.default.args2("params.workspaceJSONDefinition",e.workspaceJSONDefinition,"object"),c.default.system.debug("WorkspaceClient.import",e);const r=(await this.routerClient.query(d.WORKSPACE.API_CHANNELS.IMPORT,e)).response.data;if(r&&r.err)throw t(r.err),new Error(r.err);return t&&t(null,r),r}exportToFile(e){c.default.system.info("workspaceClient.saveWorkspaceTemplateToConfigFile",e),l.default.args(e,"object")&&l.default.args2("params.workspaceTemplateDefinition",e.workspaceTemplateDefinition,"object");const{workspaceTemplateDefinition:t}=e;if("object"==typeof t){const e=Object.keys(t)[0];if(e&&t[e].templateDefinitionFlag){const r={workspaceTemplates:t};f.ConfigUtilInstance.promptAndSaveJSONToLocalFile(`workspaceConfig-${e}`,r)}else c.default.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile. Input is not a legal template")}else c.default.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile: Input is not a legal object")}async start(e){this.routerClient.subscribe("Finsemble.WorkspaceService.update",((t,r)=>{c.default.system.debug("workspaceClient init subscribe response",t,r),t?c.default.system.error(t):(this.activeWorkspace=r.data.activeWorkspace,this.workspaces=r.data.workspaces,e&&e())}))}}var m=new p({onReady:e=>{m.start(e)},name:"workspaceClient"});t.default=m},6192:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Globals=void 0,t.Globals="undefined"==typeof window?r.g:window},4971:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleton=void 0,t.singleton=(e,t)=>{const n=Symbol.for(`com.finsemble.singleton.${e}`);return Object.getOwnPropertySymbols(r.g).indexOf(n)>-1||(r.g[n]=new t),r.g[n]}},78379:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.MOVE_REASON=t.LAUNCHER_SERVICE=t.HEARTBEAT_TIMEOUT_CHANNEL=t.COMPONENT_STATE_STORAGE_TOPIC=t.WINDOW_SERVICE_REQUESTS=t.WORKSPACE=t.WINDOW=t.INTERRUPTIBLE_EVENTS=t.EVENT_INTERRUPT_CHANNEL=t.DOCKING=t.SERVICE_STOP_CHANNEL=t.SERVICE_START_CHANNEL=t.WINDOWSTATE=t.SERVICES_STATE_CHANNEL=t.CLIENT_SERVER_MAPPING=t.SERVICE_QUERY_READY_CHANNEL=t.SERVICE_CLOSED_CHANNEL=t.SERVICE_CLOSING_CHANNEL=t.SERVICE_READY_CHANNEL=t.SERVICE_INITIALIZING_CHANNEL=t.APPLICATION_STATE_CHANNEL=t.WRAPPERS=void 0,t.WRAPPERS={EVENTS:["title-changed","bringToFront","setBounds","alwaysOnTop","setOpacity"]},t.APPLICATION_STATE_CHANNEL="Finsemble.Application.State",t.SERVICE_INITIALIZING_CHANNEL="Finsemble.ServiceManager.serviceInitializing",t.SERVICE_READY_CHANNEL="Finsemble.ServiceManager.serviceReady",t.SERVICE_CLOSING_CHANNEL="Finsemble.ServiceManager.serviceClosing",t.SERVICE_CLOSED_CHANNEL="Finsemble.ServiceManager.serviceClosed",t.SERVICE_QUERY_READY_CHANNEL=e=>`Finsemble.ServiceManager.queryReady.${e}`,t.CLIENT_SERVER_MAPPING=e=>({authenticationClient:"authenticationService",configClient:"configService",distributedStoreClient:"dataStoreService",hotkeysClient:"hotkeysService",linkerClient:"linkerService",logger:"loggerService",searchClient:"searchService",storageClient:"storageService",windowClient:"windowService",workspaceClient:"workspaceService"}[e]),t.SERVICES_STATE_CHANNEL="Finsemble.State.Services",(r=t.WINDOWSTATE||(t.WINDOWSTATE={}))[r.NORMAL=0]="NORMAL",r[r.MINIMIZED_WAS_NORMAL=1]="MINIMIZED_WAS_NORMAL",r[r.MAXIMIZED=2]="MAXIMIZED",r[r.MINIMIZED_WAS_MAXIMIZED=3]="MINIMIZED_WAS_MAXIMIZED",r[r.TRANSITIONING=4]="TRANSITIONING",t.SERVICE_START_CHANNEL="Finsemble.Service.Start",t.SERVICE_STOP_CHANNEL="Finsemble.Service.Stop",t.DOCKING={GROUP_UPDATE:"DockingService.groupUpdate",WORKSPACE_GROUP_UPDATE:"Finsemble.WorkspaceService.groupUpdate",REQUEST_PUBLISH:"DockingService.requestGroupDataPublish"},t.EVENT_INTERRUPT_CHANNEL="Finsemble.Event.Interrupt",t.INTERRUPTIBLE_EVENTS=["close-requested","closed","close-complete","_container-close-handlers"],t.WINDOW={DELAYABLE_EVENTS:["close-requested","closed","close-complete","_container-close-handlers"],CANCELABLE_EVENTS:["close-requested"]},t.WORKSPACE={DELAYABLE_EVENTS:["load-requested","close-requested","save-requested"],CANCELABLE_EVENTS:["close-requested"],CLEAN_SHUTDOWN:"Finsemble.Workspace.cleanShutdown",UPDATE_PUBSUB:"Finsemble.WorkspaceService.update",STORAGE_TOPIC:"finsemble.workspace",CACHE_STORAGE_TOPIC:"finsemble.workspace.cache",ALL_WORKSPACES:"finsemble.allWorkspaces",ACTIVE_WORKSPACE:"activeWorkspace",LAST_USED_WORKSPACE_TOPIC:"finsemble",LAST_USED_WORKSPACE_NAME:"finsemble.lastUsedWorkspace.name",LAST_USED_WORKSPACE:"finsemble.lastUsedWorkspace",INITIAL_WORKSPACE_PREFERENCE:"finsemble.initialWorkspace",PUBLISH_REASONS:{INIT:"workspace:initialization",LOAD_DATA_RETRIEVED:"workspace:load:dataRetrieved",LOAD_FINISHED:"workspace:load:finished",WINDOW_REMOVED:"window:remove",WINDOW_ADDED:"window:add",LOAD_STARTED:"workspace:load:start",WORKSPACE_REMOVED:"Workspace:remove",WORKSPACE_RENAMED:"rename",SWITCHTO_TERMINATED:"workspace:switchTo:terminated",NEW_WORKSPACE:"new workspace",SAVE_AS:"APPLICATION LIFECYCLE:WORKSPACE LIFECYCLE:SaveAs:Workspace:Save As"},API_CHANNELS:{NEW_WORKSPACE:"Finsemble.Workspace.NewWorkspace",SAVE:"Finsemble.Workspace.Save",RENAME:"Finsemble.Workspace.Rename",SAVE_AS:"Finsemble.Workspace.SaveAs",SWITCH_TO:"Finsemble.Workspace.SwitchTo",IMPORT:"Finsemble.Workspace.Import",EXPORT:"Finsemble.Workspace.Export",REMOVE:"Finsemble.Workspace.Remove",SAVE_GLOBAL_DATA:"Finsemble.Workspace.SaveGlobalData",SAVE_VIEW_DATA:"Finsemble.Workspace.SaveViewData",GET_GLOBAL_DATA:"Finsemble.Workspace.GetGlobalData",GET_VIEW_DATA:"Finsemble.Workspace.GetViewData",GET_WORKSPACES:"Finsemble.Workspace.GetWorkspaces",GET_WORKSPACE_NAMES:"Finsemble.Workspace.GetWorkspaceNames",SET_WORKSPACE_ORDER:"Finsemble.Workspace.SetWorkspaceOrder",GET_ACTIVE_WORKSPACE:"Finsemble.Workspace.GetActiveWorkspace",GET_ACTIVE_WORKSPACE_DIRTY:"Finsemble.Workspace.GetActiveWorkspaceDirty",GET_TEMPLATES:"Finsemble.Workspace.GetTemplates",IMPORT_TEMPLATE:"Finsemble.Workspace.ImportTemplate",EXPORT_TEMPLATE:"Finsemble.Workspace.ExportTemplate",REMOVE_TEMPLATE:"Finsemble.Workspace.RemoveTemplate",SET_WINDOW_STATE:"Finsemble.Workspace.SetWindowData",GET_WINDOW_STATE:"Finsemble.Workspace.GetWindowData",ADD_WINDOW:"WorkspaceService.addWindow",REMOVE_WINDOW:"WorkspaceService.removeWindow"},DEFAULT_WINDOW_PROPS:["name","componentType","windowType","alwaysOnTop","autoShow","minWidth","minHeight","maxWidth","maxHeight","resizable","maximizable","minimizable","opacity","windowState","left","top","width","height","right","bottom","defaultLeft","defaultTop","defaultWidth","defaultHeight","defaultRight","defaultBottom","monitorInfo","icon","cachedBounds","showTaskbarIcon","isEvergreen","compositeComponentData"],ADDITIONAL_WINDOW_PROPS:{WebWindow:["url","fullscreen","frame","backgroundColor","transparent","waitForPageLoad","affinity","appUUID"],NativeWindow:["path","alias","arguments","argumentsAsQueryString","isWPF"],StackedWindow:["childWindowIdentifiers","visibleWindowIdentifier","bounds"]}},t.WINDOW_SERVICE_REQUESTS={REMOTE_FOCUS:"WindowService.remoteFocus",SET_ALWAYS_ON_TOP:"WindowService-Request-setAlwaysOnTop",IS_ALWAYS_ON_TOP:"WindowService-Request-isAlwaysOnTop"},t.COMPONENT_STATE_STORAGE_TOPIC="finsemble.componentStateStorage",t.HEARTBEAT_TIMEOUT_CHANNEL="Finsemble.WindowService.HeartbeatTimeout",t.LAUNCHER_SERVICE={WINDOW_CLOSED:"LauncherService.WindowClosed"},t.MOVE_REASON={AERO_KEY:"aero_key",SYSTEM_RESTORED:"system_restored"}},13854:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLDependencyManagerSingleton=t.FSBLDependencyManager=void 0;const i=r(5939),o=n(r(39319)),s=r(78379),a=n(r(5020)),u=n(r(72551));class l extends i.EventEmitter{constructor(e){super(),this.callback=e.callback,this.dependencies=e.dependencies,this.startupTimer=null,this.setStartupTimer=this.setStartupTimer.bind(this),this.clearStartupTimer=this.clearStartupTimer.bind(this)}clearStartupTimer(){this.startupTimer&&clearTimeout(this.startupTimer),delete this.startupTimer}setStartupTimer(){const e=this;this.startupTimer=+setTimeout((()=>{e.emit("timeout")}),1e4)}}function c(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}class d{constructor(){this.servicesAreAllOnline={},this.clientsAreAllOnline={},this.onlineClients=[],this.dependencies={},this.startupTimers={},this.startupTimerFired=!1,this.bindCorrectContext()}waitFor(e,t){const r=c();e.clients||(e.clients=[]),e.clients.length&&(e.clients=e.clients.map((e=>e.charAt(0).toLowerCase()+e.slice(1))));const n=new l({dependencies:e,callback:t});return n.setStartupTimer(),n.on("timeout",(()=>{this.onDependencyTimeout(n)})),this.dependencies[r]=n,this.checkDependencies(),n}onDependencyTimeout(e){const t=this.getOfflineClients();let r="APPLICATION LIFECYCLE:STARTUP:Dependency not online after 10 seconds.";t.length&&(r=`${r} Waiting for these clients: ${t.join(", ")}.`),e.emit("err",r)}checkDependencies(){for(const e in this.dependencies){const t=this.dependencies[e],{dependencies:r,callback:n}=t;(!r.clients.length||this.clientsAreAllOnline[e]||(this.clientsAreAllOnline[e]=this.checkClients(r.clients),this.clientsAreAllOnline[e]))&&(delete this.dependencies[e],t.clearStartupTimer(),n&&n())}}getOfflineClients(){let e=[];for(const t in this.dependencies){const{dependencies:r}=this.dependencies[t];e=e.concat(r.clients.filter((e=>!this.onlineClients.includes(e))))}return e.filter(((t,r)=>e.indexOf(t)===r))}checkClients(e){return e.every((e=>this.onlineClients.includes(e)))}setClientOnline(e){this.onlineClients.includes(e)||(this.onlineClients.push(e),this.checkDependencies())}getOnlineClients(){return this.onlineClients}bindCorrectContext(){this.checkDependencies=this.checkDependencies.bind(this),this.checkClients=this.checkClients.bind(this),this.getOfflineClients=this.getOfflineClients.bind(this),this.onDependencyTimeout=this.onDependencyTimeout.bind(this),this.waitFor=this.waitFor.bind(this)}}class f{constructor(){this.offlineServices=[],this.dependencies={},this.checkDependencies=this.checkDependencies.bind(this)}waitFor(e,t){u.default.system.debug("DependencyManager:waitFor",e),e.services||(e.services=[]);const r=c();this.dependencies[r]={dependencies:e,callback:t}}checkDependencies(){if(console.debug("checkDependencies",this.dependencies),Object.keys(this.dependencies))for(const e in this.dependencies){const{dependencies:t,callback:r}=this.dependencies[e];(u.default.system.debug("DependencyManager:checkDependency",t.services,this.offlineServices),!t.services.length||this.checkServices(t.services))&&(console.debug("checkDependencies callback"),delete this.dependencies[e],r&&r())}}checkServices(e){return e.every((e=>this.offlineServices.includes(e)))}setServiceOffline(e){u.default.system.debug("setServiceOffline",e),console.debug("setServiceOffline",e),this.offlineServices.push(e),this.checkDependencies()}}class h extends i.EventEmitter{constructor(){super(),this.startup=new d,this.shutdown=new f,this.RouterClient=o.default,this.AuthorizationCompleted=!1,this.bindCorrectContext(),this.onAuthorizationCompleted(this.startup.checkDependencies),o.default.onReady(this.listenForServices)}bindCorrectContext(){this.listenForServices=this.listenForServices.bind(this),this.onAuthorizationCompleted=this.onAuthorizationCompleted.bind(this)}setClientOnline(e){this.startup.setClientOnline(e)}onServiceStateChange(e){Object.keys(e).forEach((t=>{const{state:r}=e[t];"closed"===r&&this.shutdown.setServiceOffline(t)}))}listenForServices(){u.default.system.debug("DependencyManager:listenForServices before wait"),a.default.waitForBootStage("kernel","stageEntered",(()=>{u.default.system.debug("DependencyManager:listenForServices after wait"),this.RouterClient.subscribe(s.SERVICES_STATE_CHANNEL,((e,t)=>{u.default.system.debug("DependencyManager:listenForServices SERVICES_STATE_CHANNEL",t.data),this.onServiceStateChange(t.data)})),this.RouterClient.addListener(s.SERVICE_CLOSED_CHANNEL,((e,t)=>{u.default.system.debug("DependencyManager:listenForServices SERVICE_CLOSED_CHANNEL",t.data);const r={};r[t.data.name]={state:"closed"},this.onServiceStateChange(r)})),this.RouterClient.subscribe(s.APPLICATION_STATE_CHANNEL,((e,t)=>{switch(t.data.state){case"authenticated":case"ready":break;case"closing":this.shutdown.checkDependencies()}}))}))}onAuthorizationCompleted(e){this.AuthorizationCompleted?e():this.addListener("AuthorizationCompleted",e)}}t.FSBLDependencyManager=h,t.FSBLDependencyManagerSingleton=new h,t.default=t.FSBLDependencyManagerSingleton},24232:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.checkDeprecatedConfigs=t.isEqualIgnoringArrayOrder=t.sleep=t.checkIfBoundsAreEqual=t.removeKeys=t.toRecord=t.isStackedWindow=t.wrapWithTimeout=t.timeoutPromise=t.getRandomWindowName=t.getProp=t.composeRL=t.instrumentPromise=t.promisify=t.identity=t.isNumber=t.chunkArray=t.Timeout=t.mockLogger=t.capitalizeFirst=t.clone=t.isServiceInWindow=t.iAmAServiceWindow=t.guuid=void 0;const i=r(50586),o=n(r(80089)),s=n(r(75892)),a=n(r(47184)),u=n(r(65162)),l=r(33998),c=n(r(72551)),d=window;function f(e,t){if(Array.isArray(e))return e.slice();try{return JSON.parse(JSON.stringify(e))}catch(e){return t("clone error",e),e}}function h(e,t){return new Promise(((r,n)=>{const i=setTimeout((()=>{clearTimeout(i),n(t)}),e)}))}function p(e,t,r){return`${e}.${t}.${r}`}function m(e,t,r){const n=`${p(e.baseString,e.newPath,e.newValue)}`;c.default.system.deprecated(`${p(e.baseString,t,r)} has been deprecated in favor of ${n}`)}t.guuid=function(){return i.v4()},t.iAmAServiceWindow=function(){return!(!d.finsembleServices||!d.finsembleServices.length)},t.isServiceInWindow=function(e){return d.finsembleServices&&d.finsembleServices.find((t=>t.name===e))},t.clone=f,t.capitalizeFirst=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.mockLogger=new class{constructor({debug:e}={debug:!0}){e?(this.system=console,this.system.debug=console.log):this.system={warn:Function.prototype,debug:Function.prototype,log:Function.prototype,info:Function.prototype,error:console.error}}isLogMessage(){return!0}start(){}},t.Timeout=class{constructor(e,t){this.fired=!1,this.id=setTimeout((()=>{e(),this.fired=!0}),t),this.clear=this.clear.bind(this),this.didFire=this.didFire.bind(this)}clear(){this.fired||clearTimeout(this.id)}didFire(){return this.fired}},t.chunkArray=function(e,t){if(e<=0)throw new Error("Can't chunk array by number less than 0");return t.reduce(((r,n,i)=>{if(i%e==0){const n=[];for(let r=i;r<i+e;r++)r<t.length&&n.push(t[r]);r.push(n)}return r}),[])},t.isNumber=function(e){return!(!e||Number.isNaN(Number(e)))&&Number(e)},t.identity=function(e){return e},t.promisify=function(e,t){return function(){const r=Array.prototype.slice.call(arguments);return new Promise(((n,i)=>{r.push(((e,t)=>e?i(e):n(t))),e.apply(t,r)}))}},t.instrumentPromise=async(e,t,r)=>{const n=`${t} end`;return e(`${t} start`),r.then((()=>e(n)))},t.composeRL=(...e)=>e.reduce(((e,t)=>(...r)=>e(t(...r)))),t.getProp=function e(t,r,n){const i=Array.isArray(r)?r:r.split(".").filter((e=>e.length));return i.length?e(t[i.shift()],i,n):void 0===t?n:t},t.getRandomWindowName=function(e="RouterClient"){return`${e}-${i.v4()}`},t.timeoutPromise=h,t.wrapWithTimeout=function(e,t,r){return Promise.race([e,h(t,r)])},t.isStackedWindow=function(e){return e&&"StackedWindow"===(o.default(e,"windowIdentifier.windowType")||e.windowType)},t.toRecord=function(e,t){const r="string"==typeof e?t=>t[e]:e;return t.reduce(((e,t)=>(e[r(t)]=t,e)),{})},t.removeKeys=function(e,t){if(!e)return e;const r=Object.keys(e).filter((e=>!t.includes(e)));return s.default(e,r)},t.checkIfBoundsAreEqual=function(e,t){if(!e||!t)return!1;const r=["left","right","top","bottom","width","height"],n=s.default(e,r),i=s.default(t,r);return!!a.default(n,i)},t.sleep=function(e,t=!1){return new Promise(((r,n)=>{t?setTimeout((()=>{try{n("timeout expired")}catch{}}),e):setTimeout(r,e)}))},t.isEqualIgnoringArrayOrder=function(e,t){const r=f(e,Function.prototype),n=f(t,Function.prototype);return u.default(r,n,((e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return u.default(e.sort(),t.sort())}))},t.checkDeprecatedConfigs=function(e,t,r){const{baseString:n,oldPath:i,newPath:o,oldValue:s,newValue:a}=t;let u=l.ConfigUtilInstance.getDefault(e,p(n,o,a),null);return null===u&&(u=l.ConfigUtilInstance.getDefault(e,p(n,o,s),null),u?m(t,o,s):(u=l.ConfigUtilInstance.getDefault(e,p(n,i,a),null),u?m(t,i,a):(u=l.ConfigUtilInstance.getDefault(e,p(n,i,s),null),u?m(t,i,s):u=r))),u}},59459:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(r(39319)),u=o(r(78379));t.default=class{constructor(e,t){this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.listenerGuid=e.listenerGuid,u[this.sourceType.toUpperCase()]&&u[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),u[this.sourceType.toUpperCase()]&&u[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.queryMessage=t,this.guid=t.data.guid,this.internalHandler()}async internalHandler(){this.data=this.queryMessage.data.data,this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){this.allowDelay?(this.delayed=!0,this.queryMessage.sendQueryResponse(null,{delayed:!0})):this.done()}done(e){this.completed=!0,this.delayed?a.default.transmit(`Finsemble.Listener.Done.${this.guid}.${this.listenerGuid}`,{canceled:this.canceled,data:e}):this.queryMessage.sendQueryResponse(null,{canceled:this.canceled,data:e})}}},73014:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(39319)),o=n(r(72551)),s=n(r(57815)),a=n(r(73601)),u=r(24232);class l extends s.default{constructor(e){super(e),this.eventList=[],this.eventHandlerMap={},this.eventInternalHandlerMap={},this.remoteListenerEventMap={},this.waitList={},i.default.addListener(`Finsemble.RegisterInterruptibleEvent.${this.name}`,((e,t)=>{this.registerListener(t?.data.event,t?.data.listenerGuid)})),i.default.addListener(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,((e,t)=>{this.unregisterListener(t?.data.event,t?.data.listenerGuid)}))}registerListener(e,t){this.remoteListenerEventMap[e]||(this.remoteListenerEventMap[e]=[]),this.remoteListenerEventMap[e].push(t)}unregisterListener(e,t){this.remoteListenerEventMap[e]||o.default.system.warn("not found"),this.remoteListenerEventMap[e]=this.remoteListenerEventMap[e].filter((e=>e!==t))}awaitRemoteDelayer(e,t){return new Promise(((r,n)=>{const o=(s,a)=>{i.default.removeListener(`Finsemble.Listener.Done.${e}.${t}`,o),!0===a.data.canceled?n("canceled"):r(a.data.data)};this.waitList[e]=o,i.default.addListener(`Finsemble.Listener.Done.${e}.${t}`,o)}))}async queryRemoteListener(e,t,r,n){const o=`${window.name}_private_${Date.now()}_${Math.random()}`,s={event:e,guid:o,data:r},a=this.awaitRemoteDelayer(o,t);let{response:l}=await Promise.race([i.default.query(`Finsemble.Interrupt.${t}`,s,(()=>{})),u.sleep(n.initialQueryTimeout,!0)]).catch((()=>{throw i.default.removeListener(`Finsemble.Listener.Done.${o}.${t}`,this.waitList[o]),"eventHandler failed initial response"}));if(l.header.error)return;let c=!0;if(!0===l.data.delayed)try{return c=!1,await Promise.race([a,u.sleep(n.timeout,!0)])}catch(e){if("timeout expired"!==e)throw"event was canceled";c=!0}if(c&&i.default.removeListener(`Finsemble.Listener.Done.${o}.${t}`,this.waitList[o]),!0===l.data.canceled)throw"event was canceled";return l.data.data}async trigger(e,t=null,r={initialQueryTimeout:1e3,timeout:1e4}){o.default.verbose(`Triggering ${e} for ${this.name}`,t);const n=[];if(this.remoteListenerEventMap[e])for(let i of this.remoteListenerEventMap[e])n.push(this.queryRemoteListener(e,i,t,r));if(this.eventHandlerMap[e]){const i=[...this.eventHandlerMap[e]],o=[...this.eventGuidMap[e]];for(let s=0;s<i.length;s++){const u=i[s],l=o[s],c=new a.default({source:this.name,sourceType:this.sourceType,handler:u,event:e,data:t,options:r,guid:l});n.push(c.complete)}}try{return await Promise.all(n)}catch(e){if("eventHandler failed initial response"!==e)throw"event was canceled";console.error(e)}}addEventListener(e,t){if(!t)return console.error("no handler",e);if(o.default.system.debug("addEventListener:",e),this.eventHandlerMap[e]||(this.eventHandlerMap[e]=[],this.eventGuidMap[e]=[]),!this.eventHandlerMap[e].includes(t)){const r=`${window.name}_private_${Date.now()}_${Math.random()}`;this.eventHandlerMap[e].push(t),this.eventGuidMap[e].push(r)}}removeEventListener(e,t){if(o.default.system.debug("removeEventListener:",e),!this.eventHandlerMap[e])return o.default.system.warn("Trying to remove non-existent listener");let r=this.eventHandlerMap[e].indexOf(t);-1!==r&&(this.eventGuidMap[e][r],this.eventHandlerMap[e].splice(r,1),this.eventGuidMap[e].splice(r,1))}cleanup(){}}t.default=l},73601:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=o(r(78379));t.default=class{constructor(e){this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.data=e.data,this.guid=e.guid,s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.complete=new Promise(((e,t)=>{this.eventCanceled=t,this.eventComplete=e})),this.internalHandler()}async internalHandler(){this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){this.allowDelay?this.delayed=!0:this.done()}done(e){this.completed=!0,this.canceled?this.eventCanceled():this.eventComplete(e)}}},57815:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(39319)),o=n(r(72551)),s=n(r(59459));t.default=class{constructor(e){this.eventList=[],this.eventHandlerMap={},this.eventGuidMap={},this.name=e.name,this.sourceType=e.sourceType,window.addEventListener("beforeunload",(()=>{this.cleanup()}))}addListener(e,t){return this.addEventListener(e,t)}removeListener(e,t){return this.removeEventListener(e,t)}addEventListener(e,t){if(!t)return console.error("no handler",e);if(o.default.system.debug("addEventListener:",e),this.eventHandlerMap[e]||(this.eventHandlerMap[e]=[],this.eventGuidMap[e]=[]),!this.eventHandlerMap[e].includes(t)){const r=`${window.name}_public_${Date.now()}_${Math.random()}`;this.eventHandlerMap[e].push(t),this.eventGuidMap[e].push(r),i.default.transmit(`Finsemble.RegisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:r}),i.default.addResponder(`Finsemble.Interrupt.${r}`,((n,i)=>{new s.default({source:this.name,sourceType:this.sourceType,listenerGuid:r,handler:t,event:e},i)}))}}removeEventListener(e,t){if(o.default.system.debug("removeEventListener:",e),!this.eventHandlerMap[e])return o.default.system.warn("not found");let r=this.eventHandlerMap[e].indexOf(t);if(-1!==r){const t=this.eventGuidMap[e][r];this.eventHandlerMap[e].splice(r,1),this.eventGuidMap[e].splice(r,1),i.default.transmit(`Finsemble.UnregisterInterruptibleEvent.${window.name}`,{event:e,guid:t}),i.default.removeResponder(`Finsemble.Interrupt.${t}`)}}cleanup(){for(var e of Object.keys(this.eventHandlerMap))for(var t of this.eventHandlerMap[e])this.removeEventListener(e,t)}}},58275:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DeprecatedConfigUtilInstance=t.SINGLE_PATH_OPERATIONS=void 0;const a=s(r(72551)),u=o(r(76420));t.SINGLE_PATH_OPERATIONS=["setValue","removeProperty","logMessage"],t.DeprecatedConfigUtilInstance=new class{getChildPropertyValue(e,t,r){let n;if(t.includes("[")){let i=(t=t.replace("]","[")).split("[");if(3!==i.length)throw new Error(`"illegal array syntax ${t} within ${r} so skipping`);{let t=i[0],o=i[1];if(n=e[t][o],void 0===n)throw new Error(`"undefined array element ${t}[${o}] within ${r} so skipping`)}}else n=e[t];return n}setChildPropertyValue(e,t,r,n,i){let o;if(o="object"==typeof r&&n?u.clone(r):r,t.includes("[")){let r=(t=t.replace("]","[")).split("[");if(3!==r.length)throw new Error(`"illegal array syntax ${t} within ${i} so skipping`);{let t=r[0],n=r[1];if(void 0===e[t][n])throw new Error(`"undefined array element ${t}[${n}] within ${i} so skipping`);e[t][n]=o}}else e[t]=o}findConfigPropertyValue(e,t){let r,n,i;if(t)for(r=e,i=t.split("."),n=0;n<i.length&&(r=this.getChildPropertyValue(r,i[n],t),"object"==typeof r);n++);return n<i.length-1&&(r=void 0),a.default.system.debug("DeprecatedConfigUtil.findConfigParent",t,r),r}findConfigParent(e,t){let r=t.split("."),n=e;for(let e=0;e<r.length-1;e++)r[e].includes("[")||n[r[e]]||(n[r[e]]={}),n=this.getChildPropertyValue(n,r[e],t);return a.default.system.debug("DeprecatedConfigUtil.findConfigParent",t,n),n}getLastPathProperty(e){let t=e.split(".").pop();return a.default.system.debug("DeprecatedConfigUtil.getLastPathProperty",e,t),t}copyObjectProperties(e,t,r){let n;n="object"==typeof t&&r?u.clone(t):t,Object.assign(e,n)}systemLog(e){let t=a.default.system.warn;return"error"===e&&(t=a.default.system.error),t}moveConfigProperty(e,t){let r=this.findConfigPropertyValue(e,t.oldProperty);if(void 0!==r){let n=this.findConfigParent(e,t.newProperty),i=this.getLastPathProperty(t.newProperty);t.addToExistingObject&&"object"==typeof n[i]&&!Array.isArray(n[i])?this.copyObjectProperties(n[i],r,t.clone):this.setChildPropertyValue(n,i,r,t.clone,t.newProperty),this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config ${t.oldProperty} was found and updated to ${t.newProperty}`),t.removeOld&&(delete this.findConfigParent(e,t.oldProperty)[this.getLastPathProperty(t.oldProperty)],a.default.system.log(`"DeprecatedConfig: ${t.oldProperty} removed`))}else a.default.system.warn(`"DeprecatedConfig: ${t.oldProperty} not found so skipped`,t)}setPropertyValue(e,t){let r=this.findConfigPropertyValue(e,t.property);t.ifOldValue&&t.ifOldValue!==r||(this.findConfigParent(e,t.property)[this.getLastPathProperty(t.property)]=t.newValue,this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config value for ${t.property} set to ${t.newValue}`))}removeProperty(e,t){let r=this.findConfigParent(e,t.property),n=this.getLastPathProperty(t.property);void 0!==r[n]&&(delete r[n],this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config property ${t.property} removed`))}getWildCardListItems(e,t){let r=[],n=e;if(t.includes("*")){let e=t.split(".");for(let t=0;t<e.length;t++){if("*"===e[t]){"object"==typeof n&&(r=Object.keys(n));break}if(n=n[e[t]],"object"!=typeof n)break}}return r}wildCardMismatch(e,t){let r,n=e.indexOf("*"),i=e.indexOf("*");return r=-1!==n&&e.substring(0,n)!==t.substring(0,i),r}displayDeprecationMessage(e,t){null!=this.findConfigPropertyValue(e,t.property)&&this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config found for ${t.property}. ${t.userMessage}`)}processDeprecatedProperty(e,r,n){try{let i;if(void 0===n.when||n.when[e])if(n.set)if(Array.isArray(n.set)){let t=n.set;delete n.set;for(let i=0;i<t.length;i++){let o=Object.keys(t[i]);for(let e=0;e<o.length;e++)n[o[e]]=t[i][o[e]];this.processDeprecatedProperty(e,r,n)}}else a.default.system.log("DeprecatedConfigUtil.processDeprecatedProperty skipping illegal set operation",n);else if(t.SINGLE_PATH_OPERATIONS.includes(n.operation))if(i=this.getWildCardListItems(r,n.property),0===i.length)switch(n.operation){case"setValue":a.default.system.debug(`DeprecatedConfigUtil.setValue for property ${n.property}`,n),this.setPropertyValue(r,n);break;case"removeProperty":a.default.system.debug(`DeprecatedConfigUtil.removeProperty for ${n.property}`,n),this.removeProperty(r,n);break;case"logMessage":a.default.system.debug(`DeprecatedConfigUtil.logMessageOnly for ${n.property}`,n),this.displayDeprecationMessage(r,n)}else{let t,o=n.property.slice();for(;t=i.pop();)n.property=o.replace(".*.",`.${t}.`),this.processDeprecatedProperty(e,r,n)}else if("moveProperty"===n.operation)if(this.wildCardMismatch(n.oldProperty,n.newProperty))a.default.system.warn(`DeprecatedConfig: wildCards are mismatched for ${n.oldProperty} and ${n.newProperty} so ignoring`,n);else if(i=this.getWildCardListItems(r,n.newProperty),0===i.length)a.default.system.debug(`DeprecatedConfigUtil.moveProperty from ${n.oldProperty} to ${n.newProperty}`,n),this.moveConfigProperty(r,n);else{let t,o=n.oldProperty.slice(),s=n.newProperty.slice();for(;t=i.pop();)n.oldProperty=o.replace(".*.",`.${t}.`),n.newProperty=s.replace(".*.",`.${t}.`),this.processDeprecatedProperty(e,r,n)}else a.default.system.warn("DeprecatedConfigUtil.processDeprecatedProperty skipping unknown operation",n);else a.default.system.log("DeprecatedConfigUtil.processDeprecatedProperty skipping item because wrong context",n)}catch(e){a.default.system.error(`DeprecatedConfig: error caught: ${e}`,n)}}modifyConfigBasedOnDeprecatedDefinitions(e,t){if(Array.isArray(t.finsemble.deprecatedConfig)){let r=t.finsemble.deprecatedConfig;for(let n=0;n<r.length;n++)a.default.system.debug("DeprecatedConfigUtil.modifyConfigBasedOnDeprecatedDefinitions processing",e,r[n]),this.processDeprecatedProperty(e,t,r[n])}return!0}}},82369:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(72551)),o=r(51742),s={activeTransports:{},liveTransport:null,addTransport(e,t){this.activeTransports[e]=t,i.default.system.log(`RouterTransport ${e} added to activeTransports`)},getActiveTransports(e){const t=[];function r(e){-1===t.indexOf(e)&&t.push(e)}return o.System.InterApplicationBus&&r("IPCBus"),r("FinsembleTransport"),SharedWorker&&r("SharedWorker"),r(e.sameDomainTransport),r(e.crossDomainTransport),i.default.system.log("getActiveTransports",t),t},getTransport:(e,t,r,n,i)=>new Promise(((o,a)=>{const u=s.activeTransports[t];u?s.liveTransport=new u(e,r,n,i,(e=>{o(e)})):a(`unknown router transport name: ${t}`)})),close(){s.liveTransport&&(s.liveTransport.close(),s.liveTransport=null)}},a=function(e,t,r,n,o){let s;const a=this;this.send=function(e,t){1===arguments.length?(t=arguments[0],e=null):(e=arguments[0],t=arguments[1]),i.default.system.verbose("SharedWorkerTransport Outgoing Transport",t);try{s.port.postMessage([e,t])}catch(e){i.default.system.error(`SharedWorkerTransport: post message failed: ${JSON.stringify(e)}`,"Probable cause is sending illegal data type (e.g. function).")}},this.identifier=function(){return"SharedWorker"};const u=e.transportSettings.SharedWorker&&e.transportSettings.SharedWorker.workerPath?e.transportSettings.SharedWorker.workerPath:`${e.routerDomainRoot}/common/routerSharedWorker.js`;i.default.system.log(`SharedWorker Transport Initializing for ${r} using ${u}`),console.log(`SharedWorker Transport Initializing for ${r} using ${u}`),s=new SharedWorker(u,{name:"Finsemble",credentials:"include"}),s.port.onmessage=function(e){const r=e.data[0],n=e.data[1],o={transportID:a.identifier(),port:r};i.default.system.verbose("SharedWorkerTransport Incoming Transport",o,"Message",n),t(o,n)},s.onerror=function(e){i.default.system.error(`SharedWorkerTransport Transport Error${JSON.stringify(e)}`)},s.port.start(),"RouterService"===r&&s.port.postMessage({data:"connect",source:"RouterService"}),this.close=()=>{s.port.close()},o(this)},u=function(e,t,r,n,s){const{uuid:a}=o.System.Application.getCurrent(),u=this;this.send=function(e,t){let r;1===arguments.length?(r=n,t=arguments[0]):(r=e.name,t=arguments[1]),i.default.system.verbose("IPCTransport Outgoing Transport",a,r,"Message",t),o.System.InterApplicationBus.publish(r,t,(()=>{}),(()=>{}))},this.identifier=function(){return"IPCBus"},i.default.system.log(`IPCBus Transport Initializing for ${r}`),console.log(`IPCBus Transport Initializing for ${r}`);const l=o.System.InterApplicationBus.subscribe("*",r,(function(e,r){const n={transportID:u.identifier(),senderUuid:r,name:e.header.origin};i.default.system.verbose("IPCTransport Incoming Transport",n,"Message",e),t(n,e)}),(()=>{}),(function(e){i.default.system.error(`IPCBus Subscribe Failure: ${e}`)}));this.close=()=>{o.System.InterApplicationBus.unsubscribe(l)},s(this)},l=function(e,t,r,n,o){const s=`${e?.transportSettings?.FinsembleTransport?.serverAddress??e?.transportSettings?.serverAddress??"ws://127.0.0.1:3376"}/router`,a=this;let u;function l(){i.default.system.error(`FinsembleTransport Connection Timeout for ${r}`),o(a)}function c(){i.default.system.log(`FinsembleTransport Transport Initializing for ${r} using ${s}`),console.log(`FinsembleTransport Transport Initializing for ${r} using ${s}`),s.startsWith("ws:")||s.startsWith("wss:")||console.error(`Illegal WebSocket address "${s}" (Missing ws:// or wss:// ?)`),u=new WebSocket(s);const e=setTimeout(l,3e3);u.addEventListener("open",(()=>{clearTimeout(e),i.default.system.log("FinsembleTransport Connected to Server"),console.log("FinsembleTransport Connected to Server"),u.addEventListener("message",(e=>{const n=JSON.parse(e.data);("RouterService"===r&&"ROUTER_SERVICE"==n.dest||r===n.message.client)&&function(e){const r={transportID:a.identifier(),client:e.clientMessage.header.origin};i.default.system.verbose("FinsembleTransport Incoming Transport",r,"Message",e),t(r,e.clientMessage)}(n.message)})),o(a)}))}this.send=function(e,t){let r,n;1===arguments.length?(r="ROUTER_SERVICE",n={clientMessage:t=arguments[0]}):(r="ROUTER_CLIENT",t=arguments[1],n={client:e.client,clientMessage:t}),i.default.system.verbose("FinsembleTransport Outgoing Transport",r,"NewMessage",n),u.readyState===WebSocket.OPEN&&u.send(JSON.stringify({dest:r,message:n})),u.readyState===WebSocket.CONNECTING&&u.addEventListener("open",(()=>{u.send(JSON.stringify({dest:r,message:n}))})),u.readyState===WebSocket.CLOSED&&(c(),u.addEventListener("open",(()=>{u.send(JSON.stringify({dest:r,message:n}))}))),u.readyState===WebSocket.CLOSING&&(u.onclose=()=>{c(),u.addEventListener("open",(()=>{u.send(JSON.stringify({dest:r,message:n}))}))})},this.identifier=function(){return"FinsembleTransport"},this.close=()=>{u.close()},c()};s.addTransport("SharedWorker",a),s.addTransport("IPCBus",u),s.addTransport("FinsembleTransport",l),t.default=s},95834:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SchemaUtilInstance=void 0;const i=n(r(72551)),o=r(33998),s=n(r(98903)),a="%&%",u="%%";t.SchemaUtilInstance=new class{constructor(){this.generatedDocLines=[],this.knownPropertiesMap={},this.previousLevel=0}formatValidationErrors(e){return e.map((e=>`In '${e.dataPath}', error: '${e.message}', with params '${JSON.stringify(e.params)}'`))}schemaValidate(e,t,r,n){let o=!1;try{var s=e.getSchema(r);s(n)?(console.log("JSON Schema Validation: No Errors"),i.default.system.log("JSON Schema Validation: Done With No Errors"),o=!0):i.default.system.error("forceObjectsToLogger","JSON Schema Validation Errors",this.formatValidationErrors(s.errors),"Details",s.errors,"manifest",n,"schema",t)}catch(e){console.log("schemaValidate catch: ",e,t,n),i.default.system.error("forceObjectsToLogger","schemaValidate catch",e,t,n)}return o}async validateConfig(e,t){console.log("JSON Schema Validation: validateConfig",t,e),i.default.system.debug("forceObjectsToLogger","JSON Schema Validation: validateConfig",t,e);let r=null,n=!1,a={allErrors:!0,verbose:!0,useDefaults:!1};if(this.finsembleSchema&&this.ajv)n=!0;else try{this.finsembleSchema=await o.ConfigUtilInstance.getFile(e.finsemble.configSchemaURL,(e=>{e&&console.error(`getFile error: ${e}`)})),this.ajv=new s.default(a),this.ajv.addSchema(this.finsembleSchema,"Finsemble"),n=!0}catch(e){i.default.system.error(`validateConfig: Error thrown reading or adding schema: ${e}`)}return n?(i.default.system.debug("ConfigService: schema read",this.finsembleSchema),this.schemaValidate(this.ajv,this.finsembleSchema,t,e)||(r="Failure validating config against schema")):(i.default.system.error("Failure reading config schema. Confirm the schema URL configured in finsemble.configSchemaURL is correct and the file contains a valid JSON schema."),r="Failure reading config schema"),r}setDefaultForForOneProperty(e,t,r){i.default.system.debug(`setDefaultForForOneProperty: ${t}=${r}`);let n=null,o=e,s=t.split(u);for(let e=1;e<s.length-1;e++){let t=s[e];if(t.includes(a)){let e=t.split(a),r=e[0],n=e[1];o=o[r][n]}else o[t]||(o[t]={}),o=o[t]}let l=s[s.length-1];n=o[l],void 0===n&&(o[l]=r,i.default.system.debug(`config-default-set property: path=${t}, originalPropertyValue=${n} defaultValue=${r},`))}getAdditionalProperties(e,t){i.default.system.debug(`getAdditionalProperties for ${t}`);let r=e,n=t.split(u);for(let e=1;e<n.length;e++){let t=n[e];r[t]||(r[t]={}),r=r[t]}let o=Object.keys(r),s=[];for(let e of o){let r=`${t}%%${e}`;this.knownPropertiesMap[r]||s.push(e)}return i.default.system.debug(`getAdditionalProperties-additionalProperties for ${t}`,s,o),s}getLengthOfArrayInConfig(e,t){i.default.system.debug(`getLengthOfArrayInConfig for ${t}`);let r=0,n=e,o=t.split(u);for(let e=1;e<o.length;e++){let t=o[e];if(t.includes(a)){let e=t.split(a),r=e[0],i=e[1];n=n[r][i]}else n=n[t];if(!n)break}return n&&Array.isArray(n)&&(r=n.length,i.default.system.debug(`getLengthOfArrayInConfig value is ${r} for path=${t}`,n)),r}recursiveWalkerForDefaults(e,t,r,n,o,s){if(i.default.system.verbose(`recursiveWalkerForDefaults: level ${s} path=${o} default=${r}`),r instanceof Object&&"forceDefaults"in r&&(t=r.forceDefaults),r.default&&t&&this.setDefaultForForOneProperty(e,o,r.default),++s>=50)i.default.system.warn(`recursiveWalkerForDefaults stopped due to excessive schema depth although could be a valid circular dependency: level ${s} path=${o} default=${r}`);else{if(r.$ref){let i=r.$ref.replace("#/definitions/","");this.recursiveWalkerForDefaults(e,t,this.finsembleSchema.definitions[i],n,`${o}`,--s)}if(r.items){"array"===r.type||Array.isArray(r.type)||i.default.system.error(`recursiveWalkerForDefaults expected items of type array for ${o}`,r);let a=this.getLengthOfArrayInConfig(e,o);for(let u=0;u<a;u++){let a=`${o}%&%${u}`;i.default.system.debug(`processing items for ${a}`,r.items),this.recursiveWalkerForDefaults(e,t,r.items,n,`${a}`,s)}}if(r.properties){let i=Object.keys(r.properties);for(let a of i){let i=`${o}%%${a}`;a!=n&&"object"==typeof r.properties[a]&&(this.knownPropertiesMap[i]=!0,this.recursiveWalkerForDefaults(e,t,r.properties[a],a,`${i}`,s))}}if(r.additionalProperties){let a=this.getAdditionalProperties(e,o);for(let u=0;u<a.length;u++){let l=`${o}%%${a[u]}`;i.default.system.debug(`processing additionalProperties for ${l}`,r.additionalProperties),this.recursiveWalkerForDefaults(e,t,r.additionalProperties,n,`${l}`,s)}}}--s}async initializeSchema(e){let t=!0;return this.finsembleSchema||(this.finsembleSchema=await o.ConfigUtilInstance.getFile(e)),this.finsembleSchema||(i.default.system.error("Failure reading config schema. Confirm the schema URL configured in finsemble.configSchemaURL is correct and the file contains a valid JSON schema."),t=!1),t}async walkSchemaAndSetConfigDefaults(e){i.default.system.debug("walkSchemaAndSetConfigDefaults Starting"),console.log("walkSchemaAndSetConfigDefaults",e),await this.initializeSchema(e.finsemble.configSchemaURL)?this.recursiveWalkerForDefaults(e,!0,this.finsembleSchema.definitions.ManifestSubschema,"ManifestSubschema","",0):i.default.system.error("Failure to initialize schema so config defaults not initialized."),i.default.system.debug("walkSchemaAndSetConfigDefaults Done")}}},51742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.System=void 0;const n=r(16925);class i{constructor(e,t,r){return new fin.desktop.Window(e,t)}static get getCurrent(){return fin.desktop.Window.getCurrent}static get wrap(){return fin.desktop.Window.wrap}}class o{constructor(e,t,r){t&&t()}static getCurrent(){const{windowName:e}=n.Startup.getInstance().getStartupData();return{name:e,uuid:`${e}-uuid`,getOptions:e=>{e&&e({})},addEventListener:()=>{},updateOptions:()=>{},close:()=>{},startMovingWindow:()=>{},stopMovingWindow:()=>{},isShowing:()=>{},bringToFront:()=>{},show:()=>{},hide:()=>{},setTaskbarIcon:()=>{}}}static wrap(){return{}}}class s{constructor(e,t,r){return new fin.desktop.Application(e,t)}static get getCurrent(){return fin.desktop.Application.getCurrent}static get wrap(){return fin.desktop.Application.wrap}}class a{constructor(e){new fin.desktop.Notification(e)}}class u{constructor(){return new fin.desktop.System.Clipboard}static get writeText(){return fin.desktop.System.Clipboard.writeText}static get writeHTML(){return fin.desktop.System.Clipboard.writeHTML}static get writeRTF(){return fin.desktop.System.Clipboard.writeRTF}static get readText(){return fin.desktop.System.Clipboard.readText}static get readHTML(){return fin.desktop.System.Clipboard.readHTML}static get readRTF(){return fin.desktop.System.Clipboard.readRTF}}class l{static isFreestanding(){return"undefined"==typeof fin}static get Application(){return s}static get Window(){return l.isFreestanding()?o:i}static get Notification(){return a}static get Clipboard(){return u}static async getMousePosition(e=Function.prototype){return new Promise(((t,r)=>{fin.desktop.System.getMousePosition((r=>{(r.left||0===r.left)&&(r.x=r.left),(r.top||0===r.top)&&(r.y=r.top),e(null,r),t(r)}),(t=>{e(t,null),r(t)}))}))}static getSDServerInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getSDServerInfo((r=>{t(r),e(r)}))}))}static getMonitorInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getMonitorInfo((r=>{t(r),e(r)}))}))}static container(){return"undefined"==typeof fin?"freestanding":fin.container?fin.container:"FEA"}static isBrowserView(){return!l.isFreestanding()&&fin.isBrowserView()}static getViewId(){return fin.getViewId()}static hasBrowserView(){return!l.isFreestanding()&&fin.hasBrowserView()}static get fin(){return fin||{}}static ready(e){return new Promise((t=>{fin.desktop.main((()=>{e&&e(),t()}))}))}static getHostSpecs(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getHostSpecs((r=>{t(r),e(r)}))}))}static get InterApplicationBus(){return fin.desktop.InterApplicationBus}static get launchExternalProcess(){return fin.desktop.System.launchExternalProcess}static get terminateExternalProcess(){return fin.desktop.System.terminateExternalProcess}static get getAllApplications(){return fin.desktop.System.getAllApplications}static get exit(){return fin.desktop.System.exit}static get clearCache(){return fin.desktop.System.clearCache}static get showDeveloperTools(){return fin.desktop.System.showDeveloperTools}static get getRuntimeInfo(){return fin.desktop.System.getRuntimeInfo}static get addEventListener(){return l.isFreestanding()?window.addEventListener:fin.desktop.System.addEventListener}static get addSelectClientCertificateListener(){return fin.desktop.System.addSelectClientCertificateListener}static get addCertificateErrorListener(){return fin.desktop.System.addCertificateErrorListener}static get getVersion(){return fin.desktop.System.getVersion}static get getUpdateAvailable(){return fin.desktop.System.getUpdateAvailable}static get openUrlWithBrowser(){return fin.desktop.System.openUrlWithBrowser}static get getAllWindows(){return fin.desktop.System.getAllWindows}static get getProcessList(){return fin.desktop.System.getProcessList}static get getProtocolString(){return fin.desktop.System.getProtocolString}static get hideSplashScreen(){return fin.desktop.System.hideSplashScreen}static startupApplicationHandshake(){fin.desktop.System.startupApplicationHandshake&&fin.desktop.System.startupApplicationHandshake()}static closeApplication(e,t=Function.prototype){return new Promise((r=>{let n,i=!1;const o=()=>{i||(console.log("Attempting to terminate",e.uuid),e.terminate((()=>{t(),r()}),(()=>{i||(i=!0,clearInterval(n),console.log("force closing ",e.uuid),e.terminate())})))};n=setInterval(o,2e3),console.log("closing ",e.uuid),e.close(!1,(()=>{console.log("app.close: successfully closed",e.uuid),i=!0,clearInterval(n),t(),r()}),o)}))}}t.System=l},5020:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(39319)),o=n(r(72551)),s=r(56188),a=r(33509),u=r(95269),l=new class{publishBootStatus(e,t,r){console.log("publishStartingStatus",e,r),o.default.system.debug("publishBootStatus",e,t,r),i.default.publish(u.statusChannel(e),{name:e,type:t,state:r})}waitForBootStage(e,t,r=Function.prototype){return new Promise(((n,u)=>{o.default.system.debug("SystemManagerClient.waitForBootStage entry",e,t);const l=s.ALL_BOOT_STAGES.indexOf(e);"microkernel"===e&&"stageEntered"===t&&o.default.system.error("Cannot wait on `stageEntered` for microkernel because router isn't up yet. So will instead wait for microkernal stage complete.");const c=i.default.subscribe(a.STAGE_CHANNEL,((a,d)=>{if(o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data.stage,c),a)o.default.system.error("SystemManagerClient.waitForBootStage subscribe error",a),r(a),u(a);else if(-1===l)a="illegal stage argument",o.default.system.debug("SystemManagerClient.waitForBootStage subscribe error",a,e),r(a),u(a);else{const a=s.ALL_BOOT_STAGES.indexOf(d.data.stage);o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data,c),"stageEntered"===t&&a+1>=l?(o.default.system.debug("SystemManagerClient.waitForBootStage stageEntered",e,c,r.name),r(),n(),i.default.unsubscribe(c)):"stageCompleted"===t&&a>=l?(o.default.system.debug("SystemManagerClient.waitForBootStage completed",e,c),r(),n(),i.default.unsubscribe(c)):o.default.system.debug(`SystemManagerClient.waitForBootStage else currentStageIndex=${a} stageIndex=${l} `,a,l,e,c)}}))}))}waitForStartup(e,t=Function.prototype){return new Promise(((r,n)=>{o.default.system.debug(`SystemManagerClient.waitForStartup.${e}`,e);const s=i.default.subscribe(u.statusChannel(e),((a,u)=>{o.default.system.debug("SystemManagerClient.waitForStartup subscribe",e,a,u),a?(o.default.system.error("SystemManagerClient.waitForStartup subscribe error",a),t(a),n()):u.data.name===e&&"completed"===u.data.state&&(o.default.system.debug("SystemManagerClient.waitForStartup completed",e),t(),r(),i.default.unsubscribe(s))}))}))}publishCheckpointState(e,t,r){console.log("publishCheckpoint",e,t,r,u.checkpointChannel(e,t)),o.default.system.debug("publishCheckpoint",e,t,r,u.checkpointChannel(e,t)),i.default.publish(u.checkpointChannel(e,t),{windowName:e,checkpointName:t,state:r})}showSystemLog(){o.default.system.debug("SystemManagerClient.showSystemLog"),i.default.transmit(a.SHOW_SYSLOG_CHANNEL,!0)}systemLog(e,t){o.default.system.debug("SystemManagerClient.systemLog",e,t),i.default.transmit(a.SYSLOG_CHANNEL,{params:e,logMessage:t})}};t.default=l},76420:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.windowNameFromRouterHeader=t.getWindowType=t.isWindows=t.adjustBoundsToBeOnMonitor=t.isOnAMonitor=t.getNewBoundsWhenMovedToMonitor=t.openSharedData=t.injectJS=t.guuid=t.camelCase=t.getMyWindowIdentifier=t.getMonitorByDescriptor=t.windowOnMonitor=t.getMonitorFromCommand=t.getMonitor=t.getWhichMonitor=t.findMonitor=t.getWindowDescriptor=t.getFinWindow=t.getMonitorFromWindow=t.getMonitorFromXY=t.getAllMonitors=t.crossDomain=t.isPercentage=t.castToPromise=t.getContainerVersion=t.clone=t.Monitors=void 0;const i=n(r(36589)),o=r(51742),s=n(r(93802)),a=n(r(72551));function u(e,t={}){if(null===e||"object"!=typeof e)return e;if(e.constructor==Date||e.constructor==RegExp||e.constructor==Function||e.constructor==String||e.constructor==Number||e.constructor==Boolean)return new e.constructor(e);t=t||new e.constructor;for(const r in e)t[r]=void 0===t[r]?u(e[r],null):t[r];return t}function l(e,r){const n=Number.isFinite(e.x)?e.x:e.defaultLeft,i=Number.isFinite(e.y)?e.y:e.defaultTop,o=n+e.defaultWidth,s=i+e.defaultHeight;return new Promise(((e,l)=>{t.Monitors.getMonitorFromScaledXY(n,i,(c=>{if(!c)return a.default.system.debug("getMonitorFromWindow - top-left is off screen, trying bottom right"),void t.Monitors.getMonitorFromScaledXY(o,s,(o=>{if(!o)return a.default.system.debug("getMonitorFromWindow - bottom-right is off screen, getting primary"),void t.Monitors.getAllMonitors((t=>{t[0]?(r&&r(t[0]),e(t[0])):(l(new Error("Cannot find monitor for window.")),r&&r(null))}));o=u(o);const{monitorRect:s}=o;(s.left<n||s.right<i)&&(o.straddling=!0),r&&r(o),e(o)}));c=u(c);const{monitorRect:d}=c;(d.right>o||d.bottom>s)&&(c.straddling=!0),r&&r(c),e(c)}))}))}function c(e,t){return new Promise(((r,n)=>{const i=o.System.Window.getCurrent();i.getOptions((s=>{if(e&&e.windowName){e.uuid||(e.uuid=s.uuid);const i=o.System.Window.wrap(e.uuid,e.windowName);i.getInfo((()=>{t&&t(i),r(i)}),(()=>{t&&t(null),n(`Window ${e.windowName} not found. UUID: ${e.uuid}`),console.debug(`util.getFinWindow: Window ${e.windowName} not found`)}))}else if(e&&e.componentType)if(void 0!==window.LauncherService){const i=window.LauncherService.componentFinder(e);i?(r(i),t&&t(i)):(n(`util.getFinWindow: Component ${e.componentType} not found.`),t&&t(null))}else n("getFinWindow by componentType is currently only operable within LaunchService"),t&&t(null);else t&&t(i),r(i)}))}))}function d(e,t){return new Promise(((r,n)=>{c(e).then((e=>{e.getOptions((e=>{t&&t(e),r(e)}))})).catch((e=>{console.warn(e),t&&t(null),n(e)}))}))}function f(e,t,r){for(let n=0;n<e.length;n++){const i=e[n];if(i[t]===r)return i}return null}function h(e,r){let n;arguments.length>2&&(e={commandMonitor:arguments[0],monitors:arguments[1],launchingMonitorPosition:arguments[2]},r=null);let{commandMonitor:i,monitors:o,launchingMonitorPosition:s}=e;const a=i&&""!==i||0===i;if("primary"===i)n=f(o,"whichMonitor","primary");else if("next"===i){let e=s+1;e>=o.length&&(e=0),n=o[e]}else if("previous"===i){let e=s-1;e<0&&(e=o.length-1),n=o[e]}else if("mine"===i){var u=!0;activeWindows.getWindow(e.windowIdentifier.windowName)._getBounds(((e,i)=>{e?(n=o[0],r(n)):t.Monitors.getMonitorFromScaledXY(i.left,i.top,(e=>{r(e)}))}))}else a?(i>=o.length&&(i=o.length-1),n=o.filter((e=>e.position===i))[0]):s&&(n=o[s]);if(n||(n=o[0]),!u){if(!r)return n;r(n)}}function p(e,t){return new Promise(((r,n)=>{d(e,(e=>{e?l(e,(e=>{t&&t(e),r(e)})):n("util.getMonitor: Can't locate windowDescriptor.")}))}))}t.Monitors=new s.default(Function.prototype,Function.prototype,{System:o.System}),t.clone=u,t.getContainerVersion=function(e=Function.prototype){return new Promise((t=>{o.System.getVersion((r=>{const n=r.split(".").map(Number),i={major:n[0],chromium:n[1],minor:n[2],patch:n[3]};e(i),t({versionObject:i})}))}))},t.castToPromise=function(e){return function(...t){return new Promise(((r,n)=>{const i=e.apply(null,Array.from(t));try{return i.then(r,n)}catch(e){e instanceof TypeError?r(i):n(e)}}))}},t.isPercentage=function(e){return"string"==typeof e&&-1!==e.indexOf("%")},t.crossDomain=function(e){const t=document.createElement("a");t.href=e;const r=window.location.hostname===t.hostname,n=window.location.protocol===t.protocol,i=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),o=!(r&&i&&n);return a.default.system.debug(`Launcher crossDomain=${o} (${r}:${n}:${i})`),o},t.getAllMonitors=t.Monitors.getAllMonitors,t.getMonitorFromXY=t.Monitors.getMonitorFromScaledXY,t.getMonitorFromWindow=l,t.getFinWindow=c,t.getWindowDescriptor=d,t.findMonitor=f,t.getWhichMonitor=h,t.getMonitor=p,t.getMonitorFromCommand=function(e,r,n){return new Promise((i=>{p(r,(r=>{t.Monitors.getAllMonitors((t=>{h({commandMonitor:e,monitors:t,launchingMonitorPosition:r.position},(e=>{n&&n(e),i(e)}))}))}))}))},t.windowOnMonitor=function(e,t){return e.left>=t.left&&e.left<t.right||e.right<=t.right&&e.right>t.left},t.getMonitorByDescriptor=function(e,t){return new Promise((r=>{l(e,(e=>{t&&t(e),r(e)}))}))},t.getMyWindowIdentifier=function(e){const t=o.System.Window.getCurrent();return new Promise((r=>{t.getOptions((n=>{let i=null;const{customData:o}=n;o&&o.component&&(i=o.component.type);const s={windowName:t.name,uuid:t.uuid,componentType:i};e&&e(s),r(s)}))}))},t.camelCase=function(...e){let t="";for(let r=0;r<e.length;r++)t=`${t} ${e[r]}`;return t.replace(/\s(.)/g,(e=>e.toUpperCase())).replace(/\s/g,"").replace(/^(.)/,(e=>e.toLowerCase()))},t.guuid=function(){return i.default()},t.injectJS=function(e,t){const r=document.createElement("script");r.onload=t,r.type="text/javascript",r.async=!0,r.src=e;const n=document.getElementsByTagName("head")[0],i=n.getElementsByTagName("script")[0];n.insertBefore(r,i)},t.openSharedData=function(e,t){const r=FSBL.Clients.LauncherClient,n=FSBL.Clients.LinkerClient;e.multipleOpenerHandler||(e.multipleOpenerHandler=function(e){let t,r=0;for(const n of Object.keys(e))e[n].length>r&&(t=n,r=e[n].length);return[t]});const i=[],o={};r.getComponentsThatCanReceiveDataTypes({dataTypes:Object.keys(e.data)},((s,u)=>{for(const e of Object.keys(u))if(u[e].componentTypes.length)for(const t of u[e].componentTypes)o[t]?o[t].push(e):o[t]=[e];else{const t=`No Components Available to Handle the type: ${e}`;i.push(t),a.default.system.error(t)}let l=Object.keys(o);if(l.length){l.length>1&&(l=e.multipleOpenerHandler(o));const s=Object.keys(n.channels);if(s.length)if(n.getLinkedComponents({componentTypes:l,windowIdentifier:n.windowIdentifier()}).length||e.publishOnly)n.publish({dataType:"Finsemble.DragAndDropClient",data:e.data},(()=>{})),t&&t(i.length?i:null,"Data published");else{for(const t of l)r.spawn(t,{data:{sharedData:e.data,linker:{channels:s}},addToWorkspace:!0});t&&t(i.length?i:null,"Linked Window(s) spawned with data")}else if(!e.publishOnly){for(const t of l)r.spawn(t,{data:{sharedData:e.data},addToWorkspace:!0});t&&t(i.length?i:null,"New Window(s) spawned with data")}}else t&&t(i.length?i:null,null)}))},t.getNewBoundsWhenMovedToMonitor=function(e,t,r="availableRect"){const n=e[r]||e.availableRect||e.monitorRect,i=u(t);return t.top<n.top?i.top=n.top:t.top>n.bottom-t.height&&(i.top=n.bottom-t.height),t.left<n.left?i.left=n.left:t.left>n.right-t.width&&(i.left=n.right-t.width),i.bottom=i.top+i.height,i.right=i.left+i.width,i.right>n.right&&(i.right=n.right),i.top<n.top&&(i.top=n.top),i.left<n.left&&(i.left=n.left),i.bottom>n.bottom&&(i.bottom=n.bottom),i.height=i.bottom-i.top,i.width=i.right-i.left,{newBounds:i,distanceMoved:Math.sqrt((t.left-i.left)**2+(t.top-i.top)**2),monitor:e}},t.isOnAMonitor=function(e){return this.Monitors.allMonitors.some((t=>{const{monitorRect:r}=t;return e.left>=r.left&&e.left<=r.right&&e.right>=r.left&&e.right<=r.right&&e.top>=r.top&&e.top<=r.bottom&&e.bottom>=r.top&&e.bottom<=r.bottom}))},t.adjustBoundsToBeOnMonitor=function(e,t="availableRect"){if(this.isOnAMonitor(e))return a.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: on monitor."),e;const r=this.Monitors.allMonitors.map((r=>{let n=r.rawMonitor?r.rawMonitor:r;return this.getNewBoundsWhenMovedToMonitor(n,e,t)})).sort(((e,t)=>e.distanceMoved-t.distanceMoved))[0];return a.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: not on monitor. bounds",e,"monitor name",r.monitor.name,"newBounds",r.newBounds),r.newBounds},t.isWindows=async function(e=Function.prototype){const t=(await o.System.getHostSpecs()).name.toUpperCase().includes("WINDOWS");return e(t),t},t.getWindowType=function(e){const t="WebWindow";if(e.windowType&&!["assimilation","assimilated","native","application","NativeWindow","FinsembleNativeWindow","CompoundWindow","WebWindow","WebApplication","StackedWindow"].includes(e.windowType))return a.default.system.error(`Invalid windowType: ${e.windowType}, defaulting to windowType: WebWindow`),t;let r=e.windowType||t;switch(e.windowType){case"assimilation":case"assimilated":r="NativeWindow";break;case"native":r="FinsembleNativeWindow";break;case"application":r="WebApplication";break;case"Web":r="WebWindow";break;case"StackedWindow":r="StackedWindow"}return e.native&&(r="NativeWindow"),e.compound&&(r="CompoundWindow"),r},t.windowNameFromRouterHeader=e=>{let t,r=/\.(.*)\./s;try{t=e.origin.match(r)[1]}catch(r){t=e.origin.split(".")[1]}return t}},10428:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleView=void 0,t.FinsembleView=class{constructor(e){this.win=e.win,this.id=e.id}async remove(e=Function.prototype){await this.win.removeBrowserView(this,e)}async setBounds(e,t=Function.prototype){await this.win.setViewBounds({view:this,bounds:e},t)}async bringToFront(e=Function.prototype){await this.win.bringViewToFront(this,e)}}},75688:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleWindow=void 0;const a=s(r(39319)),u=s(r(72551)),l=o(r(76420)),c=s(r(57815)),d=o(r(78379)),f=r(24232),h=r(51742),p=s(r(99748)),m=r(10428);window._FSBLCache||(window._FSBLCache={storeClientReady:!1,windows:{},gettingWindow:[],windowAttempts:{}});class g extends c.default{constructor(e){super({name:e.name,sourceType:"Window"}),this.types={},this.wrapState=e.wrapState||"initializing",this.componentState={},this.windowState=g.WINDOWSTATE.NORMAL,this.type=null,this.windowType=null,this.bounds={},this.guid=`${Date.now()}_${Math.random()}`,this.WINDOWSTATE=d.WINDOWSTATE,this.windowOptions={},this.doConstruction(e),this.TITLE_CHANGED_CHANNEL=`Finsemble.${this.name}.titleChanged`,this.componentKey=l.camelCase("activeWorkspace",this.name,this.name),this.windowKey=l.camelCase("activeWorkspace",this.name),g.bindFunctions(this)}standardizeEventName(e){switch(e){case"bounds-set":case"stoppedMoving":return"bounds-change-end";case"startedMoving":return"bounds-change-start";case"bringToFront":return"broughtToFront";case"setParent":return"parent-set";case"clearParent":return"parent-unset";default:return e}}addEventListener(e,t){return e=this.standardizeEventName(e),super.addEventListener(e,t)}removeEventListener(e,t){if("closed"!==e||!window.finsembleWindow||this.name!==finsembleWindow.name)return e=this.standardizeEventName(e),super.removeEventListener(e,t)}windowServiceChannelName(e){return`WindowService-Request-${e}`}eventChannelName(e){return`WindowService-Event-${this.name||this.windowName}-${e}`}doConstruction(e){if(e.setWindowType||e.windowType||(e.windowType="WebWindow"),e.windowType)return e.setWindowType=e.windowType,delete e.windowType,new g(e);if(e)for(const t in e)this[t]=e[t];this.name||(this.name=e.windowName),this.windowType=this.setWindowType}static registerType(e,t){const r=g;r.types||(r.types={}),r.types[e]=t}static bindFunctions(e){e.setParent=e.setParent.bind(e),e.getParent=e.getParent.bind(e),e.eventChannelName=e.eventChannelName.bind(e),e.windowServiceChannelName=e.windowServiceChannelName.bind(e),e.handleWrapRemoveRequest=e.handleWrapRemoveRequest.bind(e),e.reload=e.reload.bind(e)}static getInstance(e,t=Function.prototype){const r=h.System.Window.getCurrent().name;return e&&e.windowName&&(e.name=e.windowName),(e=p.default(e))&&e.name?(e.windowName=e.name,new Promise((async function(n,i){if(window._FSBLCache.windows[e.name]){u.default.system.debug("WRAP LIFECYCLE:",e.name,"Window found in the cache, returning without going to the Launcher");const r=window._FSBLCache.windows[e.name];return n({wrap:r}),t(null,r)}if(e.uuid&&e.name){if(e.windowIdentifier||(e.windowIdentifier={uuid:e.uuid,name:e.name,windowName:e.name,windowType:e.windowType}),!1!==e.waitForReady)try{await g._windowReady(e.windowName),e.wrapState="ready"}catch(e){return i(e),t(e,null)}if(u.default.system.debug("WRAP LIFECYCLE:",e.name,"All information for wrap passed in, creating wrap locally"),window._FSBLCache.windows[e.name]){u.default.system.debug("WRAP LIFECYCLE:",e.name,"Window found in the cache, returning without going to the Launcher");const r=window._FSBLCache.windows[e.name];return n({wrap:r}),t(null,r)}const{wrap:r}=await g._createWrap(e);return n({wrap:r}),t(null,r)}if(!1!==e.waitForReady)try{await g._windowReady(e.windowName),e.wrapState="ready"}catch(e){return i(e),t(e,null)}a.default.query("WindowService-Request-getWindowIdentifier",{windowName:e.name,requester:r},(async(r,o)=>{if(r)return u.default.system.error(r),i(r),t(r,null);if(window._FSBLCache.windows[e.name]){const r=window._FSBLCache.windows[e.name];return u.default.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher, but wrap exists in cache. Returning cached wrap."),n({wrap:r}),t(null,r)}const{identifier:s}=o.data;s.windowName&&(s.name=s.windowName),u.default.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher. Creating wrap."),e.retrievedIdentifier=s;const{wrap:a}=await g._createWrap(e);o.data.descriptor&&(a.descriptor=o.data.descriptor),n({wrap:a}),t(null,a)}))}))):t("name is required")}static _createWrap(e){return new Promise((function(t){const r=e.retrievedIdentifier||e.windowIdentifier;let n=null;void 0===window._FSBLCache.windowAttempts[e.name]&&(window._FSBLCache.windowAttempts[e.name]=0),(e.setWindowType||r.windowType)&&"WebApplication"!==r.windowType||(r.windowType="WebWindow");let i={...r};i=Object.assign(i,e),i.setWindowType=i.windowType,delete i.windowType,u.default.system.debug("WRAP LIFECYCLE: Placing wrap into the local cache.",r.windowName);const o=g;window._FSBLCache.windows[r.windowName]=new o(i),n=window._FSBLCache.windows[r.windowName],n.windowType=r.windowType,n.identifier=r,n.addEventListener("closed",n.handleWrapRemoveRequest),n.addEventListener("maximized",(()=>{n.windowState=g.WINDOWSTATE.MAXIMIZED})),n.addEventListener("minimized",(()=>{n.windowState=g.WINDOWSTATE.MINIMIZED})),n.addEventListener("restored",(()=>{n.windowState=g.WINDOWSTATE.NORMAL}));const s=a.default.subscribe(`Finsemble.Component.State.${r.windowName}`,((e,t)=>{if(e)u.default.system.error("Finsemble component state change error",e);else{const{state:e}=t.data;n.wrapState=e,a.default.unsubscribe(s)}}));n.parentSubscribeID=a.default.subscribe(`Finsemble.parentChange.${r.windowName}`,((e,r)=>{if(e)u.default.system.error("FinsembleWindow parent change notification error",e),t({wrap:n});else{const e=r.data||{};"Added"===e.type?(u.default.system.debug("FinsembleWindow Parent Notification: window.addedToStack listener",e),n.setParent(e.stackedWindowIdentifier,(()=>{t({wrap:n})}))):"Exists"===e.type?(u.default.system.debug("FinsembleWindow Parent Notification: Parent already exists, checking if added to wrap",e),n.setParentOnWrap(e.stackedWindowIdentifier,(()=>{t({wrap:n})}))):"Removed"===e.type?(u.default.system.debug("FinsembleWindow Parent Notification: window.removedFromStack listener",e),n.clearParent(),t({wrap:n})):e.type?(u.default.system.error("FinsembleWindow Parent Notification: unknown type",e),t({wrap:n})):t({wrap:n})}}))}))}static _getRemoveWrapChannel(e){return`${h.System.Window.getCurrent().name}.removeWrap.${e}`}async handleWrapRemoveRequest(e){e&&e.wait(),u.default.system.debug("WRAP Destructor. Removing cached window",this.name,"in ",window.name),this.removeListeners&&this.removeListeners(),this.cleanupRouter(),this.cleanup(),this.name!==window.name&&this.name&&(delete window._FSBLCache.windows[this.name],delete window._FSBLCache.windowAttempts[this.name]),e&&e.done()}cleanupRouter(){const e=g._getRemoveWrapChannel(this.name);a.default.removeResponder(e),this.TITLE_CHANGED_SUBSCRIPTION&&a.default.unsubscribe(this.TITLE_CHANGED_SUBSCRIPTION),a.default.unsubscribe(this.parentSubscribeID)}onReady(e){if("ready"===this.wrapState)return e();this.addEventListener("ready",e)}queryWindowService(e,t,r=Function.prototype){if("close"===e||"setParent"===e||"ready"===this.wrapState)return new Promise((async(n,i)=>{"function"==typeof t&&(r=t,t={}),(t=t||{}).windowIdentifier=this.identifier,u.default.setting().system.Debug&&(t.callstack=u.default.callStack()),u.default.system.debug("FinsembleWindow.queryWindowService",this.windowServiceChannelName(e),t);let o=null;a.default.query(this.windowServiceChannelName(e),t,((t,s)=>{t?(u.default.system.debug(`WindowService.${e}: failed`,t),console.debug(`WindowService.${e}: failed`,t),"getComponentState"!==e&&"Not found"!==t&&i(t)):(o=s.data,u.default.system.debug(`${this.windowServiceChannelName(e)} successful`,o),console.debug(`${this.windowServiceChannelName(e)} successful`,o)),n(o),r(t,o)}))}));this.onReady((()=>{this.wrapState="ready",this.queryWindowService(e,t,r)}))}minimize(e=null,t=Function.prototype){this.queryWindowService("minimize",e,t)}maximize(e=null,t=Function.prototype){this.getBounds(((r,n)=>{r?u.default.system.warn("Error getting bounds, cached bounds will not be set"):this.updateOptions({options:{cachedLeft:n.left,defaultLeft:n.left,cachedTop:n.top,defaultTop:n.top,cachedWidth:n.width,defaultWidth:n.width,cachedHeight:n.height,defaultHeight:n.height}}),this.queryWindowService("maximize",e,t)}))}restore(e=null,t=Function.prototype){this.queryWindowService("restore",e,t)}blur(e=null,t=Function.prototype){this.queryWindowService("blur",e,t)}focus(e=null,t=Function.prototype){this.queryWindowService("focus",e,t)}bringToFront(e=null,t=Function.prototype){this.queryWindowService("bringToFront",e,t)}setAlwaysOnTop(e={alwaysOnTop:!0},t=Function.prototype){this.queryWindowService("setAlwaysOnTop",e,t)}isAlwaysOnTop(e={},t){this.queryWindowService("isAlwaysOnTop",{},t)}isShowing(e={},t){this.queryWindowService("isShowing",e,t)}setIgnoreMouseEvents(e,t,r=Function.prototype){const n={ignore:new Boolean(e).valueOf(),options:new Boolean(t).valueOf()?t:{forward:!1}};this.queryWindowService("setIgnoreMouseEvents",n,r)}setShape(e,t=Function.prototype){this.queryWindowService("setShape",e,t)}async addBrowserView(e,t=Function.prototype){const r=await this.queryWindowService("addBrowserView",e,t);return new m.FinsembleView({id:r,win:this})}async removeBrowserView(e,t=Function.prototype){await this.queryWindowService("removeBrowserView",{viewId:e.id},t)}async bringViewToFront(e,t=Function.prototype){await this.queryWindowService("bringViewToFront",{viewId:e.id},t)}async setViewBounds(e,t=Function.prototype){await this.queryWindowService("setViewBounds",{viewId:e.view.id,bounds:e.bounds},t)}setBounds(e={bounds:{}},t=Function.prototype){"function"==typeof e||e.bounds||(e={bounds:e}),this.queryWindowService("setBounds",e,t)}getBounds(e={},t=Function.prototype){return new Promise((r=>{this.queryWindowService("getBounds",e,((e,n)=>{r({err:e,data:n}),t(e,n)}))}))}updateOptions(e,t=Function.prototype){this.queryWindowService("updateOptions",e,t)}hide(e={},t=Function.prototype){this.queryWindowService("hide",e,t)}reload(e={},t=Function.prototype){this.queryWindowService("reload",e,t)}show(e={},t=Function.prototype){this.queryWindowService("show",e,t)}showAt(e={},t=Function.prototype){this.queryWindowService("showAt",e,t)}close(e={},t=Function.prototype){u.default.system.debug("WRAP CLOSE. Public close initiated for",this.name,e),this.queryWindowService("close",e,(()=>{u.default.system.debug("WRAP CLOSE. Public close initiated for",this.name),t()}))}animate(e={},t=Function.prototype){this.queryWindowService("animate",e,t)}registerWithDocking(e={},t){this.onReady((()=>{a.default.query("DockingService.registerWindow",{type:this.type,windowType:this.windowType,windowMsg:e,name:this.windowName},t)}))}showNativeOpenDialog(e={},t){this.queryWindowService("showNativeOpenDialog",e,t)}unRegisterWithDocking(){a.default.transmit("DockingService.deregisterWindow",{name:this.windowName})}initializeWindow({manageWindowMovement:e,identifier:t},r=Function.prototype){const n=()=>{a.default.publish(`Finsemble.${this.windowName}.componentReady`,{name:this.windowName}),r()};e?this.registerWithDocking(t,n):n()}wrapReady(){a.default.publish(`Finsemble.${this.windowName}.wrapReady`,{name:this.windowName,state:"open"})}setOpacity(e,t=Function.prototype){this.queryWindowService("setOpacity",e,t)}startTabTileMonitoring(e={}){u.default.system.debug("FinsembleWindow.startTabTileMonitoring",e),a.default.transmit("TabTile.startTabTile",{params:e})}stopTabTileMonitoring(e={},t=Function.prototype){u.default.system.debug("FinsembleWindow.stopTabTileMonitoring",e),a.default.query("TabTile.stopTabTile",{params:e},(function(e,r){e?u.default.system.warn("TabTile.stopTabTile: query failed",e):u.default.system.debug("TabTile.stopTabTile results",r.data);const n=r.data;t?t(e,n,this.defaultStopTrackingAction):this.defaultTabTileAction(n)}))}defaultTabTileAction(e){const t=this;switch(u.default.system.debug("FinsembleWindow.defaultTabTileAction",e),e.stoppedLocation){case"OutsideWindow":case"TabSection":break;case"InsideWindow":e.tileGroupId?t.Group.addWindow(this.identifier,e.tileGroupId,e.dropCoordinates):t.Group.createGroup((function(r){t.Group.addWindow(this.identifier,r,e.dropCoordinates,{startingWindowIdentifier:e.droppedOnWindowIdentifier})}));break;default:u.default.system.error("stopTracking returned an unknown stoppedLocation result",e)}}mergeBounds(e){e.right=e.left+e.width;const t={left:e.left,right:e.right,width:e.width,top:e.top,bottom:e.top+e.height,height:e.height},r={defaultLeft:e.left,defaultWidth:e.width,defaultTop:e.top,defaultHeight:e.height};Object.assign(this.windowOptions,t),Object.assign(this.windowOptions,r),this.windowOptions.bounds=t}startMove(e={}){u.default.system.debug("FinsembleWindow.startMove",e),e.windowIdentifier=this.identifier,a.default.transmit(this.eventChannelName("startedMoving"),{})}stopMove(e={}){u.default.system.debug("FinsembleWindow.stopMove",e),e.windowIdentifier=this.identifier,a.default.transmit(this.eventChannelName("stoppedMoving"),{})}getMonitor(e){a.default.query("DockingService.getMonitorForWindow",{windowIdentifier:this.identifier},((t,r)=>r?e(r.data):e()))}getComponentState(e,t){this.queryWindowService("getComponentState",e,t)}getWindowState(e,t){this.queryWindowService("getWindowState",e,t)}setComponentState(e,t=(()=>{})){this.queryWindowService("setComponentState",e,t)}removeComponentState(e,t=(()=>{})){this.queryWindowService("removeComponentState",e,t)}setWindowState(e,t=(()=>{})){this.queryWindowService("setWindowState",e,t)}saveCompleteWindowState(e={},t=Function.prototype){this.queryWindowService("saveCompleteWindowState",e,t)}cancelTabTileMonitoring(e={}){u.default.system.debug("FinsembleWindow.cancelTabTileMonitoring",e),a.default.transmit("TabTile.cancelTabTile",{params:e})}getParent(e){this.settingParent?g.getInstance(this.settingParent,((t,r)=>{e(null,r)})):this.parentWindow?e(null,this.parentWindow):e(null,null)}setParent(e,t){if(this.settingParent)return this.getParent(t);this.settingParent=e,this.parentWindow&&this.parentWindow.name===e.windowName?(u.default.system.debug("FinsembleWindow.setParent already set",e),this.settingParent=!1,t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{u.default.system.debug("FinsembleWindow.setParent",e),g.getInstance(e,((r,n)=>{r?u.default.system.error("FinsembleWindow.setParent error",r):(u.default.system.debug("FinsembleWindow.setParent wrap success",e),this.parentWindow=n,this.parentWindow.windowType.includes("StackedWindow")||u.default.system.error("FinsembleWindow.setParent error",this.parentWindow.name,e.windowName)),a.default.transmit(d.DOCKING.REQUEST_PUBLISH,null),this.settingParent=!1;const i=()=>{this.removeEventListener("parent-set",i),t(r,n)};this.addEventListener("parent-set",i)}))}))}setParentOnWrap(e,t=Function.prototype){this.parentWindow&&this.parentWindow.name===e.windowName?(u.default.system.debug("FinsembleWindow.setParentOnWrap already set",e),t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{u.default.system.debug("FinsembleWindow.setParentOnWrap",e),g.getInstance(e,((r,n)=>{r?u.default.system.error("FinsembleWindow.setParentOnWrap error",r):(u.default.system.debug("FinsembleWindow.setParentOnWrap success getting wrap",e),this.parentWindow=n,!1===this.parentWindow.windowType.includes("StackedWindow")&&u.default.system.error("FinsembleWindow.setParentOnWrap error",this.parentWindow.name,e.windowName)),t(r,n)}))}))}clearParent(){u.default.system.debug("FinsembleWindow.clearParent",this.parentWindow),this.parentWindow=null}setTitle(e){u.default.system.debug("Title change",e),a.default.publish(this.TITLE_CHANGED_CHANNEL,e)}getOptions(e=Function.prototype){this.queryWindowService("getOptions",{},e)}_privateManagementPreface(e,t){return"function"==typeof t&&u.default.system.error("StackedWindowWrapper.wrapPreface bad params",t),(t=t||{}).stackedWindowIdentifier={windowName:this.identifier?.windowName,windowType:this.identifier?.windowType},u.default.system.debug(`StackedWindow.${e} _privateManagementPreface`,t),t}addWindow(e,t=Function.prototype){return e=this._privateManagementPreface("addWindow",e),new Promise((r=>{a.default.query("StackedWindow.addWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.addWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}removeWindow(e,t=Function.prototype){return e=this._privateManagementPreface("removeWindow",e),new Promise((r=>{a.default.query("StackedWindow.removeWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.removeWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}deleteWindow(e,t=Function.prototype){return e=this._privateManagementPreface("deleteWindow",e),new Promise((r=>{a.default.query("StackedWindow.deleteWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.deleteWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}setVisibleWindow(e,t=Function.prototype){return e=this._privateManagementPreface("setVisibleWindow",e),new Promise((r=>{a.default.query("StackedWindow.setVisibleWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.setVisibleWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}reorder(e,t=Function.prototype){return e=this._privateManagementPreface("reorder",e),new Promise((r=>{a.default.query("StackedWindow.reorder",e,((e,n)=>{u.default.system.debug("StackedWindow.reorder callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}formGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.default.transmit("DockingService.formGroup",{windowName:e})}ejectFromGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.default.query("DockingService.leaveGroup",{name:e},(()=>{}))}}t.FinsembleWindow=g,g.WINDOWSTATE={NORMAL:0,MINIMIZED:1,MAXIMIZED:2,HIDDEN:3},g.wrap=g.getInstance,g.isStartupApplication=async function(e){let t;const r=await new Promise(((e,t)=>{h.System.Application.getCurrent().getManifest(e,t)})).catch((()=>{t=!1}));return r&&(t=r&&r.startup_app&&r.startup_app.name===e),t},g._windowReady=function(e){let t;u.default.system.debug(`windowServiceReady: ${e} starting`);const r=`Finsemble.Component.State.${e}`;return new Promise((async(n,i)=>{await g.isStartupApplication(e)||f.isServiceInWindow(e)?i("Cannot Wrap Service Manager or Services"):(u.default.system.debug(`windowServiceReady: ${e} waiting`),t=a.default.subscribe(r,((r,i)=>{const{state:o}=i.data;switch(u.default.system.debug(`windowServiceReady: ${e} state change: ${o}`),o){case"ready":case"reloading":case"closing":u.default.system.debug(`windowServiceReady: ${e} ${o}`),a.default.unsubscribe(t),n()}})))}))}},33509:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHECKPOINT_CHANNEL_BASE=t.STAGE_CHANNEL=t.STATUS_CHANNEL_BASE=t.SHOW_SYSLOG_CHANNEL=t.SYSLOG_CHANNEL=t.CRITICAL_BOOT_STAGES=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.CRITICAL_BOOT_STAGES=["microkernel","kernel","authentication"],t.SYSLOG_CHANNEL="systemManager.systemlog",t.SHOW_SYSLOG_CHANNEL="systemManager.showSystemlog",t.STATUS_CHANNEL_BASE="systemManager.boot.status",t.STAGE_CHANNEL="systemManager.boot.stage",t.CHECKPOINT_CHANNEL_BASE="systemManager.checkpoint"},56188:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BootReadyItem=t.BootConfigElement=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.BootConfigElement=class{},t.BootReadyItem=class{constructor(e,t,r){this.name=e,this.type=t,this.config=r}}},79009:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BootCheckpointEngine=t.BootCheckpointResults=void 0;const a=s(r(72551)),u=s(r(39319)),l=r(56188),c=r(87674),d=s(r(72973)),f=o(r(76420)),h=r(95269);class p{constructor(e,t=new c.DGDiagnostics){this.okay=e,this.errorDiag=t}}t.BootCheckpointResults=p,t.BootCheckpointEngine=class{constructor(e,t,r,n){this.checkpointTimers={},this.processStatusCounter=0,this.activeServices=[],this.parentName=e,this.currentStage=t,this.defaultTimeoutInterval=r,this.originalConfig=n,this.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.run()}getResults(e){a.default.system.debug("bootCheckpointEngine.getResults",this.currentStatus,this.checkpointTimers,this.checkpointConfig);let t=new p(!0);const r=[];"error"===this.currentStatus?.graphState&&(t=new p(!1,this.currentStatus.errorDiag));for(const t in this.checkpointTimers)this.findConfigElement(t).postStartupCompletion?"failed"===e&&clearTimeout(this.checkpointTimers[t]):(r.push(`checkpoint ${t} for ${this.parentName} did not complete`),clearTimeout(this.checkpointTimers[t]));if(r.length>0)if(t.okay){const e=new c.DGDiagnostics(void 0,r);t=new p(!1,e)}else t.errorDiag.errorData.push(...r);return t}findConfigElement(e){const t=this.checkpointConfig.findIndex((t=>t.name===e));return this.checkpointConfig[t]}run(){try{this.checkpointConfig=this.getCheckpointConfig(this.originalConfig),this.dependencyGraph=new c.BootDependencyGraph(this.parentName,this.checkpointConfig),a.default.system.log("forceObjectsToLogger","checkpoint BootDependencyGraph.run",this.currentStage,this.checkpointConfig,this.dependencyGraph),console.log("checkpoint BootDependencyGraph.run",this.currentStage,this.checkpointConfig,this.dependencyGraph),this.processWhatIsReady(this.dependencyGraph)}catch(e){this.cleanupStagesOutStandingTimers(),d.default.error({},`"checkpointEngine: ${e}`)}}cleanupStagesOutStandingTimers(){Object.keys(this.checkpointTimers).forEach((e=>{clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]}))}getCheckpoingConfigElement(e,t){const r=f.clone(t),n=new l.BootConfigElement;return n.name=e,n.type="checkpoints",n.stage=this.currentStage,n.dependencies=r.dependencies||[],n.postStartupCompletion=r.postStartupCompletion||!1,n.stopOnFailure=!0,n.autoStart=!0,n.customFailureMessage=r.customFailureMessage||"",n.originalConfig=r,n.timeout=r.timeout||this.defaultTimeoutInterval,Array.isArray(n.dependencies)||(d.default.error({leadingBlankLine:!1},`Checkpoint CONFIG: dependencies for ${e} must be an array`),n.dependencies=[""]),n}getCheckpointConfig(e){const t=[];for(const r in e){const n=this.getCheckpoingConfigElement(r,e[r]);t.push(n)}return t}subscribeToCheckpointStatus(e,t){a.default.system.debug("checkpointEngine subscribe",e,t,h.checkpointChannel(e,t)),u.default.subscribe(h.checkpointChannel(e,t),((e,t)=>{e?a.default.system.error("checkpointEngine subscribe error",e):(a.default.system.debug("checkpointEngine.notification",this.parentName,t.data.checkpointName,t.data.state,t.data.params),this.genericHandlerForStateChange(t.data.checkpointName,t.data.state,t.data.params))}))}genericHandlerForStateChange(e,t,r={}){a.default.system.debug("checkpointEngine.genericHandlerForStateChange",this.parentName,e,t,r),this.checkpointTimers[e]&&(clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]),"completed"===t?(this.dependencyGraph?.setBootDependencyState(e,t),this.processWhatIsReady(this.dependencyGraph)):"failed"===t&&(r.timedOut?d.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} timed out. ${this.findConfigElement(e).customFailureMessage}`):d.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} failed. ${this.findConfigElement(e).customFailureMessage}`),this.dependencyGraph?.setBootDependencyState(e,t),this.processWhatIsReady(this.dependencyGraph))}handleStartTimeout(e){delete this.checkpointTimers[e],this.genericHandlerForStateChange(e,"failed",{timedOut:!0})}startReadyCheckpoint(e){this.checkpointTimers[e.name]=setTimeout((()=>{this.handleStartTimeout(e.name)}),e.config.timeout),this.subscribeToCheckpointStatus(this.parentName,e.name),a.default.system.debug(`checkpointEngine.processReadyList starting checkpoint ${e.name} in ${this.currentStage}`,e)}setStateForList(e,t){for(let r=0;r<e.length;r++){const n=e[r];this.dependencyGraph?.setBootDependencyState(n.name,t)}}processReadyList(e){a.default.system.debug("checkpointEngine.processReadyList",e),this.setStateForList(e,"starting");for(let t=0;t<e.length;t++){const r=e[t];this.startReadyCheckpoint(r)}}processWhatIsReady(e){if(this.currentStatus=e.getCurrentStatus(),a.default.system.debug("checkpointEngine processWhatIsReady",status,e),console.log("processWhatIsReady",status),++this.processStatusCounter>500)a.default.system.error("checkpointEngine.processWhatIsReady is in infinite loop -- breaking out",this.processStatusCounter);else switch(this.currentStatus.graphState){case"error":break;case"notFinished":this.processReadyList(this.currentStatus.readyToStartList)}}}},87674:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BootDependencyGraph=t.DGDiagnostics=t.DGGraphStatus=void 0;const i=r(56188),o=n(r(72551));class s{constructor(e,t,r,n){this.graphState=e,this.bootConfig=t,this.readyToStartList=r,this.graphState=e,this.errorDiag=n}}t.DGGraphStatus=s;class a{constructor(e="",t=[]){this.errorData=[],this.description=e,this.errorData=t}}t.DGDiagnostics=a;class u{constructor(e,t,r,n,i){this.dependencies=[],this.name=e,this.dependencies=t,this.stopOnFailure=n,this.customFailureMessage=i,this.currentState=r?"uninitialized":"disabled"}}class l{constructor(){this.nodes={}}}const c=["uninitialized","waitingOnDependencies","readyToStart"],d=["blockedByDisabled","failed","blockedByFailure"];t.BootDependencyGraph=class{constructor(e,t,r=[]){this.errorDiag=new a,o.default.system.debug("BootDependencyGraph.constructor -- start",e,t);try{this.context=e,this.bootConfig=t,this.allPreviousBootConfig=r,this.graph=this.buildGraph(this.bootConfig),this.checkNodesForValidDependencies(this.bootConfig,this.allPreviousBootConfig),this.checkNodesForCircularDependencies(),this.iterativelySetAllGraphStates(this.graph)}catch(e){"error"!=this.graphState&&(this.graphState="error",this.errorDiag.description=e),o.default.system.error("BootDependencyGraph constructor caught error",this.errorDiag)}}setBootDependencyState(e,t){o.default.system.debug("BootDependencyGraph.setBootDependencyState",e,t);const r=this.graph.nodes[e];r?r.currentState=t:o.default.system.error(`BootDependencyGraph.setBootDependencyState called with unknown dependency name ${e} for this stage (may be a late message). Operation ignored.`,this.graph)}getCurrentStatus(){return this.iterativelySetAllGraphStates(this.graph),new s(this.graphState,this.bootConfig,this.readyToStartList,this.errorDiag)}buildGraph(e){const t=new l;for(let r=0;r<e.length;r++){const n=e[r],i=new u(n.name,n.dependencies,n.autoStart,n.stopOnFailure,n.customFailureMessage);t.nodes[n.name]=i}return o.default.system.debug("BootDependencyGraph.buildGraph -- graph built",this.graph),t}testOneNodeForCircularPath(e,t){o.default.system.debug(`BootDependencyGraph.testOneNodeForCircularPath -- nodeName=${t}`,e);let r=!1;if(e.includes(t))e.push(t),r=!0;else{e.push(t);const n=this.graph.nodes[t];for(const t in n.dependencies)if(r=this.testOneNodeForCircularPath(e,n.dependencies[t]),r)break}return r||e.pop(),o.default.system.debug(`BootDependencyGraph.testOneNodeForCircularPath done for nodeName=${t} with circular=${r}`),r}checkNodesForCircularDependencies(){for(const e in this.graph.nodes){const t=[];if(o.default.system.debug(`BootDependencyGraph.checkNodesForCircularDependencies -- nodeName=${e}`),this.testOneNodeForCircularPath(t,e))throw this.errorDiag=new a(`${this.context} circular dependency`,t),this.graphState="error",this.errorDiag.description}}checkForKnownDependency(e,t){return t.findIndex((t=>t.name==e))>=0}checkNodesForValidDependencies(e,t){let r,n,i;const s=[];for(const a in this.graph.nodes){const u=this.graph.nodes[a];let l=u.dependencies.length;for(;l--;){const c=u.dependencies[l];n=this.checkForKnownDependency(c,e),n||(i=this.checkForKnownDependency(c,t)),!n&&i?(o.default.system.debug(`dependencyGraphy.checkNodesForValidDependencies removing dependency ${u.dependencies[l]} in node ${a}`),u.dependencies.splice(l,1)):n||i||(r=!0,s.push(`${a} dependency "${c}" is unknown in this stage or previous stages`))}}if(r)throw this.errorDiag=new a(`${this.context} illegal boot configuration`,s),this.graphState="error",this.errorDiag.description}setNewNodeState(e){o.default.system.debug(`BootDependencyGraph.setNewNodeState for node=${e.name}`,e);let t=e.currentState;if(c.includes(t)){t="readyToStart";for(const r of e.dependencies)if("completed"===this.graph.nodes[r].currentState);else{if("disabled"===this.graph.nodes[r].currentState||"blockedByDisabled"===this.graph.nodes[r].currentState){t="blockedByDisabled";break}if("failed"===this.graph.nodes[r].currentState||"blockedByFailure"===this.graph.nodes[r].currentState){t="blockedByFailure";break}(c.includes(this.graph.nodes[r].currentState)||"starting"===this.graph.nodes[r].currentState)&&(t="waitingOnDependencies")}}const r=t!==e.currentState;return e.currentState=t,o.default.system.debug(`BootDependencyGraph.setNewNodeState done for node=${e.name}`,r,t),r}getNewReadyList(){const e=[];for(const t in this.graph.nodes)if("readyToStart"===this.graph.nodes[t].currentState){const r=this.bootConfig?.findIndex((e=>e.name==t)),n=this.bootConfig[r];e.push(new i.BootReadyItem(t,n.type,n))}return e}getNewGraphState(e){let t,r=0,n=0,i=0;for(const t in e.nodes){const o=e.nodes[t];d.includes(o.currentState)&&o.stopOnFailure?n++:c.includes(o.currentState)?r++:"starting"===o.currentState&&i++}return t=n>0?"error":r>0||i>0?"notFinished":"finished",o.default.system.debug("BootDependencyGraph.getNewGraphState",t,n,r),t}iterativelySetAllGraphStates(e){let t,r=0;for(;"error"!=this.graphState&&(t||0===r);){o.default.system.debug(`BootDependencyGraph.iterativelySetAllGraphStates pass ${r}`,e),t=!1;for(const e in this.graph.nodes){o.default.system.debug(`BootDependencyGraph.iterativelySetAllGraphStates for nodeName ${e}`);const r=this.graph.nodes[e];this.setNewNodeState(r)&&(o.default.system.debug(`BootDependencyGraph.iterativelySetAllGraphStates BootDependencyState updated for nodeName ${e} so continue iterating`),t=!0)}if(++r>200){o.default.system.error("iterativelySetAllGraphStates was stuck in loop -- breaking out");break}}"error"!=this.graphState&&(this.graphState=this.getNewGraphState(this.graph),this.readyToStartList=this.getNewReadyList()),o.default.system.debug("BootDependencyGraph.iterativelySetAllGraphStates done",this.graphState,this.readyToStartList)}}},63529:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BootEngine=void 0;const a=s(r(72551)),u=s(r(39319)),l=s(r(70010)),c=s(r(9562)),d=r(33998),f=r(56188),h=r(79009),p=r(87674),m=s(r(46460)),g=s(r(72973)),y=o(r(76420)),v=r(33509),w=r(95269),b=s(r(5020)),S=r(10589),_=["bootTasks","services","components"],C=15e3,E={name:"",state:"uninitialized"};t.BootEngine=class{constructor(e,t,r){this.dependencyGraphs={},this.bootConfigs={},this.cumulativePreviousBootConfig=[],this.startTimers={},this.registeredTasks={},this.processStatusCounter=0,this.processingTerminated=!1,this.activeServices=[],this.checkpointEngines={},this.manifest=e,this.finsembleConfig=e.finsemble,this.serviceLauncher=t,this.shutdownManager=r,this.handleTaskResponse=this.handleTaskResponse.bind(this),this.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.startServiceTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startServiceTimeout",C),this.startComponentTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startComponentTimeout",C),this.startTaskTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startTaskTimeout",C),this.setupDependencyBootStatusPubSubs()}helpData(){console.log("2) finsemble.bootConfig timeout values"),console.log("\tstartServiceTimeout value",this.startServiceTimeout),console.log("\tstartComponentTimeout value",this.startComponentTimeout),console.log("\tstartTaskTimeout value",this.startTaskTimeout),console.log(""),console.log("3) Current boot stage:",this.currentStage),console.log(""),console.log(`4) Lastest/current status of dependencyGraph for ${this.currentStage} stage`,this.dependencyGraphs[this.currentStage].getCurrentStatus()),console.log(""),console.log("5) Dependency graphs by stage",this.dependencyGraphs),console.log(""),console.log("6) Boot config data by stage",this.bootConfigs),console.log(""),console.log("7) Active Checkpoint Engines",this.checkpointEngines),console.log(""),console.log("8) Registered tasks",this.registeredTasks),console.log(""),console.log("9) List of outstanding start timers",this.startTimers),console.log(""),console.log("10) Dependency graphs display by stage"),this.outputDependencyGraphs(this.dependencyGraphs),console.log("")}registerBootTask(e,t){"string"==typeof e&&"function"==typeof t?this.registeredTasks[e]=t:g.default.error({},`BootEngine: registerBootTask failed because of illegal input. Task Name = ${e}. Task Function Type = ${typeof t}`)}initializeSplinterAgentPoolTask(e){a.default.system.log("FINSEMBLE CONFIG",this.finsembleConfig);let t=[];if(this.finsembleConfig.splinteringConfig&&this.finsembleConfig.splinteringConfig.splinterAgents&&(t=this.finsembleConfig.splinteringConfig.splinterAgents.filter((e=>e.services&&e.services.length>0))),t.length){const e={manifest:this.manifest,finsembleConfig:this.finsembleConfig,agentList:t,defaultAgentLabel:"defaultServiceAgent"};this.splinterAgentPool=new m.default(e),this.shutdownManager.setSplinterAgentPool(this.splinterAgentPool)}e("testTask_initializeSplinterAgentPool","bootTasks","completed")}async run(){try{for(let e=0;e<v.ALL_BOOT_STAGES.length;e++){const t=e=>{if(this.logDiagnostics(e),v.CRITICAL_BOOT_STAGES.includes(this.currentStage))throw"*** Terminating Boot ***"};this.currentStage=v.ALL_BOOT_STAGES[e],a.default.system.log("BootEngine.run stage entered",this.currentStage),await this.runBootStage(this.currentStage).catch(t);const{data:r}=await l.default.getValue({field:"finsemble"});this.finsembleConfig=r,this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),a.default.system.log("BootEngine.run stage complete",this.currentStage),u.default.publish(v.STAGE_CHANNEL,{stage:this.currentStage})}}catch(e){this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),this.cleanupStagesOutStandingTimers(),this.processingTerminated=!0,g.default.error({},`"BootEngine: ${e}`)}}startService(e){const t=this.manifest.finsembleConfig.services[e];t?(g.default.log({indent:!0},`Starting service ${e}`),a.default.system.debug(`bootEngine.startService starting service ${e} in ${this.currentStage}`),this.serviceLauncher.createService(t,this.splinterAgentPool)):g.default.error({},`"BootEngine.startService failed for ${e} because config not found in "finsemble.services"`)}logDiagnostics(e){g.default.error({leadingBlankLine:!0,indent:!0},`Error in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)g.default.error({doubleIndent:!0},`"${t}: ${e.errorData[t]}`);g.default.error({leadingBlankLine:!0,indent:!0},`"${this.currentStage}" stage failed. See SystemManager console for additional information.`)}checkpointLogDiagnostics(e){if(e.description){g.default.warn({indent:!0},`checkpoint issue in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)g.default.warn({doubleIndent:!0},`${t}: ${e.errorData[t]}`)}else for(let t=0;t<e.errorData.length;t++)g.default.warn({indent:!0},`${e.errorData[t]}`)}findConfigElement(e){const t=this.bootConfigs[this.currentStage].findIndex((t=>t.name===e)),r=this.bootConfigs[this.currentStage][t];return r||a.default.system.error("bootEngine.findConfigElement could not find expected config element",e,this.bootConfigs[this.currentStage]),r}outputDependencyGraphs(e){for(let t=0;t<v.ALL_BOOT_STAGES.length;t++){const r=v.ALL_BOOT_STAGES[t],n=e[r];if(n){console.log("\tStage:",r);for(const e in n.graph.nodes){console.log("\t\tName:",e);for(let t=0;t<n.graph.nodes[e].dependencies.length;t++)console.log("\t\t\tDependency:",n.graph.nodes[e].dependencies[t])}}}}cleanupStagesOutStandingTimers(){Object.keys(this.startTimers).forEach((e=>{clearTimeout(this.startTimers[e]),delete this.startTimers[e]}))}getBootConfigElement(e,t,r,n){const i=y.clone(n);let o=new f.BootConfigElement;return o.name=n.name||t,o.type=r,i.bootParams?v.ALL_BOOT_STAGES.includes(i.bootParams.stage)||((i.bootParams.stage||!1!==i.bootParams.autoStart)&&g.default.error({leadingBlankLine:!1},`BOOT CONFIG: unknown boot stage "${i.bootParams.stage}" for ${t} in ${r} -- assigning default value`),i.bootParams.stage=null):i.bootParams={},"services"===r?(o.stage=i.bootParams.stage||"earlyuser",o.timeout=i.bootParams.timeout||this.startServiceTimeout,i.debugServiceDelay&&o.stage===e&&(o.timeout=o.timeout+i.debugServiceDelay,g.default.warn({leadingBlankLine:!1},`==> timeout value for ${t} will be increased to ${o.timeout} (debugServiceDelay=${i.debugServiceDelay})`))):"bootTasks"===r?(o.stage=i.bootParams.stage||"earlyuser",o.timeout=i.bootParams.timeout||this.startTaskTimeout):"components"===r&&(i.component=i.component||{},o.stage=i.bootParams.stage||"user",!1===i.bootParams.autoStart&&i.component.spawnOnStartup&&o.stage===e&&g.default.error({leadingBlankLine:!1},`BOOT CONFIG: autostart conflicts with spawnOnStartup value for ${t} in ${r} -- using spawnOnStartup value`),n.bootParams,i.bootParams.autoStart=i.component.spawnOnStartup||!1,o.timeout=i.bootParams.timeout||this.startComponentTimeout),i.bootParams.checkpoints&&Object.keys(i.bootParams.checkpoints).length>0&&(o.checkpointsIncluded=!0,o.checkpointConfig=i.bootParams.checkpoints),o.dependencies=i.bootParams.dependencies||[],o.stopOnFailure=!("stopOnFailure"in i.bootParams)||i.bootParams.stopOnFailure,o.autoStart=!("autoStart"in i.bootParams)||i.bootParams.autoStart,o.customFailureMessage=i.bootParams.customFailureMessage||"",o.originalConfig=n,Array.isArray(o.dependencies)||o.stage!==e||(g.default.error({leadingBlankLine:!1},`BOOT CONFIG: bootparams.dependencies for ${t} in ${r} must be an array`),o.dependencies=[""]),o}getBootConfigByType(e,t,r,n){for(const i in r){const o=this.getBootConfigElement(e,i,t,r[i]);o.stage==e&&n.push(o)}}getBootConfig(e,t){const r=[];for(let n=0;n<_.length;n++){const i=_[n];this.getBootConfigByType(e,i,t[i],r),"services"==i&&this.getBootConfigByType(e,i,t.system.requiredServicesConfig,r)}return r}runBootStage(e){return new Promise((async(t,r)=>{try{g.default.log({leadingBlankLine:!1},`BOOT STAGE: ${e}`),this.stageResolver=t,this.stageRejecter=r,this.bootConfigs[e]=this.getBootConfig(e,this.finsembleConfig),this.dependencyGraphs[e]=new p.BootDependencyGraph(e,this.bootConfigs[e],this.cumulativePreviousBootConfig),a.default.system.log("forceObjectsToLogger","BootDependencyGraph.runBootStage",e,this.bootConfigs[e],this.cumulativePreviousBootConfig,this.dependencyGraphs[e]),console.log("BootDependencyGraph.runBootStage",e,this.bootConfigs[e],this.cumulativePreviousBootConfig,this.dependencyGraphs[e]),this.processWhatIsReady(this.dependencyGraphs[e]),this.cumulativePreviousBootConfig=[...this.cumulativePreviousBootConfig,...this.bootConfigs[e]]}catch(e){r(new p.DGDiagnostics(`BootEngine:runBootStage.reject${e}`))}}))}async setupDependencyBootStatusPubSubs(){await(new S.FSBLService).startApp(),u.default.addPubSubResponder(new RegExp(`${v.STATUS_CHANNEL_BASE}.*`),E),u.default.addPubSubResponder(new RegExp(`${v.CHECKPOINT_CHANNEL_BASE}.*`),E),u.default.addPubSubResponder(v.STAGE_CHANNEL,{stage:"uninitialized"})}subscribeToDependencyBootStatus(e){u.default.subscribe(w.statusChannel(e),((e,t)=>{e?a.default.system.error("BootEngine subscribe error",e):this.genericHandlerForStateChange(t.data.name,t.data.type,t.data.state)}))}handleOneDependencyStateChange(e,t,r){if("completed"===r&&"services"===t?this.activeServices.push(e):"completed"===r&&"bootTasks"===t&&b.default.publishBootStatus(e,"bootTasks","completed"),"completed"===r||"failed"===r){const t=this.dependencyGraphs[this.currentStage];this.checkpointEngines[e]&&setTimeout((()=>{const t=this.checkpointEngines[e].getResults(r);t.okay||this.checkpointLogDiagnostics(t.errorDiag),delete this.checkpointEngines[e],a.default.system.debug("bootEngine.genericHandlerForStateChange checkpointEngine results",e,t)}),50),"failed"===r&&g.default.error({doubleIndent:!0},`BootState=${r} for ${e}. ${this.findConfigElement(e).customFailureMessage}`),t.setBootDependencyState(e,r),this.processWhatIsReady(t)}}genericHandlerForStateChange(e,t,r){a.default.system.debug(`bootEngine.genericHandlerForStateChange ${r} for ${t} ${e}`),console.debug("bootEngine.genericHandlerForStateChange",e,t,r),this.startTimers[e]&&(clearTimeout(this.startTimers[e]),delete this.startTimers[e]),this.processingTerminated||this.handleOneDependencyStateChange(e,t,r)}handleTaskResponse(e,t,r){setTimeout((()=>{this.genericHandlerForStateChange(e,t,r)}),0)}handleStartTimeout(e,t){delete this.startTimers[e],g.default.error({indent:!1},`${e} startup failed due to a time out`),this.genericHandlerForStateChange(e,t,"failed")}startBootTaskDependency(e){g.default.log({indent:!0},`starting boot task: ${e.name}`),a.default.system.debug(`bootEngine.startBootTaskDependency starting boot task ${e.name} in ${this.currentStage}`,e),this.registeredTasks[e.name]?this.registeredTasks[e.name](this.handleTaskResponse):(a.default.system.error(`bootEngine.startBootTaskDependency: unknown task ${e.name}`,e),g.default.error({},`bootEngine.startBootTaskDependency: unknown task ${e.name}`))}startServiceDependency(e){g.default.log({indent:!0},`starting service: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.default.system.debug(`bootEngine.startServiceDependency starting service ${e.name} in ${this.currentStage}`,e),this.serviceLauncher.createService(e.config.originalConfig,this.splinterAgentPool)}startComponentDependency(e){"microkernel"===this.currentStage||"kernel"===this.currentStage?g.default.error({indent:!0},`cannot config in bootParams for component ${e.name} to start until after "kernal" stage`):(g.default.log({indent:!0},`starting component: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.default.system.debug(`bootEngine.startComponentDependency starting component ${e.name} in ${this.currentStage}`,e,e.config.originalConfig),c.default.spawn(e.name,{}))}startReadyItem(e){switch(this.startTimers[e.name]=setTimeout((()=>{this.handleStartTimeout(e.name,e.type)}),e.config.timeout),e.type){case"bootTasks":this.startBootTaskDependency(e);break;case"services":this.startServiceDependency(e);break;case"components":this.startComponentDependency(e);break;default:a.default.system.error("bootEngine.startReadyItem: unknown boot type",e)}e.config.checkpointsIncluded&&(a.default.system.debug("bootEngine.startReadyItem new BootCheckpointEngine",e.config.name,e),this.checkpointEngines[e.config.name]=new h.BootCheckpointEngine(e.config.name,this.currentStage,e.config.timeout,e.config.checkpointConfig))}setStateForList(e,t){for(let r=0;r<e.length;r++){const n=e[r];this.dependencyGraphs[this.currentStage].setBootDependencyState(n.name,t)}}processReadyList(e){a.default.system.debug("bootEngine.processReadyList",e),this.setStateForList(e,"starting");for(let t=0;t<e.length;t++){const r=e[t];this.startReadyItem(r)}}processWhatIsReady(e){const t=e.getCurrentStatus();if(a.default.system.debug("bootEngine processWhatIsReady",t,e),console.log("processWhatIsReady",t),++this.processStatusCounter>500)a.default.system.error("bootEngine.processWhatIsReady is in infinite loop -- breaking out",this.processStatusCounter);else switch(t.graphState){case"error":this.stageRejecter&&this.stageRejecter(t.errorDiag);break;case"notFinished":this.processReadyList(t.readyToStartList);break;case"finished":this.stageResolver&&this.stageResolver()}}}},81057:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AddAppDefinitionsToDesktopAgentTask=void 0;const i=n(r(72551)),o=n(r(70010)),s=new(n(r(17703)).default);t.AddAppDefinitionsToDesktopAgentTask=class{async start(e){i.default.system.log("AddAppDefinitionsToDesktopAgentTask startup");let{data:t}=await o.default.getValue({field:"finsemble.appd"});await s.addAppDefinitions(t),e("addAppDefinitionsToDesktopAgentTask","bootTasks","completed")}}},1271:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckForScheduledRestartTask=void 0;const i=n(r(72551)),o=n(r(39319)),s=n(r(70010)),a=n(r(6008));let u=6e4;t.CheckForScheduledRestartTask=class{start(e){i.default.system.debug("checkForScheduledRestartTask start"),this.checkForScheduledRestart(),this.dialogManager=r(87346).default,this.dialogManager.initialize(),e("checkForScheduledRestartTask","bootTasks","completed")}checkForScheduledRestart(){let e=null,t=(t,r)=>{if(i.default.system.log("checkForScheduledRestart scheduleRestart.",t,r),console.log("Scheduling restart.",r),e&&clearTimeout(e),!r.value)return;let n=r.value,l=new Date;l.setHours(n.hour),l.setMinutes(n.minute);let c=+l-Date.now(),d=!1;c<=0&&(d=!0,l.setDate(l.getDate()+1),c=+l-Date.now()),i.default.system.log("checkForScheduledRestart scheduleRestart.",t,r),i.default.system.log(`APPLICATION LIFECYCLE:SCHEDULED RESTART FOR ${d?"TOMORROW":"TODAY"}:`,r.value,"diff",c),e=setTimeout((()=>{i.default.system.log("Scheduling restart"),this.dialogManager.createStore((()=>{i.default.system.log("Scheduling restart: after createStore"),this.dialogManager.open("yesNo",{monitor:"primary",title:"Automatic Restart",question:"The application will restart in one minute. Your workspace will be saved.",showTimer:!0,timerDuration:u,showNegativeButton:!1,affirmativeResponseLabel:"Restart Now"},(async(e,t)=>{"cancel"===t.choice?s.default.getValue({field:"finsemble.scheduledRestart"},((e,t)=>{s.default.setPreference({field:"finsemble.scheduledRestart",value:t})})):(await a.default.save(),o.default.transmit("Application.restart",{}))}))}))}),c)};s.default.getValue({field:"finsemble.scheduledRestart"},((e,r)=>{r&&!isNaN(r.dialogTimeout)&&(u=r.dialogTimeout),i.default.system.log("scheduledRestart initial config",r),t(e,{value:r})})),s.default.addListener({field:"finsemble.scheduledRestart"},((e,r)=>{i.default.system.log("scheduledRestart new config",r),r.value?i.default.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART TIME CHANGED. NEW TIME:",r.value):i.default.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART DISABLED."),t(e,r)}))}}},13810:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HideSplashScreenTask=void 0;const i=n(r(72551)),o=n(r(70010)),s=r(51742);t.HideSplashScreenTask=class{start(e){i.default.system.log("Hide Splash Screen Task Started. If splashScreenTimeout is 0, this hides the splash screen."),o.default.getValue("splashScreenTimeout",((t,r)=>{r||s.System.hideSplashScreen(),e("hideSplashScreenTask","bootTasks","completed")}))}}},82878:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeDeepLinkingTask=void 0;const i=n(r(72551)),o=r(51742);t.InitializeDeepLinkingTask=class{start(e){o.System.getProtocolString().then((e=>{i.default.system.log(`initializeDeepLinkingTask startup ${e}`)})),e("initializeDeepLinkingTask","bootTasks","completed")}}},95:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeFinsemblePubsubTask=void 0;const i=n(r(72551)),o=n(r(39319));t.InitializeFinsemblePubsubTask=class{start(e){i.default.system.debug("initializeFinsemblePubsubTask start"),o.default.addPubSubResponder(/.*Finsemble.*/,{}),e("initializeFinsemblePubsubTask","bootTasks","completed")}}},15691:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeRouterTask=void 0;const i=n(r(39319)),o=n(r(72551));t.InitializeRouterTask=class{constructor(e){this.serviceLauncher=e.serviceLauncher}start(e){const t=this.serviceLauncher.getServiceConfig("router");this.serviceLauncher.createService(t),o.default.system.log("initializeRouterService",t),i.default.onReady((()=>{e("initializeRouterTask","bootTasks","completed")}))}}},77215:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeSystemManagerAPITask=void 0;const a=o(r(78379)),u=s(r(39319)),l=s(r(72551)),c=r(33509);t.InitializeSystemManagerAPITask=class{constructor(e){this.systemLog=e.systemLog,this.bootEngine=e.bootEngine}start(e){l.default.system.debug("initializeSystemManagerAPITask start"),u.default.addListener(c.SYSLOG_CHANNEL,((e,t)=>{t?.data.params.error?this.systemLog.error(t.data.params,t.data.logMessage):t?.data.params.notification?this.systemLog.notification(t.data.params,t.data.logMessage):this.systemLog.log(t?.data.params,t?.data.logMessage)})),u.default.addListener(a.SERVICE_START_CHANNEL,((e,t)=>{this.bootEngine.startService(t?.data.name)})),e("initializeSystemManagerAPITask","bootTasks","completed")}}},98690:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeSystemStateHandersTask=void 0;const a=s(r(39319)),u=s(r(72551)),l=o(r(78379)),c=s(r(5020));t.InitializeSystemStateHandersTask=class{constructor(){this.ServiceStates={}}start(e){u.default.system.debug("initializeSystemStateHandersTask start"),a.default.addPubSubResponder("AuthorizationState",{state:"undefined"}),a.default.addPubSubResponder(/WorkspaceService.*/,{state:"start"}),a.default.addPubSubResponder(l.APPLICATION_STATE_CHANNEL,{state:"initializing"},{publishCallback:(e,t)=>{u.default.system.log("APPLICATION LIFECYCLE: STATE CHANGE",t.data.state),t.sendNotifyToAllSubscribers(null,t.data)}}),a.default.addListener(l.SERVICE_INITIALIZING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.name,state:"initializing"})})),a.default.addListener(l.SERVICE_READY_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.serviceName,state:"ready"})})),a.default.addListener(l.SERVICE_CLOSING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.name,state:"closing"})})),a.default.addListener(l.SERVICE_CLOSED_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.name,state:"closed"})})),c.default.waitForStartup("dataStoreService",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"configuring"})})),c.default.waitForBootStage("kernel","stageEntered",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"initializing"})})),c.default.waitForBootStage("authentication","stageEntered",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"authenticating"})})),c.default.waitForBootStage("authentication","stageCompleted",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"authenticated"})})),c.default.waitForBootStage("user","stageEntered",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"ready"})})),e("initializeSystemStateHandersTask","bootTasks","completed")}handleServiceStateChange(e){const t=e.name,r=e.state;this.ServiceStates[t]={state:r};const n=`SERVICE LIFECYCLE: STATE CHANGE: Service ${r}`;u.default.system.log(n,t),a.default.publish(`Finsemble.Service.State.${t}`,{state:r}),a.default.publish(l.SERVICES_STATE_CHANNEL,this.ServiceStates)}}},49391:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LoadAppDInstalledComponentsTask=void 0;const i=r(57664),o=n(r(72551)),s=n(r(9562)),a=n(r(70010)),u=n(r(43190)),l=n(r(39319)),c=n(r(14291)),d=n(r(18523));let f,h;const p="loadAppDInstalledComponentsTask";t.LoadAppDInstalledComponentsTask=class{start(e){o.default.system.debug("LoadAppDInstalledComponentsTask start"),a.default.getValue({field:"finsemble.appDirectoryEndpoint"},((t,r)=>{null===r?(o.default.system.debug("LoadAppDInstalledComponentsTask appDirectoryEndpoint is not set. No components to load."),e(p,"bootTasks","completed")):l.default.subscribe("distributedStoresLoading",((t,n)=>{t||"done"!==n.data.State||u.default.getStore({store:"Finsemble-AppLauncher-Store",global:!0},((t,n)=>{const a=n||{};let u={};if(t)o.default.system.debug("LoadAppDInstalledComponentsTask error",t),e(p,"bootTasks","completed");else{if(void 0===a.values||void 0===a.values.appDefinitions)return void e(p,"bootTasks","completed");u=a.values.appDefinitions,i.forEach(u,((e,t)=>{this.lazyLoadAppD(r),this.getApp(e.appID,((r,n)=>{r&&(console.error("There was an error loading from FDC3",e,r),t()),s.default.registerComponent({componentType:e.name,manifest:JSON.parse(n.manifest)},(e=>{o.default.system.debug("LoadAppDInstalledComponentsTask err",e),t()}))}))}),(()=>{o.default.system.debug("LoadAppDInstalledComponentsTask done"),e(p,"bootTasks","completed")}))}}))}))}))}getApp(e,t=Function.prototype){h.get(e).then((e=>t(null,e))).catch((e=>t(e)))}lazyLoadAppD(e){f||(f=new d.default({url:e})),h||(h=new c.default(f))}}},6199:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LoadSystemTrayIconTask=void 0;const a=s(r(72551)),u=s(r(9562)),l=r(51742),c=o(r(76420)),d=s(r(70010)),f=s(r(13854));t.LoadSystemTrayIconTask=class{async start(e){a.default.system.debug("loadSystemTrayIconTask start"),f.default.shutdown.waitFor({},this.handleShutdown.bind(this));const{data:t}=await d.default.getValue({field:"finsemble.systemTrayIcon"});let{data:r}=await d.default.getValue({field:"finsemble.systemTrayComponent"});d.default.addListener({field:"finsemble.systemTrayIcon"},((e,t)=>{this.removeSystemTrayIcon();let n=t.value;this.setupSystemTray(n,r)})),t&&this.setupSystemTray(t,r),e("loadSystemTrayIconTask","bootTasks","completed")}setupSystemTray(e,t){const r={clickListener(e){a.default.system.debug("System Tray Icon Clicked"),l.System.getMousePosition(((r,n)=>{switch(e.button){case 0:u.default.getActiveDescriptors(((e,t)=>{if(!e){const e=Object.keys(t);u.default.bringWindowsToFront({windowList:e})}}));break;case 2:l.System.Application.getCurrent().getTrayIconInfo((e=>{c.Monitors.getMonitorFromScaledXY(n.left,n.top,(r=>{const i={spawnIfNotFound:!0,monitor:r.position,left:null,right:null,top:null,bottom:null},o=r.monitorRect,s=e.monitorInfo?e.monitorInfo.taskbar:r.taskbar;n.left-o.left<=o.right-n.left?(i.left=n.left,"left"==s.edge&&i.left<s.right&&(i.left=s.right+1)):("right"==s.edge&&n.left<s.right&&(n.left=s.right-1),i.right=o.right-n.left),n.top-o.top<=o.bottom-n.top?(i.top=n.top,"top"==s.edge&&i.top<s.top&&(i.top=s.top+1)):("bottom"==s.edge&&n.top>s.top&&(n.top=s.top-1),i.bottom=o.bottom-n.top),t&&u.default.showWindow({componentType:t},i,(()=>{}))}))}))}}))}};a.default.system.log("Setting system tray icon"),l.System.Application.getCurrent().setTrayIcon(e,r)}removeSystemTrayIcon(){l.System.Application.getCurrent().removeTrayIcon((()=>{a.default.system.debug("System Tray Icon removed")}),(()=>{a.default.system.error("Unable to remove System Tray Icon")}))}handleShutdown(){this.removeSystemTrayIcon()}}},16453:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LoadUserDefinedComponentsTask=void 0;const i=r(57664),o=n(r(72551)),s=n(r(9562)),a=n(r(63862));t.LoadUserDefinedComponentsTask=class{start(e){o.default.system.debug("loadUserDefinedComponentsTask start"),a.default.onReady((()=>{a.default.get({topic:"finsemble",key:"userDefinedComponents"},((t,r)=>{const n=r||{};if(t)o.default.system.debug("loadUserDefinedComponentsTask error",t),e("loadUserDefinedComponentsTask","bootTasks","failed");else{const t=Object.keys(n);i.forEach(t,((e,t)=>{const r=n[e];s.default.addUserDefinedComponent({name:r.component.type,url:r.window.url},t)}),(()=>{e("loadUserDefinedComponentsTask","bootTasks","completed")}))}}))}))}}},75089:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RegisterHotkeysTask=void 0;const i=n(r(72551)),o=n(r(9562)),s=n(r(68718)),a=n(r(70010));t.RegisterHotkeysTask=class{async start(e){i.default.system.debug("registerHotkeysTask start");const{data:t}=await a.default.getValue({field:"finsemble.components"});Object.keys(t).forEach((e=>{const r=t[e];if(r.component&&r.component.spawnOnHotkey){const t=()=>{o.default.spawn(e,{addToWorkspace:!0,monitor:"primary"},Function.prototype)};s.default.addGlobalHotkey(r.component.spawnOnHotkey,t)}})),e("registerHotkeysTask","bootTasks","completed")}}},65250:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SetupSearchLauncherTask=void 0;const i=n(r(30975)),o=n(r(74602)),s=n(r(72551)),a=n(r(9321)),u=n(r(9562)),l=n(r(39319)),c=n(r(70010));t.SetupSearchLauncherTask=class{constructor(){this.componentArray=[],a.default.initialize(),l.default.subscribe("Launcher.update",((e,t)=>{s.default.debug("SetupSearchLauncherTask component list updated",e,t),e||(this.componentArray=this.getRefinedComponentData(t.data.componentList))}))}getRefinedComponentData(e){const t=[];for(const r in e){const n=e[r];n.foreign||(n.foreign={}),n.component||(n.component={}),n.component.type=r,t.push(n),s.default.system.debug("setupSearchLauncherTask oneConfig",r,n)}return s.default.system.debug("setupSearchLauncherTask refinedComponents",t),t}async start(e){s.default.system.debug("setupSearchLauncherTask start");const{data:t}=await c.default.getValue({field:"finsemble.servicesConfig"}),{data:r}=await c.default.getValue({field:"finsemble.components"});this.componentArray=this.getRefinedComponentData(r),s.default.system.debug("setupSearchLauncherTask config",t,this.componentArray);const n={title:null,providerActionComponent:null};t&&t.launcher&&t.launcher.searchProviderAction&&(n.title=t.launcher.searchProviderAction.title,n.providerActionComponent=t.launcher.searchProviderAction.component),a.default.onReady((()=>{a.default.register({name:"Installed Components",searchCallback:this.searchComponents.bind(this),itemActionCallback:this.searchActions.bind(this),providerActionTitle:n.title,providerActionCallback(e){s.default.system.debug("setupSearchLauncherTask providerActionCallback",e),u.default.spawn(n.providerActionComponent,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:e}},Function.prototype)}},(()=>{e("setupSearchLauncherTask","bootTasks","completed")}))}))}searchComponents(e,t){const r=[];let n,s={shouldSort:!0,includeScore:!0,includeMatches:!0,threshold:.4,location:0,distance:100,minMatchCharLength:1,keys:["component.displayName","component.type"]};c.default.getValue({field:"finsemble.servicesConfig.launcher.search"},((a,u)=>{if(null!=u){if(u.hasOwnProperty("enabled")&&!u.enabled)return void t(null,[]);u.hasOwnProperty("options")&&(s=o.default(s,u.options))}const l=new i.default(this.componentArray,s);n=e.text.length?l.search(e.text):JSON.parse(JSON.stringify(this.componentArray));for(let t=0;t<n.length;t++){const i=n[t];if(i.item||e.text.length||(i.item=i),i.item.foreign&&i.item.foreign.components&&i.item.foreign.components["App Launcher"]&&i.item.foreign.components["App Launcher"].launchableByUser){let e=null;i.item.window.icon&&(e={type:"url",path:i.item.window.icon}),!e&&i.item.foreign&&i.item.foreign.components&&i.item.foreign.components.Toolbar&&(i.item.foreign.components.Toolbar.iconClass?e={type:"fonticon",path:i.item.foreign.components.Toolbar.iconClass}:i.item.foreign.components.Toolbar.iconURL&&(e={type:"url",path:i.item.foreign.components.Toolbar.iconURL})),r.push({name:i.item.component.type,displayName:i.item.component.displayName||i.item.component.type,score:i.score,matches:i.matches,icon:e,type:"Application",description:"",actions:[{name:"Spawn"}],tags:[]})}}t(null,r)}))}searchActions(e,t){e.action&&e.item&&"Spawn"===e.action.name&&u.default.spawn(e.item.name,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:t}},Function.prototype)}}},25929:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StartLoggerTask=void 0;const i=n(r(72551));t.StartLoggerTask=class{start(e){i.default.system.debug("startLoggerTask start"),i.default.start(),e("startLoggerTask","bootTasks","completed")}}},83780:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckpointBadDependencyTestTask=void 0;const i=n(r(5020)),o="checkpointBadDependencyTestTask";t.CheckpointBadDependencyTestTask=class{start(e){i.default.publishCheckpointState(o,"checkpoint1","completed"),i.default.publishCheckpointState(o,"checkpoint2","completed"),i.default.publishCheckpointState(o,"checkpoint3","completed"),i.default.publishCheckpointState(o,"checkpoint4","completed"),i.default.publishCheckpointState(o,"checkpoint5","completed"),i.default.publishCheckpointState(o,"checkpoint6","completed"),i.default.publishCheckpointState(o,"checkpoint7","completed"),i.default.publishCheckpointState(o,"checkpoint8","completed"),setTimeout((()=>{e(o,"bootTasks","completed")}),2e3)}}},65887:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckpointCircularDependencyTestTask=void 0;const i=n(r(5020)),o="checkpointCircularDependencyTestTask";t.CheckpointCircularDependencyTestTask=class{start(e){i.default.publishCheckpointState(o,"checkpoint1","completed"),i.default.publishCheckpointState(o,"checkpoint2","completed"),i.default.publishCheckpointState(o,"checkpoint3","completed"),i.default.publishCheckpointState(o,"checkpoint4","completed"),i.default.publishCheckpointState(o,"checkpoint5","completed"),i.default.publishCheckpointState(o,"checkpoint6","completed"),i.default.publishCheckpointState(o,"checkpoint7","completed"),i.default.publishCheckpointState(o,"checkpoint8","completed"),setTimeout((()=>{e(o,"bootTasks","completed")}),2e3)}}},52973:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckpointErrorTestTask=void 0;const i=n(r(5020)),o="checkpointErrorTestTask";t.CheckpointErrorTestTask=class{start(e){i.default.publishCheckpointState(o,"checkpoint1","completed"),i.default.publishCheckpointState(o,"checkpoint2","completed"),i.default.publishCheckpointState(o,"checkpoint3","completed"),i.default.publishCheckpointState(o,"checkpoint4","completed"),i.default.publishCheckpointState(o,"checkpoint5","completed"),i.default.publishCheckpointState(o,"checkpoint6","failed"),setTimeout((()=>{e(o,"bootTasks","completed")}),2e3)}}},9822:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForceErrorTestTask=void 0,t.ForceErrorTestTask=class{start(e){e("forceErrorTestTask","bootTasks","failed")}}},52699:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UpdateServiceLauncherConfigTask=void 0;const i=n(r(70010));t.UpdateServiceLauncherConfigTask=class{constructor(e){this.serviceLauncher=e.serviceLauncher}async start(e){const t=await i.default.getValue({field:"finsemble"});this.serviceLauncher.updateConfig(t.data),e("updateServiceLauncherConfigTask","bootTasks","completed")}}},71075:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForAuthenticatedTask=void 0;const i=n(r(39319)),o=n(r(72551));t.WaitForAuthenticatedTask=class{start(e){o.default.system.debug("waitForAuthenticatedTask start"),i.default.addPubSubResponder("Authorization",{});const t=i.default.subscribe("Authorization",(r=>{r||(i.default.unsubscribe(t),e("waitForAuthenticatedTask","bootTasks","completed"))}))}}},68108:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForUpdateDownloadTask=void 0;const i=n(r(72551)),o=n(r(39319)),s=r(51742),a=n(r(70010)),u=n(r(73699));t.WaitForUpdateDownloadTask=class{async start(e){i.default.system.debug("waitForUpdateDownloadTask start");const{data:t}=await a.default.getValue({field:"finsemble.waitForUpdate"});t?s.System.getUpdateAvailable((t=>{t?(i.default.system.debug("Waiting for update to download"),u.default.alert("alert","ONCE-SINCE-STARTUP","Waiting for download","Update available. Waiting for it to download before starting."),s.System.addEventListener("apply-update-requested",(()=>{i.default.system.debug("Update downloaded... restarting"),o.default.transmit("Application.restart",{})}))):(i.default.system.debug("Update not available... continue startup"),e("waitForUpdateDownloadTask","bootTasks","completed"))})):(i.default.system.debug("Starting without waiting for update to download"),e("waitForUpdateDownloadTask","bootTasks","completed"))}}},95269:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkpointChannel=t.statusChannel=t.killOldApplications=void 0;const n=r(51742),i=r(33509);t.killOldApplications=function(e){return new Promise((async t=>{n.System.getAllApplications((async r=>{if(r)for(let t=0;t<r.length;t++){const i=r[t];if(i.uuid?.endsWith(`-${e}`)){const e=n.System.Application.wrap(i.uuid);await n.System.closeApplication(e)}}console.log("killOldApplications: finished closing old apps"),t()}))}))},t.statusChannel=function(e){return`${i.STATUS_CHANNEL_BASE}.${e}`},t.checkpointChannel=function(e,t){return`${i.CHECKPOINT_CHANNEL_BASE}.${e}.${t}`}},32214:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceLauncher=void 0;const i=n(r(72551)),o=r(51742),s=n(r(35331)),a=n(r(5020)),u=r(80089),l=r(74602);t.ServiceLauncher=class{constructor(e){this.runningServices={},this.workerTop=100,this.workerLeft=100,this.webWorkers={},this.finUUID=e.finUUID,this.manifest=e.manifest,this.finsembleConfig=e.manifest.finsemble,this.shutdownManager=e.shutdownManager}updateConfig(e){this.finsembleConfig=e}updateManifest(e){this.manifest=e}getServiceConfig(e){let t=e;const r=t.indexOf("Service");-1!==r&&(t=t.substring(0,r));const n=`${t}Service`;return this.mergeConfig([{path:"system.requiredServicesConfig",entry:n},{path:"system.requiredServicesConfig",entry:t},{path:"services",entry:n},{path:"services",entry:t},{path:"servicesConfig",entry:n},{path:"servicesConfig",entry:t}])}createService(e,t){if(this.runningServices[e.name])return;this.runningServices[e.name]=!0;const r=this.getServiceConfig(e.name);r.parentUuid=this.finUUID;const n=this.composeWorkerConfig(Object.assign({},e,r));if(i.default.system.debug("createService",n),!n.name){let t="Tried to create a service without a name. Check your config.";return e&&r&&(t+=`\n\t\t\t\tconfig: ${JSON.stringify(e,null,4)}\n\t\t\t\tupdatedConfig: ${JSON.stringify(r,null,4)}`),void a.default.systemLog({error:!0},t)}let{spawnAs:o}=n;switch(!o&&n.isolate&&(o="process"),o||(o="window"),o){case"window":this.launchServiceAsWindow(r,n,t);break;case"process":this.launchServiceAsProcess(r,n);break;case"script":this.launchServiceAsScript(r);break;case"thread":this.launchServiceAsThread(r,n)}this.workerTop=this.workerTop+25,this.workerLeft=this.workerLeft+25}mergeConfig(e){let t={};return e.forEach((e=>{t=l(t,u(this.finsembleConfig,`${e.path}.${e.entry}`,{}))})),t}launchServiceAsScript(e){const t=e.file,r=document.createElement("script");r.setAttribute("src",t),document.head.appendChild(r)}launchServiceAsThread(e,t){const r=e.file;this.webWorkers[t.name]=new Worker(r)}launchServiceAsWindow(e,t,r){new o.System.Window(t,(()=>{const e=o.System.Window.wrap(t.uuid,t.name);this.onServiceCreated(e)}),this.onServiceCreationError)}launchServiceAsProcess(e,t){t.uuid=`${t.name}-${this.finUUID}`,t.parentUUID=this.finUUID,console.info(t.name,t);const r=new o.System.Application(t,(()=>{const e=o.System.Window.wrap(t.uuid,t.name);this.onServiceCreated(e),this.shutdownManager.addAppToShutdownList(r)}))}composeWorkerConfig(e){const t=l(e,{manifest:this.manifest}),r={url:e.external?e.html:e.html||"base.html",name:e.name,defaultTop:this.workerTop,defaultLeft:this.workerLeft,autoShow:e.visible,frame:e.frame,customData:t,alwaysOnTop:!1,fixedPosition:!1,saveWindowState:!1,cornerRounding:!0,waitForPageLoad:!0,isolate:e.isolate,spawnAs:e.spawnAs,affinity:e.affinity,securityPolicy:e.securityPolicy||null,permissions:e.permissions||{},icon:this.manifest.startup_app?this.manifest.startup_app.applicationIcon:null},n=l(r,e.window||{});return this.finsembleConfig.securityPolicies&&(n.securityPolicy=s.default.getSecurityPolicy(n,this.finsembleConfig),n.permissions=s.default.getPermissions(n,this.finsembleConfig)),n}onServiceCreated(e){i.default.system.debug("OnworkerCreated",e.name),e.addEventListener("reloaded",(()=>{i.default.system.debug("Service Reloaded",e.name)}))}onServiceCreationError(e){i.default.system.error("error",e)}}},67610:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ShutdownManager=void 0;const a=r(57664),u=s(r(72551)),l=r(51742),c=s(r(39319)),d=o(r(78379)),f=r(13854);class h{constructor(e){this.quitType="quit",this.servicesLoaded=[],this.servicesResponded=[],this.waitFor=[],this.createdApps=[],this.splinterAgentPool=null,this.finsembleConfig=e.manifest.finsemble,this.finUUID=e.finUUID,this.forceRestart=this.forceRestart.bind(this)}setSplinterAgentPool(e){this.splinterAgentPool=e}async attemptQuit(){await this.waitForMonitorsToBeReleased(),"quit"===this.quitType?this.shutdownFinsemble():"restart"===this.quitType&&this.forceRestart()}forceRestart(){u.default.system.debug("shutdownManager.forceRestart"),l.System.Application.getCurrent().restart()}closeAllApplications(e){console.info("APPLICATION LIFECYCLE:SHUTDOWN:Closing all applications:start"),a.series([e=>{this.splinterAgentPool?this.splinterAgentPool.shutdown(e):e()},async()=>{for(const e of this.createdApps)await l.System.closeApplication(e)}],e)}shutdownFinsemble(){this.closeAllApplications((()=>{l.System.closeApplication(l.System.Application.getCurrent())}))}async transmitShutdownRequest(){l.System.hideSplashScreen();const e="APPLICATION LIFECYCLE:SHUTDOWN:transmitShutdownRequest:Sending out message to shut down.";console.info(e),u.default.system.log(e),c.default.publish(d.APPLICATION_STATE_CHANNEL,{state:"closing"});const t=this.finsembleConfig.shutdownTimeout||1e4;await this.waitForMonitorsToBeReleased(),setTimeout((()=>{l.System.closeApplication(l.System.Application.getCurrent())}),t)}async transmitRestartRequest(e){const t="APPLICATION LIFECYCLE:SHUTDOWN:transmitRestartRequest:Sending out message to shut down.";if(console.info(t),u.default.system.log(t),u.default.system.debug("shutdownManager.transmitRestartRequest"),this.quitType="restart",c.default.publish(d.APPLICATION_STATE_CHANNEL,{state:"closing"}),await this.waitForMonitorsToBeReleased(),e?.forceRestart)this.forceRestart();else{const e=this.finsembleConfig.shutdownTimeout||1e4;setTimeout(this.forceRestart,e)}}async waitForMonitorsToBeReleased(){return u.default.system.debug("shutdownManager.waitForMonitorsToBeReleased"),new Promise((async e=>{let t=0;const r=this.finsembleConfig.shutdownTimeout||1e4;setTimeout(e,r);let n=await this.areAllMonitorsReleased();for(;!n&&t<50;)t+=1,n=await this.areAllMonitorsReleased();n?e():setTimeout(e,2e3)}))}async areAllMonitorsReleased(){u.default.system.verbose("shutdownManager.areAllMonitorsReleased");let e=await l.System.getMonitorInfo();return!e||!!this.isMonitorReleased(e.primaryMonitor)&&(e.nonPrimaryMonitors.forEach((e=>{if(!this.isMonitorReleased(e))return!1})),!0)}isMonitorReleased(e){let{top:t,bottom:r,left:n,right:i}=e.monitorRect;switch(e.taskbar.edge){case"bottom":r-=e.taskbar.height;break;case"top":t+=e.taskbar.height;break;case"left":n+=e.taskbar.width;break;case"right":i-=e.taskbar.width}return e.availableRect.top===t&&e.availableRect.bottom===r&&e.availableRect.left===n&&e.availableRect.right===i}}t.ShutdownManager=class{constructor(e){u.default.system.log("shutdownManager",e),this.manifest=e.manifest,this.finsembleConfig=e.manifest.finsemble,this.shutdown=new h({finUUID:e.finUUID,manifest:e.manifest}),this.shutdownList=[],this.restart=this.restart.bind(this),c.default.onReady((()=>{u.default.system.debug("Adding Listeners for shutdown and restart"),this.dialogManager=r(87346).default,this.dialogManager.initialize(),c.default.addListener("Application.shutdown",(()=>{this.shutdown.transmitShutdownRequest()})),c.default.addListener("Application.restart",((e,t)=>{this.shutdown.transmitRestartRequest(t?.data)}))})),l.System.addEventListener("apply-update-requested",(()=>{u.default.system.log("Apply update requested: after onReady"),this.dialogManager.createStore((()=>{this.dialogManager.open("yesNo",{monitor:"primary",title:"Application Update",question:"A new version has been downloaded. Do you want to restart the application now to apply the updates?",showTimer:!1,showNegativeButton:!1,affirmativeResponseLabel:"Restart Now"},(async(e,t)=>{"cancel"!==t.choice&&c.default.transmit("Application.restart",{})}))}))}))}setSplinterAgentPool(e){this.shutdown.setSplinterAgentPool(e)}addAppToShutdownList(e){this.shutdownList.push(e)}addActiveServicesToDependencyManager(e){const t=e.filter((e=>"routerService"!==e));u.default.system.debug("shutdownManager.addActiveServicesToDependencyManager: Will wait for the following services at shutdown",t),console.log("Will wait for the following services at shutdown",t),(new f.FSBLDependencyManager).shutdown.waitFor({services:t},this.shutdown.attemptQuit.bind(this.shutdown))}restart(){this.shutdown.transmitRestartRequest()}}},72973:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SystemLog=void 0;const i=r(51742),o=n(r(72551)),s=r(33509);class a{constructor(){this.onErrorMakeSystemManagerVisible=!0,this.catastrophicFailure=!1}initialize(e){this.onErrorMakeSystemManagerVisible=e;const t=i.System.Window.getCurrent();setTimeout((()=>{r(39319).default.addListener(s.SHOW_SYSLOG_CHANNEL,(()=>{this.showSystemLog()}))}),2e3),setTimeout((()=>{t.bringToFront()}),15e3),t.addEventListener("close-requested",(()=>{this.catastrophicFailure?i.System.exit():this.hideSystemLog()}))}log(e,t,r=""){o.default.system.debug("SystemLog.log",e,t,r);let n="";console.log("SYSTEM LOG",t,r);const i=document.getElementById("log");e.leadingBlankLine&&(i.innerHTML=`${i.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),i.innerHTML=`${i.innerHTML}<span>${n}${t}<br /></span>`,""!=r&&(i.innerHTML=`${i.innerHTML}${JSON&&JSON.stringify?JSON.stringify(r):r}<br />`)}warn(e,t,r){o.default.system.debug("SystemLog.warn",e,t,r);let n="";this.onErrorMakeSystemManagerVisible&&this.showSystemLog(),r=r||"",console.error("SYSTEM LOG ERROR",t,r);const i=document.getElementById("log");e.leadingBlankLine&&(i.innerHTML=`${i.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),i.innerHTML=`${i.innerHTML}<span style='color: #DC951F;'>${n}${t}<br /></span>`,""!=r&&(i.innerHTML=`${i.innerHTML}<span style='color: #DC951F;'>${n}${JSON&&JSON.stringify?JSON.stringify(r):r}<br /></span>`)}error(e,t,r){o.default.system.debug("SystemLog.error",e,t,r),t.includes("Terminating Boot")&&(this.catastrophicFailure=!0);let n="";this.onErrorMakeSystemManagerVisible?this.showSystemLog():this.catastrophicFailure&&i.System.exit(),r=r||"",console.error("SYSTEM LOG ERROR",t,r);const s=document.getElementById("log");e.leadingBlankLine&&(s.innerHTML=`${s.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),s.innerHTML=`${s.innerHTML}<span style='color: #F26666;'>${n}${t}<br /></span>`,""!=r&&(s.innerHTML=`${s.innerHTML}<span style='color: #F26666;'>${n}${JSON&&JSON.stringify?JSON.stringify(r):r}<br /></span>`)}notification(e,t,r){o.default.system.debug("SystemLog.notification",e,t,r);let n="";r=r||"",console.error("SYSTEM LOG NOTIFICATION",t,r);const i=document.getElementById("notification");e.leadingBlankLine&&(i.innerHTML=`${i.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),i.innerHTML=`${i.innerHTML}<span style='color: #0A8CF4;'>${n}${t}<br /></span>`,""!=r&&(i.innerHTML=`${i.innerHTML}<span style='color: #0A8CF4;'>${n}${JSON&&JSON.stringify?JSON.stringify(r):r}<br /></span>`)}showSystemLog(){const e=i.System.Window.getCurrent();e.show(),e.bringToFront(),i.System.hideSplashScreen()}hideSystemLog(){i.System.Window.getCurrent().hide()}}t.SystemLog=a;const u=new a;t.default=u},51001:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SystemManager=void 0;const i=n(r(72551)),o=n(r(72973)),s=r(63529),a=r(95269),u=r(32214),l=r(67610),c=r(51742),d=r(33998),f=r(95834),h=r(58275),p=r(82878),m=r(98690),g=r(15691),y=r(95),v=r(71075),w=r(77215),b=r(25929),S=r(75089),_=r(65250),C=r(16453),E=r(49391),P=r(6199),T=r(9822),k=r(52973),A=r(83780),L=r(65887),O=r(52699),I=r(1271),R=r(13810),D=r(68108),F=r(81057);n(r(63862)).default.initialize(),window.addEventListener("error",(e=>{const t=e.error&&e.error.stack?e.error.stack.substring(e.error.stack.search("at ")):"",r=`System Manager: ${e.message}<br />File: ${e.filename}<br />Line: ${e.lineno}<br />Column: ${e.colno}<br />${t}`;return o.default.error({leadingBlankLine:!0},r),!1}));class M{constructor(e){console.debug("Starting System Manager",e),c.System.startupApplicationHandshake(),this.manifest=e.manifest,this.initialize()}async initialize(){this.onErrorMakeSystemManagerVisible=d.ConfigUtilInstance.getDefault(this.manifest,"manifest.finsemble.bootConfig.onErrorMakeSystemManagerVisible",!1),o.default.initialize(!!this.onErrorMakeSystemManagerVisible),await h.DeprecatedConfigUtilInstance.modifyConfigBasedOnDeprecatedDefinitions("bootConfig",this.manifest),await f.SchemaUtilInstance.walkSchemaAndSetConfigDefaults(this.manifest),this.verifyConfig(this.manifest),this.finUUID=c.System.Application.getCurrent().uuid,console.log("finUUID",this.finUUID),!1!==this.manifest.finsemble.killOrphanApplications&&(console.log("killing applications"),await a.killOldApplications(this.finUUID)),window.mainWindow=c.System.Window.getCurrent(),i.default.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion)}async verifyConfig(e){let t=!0,r=await f.SchemaUtilInstance.validateConfig(e,"#/definitions/BootManifestSubschema");return r&&(o.default.error({},'Boot Config Errors: Ctrl+Shift-I on this window to see "JSON Schema Validation Errors" in System Manager\'s devTool console.'),console.error(r),t=!1),t}helpData(){return console.log("1) finsemble.bootConfig onErrorMakeSystemManagerVisible:",this.onErrorMakeSystemManagerVisible),console.log(""),this.bootEngine?.helpData(),"helpData complete"}reallyBoot(){try{this.shutdownManager=new l.ShutdownManager({finUUID:this.finUUID,manifest:this.manifest}),this.serviceLauncher=new u.ServiceLauncher({finUUID:this.finUUID,manifest:this.manifest,shutdownManager:this.shutdownManager}),window.bootEngine=this.bootEngine=new s.BootEngine(this.manifest,this.serviceLauncher,this.shutdownManager),this.registerBootTasks(this.bootEngine,this.manifest,this.serviceLauncher,this.shutdownManager),this.bootEngine.run()}catch(e){o.default.error({leadingBlankLine:!0},e)}}async boot(){await this.verifyConfig(this.manifest)?(!1!==this.manifest.finsemble.killOrphanApplications&&(console.log("killing applications"),await a.killOldApplications(this.finUUID)),i.default.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion),this.manifest.finsemble.debugSystemManager?c.System.showDeveloperTools(this.finUUID,this.manifest.startup_app.name,null,(()=>{setTimeout((()=>{this.reallyBoot()}),1e3)})):this.reallyBoot()):o.default.error({leadingBlankLine:!0},"FATAL ERROR: Prematurely terminating Finsemble.")}registerBootTasks(e,t,r,n){this.bootEngine?.registerBootTask("initializeDeepLinkingTask",(e=>{(new p.InitializeDeepLinkingTask).start(e)})),this.bootEngine?.registerBootTask("initializeRouterTask",(e=>{new g.InitializeRouterTask({manifest:t,serviceLauncher:r}).start(e)})),this.bootEngine?.registerBootTask("updateServiceLauncherConfigTask",(e=>{new O.UpdateServiceLauncherConfigTask({serviceLauncher:r}).start(e)})),this.bootEngine?.registerBootTask("initializeFinsemblePubsubTask",(e=>{(new y.InitializeFinsemblePubsubTask).start(e)})),this.bootEngine?.registerBootTask("initializeSystemStateHandersTask",(e=>{(new m.InitializeSystemStateHandersTask).start(e)})),this.bootEngine?.registerBootTask("testTask_initializeSplinterAgentPool",(e=>{this.bootEngine?.initializeSplinterAgentPoolTask(e)})),this.bootEngine?.registerBootTask("waitForUpdateDownloadTask",(e=>{(new D.WaitForUpdateDownloadTask).start(e)})),this.bootEngine?.registerBootTask("waitForAuthenticatedTask",(e=>{(new v.WaitForAuthenticatedTask).start(e)})),this.bootEngine?.registerBootTask("initializeSystemManagerAPITask",(t=>{new w.InitializeSystemManagerAPITask({bootEngine:e,systemLog:o.default}).start(t)})),this.bootEngine?.registerBootTask("startLoggerTask",(e=>{(new b.StartLoggerTask).start(e)})),this.bootEngine?.registerBootTask("loadUserDefinedComponentsTask",(e=>{(new C.LoadUserDefinedComponentsTask).start(e)})),this.bootEngine?.registerBootTask("loadAppDInstalledComponentsTask",(e=>{(new E.LoadAppDInstalledComponentsTask).start(e)})),this.bootEngine?.registerBootTask("registerHotkeysTask",(e=>{(new S.RegisterHotkeysTask).start(e)})),this.bootEngine?.registerBootTask("setupSearchLauncherTask",(e=>{(new _.SetupSearchLauncherTask).start(e)})),this.bootEngine?.registerBootTask("loadSystemTrayIconTask",(e=>{(new P.LoadSystemTrayIconTask).start(e)})),this.bootEngine?.registerBootTask("checkForScheduledRestartTask",(e=>{(new I.CheckForScheduledRestartTask).start(e)})),this.bootEngine?.registerBootTask("hideSplashScreenTask",(e=>{(new R.HideSplashScreenTask).start(e)})),this.bootEngine?.registerBootTask("addAppDefinitionsToDesktopAgentTask",(e=>{(new F.AddAppDefinitionsToDesktopAgentTask).start(e)})),this.bootEngine?.registerBootTask("forceErrorTestTask",(new T.ForceErrorTestTask).start),this.bootEngine?.registerBootTask("checkpointErrorTestTask",(new k.CheckpointErrorTestTask).start),this.bootEngine?.registerBootTask("checkpointCircularDependencyTestTask",(new A.CheckpointBadDependencyTestTask).start),this.bootEngine?.registerBootTask("checkpointBadDependencyTestTask",(new L.CheckpointCircularDependencyTestTask).start),this.bootEngine?.registerBootTask("checkpointBadDependencyTestTask",(new L.CheckpointCircularDependencyTestTask).start)}}t.SystemManager=M,c.System.ready((()=>{window.finsembleServices=[{name:"System Manager"}],d.ConfigUtilInstance.getInitialManifest((async e=>{console.log("APPLICATION LIFECYCLE:STARTUP: *** Initial manifest ***",e),i.default.system.log("forceObjectsToLogger","APPLICATION LIFECYCLE:STARTUP: *** Initial manifest ***",e);const t=new M({manifest:e});t.boot(),window.systemManager=t,window.helpData=window.systemManager.helpData.bind(window.systemManager)}))}))},35331:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(76420)),u=s(r(72551)),l=r(74602);t.default={getSecurityPolicy(e,t){let r=null;if(e.securityPolicy&&(r=t.securityPolicies[e.securityPolicy],r))return e.securityPolicy;const n=!e.url||a.crossDomain(e.url);let i=t.securityPolicyRules.sameDomain;return n&&(i=t.securityPolicyRules.crossDomain),!r&&e.securityPolicy&&u.default.system.error(`Security policy ${e.securityPolicy} not found. Defaulting to ${i}`),i},getPermissions(e,t){let r={System:{},Window:{},Application:{}},n={};if(e.permissions)try{n=JSON.parse(JSON.stringify(e.permissions))}catch(e){u.default.system.error("SpawnUtils:getPermissions: Unexpected JSON parsing error.")}r=l(r,n);const i=t.securityPolicies[e.securityPolicy];if(i){const e=Object.keys(i);for(let t=0;t<e.length;t++){const n=e[t],o=Object.keys(i[n]);r[n]||(r[n]={});for(let e=0;e<o.length;e++){const t=o[e],s=i[n][t];let a=r[n][t];a?!1===s&&(a=!1):void 0===a&&(a=s),r[n][t]=a}}}const o=!1===r.Window.close;return"windowService"===e.name&&o&&(u.default.system.error("Window Service cannot be restricted from closing windows, disabling restriction."),r.Window.close=!0),r}}},88801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},77661:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},80498:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},74215:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},19600:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},89520:(e,t)=>{"use strict";var r,n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelError=t.ResolveError=t.OpenError=void 0,(i=t.OpenError||(t.OpenError={})).AppNotFound="AppNotFound",i.ErrorOnLaunch="ErrorOnLaunch",i.AppTimeout="AppTimeout",i.ResolverUnavailable="ResolverUnavailable",(n=t.ResolveError||(t.ResolveError={})).NoAppsFound="NoAppsFound",n.ResolverUnavailable="ResolverUnavailable",n.ResolverTimeout="ResolverTimeout",(r=t.ChannelError||(t.ChannelError={})).NoChannelFound="NoChannelFound",r.AccessDenied="AccessDenied",r.CreationFailed="CreationFailed"},55182:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},35644:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},66129:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},51854:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},36611:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.versionIsAtLeast=t.compareVersionNumbers=t.getInfo=t.leaveCurrentChannel=t.getCurrentChannel=t.getOrCreateChannel=t.joinChannel=t.getSystemChannels=t.addContextListener=t.addIntentListener=t.raiseIntentForContext=t.raiseIntent=t.broadcast=t.findIntentsByContext=t.findIntent=t.open=t.fdc3Ready=void 0;const r=new Error("FDC3 DesktopAgent not available at `window.fdc3`."),n=new Error("Timed out waiting for `fdc3Ready` event."),i=new Error("`fdc3Ready` event fired, but `window.fdc3` not set to DesktopAgent.");function o(e){return window.fdc3?e():Promise.reject(r)}function s(e){if(!window.fdc3)throw r;return e()}t.fdc3Ready=async(e=5e3)=>new Promise(((t,r)=>{if(window.fdc3)t();else{const o=setTimeout((()=>window.fdc3?t():r(n)),e);window.addEventListener("fdc3Ready",(()=>{clearTimeout(o),window.fdc3?t():r(i)}),{once:!0})}})),t.open=function(e,t){return o((()=>window.fdc3.open(e,t)))},t.findIntent=function(e,t){return o((()=>window.fdc3.findIntent(e,t)))},t.findIntentsByContext=function(e){return o((()=>window.fdc3.findIntentsByContext(e)))},t.broadcast=function(e){s((()=>window.fdc3.broadcast(e)))},t.raiseIntent=function(e,t,r){return o((()=>window.fdc3.raiseIntent(e,t,r)))},t.raiseIntentForContext=function(e,t){return o((()=>window.fdc3.raiseIntentForContext(e,t)))},t.addIntentListener=function(e,t){return s((()=>window.fdc3.addIntentListener(e,t)))},t.addContextListener=function(e,t){return s("function"!=typeof e?()=>window.fdc3.addContextListener(e,t):()=>window.fdc3.addContextListener(e))},t.getSystemChannels=function(){return o((()=>window.fdc3.getSystemChannels()))},t.joinChannel=function(e){return o((()=>window.fdc3.joinChannel(e)))},t.getOrCreateChannel=function(e){return o((()=>window.fdc3.getOrCreateChannel(e)))},t.getCurrentChannel=function(){return o((()=>window.fdc3.getCurrentChannel()))},t.leaveCurrentChannel=function(){return o((()=>window.fdc3.leaveCurrentChannel()))},t.getInfo=function(){return s((()=>window.fdc3.getInfo()))},t.compareVersionNumbers=(e,t)=>{try{let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let e=0;e<Math.max(r.length,n.length);e++){if(e===r.length||r[e]<n[e])return-1;if(e===n.length||r[e]>n[e])return 1}return 0}catch(e){return console.error("Failed to compare version strings",e),null}},t.versionIsAtLeast=(e,r)=>{let n=t.compareVersionNumbers(e.fdc3Version,r);return null===n?null:n>=0}},55972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},91767:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTypes=void 0,(r=t.ContextTypes||(t.ContextTypes={})).Contact="fdc3.contact",r.ContactList="fdc3.contactList",r.Country="fdc3.country",r.Instrument="fdc3.instrument",r.Organization="fdc3.organization",r.Portfolio="fdc3.portfolio",r.Position="fdc3.position"},91966:(e,t)=>{"use strict";function r(e,t,r=""){if(r)throw Error(`Invalid value for key "${r}". Expected type ${JSON.stringify(e)} but got ${JSON.stringify(t)}`);throw Error(`Invalid value ${JSON.stringify(t)} for type ${JSON.stringify(e)}`)}function n(e){if(void 0===e.jsonToJS){const t={};e.props.forEach((e=>t[e.json]={key:e.js,typ:e.typ})),e.jsonToJS=t}return e.jsonToJS}function i(e){if(void 0===e.jsToJSON){const t={};e.props.forEach((e=>t[e.js]={key:e.json,typ:e.typ})),e.jsToJSON=t}return e.jsToJSON}function o(e,t,n,i=""){if("any"===t)return e;if(null===t)return null===e?e:r(t,e);if(!1===t)return r(t,e);for(;"object"==typeof t&&void 0!==t.ref;)t=h[t.ref];return Array.isArray(t)?function(e,t){return-1!==e.indexOf(t)?t:r(e,t)}(t,e):"object"==typeof t?t.hasOwnProperty("unionMembers")?function(e,t){const i=e.length;for(let r=0;r<i;r++){const i=e[r];try{return o(t,i,n)}catch(e){}}return r(e,t)}(t.unionMembers,e):t.hasOwnProperty("arrayItems")?function(e,t){return Array.isArray(t)?t.map((t=>o(t,e,n))):r("array",t)}(t.arrayItems,e):t.hasOwnProperty("props")?function(e,t,i){if(null===i||"object"!=typeof i||Array.isArray(i))return r("object",i);const s={};return Object.getOwnPropertyNames(e).forEach((t=>{const r=e[t],a=Object.prototype.hasOwnProperty.call(i,t)?i[t]:void 0;s[r.key]=o(a,r.typ,n,r.key)})),Object.getOwnPropertyNames(i).forEach((r=>{Object.prototype.hasOwnProperty.call(e,r)||(s[r]=o(i[r],t,n,r))})),s}(n(t),t.additional,e):r(t,e):t===Date&&"number"!=typeof e?function(e){if(null===e)return null;const t=new Date(e);return isNaN(t.valueOf())?r("Date",e):t}(e):function(e,t){return typeof e==typeof t?t:r(e,t,i)}(t,e)}function s(e,t){return o(e,t,n)}function a(e,t){return o(e,t,i)}function u(e){return{arrayItems:e}}function l(...e){return{unionMembers:e}}function c(e,t){return{props:e,additional:t}}function d(e){return{props:[],additional:e}}function f(e){return{ref:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Convert=void 0,t.Convert=class{static toContext(e){return s(JSON.parse(e),f("Context"))}static contextToJson(e){return JSON.stringify(a(e,f("Context")),null,2)}static toContact(e){return s(JSON.parse(e),f("Contact"))}static contactToJson(e){return JSON.stringify(a(e,f("Contact")),null,2)}static toContactList(e){return s(JSON.parse(e),f("ContactList"))}static contactListToJson(e){return JSON.stringify(a(e,f("ContactList")),null,2)}static toInstrument(e){return s(JSON.parse(e),f("Instrument"))}static instrumentToJson(e){return JSON.stringify(a(e,f("Instrument")),null,2)}static toInstrumentList(e){return s(JSON.parse(e),f("InstrumentList"))}static instrumentListToJson(e){return JSON.stringify(a(e,f("InstrumentList")),null,2)}static toCountry(e){return s(JSON.parse(e),f("Country"))}static countryToJson(e){return JSON.stringify(a(e,f("Country")),null,2)}static toOrganization(e){return s(JSON.parse(e),f("Organization"))}static organizationToJson(e){return JSON.stringify(a(e,f("Organization")),null,2)}static toPortfolio(e){return s(JSON.parse(e),f("Portfolio"))}static portfolioToJson(e){return JSON.stringify(a(e,f("Portfolio")),null,2)}static toPosition(e){return s(JSON.parse(e),f("Position"))}static positionToJson(e){return JSON.stringify(a(e,f("Position")),null,2)}};const h={Context:c([{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")},{json:"type",js:"type",typ:""}],"any"),ContactList:c([{json:"contacts",js:"contacts",typ:u(f("Contact"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any"),Contact:c([{json:"id",js:"id",typ:f("ContactID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),ContactID:c([{json:"email",js:"email",typ:l(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:l(void 0,"")}],""),InstrumentList:c([{json:"instruments",js:"instruments",typ:u(f("Instrument"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any"),Instrument:c([{json:"id",js:"id",typ:f("InstrumentID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),InstrumentID:c([{json:"BBG",js:"BBG",typ:l(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:l(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:l(void 0,"")},{json:"FIGI",js:"FIGI",typ:l(void 0,"")},{json:"ISIN",js:"ISIN",typ:l(void 0,"")},{json:"PERMID",js:"PERMID",typ:l(void 0,"")},{json:"RIC",js:"RIC",typ:l(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:l(void 0,"")},{json:"ticker",js:"ticker",typ:l(void 0,"")}],""),Country:c([{json:"id",js:"id",typ:f("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),CountryID:c([{json:"ISOALPHA2",js:"ISOALPHA2",typ:l(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:l(void 0,"")}],""),Organization:c([{json:"id",js:"id",typ:f("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),OrganizationID:c([{json:"FDS_ID",js:"FDS_ID",typ:l(void 0,"")},{json:"LEI",js:"LEI",typ:l(void 0,"")},{json:"PERMID",js:"PERMID",typ:l(void 0,"")}],""),Portfolio:c([{json:"positions",js:"positions",typ:u(f("Position"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any"),Position:c([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:f("Instrument")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any")}},98832:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(88801),t),i(r(77661),t),i(r(80498),t),i(r(55972),t),i(r(74215),t),i(r(19600),t),i(r(89520),t),i(r(35644),t),i(r(66129),t),i(r(51854),t),i(r(55182),t),i(r(36611),t),i(r(91767),t),i(r(91966),t),i(r(77178),t)},77178:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Intents=void 0,(r=t.Intents||(t.Intents={})).StartCall="StartCall",r.StartChat="StartChat",r.ViewChart="ViewChart",r.ViewContact="ViewContact",r.ViewQuote="ViewQuote",r.ViewNews="ViewNews",r.ViewInstrument="ViewInstrument",r.ViewAnalysis="ViewAnalysis"},60306:e=>{"use strict";e.exports=JSON.parse('{"name":"@finsemble/finsemble-core","main":"dist/index.js","types":"types/index.d.ts","version":"6.1.4","description":"Finsemble is an application framework providing infrastructure, services, and components for quickly building HTML5 multi-window financial desktop applications.","scripts":{"do-audit":" improved-yarn-audit --min-severity high","build":"gulp build --production","build-docs":"gulp --gulpfile gulpfile-docs.js build-docs","clean":"gulp clean","dev":"gulp build --watch","dev:fresh":"gulp build --clean --watch","docs":"set DEBUG=gulp-jsdoc3&&gulp --gulpfile=./gulpfile-docs.js docs-server","lint":"eslint --ext .js,.jsx,.ts,.tsx ./src/**","lint-fix":"eslint --fix --ext .js,.jsx,.ts,.tsx ./src/**","lint-stats":"eslint --format node_modules/eslint-stats/byErrorAndWarning.js --ext .js,.jsx,.ts,.tsx ./src/**","monodev":"yarn dev","obfuscate":"gulp build --production --obfuscate","prod":"gulp build --production","test":"ts-mocha","test-coverage":"nyc ts-mocha && nyc merge .nyc_output ../../.nyc_output/core.json","types":"gulp types"},"author":"Cosaic","license":"SEE LICENSE IN LICENSE","dependencies":{"@babel/core":"7.14.6","@babel/preset-env":"7.14.7","@babel/preset-react":"7.14.5"},"devDependencies":{"@istanbuljs/nyc-config-typescript":"1.0.1","@reduxjs/toolkit":"1.6.1","@types/chai":"4.2.21","@types/deepmerge":"2.2.0","@types/lodash":"4.14.171","@types/mocha":"9.0.0","@types/node":"12.12.7","@typescript-eslint/eslint-plugin":"4.28.3","@typescript-eslint/parser":"4.28.4","ajv":"6.12.2","async":"3.2.0","babel-loader":"8.2.2","browser-sync":"2.27.4","case-sensitive-paths-webpack-plugin":"2.4.0","chai":"4.2.0","chalk":"4.1.1","copy-webpack-plugin":"6.4.1","css-loader":"3.5.3","deepmerge":"1.3.2","del":"6.0.0","esm":"~3.2.25","fast-check":"2.17.0","file-loader":"6.2.0","file-saver":"2.0.5","fs-extra":"2.1.2","fuse.js":"6.4.6","git-rev-sync":"3.0.1","gulp":"4.0.0","gulp-javascript-obfuscator":"^1.1.6","gulp-jsdoc3":"3.0.0","gulp-plumber":"1.2.1","gulp-rename":"1.2.3","gulp-string-replace":"1.1.2","gulp-watch":"5.0.1","immutable":"4.0.0-rc.14","improved-yarn-audit":"^2.3.2","jsdoc":"3.6.6","jszip":"3.6.0","lodash":"4.17.21","mocha":"^8.0.1","mock-socket":"9.0.3","nyc":"15.1.0","p-limit":"3.1.0","p-queue":"7.1.0","pretty-hrtime":"1.0.3","prop-types":"15.7.2","react":"17.0.2","react-dom":"17.0.2","react-redux":"7.2.4","react-virtualized":"9.22.3","redux-devtools":"3.7.0","redux-devtools-chart-monitor":"1.7.2","redux-devtools-log-monitor":"2.1.0","redux-loop":"6.1.0","require-directory":"2.1.1","resize-observer-polyfill":"1.5.1","rimraf":"3.0.2","sass-loader":"12.1.0","searchjs":"1.1.0","shelljs":"0.8.4","sinon":"11.1.1","sinon-chai":"3.7.0","source-map-loader":"3.0.0","style-loader":"3.2.1","superagent":"6.1.0","taffydb":"2.7.3","to-string-loader":"1.1.6","ts-loader":"9.2.3","ts-mocha":"8.0.0","typedoc":"0.17.8","typescript":"4.3.5","url-loader":"4.1.0","uuid":"3.0.1","vinyl-sourcemaps-apply":"0.2.1","webpack":"5.45.1","webpack-glob-entries":"1.0.1","worker-farm":"1.7.0"},"resolutions":{"ts-mocha/ts-node":"^10.1.0","xmlhttprequest-ssl":"1.6.3","underscore":"1.12.1","ua-parser-js":"0.7.24","javascript-obfuscator":"2.15.5"}}')},87063:e=>{"use strict";e.exports=JSON.parse('{"F":{"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","backspace":"Backspace","bs":"Backspace","bksp":"Backspace","tab":"Tab","escape":"Escape","esc":"Escape","clear":"Clear","enter":"Enter","return":"Enter","shift":"Shift","shft":"Shift","lshift":"Shift","lshft":"Shift","left shift":"Shift","leftshift":"Shift","rshift":"Shift","rshft":"Shift","right shift":"Shift","rightshift":"Shift","control":"Control","ctrl":"Control","commandorcontrol":"CommandOrControl","alt":"Alt","alternate":"Alt","pause":"Pause","caps lock":"Capslock","capslock":"Capslock","spacebar":"Space","space":"Space","space bar":"Space","page up":"PageUp","pgup":"PageUp","pg up":"PageUp","page down":"PageDown","pgdn":"PageDown","pg dn":"PageDown","pgdown":"PageDown","end":"End","home":"Home","left arrow":"Left","left":"Left","up arrow":"Up","up":"Up","right arrow":"Right","right":"Right","down arrow":"Down","down":"Down","select":"Select","slct":"Select","print":"PrintScreen","prnt":"PrintScreen","execute":"Execute","print screen":"PrintScreen","printscreen":"PrintScreen","print scrn":"PrintScreen","printscrn":"PrintScreen","prnt scrn":"PrintScreen","prntscrn":"PrintScreen","prt scrn":"PrintScreen","prtscrn":"PrintScreen","prt scn":"PrintScreen","prtscn":"PrintScreen","prt scr":"PrintScreen","prtscr":"PrintScreen","prt sc":"PrintScreen","prtsc":"PrintScreen","pr sc":"PrintScreen","prsc":"PrintScreen","insert":"Insert","ins":"Insert","delete":"Delete","del":"Delete","a":"A","b":"B","c":"C","d":"D","e":"E","f":"F","g":"G","h":"H","i":"I","j":"J","k":"K","l":"L","m":"M","n":"N","o":"O","p":"P","q":"Q","r":"R","s":"S","t":"T","u":"U","v":"V","w":"W","x":"X","y":"Y","z":"Z","windows":"Super","left windows":"Super","right windows":"Super","numpad 0":"num0","numpad 1":"num1","numpad 2":"num2","numpad 3":"num3","numpad 4":"num4","numpad 5":"num5","numpad 6":"num6","numpad 7":"num7","numpad 8":"num8","numpad 9":"num9","f1":"F1","fn1":"F1","function 1":"F1","f2":"F2","fn2":"F2","function 2":"F2","f3":"F3","fn3":"F3","function 3":"F3","f4":"F4","fn4":"F4","function 4":"F4","f5":"F5","fn5":"F5","function 5":"F5","f6":"F6","fn6":"F6","function 6":"F6","f7":"F7","fn7":"F7","function 7":"F7","f8":"F8","fn8":"F8","function 8":"F8","f9":"F9","fn9":"F9","function 9":"F9","f10":"F10","fn10":"F10","function 10":"F10","f11":"F11","fn11":"F11","function 11":"F11","f12":"F12","fn12":"F12","function 12":"F12","f13":"F13","fn":"F13","function 13":"F13","f14":"F14","fn14":"F14","function 14":"F14","f15":"F15","fn15":"F15","function 15":"F15","f16":"F16","fn16":"F16","function 16":"F16","num lock":"Numlock","numlock":"Numlock","number lock":"Numlock","numeric lock":"Numlock","scroll lock":"Scrolllock","sclk":"Scrolllock","scrlk":"Scrolllock","slk":"Scrolllock","*":"*","+":"+","-":"-","/":"/",";":";","=":"=",",":",","_":"-",".":".","`":"`","[":"[","]":"]","\'":"\'"}}')}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i=r(51001);return i.default})()}));
|
|
2
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(self,(function(){return(()=>{var e={66835:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},40038:e=>{"use strict";e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},57664:(e,t,r)=>{"use strict";function n(e,...t){return(...r)=>e(...t,...r)}function i(e){return function(...t){var r=t.pop();return e.call(this,t,r)}}r.r(t),r.d(t,{default:()=>pt,apply:()=>n,applyEach:()=>L,applyEachSeries:()=>R,asyncify:()=>c,auto:()=>M,autoInject:()=>B,cargo:()=>q,cargoQueue:()=>z,compose:()=>K,concat:()=>Z,concatLimit:()=>Y,concatSeries:()=>X,constant:()=>ee,detect:()=>re,detectLimit:()=>ne,detectSeries:()=>ie,dir:()=>se,doUntil:()=>ue,doWhilst:()=>ae,each:()=>ce,eachLimit:()=>de,eachOf:()=>k,eachOfLimit:()=>E,eachOfSeries:()=>O,eachSeries:()=>fe,ensureAsync:()=>he,every:()=>pe,everyLimit:()=>me,everySeries:()=>ge,filter:()=>be,filterLimit:()=>Se,filterSeries:()=>_e,forever:()=>Ce,groupBy:()=>Pe,groupByLimit:()=>Ee,groupBySeries:()=>Te,log:()=>ke,map:()=>A,mapLimit:()=>J,mapSeries:()=>I,mapValues:()=>Le,mapValuesLimit:()=>Ae,mapValuesSeries:()=>Oe,memoize:()=>Ie,nextTick:()=>Re,parallel:()=>Fe,parallelLimit:()=>Me,priorityQueue:()=>$e,queue:()=>xe,race:()=>Be,reduce:()=>G,reduceRight:()=>Ue,reflect:()=>He,reflectAll:()=>Ve,reject:()=>ze,rejectLimit:()=>Ge,rejectSeries:()=>Qe,retry:()=>Je,retryable:()=>Ze,seq:()=>Q,series:()=>Xe,setImmediate:()=>l,some:()=>et,someLimit:()=>tt,someSeries:()=>rt,sortBy:()=>nt,timeout:()=>it,times:()=>st,timesLimit:()=>ot,timesSeries:()=>at,transform:()=>ut,tryEach:()=>lt,unmemoize:()=>ct,until:()=>ft,waterfall:()=>ht,whilst:()=>dt,all:()=>pe,allLimit:()=>me,allSeries:()=>ge,any:()=>et,anyLimit:()=>tt,anySeries:()=>rt,find:()=>re,findLimit:()=>ne,findSeries:()=>ie,flatMap:()=>Z,flatMapLimit:()=>Y,flatMapSeries:()=>X,forEach:()=>ce,forEachSeries:()=>fe,forEachLimit:()=>de,forEachOf:()=>k,forEachOfSeries:()=>O,forEachOfLimit:()=>E,inject:()=>G,foldl:()=>G,foldr:()=>Ue,select:()=>be,selectLimit:()=>Se,selectSeries:()=>_e,wrapSync:()=>c,during:()=>dt,doDuring:()=>ae});var o="function"==typeof setImmediate&&setImmediate,s="object"==typeof process&&"function"==typeof process.nextTick;function a(e){setTimeout(e,0)}function u(e){return(t,...r)=>e((()=>t(...r)))}var l=u(o?setImmediate:s?process.nextTick:a);function c(e){return h(e)?function(...t){const r=t.pop();return d(e.apply(this,t),r)}:i((function(t,r){var n;try{n=e.apply(this,t)}catch(e){return r(e)}if(n&&"function"==typeof n.then)return d(n,r);r(null,n)}))}function d(e,t){return e.then((e=>{f(t,null,e)}),(e=>{f(t,e&&e.message?e:new Error(e))}))}function f(e,t,r){try{e(t,r)}catch(e){l((e=>{throw e}),e)}}function h(e){return"AsyncFunction"===e[Symbol.toStringTag]}function p(e){if("function"!=typeof e)throw new Error("expected a function");return h(e)?c(e):e}function m(e,t=e.length){if(!t)throw new Error("arity is undefined");return function(...r){return"function"==typeof r[t-1]?e.apply(this,r):new Promise(((n,i)=>{r[t-1]=(e,...t)=>{if(e)return i(e);n(t.length>1?t:t[0])},e.apply(this,r)}))}}function g(e){return function(t,...r){return m((function(n){var i=this;return e(t,((e,t)=>{p(e).apply(i,r.concat(t))}),n)}))}}function y(e,t,r,n){t=t||[];var i=[],o=0,s=p(r);return e(t,((e,t,r)=>{var n=o++;s(e,((e,t)=>{i[n]=t,r(e)}))}),(e=>{n(e,i)}))}function v(e){return e&&"number"==typeof e.length&&e.length>=0&&e.length%1==0}const w={};function b(e){function t(...t){if(null!==e){var r=e;e=null,r.apply(this,t)}}return Object.assign(t,e),t}function S(e){return function(...t){if(null===e)throw new Error("Callback was already called.");var r=e;e=null,r.apply(this,t)}}function _(e,t,r,n){let i=!1,o=!1,s=!1,a=0,u=0;function l(){a>=t||s||i||(s=!0,e.next().then((({value:e,done:t})=>{if(!o&&!i){if(s=!1,t)return i=!0,void(a<=0&&n(null));a++,r(e,u,c),u++,l()}})).catch(d))}function c(e,t){if(a-=1,!o)return e?d(e):!1===e?(i=!0,void(o=!0)):t===w||i&&a<=0?(i=!0,n(null)):void l()}function d(e){o||(s=!1,i=!0,n(e))}l()}var C=e=>(t,r,n)=>{if(n=b(n),e<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!t)return n(null);if("AsyncGenerator"===t[Symbol.toStringTag])return _(t,e,r,n);if(function(e){return"function"==typeof e[Symbol.asyncIterator]}(t))return _(t[Symbol.asyncIterator](),e,r,n);var i=function(e){if(v(e))return function(e){var t=-1,r=e.length;return function(){return++t<r?{value:e[t],key:t}:null}}(e);var t,r,n,i,o=function(e){return e[Symbol.iterator]&&e[Symbol.iterator]()}(e);return o?function(e){var t=-1;return function(){var r=e.next();return r.done?null:(t++,{value:r.value,key:t})}}(o):(r=(t=e)?Object.keys(t):[],n=-1,i=r.length,function(){var e=r[++n];return n<i?{value:t[e],key:e}:null})}(t),o=!1,s=!1,a=0,u=!1;function l(e,t){if(!s)if(a-=1,e)o=!0,n(e);else if(!1===e)o=!0,s=!0;else{if(t===w||o&&a<=0)return o=!0,n(null);u||c()}}function c(){for(u=!0;a<e&&!o;){var t=i();if(null===t)return o=!0,void(a<=0&&n(null));a+=1,r(t.value,t.key,S(l))}u=!1}c()},E=m((function(e,t,r,n){return C(t)(e,p(r),n)}),4);function P(e,t,r){r=b(r);var n=0,i=0,{length:o}=e,s=!1;function a(e,t){!1===e&&(s=!0),!0!==s&&(e?r(e):++i!==o&&t!==w||r(null))}for(0===o&&r(null);n<o;n++)t(e[n],n,S(a))}function T(e,t,r){return E(e,1/0,t,r)}var k=m((function(e,t,r){return(v(e)?P:T)(e,p(t),r)}),3),A=m((function(e,t,r){return y(k,e,t,r)}),3),L=g(A),O=m((function(e,t,r){return E(e,1,t,r)}),3),I=m((function(e,t,r){return y(O,e,t,r)}),3),R=g(I);const D=Symbol("promiseCallback");function F(){let e,t;function r(r,...n){if(r)return t(r);e(n.length>1?n:n[0])}return r[D]=new Promise(((r,n)=>{e=r,t=n})),r}function M(e,t,r){"number"!=typeof t&&(r=t,t=null),r=b(r||F());var n=Object.keys(e).length;if(!n)return r(null);t||(t=n);var i={},o=0,s=!1,a=!1,u=Object.create(null),l=[],c=[],d={};function f(e,t){l.push((()=>function(e,t){if(!a){var n=S(((t,...n)=>{if(o--,!1!==t)if(n.length<2&&([n]=n),t){var l={};if(Object.keys(i).forEach((e=>{l[e]=i[e]})),l[e]=n,a=!0,u=Object.create(null),s)return;r(t,l)}else i[e]=n,(u[e]||[]).forEach((e=>e())),h();else s=!0}));o++;var l=p(t[t.length-1]);t.length>1?l(i,n):l(n)}}(e,t)))}function h(){if(!s){if(0===l.length&&0===o)return r(null,i);for(;l.length&&o<t;)l.shift()()}}function m(t){var r=[];return Object.keys(e).forEach((n=>{const i=e[n];Array.isArray(i)&&i.indexOf(t)>=0&&r.push(n)})),r}return Object.keys(e).forEach((t=>{var r=e[t];if(!Array.isArray(r))return f(t,[r]),void c.push(t);var n=r.slice(0,r.length-1),i=n.length;if(0===i)return f(t,r),void c.push(t);d[t]=i,n.forEach((o=>{if(!e[o])throw new Error("async.auto task `"+t+"` has a non-existent dependency `"+o+"` in "+n.join(", "));var s,a;(a=u[s=o])||(a=u[s]=[]),a.push((()=>{0==--i&&f(t,r)}))}))})),function(){for(var e=0;c.length;)e++,m(c.pop()).forEach((e=>{0==--d[e]&&c.push(e)}));if(e!==n)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),h(),r[D]}var x=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,N=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,j=/,/,W=/(=.+)?(\s*)$/,$=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function B(e,t){var r={};return Object.keys(e).forEach((t=>{var n,i=e[t],o=h(i),s=!o&&1===i.length||o&&0===i.length;if(Array.isArray(i))n=[...i],i=n.pop(),r[t]=n.concat(n.length>0?a:i);else if(s)r[t]=i;else{if(n=function(e){const t=e.toString().replace($,"");let r=t.match(x);if(r||(r=t.match(N)),!r)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,n]=r;return n.replace(/\s/g,"").split(j).map((e=>e.replace(W,"").trim()))}(i),0===i.length&&!o&&0===n.length)throw new Error("autoInject task functions require explicit parameters.");o||n.pop(),r[t]=n.concat(a)}function a(e,t){var r=n.map((t=>e[t]));r.push(t),p(i)(...r)}})),M(r,t)}class U{constructor(){this.head=this.tail=null,this.length=0}removeLink(e){return e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=e.next=null,this.length-=1,e}empty(){for(;this.head;)this.shift();return this}insertAfter(e,t){t.prev=e,t.next=e.next,e.next?e.next.prev=t:this.tail=t,e.next=t,this.length+=1}insertBefore(e,t){t.prev=e.prev,t.next=e,e.prev?e.prev.next=t:this.head=t,e.prev=t,this.length+=1}unshift(e){this.head?this.insertBefore(this.head,e):H(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):H(this,e)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var e=this.head;e;)yield e.data,e=e.next}remove(e){for(var t=this.head;t;){var{next:r}=t;e(t)&&this.removeLink(t),t=r}return this}}function H(e,t){e.length=1,e.head=e.tail=t}function V(e,t,r){if(null==t)t=1;else if(0===t)throw new RangeError("Concurrency must not be zero");var n=p(e),i=0,o=[];const s={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function a(e,t){return e?t?void(s[e]=s[e].filter((e=>e!==t))):s[e]=[]:Object.keys(s).forEach((e=>s[e]=[]))}function u(e,...t){s[e].forEach((e=>e(...t)))}var c=!1;function d(e,t,r,n){if(null!=n&&"function"!=typeof n)throw new Error("task callback must be a function");var i,o;function s(e,...t){return e?r?o(e):i():t.length<=1?i(t[0]):void i(t)}y.started=!0;var a={data:e,callback:r?s:n||s};if(t?y._tasks.unshift(a):y._tasks.push(a),c||(c=!0,l((()=>{c=!1,y.process()}))),r||!n)return new Promise(((e,t)=>{i=e,o=t}))}function f(e){return function(t,...r){i-=1;for(var n=0,s=e.length;n<s;n++){var a=e[n],l=o.indexOf(a);0===l?o.shift():l>0&&o.splice(l,1),a.callback(t,...r),null!=t&&u("error",t,a.data)}i<=y.concurrency-y.buffer&&u("unsaturated"),y.idle()&&u("drain"),y.process()}}function h(e){return!(0!==e.length||!y.idle()||(l((()=>u("drain"))),0))}const m=e=>t=>{if(!t)return new Promise(((t,r)=>{!function(e,n){const i=(...n)=>{a(e,i),((e,n)=>{if(e)return r(e);t(n)})(...n)};s[e].push(i)}(e)}));a(e),function(e,t){s[e].push(t)}(e,t)};var g=!1,y={_tasks:new U,*[Symbol.iterator](){yield*y._tasks[Symbol.iterator]()},concurrency:t,payload:r,buffer:t/4,started:!1,paused:!1,push(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!1,t)))}return d(e,!1,!1,t)},pushAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!1,!0,t)))}return d(e,!1,!0,t)},kill(){a(),y._tasks.empty()},unshift(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!1,t)))}return d(e,!0,!1,t)},unshiftAsync(e,t){if(Array.isArray(e)){if(h(e))return;return e.map((e=>d(e,!0,!0,t)))}return d(e,!0,!0,t)},remove(e){y._tasks.remove(e)},process(){if(!g){for(g=!0;!y.paused&&i<y.concurrency&&y._tasks.length;){var e=[],t=[],r=y._tasks.length;y.payload&&(r=Math.min(r,y.payload));for(var s=0;s<r;s++){var a=y._tasks.shift();e.push(a),o.push(a),t.push(a.data)}i+=1,0===y._tasks.length&&u("empty"),i===y.concurrency&&u("saturated");var l=S(f(e));n(t,l)}g=!1}},length:()=>y._tasks.length,running:()=>i,workersList:()=>o,idle:()=>y._tasks.length+i===0,pause(){y.paused=!0},resume(){!1!==y.paused&&(y.paused=!1,l(y.process))}};return Object.defineProperties(y,{saturated:{writable:!1,value:m("saturated")},unsaturated:{writable:!1,value:m("unsaturated")},empty:{writable:!1,value:m("empty")},drain:{writable:!1,value:m("drain")},error:{writable:!1,value:m("error")}}),y}function q(e,t){return V(e,1,t)}function z(e,t,r){return V(e,t,r)}var G=m((function(e,t,r,n){n=b(n);var i=p(r);return O(e,((e,r,n)=>{i(t,e,((e,r)=>{t=r,n(e)}))}),(e=>n(e,t)))}),4);function Q(...e){var t=e.map(p);return function(...e){var r=this,n=e[e.length-1];return"function"==typeof n?e.pop():n=F(),G(t,e,((e,t,n)=>{t.apply(r,e.concat(((e,...t)=>{n(e,t)})))}),((e,t)=>n(e,...t))),n[D]}}function K(...e){return Q(...e.reverse())}var J=m((function(e,t,r,n){return y(C(t),e,r,n)}),4),Y=m((function(e,t,r,n){var i=p(r);return J(e,t,((e,t)=>{i(e,((e,...r)=>e?t(e):t(e,r)))}),((e,t)=>{for(var r=[],i=0;i<t.length;i++)t[i]&&(r=r.concat(...t[i]));return n(e,r)}))}),4),Z=m((function(e,t,r){return Y(e,1/0,t,r)}),3),X=m((function(e,t,r){return Y(e,1,t,r)}),3);function ee(...e){return function(...t){return t.pop()(null,...e)}}function te(e,t){return(r,n,i,o)=>{var s,a=!1;const u=p(i);r(n,((r,n,i)=>{u(r,((n,o)=>n||!1===n?i(n):e(o)&&!s?(a=!0,s=t(!0,r),i(null,w)):void i()))}),(e=>{if(e)return o(e);o(null,a?s:t(!1))}))}}var re=m((function(e,t,r){return te((e=>e),((e,t)=>t))(k,e,t,r)}),3),ne=m((function(e,t,r,n){return te((e=>e),((e,t)=>t))(C(t),e,r,n)}),4),ie=m((function(e,t,r){return te((e=>e),((e,t)=>t))(C(1),e,t,r)}),3);function oe(e){return(t,...r)=>p(t)(...r,((t,...r)=>{"object"==typeof console&&(t?console.error&&console.error(t):console[e]&&r.forEach((t=>console[e](t))))}))}var se=oe("dir"),ae=m((function(e,t,r){r=S(r);var n,i=p(e),o=p(t);function s(e,...t){if(e)return r(e);!1!==e&&(n=t,o(...t,a))}function a(e,t){return e?r(e):!1!==e?t?void i(s):r(null,...n):void 0}return a(null,!0)}),3);function ue(e,t,r){const n=p(t);return ae(e,((...e)=>{const t=e.pop();n(...e,((e,r)=>t(e,!r)))}),r)}function le(e){return(t,r,n)=>e(t,n)}var ce=m((function(e,t,r){return k(e,le(p(t)),r)}),3),de=m((function(e,t,r,n){return C(t)(e,le(p(r)),n)}),4),fe=m((function(e,t,r){return de(e,1,t,r)}),3);function he(e){return h(e)?e:function(...t){var r=t.pop(),n=!0;t.push(((...e)=>{n?l((()=>r(...e))):r(...e)})),e.apply(this,t),n=!1}}var pe=m((function(e,t,r){return te((e=>!e),(e=>!e))(k,e,t,r)}),3),me=m((function(e,t,r,n){return te((e=>!e),(e=>!e))(C(t),e,r,n)}),4),ge=m((function(e,t,r){return te((e=>!e),(e=>!e))(O,e,t,r)}),3);function ye(e,t,r,n){var i=new Array(t.length);e(t,((e,t,n)=>{r(e,((e,r)=>{i[t]=!!r,n(e)}))}),(e=>{if(e)return n(e);for(var r=[],o=0;o<t.length;o++)i[o]&&r.push(t[o]);n(null,r)}))}function ve(e,t,r,n){var i=[];e(t,((e,t,n)=>{r(e,((r,o)=>{if(r)return n(r);o&&i.push({index:t,value:e}),n(r)}))}),(e=>{if(e)return n(e);n(null,i.sort(((e,t)=>e.index-t.index)).map((e=>e.value)))}))}function we(e,t,r,n){return(v(t)?ye:ve)(e,t,p(r),n)}var be=m((function(e,t,r){return we(k,e,t,r)}),3),Se=m((function(e,t,r,n){return we(C(t),e,r,n)}),4),_e=m((function(e,t,r){return we(O,e,t,r)}),3),Ce=m((function(e,t){var r=S(t),n=p(he(e));return function e(t){if(t)return r(t);!1!==t&&n(e)}()}),2),Ee=m((function(e,t,r,n){var i=p(r);return J(e,t,((e,t)=>{i(e,((r,n)=>r?t(r):t(r,{key:n,val:e})))}),((e,t)=>{for(var r={},{hasOwnProperty:i}=Object.prototype,o=0;o<t.length;o++)if(t[o]){var{key:s}=t[o],{val:a}=t[o];i.call(r,s)?r[s].push(a):r[s]=[a]}return n(e,r)}))}),4);function Pe(e,t,r){return Ee(e,1/0,t,r)}function Te(e,t,r){return Ee(e,1,t,r)}var ke=oe("log"),Ae=m((function(e,t,r,n){n=b(n);var i={},o=p(r);return C(t)(e,((e,t,r)=>{o(e,t,((e,n)=>{if(e)return r(e);i[t]=n,r(e)}))}),(e=>n(e,i)))}),4);function Le(e,t,r){return Ae(e,1/0,t,r)}function Oe(e,t,r){return Ae(e,1,t,r)}function Ie(e,t=(e=>e)){var r=Object.create(null),n=Object.create(null),o=p(e),s=i(((e,i)=>{var s=t(...e);s in r?l((()=>i(null,...r[s]))):s in n?n[s].push(i):(n[s]=[i],o(...e,((e,...t)=>{e||(r[s]=t);var i=n[s];delete n[s];for(var o=0,a=i.length;o<a;o++)i[o](e,...t)})))}));return s.memo=r,s.unmemoized=e,s}var Re=u(s?process.nextTick:o?setImmediate:a),De=m(((e,t,r)=>{var n=v(t)?[]:{};e(t,((e,t,r)=>{p(e)(((e,...i)=>{i.length<2&&([i]=i),n[t]=i,r(e)}))}),(e=>r(e,n)))}),3);function Fe(e,t){return De(k,e,t)}function Me(e,t,r){return De(C(t),e,r)}function xe(e,t){var r=p(e);return V(((e,t)=>{r(e[0],t)}),t,1)}class Ne{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(e){let t;for(;e>0&&We(this.heap[e],this.heap[t=je(e)]);){let r=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=r,e=t}}percDown(e){let t;for(;(t=1+(e<<1))<this.heap.length&&(t+1<this.heap.length&&We(this.heap[t+1],this.heap[t])&&(t+=1),!We(this.heap[e],this.heap[t]));){let r=this.heap[e];this.heap[e]=this.heap[t],this.heap[t]=r,e=t}}push(e){e.pushCount=++this.pushCount,this.heap.push(e),this.percUp(this.heap.length-1)}unshift(e){return this.heap.push(e)}shift(){let[e]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),e}toArray(){return[...this]}*[Symbol.iterator](){for(let e=0;e<this.heap.length;e++)yield this.heap[e].data}remove(e){let t=0;for(let r=0;r<this.heap.length;r++)e(this.heap[r])||(this.heap[t]=this.heap[r],t++);this.heap.splice(t);for(let e=je(this.heap.length-1);e>=0;e--)this.percDown(e);return this}}function je(e){return(e+1>>1)-1}function We(e,t){return e.priority!==t.priority?e.priority<t.priority:e.pushCount<t.pushCount}function $e(e,t){var r=xe(e,t);return r._tasks=new Ne,r.push=function(e,t=0,n=(()=>{})){if("function"!=typeof n)throw new Error("task callback must be a function");if(r.started=!0,Array.isArray(e)||(e=[e]),0===e.length&&r.idle())return l((()=>r.drain()));for(var i=0,o=e.length;i<o;i++){var s={data:e[i],priority:t,callback:n};r._tasks.push(s)}l(r.process)},delete r.unshift,r}var Be=m((function(e,t){if(t=b(t),!Array.isArray(e))return t(new TypeError("First argument to race must be an array of functions"));if(!e.length)return t();for(var r=0,n=e.length;r<n;r++)p(e[r])(t)}),2);function Ue(e,t,r,n){var i=[...e].reverse();return G(i,t,r,n)}function He(e){var t=p(e);return i((function(e,r){return e.push(((e,...t)=>{let n={};if(e&&(n.error=e),t.length>0){var i=t;t.length<=1&&([i]=t),n.value=i}r(null,n)})),t.apply(this,e)}))}function Ve(e){var t;return Array.isArray(e)?t=e.map(He):(t={},Object.keys(e).forEach((r=>{t[r]=He.call(this,e[r])}))),t}function qe(e,t,r,n){const i=p(r);return we(e,t,((e,t)=>{i(e,((e,r)=>{t(e,!r)}))}),n)}var ze=m((function(e,t,r){return qe(k,e,t,r)}),3),Ge=m((function(e,t,r,n){return qe(C(t),e,r,n)}),4),Qe=m((function(e,t,r){return qe(O,e,t,r)}),3);function Ke(e){return function(){return e}}function Je(e,t,r){var n={times:5,intervalFunc:Ke(0)};if(arguments.length<3&&"function"==typeof e?(r=t||F(),t=e):(Ye(n,e),r=r||F()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var i=p(t),o=1;function s(){i(((e,...t)=>{!1!==e&&(e&&o++<n.times&&("function"!=typeof n.errorFilter||n.errorFilter(e))?setTimeout(s,n.intervalFunc(o-1)):r(e,...t))}))}return s(),r[D]}function Ye(e,t){if("object"==typeof t)e.times=+t.times||5,e.intervalFunc="function"==typeof t.interval?t.interval:Ke(+t.interval||0),e.errorFilter=t.errorFilter;else{if("number"!=typeof t&&"string"!=typeof t)throw new Error("Invalid arguments for async.retry");e.times=+t||5}}function Ze(e,t){t||(t=e,e=null);let r=e&&e.arity||t.length;h(t)&&(r+=1);var n=p(t);return i(((t,i)=>{function o(e){n(...t,e)}return(t.length<r-1||null==i)&&(t.push(i),i=F()),e?Je(e,o,i):Je(o,i),i[D]}))}function Xe(e,t){return De(O,e,t)}var et=m((function(e,t,r){return te(Boolean,(e=>e))(k,e,t,r)}),3),tt=m((function(e,t,r,n){return te(Boolean,(e=>e))(C(t),e,r,n)}),4),rt=m((function(e,t,r){return te(Boolean,(e=>e))(O,e,t,r)}),3),nt=m((function(e,t,r){var n=p(t);return A(e,((e,t)=>{n(e,((r,n)=>{if(r)return t(r);t(r,{value:e,criteria:n})}))}),((e,t)=>{if(e)return r(e);r(null,t.sort(i).map((e=>e.value)))}));function i(e,t){var r=e.criteria,n=t.criteria;return r<n?-1:r>n?1:0}}),3);function it(e,t,r){var n=p(e);return i(((i,o)=>{var s,a=!1;i.push(((...e)=>{a||(o(...e),clearTimeout(s))})),s=setTimeout((function(){var t=e.name||"anonymous",n=new Error('Callback function "'+t+'" timed out.');n.code="ETIMEDOUT",r&&(n.info=r),a=!0,o(n)}),t),n(...i)}))}function ot(e,t,r,n){var i=p(r);return J(function(e){for(var t=Array(e);e--;)t[e]=e;return t}(e),t,i,n)}function st(e,t,r){return ot(e,1/0,t,r)}function at(e,t,r){return ot(e,1,t,r)}function ut(e,t,r,n){arguments.length<=3&&"function"==typeof t&&(n=r,r=t,t=Array.isArray(e)?[]:{}),n=b(n||F());var i=p(r);return k(e,((e,r,n)=>{i(t,e,r,n)}),(e=>n(e,t))),n[D]}var lt=m((function(e,t){var r,n=null;return fe(e,((e,t)=>{p(e)(((e,...i)=>{if(!1===e)return t(e);i.length<2?[r]=i:r=i,n=e,t(e?null:{})}))}),(()=>t(n,r)))}));function ct(e){return(...t)=>(e.unmemoized||e)(...t)}var dt=m((function(e,t,r){r=S(r);var n=p(t),i=p(e),o=[];function s(e,...t){if(e)return r(e);o=t,!1!==e&&i(a)}function a(e,t){return e?r(e):!1!==e?t?void n(s):r(null,...o):void 0}return i(a)}),3);function ft(e,t,r){const n=p(e);return dt((e=>n(((t,r)=>e(t,!r)))),t,r)}var ht=m((function(e,t){if(t=b(t),!Array.isArray(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();var r=0;function n(t){p(e[r++])(...t,S(i))}function i(i,...o){if(!1!==i)return i||r===e.length?t(i,...o):void n(o)}n([])}));const pt={apply:n,applyEach:L,applyEachSeries:R,asyncify:c,auto:M,autoInject:B,cargo:q,cargoQueue:z,compose:K,concat:Z,concatLimit:Y,concatSeries:X,constant:ee,detect:re,detectLimit:ne,detectSeries:ie,dir:se,doUntil:ue,doWhilst:ae,each:ce,eachLimit:de,eachOf:k,eachOfLimit:E,eachOfSeries:O,eachSeries:fe,ensureAsync:he,every:pe,everyLimit:me,everySeries:ge,filter:be,filterLimit:Se,filterSeries:_e,forever:Ce,groupBy:Pe,groupByLimit:Ee,groupBySeries:Te,log:ke,map:A,mapLimit:J,mapSeries:I,mapValues:Le,mapValuesLimit:Ae,mapValuesSeries:Oe,memoize:Ie,nextTick:Re,parallel:Fe,parallelLimit:Me,priorityQueue:$e,queue:xe,race:Be,reduce:G,reduceRight:Ue,reflect:He,reflectAll:Ve,reject:ze,rejectLimit:Ge,rejectSeries:Qe,retry:Je,retryable:Ze,seq:Q,series:Xe,setImmediate:l,some:et,someLimit:tt,someSeries:rt,sortBy:nt,timeout:it,times:st,timesLimit:ot,timesSeries:at,transform:ut,tryEach:lt,unmemoize:ct,until:ft,waterfall:ht,whilst:dt,all:pe,allLimit:me,allSeries:ge,any:et,anyLimit:tt,anySeries:rt,find:re,findLimit:ne,findSeries:ie,flatMap:Z,flatMapLimit:Y,flatMapSeries:X,forEach:ce,forEachSeries:fe,forEachLimit:de,forEachOf:k,forEachOfSeries:O,forEachOfLimit:E,inject:G,foldl:G,foldr:Ue,select:be,selectLimit:Se,selectSeries:_e,wrapSync:c,during:dt,doDuring:ae}},33998:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigUtilInstance=void 0;var n=s(r(72551)),i=r(51742),o=s(r(53059));function s(e){return e&&e.__esModule?e:{default:e}}const a=new function(){const e=this;this.resolveConfigVariables=function(e,t){let r=0,i=0,o=!0;function s(e){const t=e.split(/[/\\:?=&\s]/);for(let r=0;r<t.length;r++)if("$"===t[r][0]){const i=t[r].substring(1);let s=a(i);if(void 0!==s){const a=e.replace(t[r],s);n.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveConfigVariables:resolveString configString",t[r],i,s,"old value=",e,"value=",a),o=!0,e=a}}return e}function a(t){let r=e[t];return void 0===r&&(e.custom?(r=e.custom[t],void 0===r&&n.default.system.warn("ConfigUtil.resolveString",`Missing [${t}] variable from finsemble.custom configuration object`)):n.default.system.error("ConfigUtil.resolveString",`Missing "custom" node from finsemble configuration - unable to get variable resoution for variable: ${t}`)),r}function u(e,t,r){n.default.system.verbose("forceObjectsToLogger","resolveArray","pass",t,"recursionLevel",r,"configArray:",e);for(let n=0;n<e.length;n++){const i=e[n];"string"==typeof i&&i.indexOf("$")>-1?e[n]=s(i):i instanceof Array?u(i,t,r+1):"object"==typeof i&&l(i,t,r+1)}}function l(e,t,r){e=e||{},n.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveConfigVariables:resolveObject","pass",t,"recursionLevel",r,"configObject:",e),Object.keys(e).forEach((n=>{const i=e[n];"string"==typeof i&&i.indexOf("$")>-1?e[n]=s(i):i instanceof Array?u(i,t,r+1):"object"==typeof i&&l(i,t,r+1)}))}for(;o&&i++<100;)o=!1,l(t,++r,1);i>=100&&n.default.system.error("forceObjectsToLogger","resolveConfigVariables exceeded maximum passes so continuing -- probably a recursive macro definitions. Look in this config for unresolved macro variables",e)},this.getExpandedRawManifest=function(t,r){function o(t,s,a){n.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getRawManifest",s,a),s.getManifest((r=>{n.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest: manifest retrieved. Pre-variable resolution",r),e.resolveConfigVariables(r.finsemble,r.finsemble),n.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest:Complete. post-variable resolution",r),t(r)}),(e=>{e&&(n.default.system.error("ConfigUtil.getExpandedRawManifest:application.getManifest:err",e),r&&r()),s.getParentUuid((e=>{const r=i.System.Application.wrap(e);n.default.system.debug("forceObjectsToLogger","uuid",e,"parentApplication",r),a<10?o(t,r,++a):t("could not find manifest in parent applications")}))}))}n.default.system.debug("ConfigUtil.getExpandedRawManifest starting"),i.System.ready((()=>{const e=i.System.Application.getCurrent();o(t,e,1)}))},this.readConfigFile=function(e,t){n.default.system.debug(`fetching ${e}`),fetch(e,{credentials:"include",cache:"no-cache"}).then((e=>e.json())).catch((r=>{t(`Failure importing ${e}: ${r}`,null)})).then((e=>{t(null,e)}))},this.getInitialManifest=function(t){i.System.ready((()=>{i.System.Application.getCurrent().getManifest((r=>{r.finsemble=r.finsemble||{},e.resolveConfigVariables(r.finsemble,r.finsemble),r.finsemble.applicationRoot||n.default.system.error("FATAL ERROR: applicationRoot was not defined in manifest file.");const i=`${r.finsemble.moduleRoot}/configs/core/config.json`;e.readConfigFile(i,((o,s)=>{o?n.default.system.error(`ConfigUtil.getInitialManifest:getCoreConfig:failed importing into finsemble config. $moduleRoot=${r.finsemble.moduleRoot}; Full Path=${i}`,o):(Object.keys(s).forEach((e=>{if("importConfig"===e){r.finsemble.importConfig=r.finsemble.importConfig||[];for(let e=0;e<s.importConfig.length;e++)r.finsemble.importConfig.unshift(s.importConfig[e])}else if("importThirdPartyConfig"===e){r.finsemble.importThirdPartyConfig=r.finsemble.importThirdPartyConfig||[];for(let e=0;e<s.importThirdPartyConfig.length;e++)r.finsemble.importThirdPartyConfig.unshift(s.importThirdPartyConfig[e])}else r.finsemble[e]=s[e]})),e.resolveConfigVariables(r.finsemble,r.finsemble),n.default.system.debug("forceObjectsToLogger","ConfigUtil.getInitialManifest:getCoreConfig:Initial Manifest after variables Resolved",r)),t(r)}))}))}))},this.promptAndSaveJSONToLocalFile=function(e,t){n.default.system.debug("saveJSONToLocalFile",e,t);const r=JSON.stringify(t,null,"\t"),i=`data:application/json;charset=utf-8,${encodeURIComponent(r)}`,o=`${e}.json`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",o),s.click()},this.configFormatForExport=function(e,t){n.default.system.debug("configFormatForExport starting",e,t);let r=o.default.cloneDeep(t);if("raw"===e);else if("all"===e)delete r.importConfig,delete r.comment;else if("application"===e)delete r.importConfig,delete r.comment,delete r.system,delete r.services;else if("workspace"===e)r={workspace:r};else if("workspaceTemplate"===e){const e={};e[r.name]=r,r={workspaceTemplates:e}}else"services"===e?r=r.services:"components"===e&&(r=r.components);return r},this.getDefault=function(e,t,r){let n=r;if(e){try{const r=t.split(".");let i=e;for(let e=1;e<r.length;e++)i=i[r[e]];n=i}catch(e){n=r}void 0===n&&(n=r)}return n},this.getFile=async function(e,t=Function.prototype){n.default.system.debug(`fetching import ${e}`);let r=null;return await fetch(e,{credentials:"include",cache:"no-cache"}).then((e=>e.json())).catch((r=>{t(`failure importing ${e}: ${r}`,null)})).then((e=>{t(null,e),r=e})),r}};t.ConfigUtilInstance=a},93802:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(5939),i=u(r(72551)),o=u(r(88021)),s=u(r(71879)),a=r(24232);function u(e){return e&&e.__esModule?e:{default:e}}let l;class c extends n.EventEmitter{constructor(e,t,r){if(super(),!r||!r.System)throw new Error("Monitors class requires dependency injection. Ensure that System is being passed in.");({System:l}=r),this.cachedMonitorInfo=null,this.limitedMonitorRefreshQueue=new o.default({concurrency:1}),this.bindAllFunctions(),this.limitedMonitorRefreshQueue.add((()=>this.refreshMonitors(e))),l.addEventListener("monitor-info-changed",(()=>{this.limitedMonitorRefreshQueue.add((()=>this.refreshMonitors(t)))})),l.addEventListener("session-changed",(e=>{e&&("object"!=typeof e||!e.hasOwnProperty("reason")||"unlock"!==e.reason&&"remote-connect"!==e.reason&&"unknown"!==e.reason)||this.limitedMonitorRefreshQueue.add((()=>this.refreshMonitors(t)))}))}bindAllFunctions(){let e=this;for(let t of Object.getOwnPropertyNames(Object.getPrototypeOf(e))){let r=e[t];r instanceof Function&&r!==c&&(e[t]=e[t].bind(e))}}asyncIt(e,t){return t(e),e}rationalizeMonitor(e){e.monitorRect.width=e.monitorRect.right-e.monitorRect.left,e.monitorRect.height=e.monitorRect.bottom-e.monitorRect.top,e.availableRect.width=e.availableRect.right-e.availableRect.left,e.availableRect.height=e.availableRect.bottom-e.availableRect.top}calculateMonitorScale(e,t){return(t.right-t.left)/(e.right-e.left)}monitorInfoIsChanged(e,t){if(!e||!t)return!0;if(e.nonPrimaryMonitors.length!==t.nonPrimaryMonitors.length)return!0;if(!(0,a.checkIfBoundsAreEqual)(e.primaryMonitor.availableRect,t.primaryMonitor.availableRect))return!0;if(!(0,a.checkIfBoundsAreEqual)(e.primaryMonitor.monitorRect,t.primaryMonitor.monitorRect))return!0;e.nonPrimaryMonitors.sort(((e,t)=>e.deviceName>t.deviceName?1:e.deviceName<t.deviceName?-1:0)),t.nonPrimaryMonitors.sort(((e,t)=>e.deviceName>t.deviceName?1:e.deviceName<t.deviceName?-1:0));let r=!1;return e.nonPrimaryMonitors.forEach(((e,n)=>{const i=t.nonPrimaryMonitors[n];(0,a.checkIfBoundsAreEqual)(e.availableRect,i.availableRect)&&(0,a.checkIfBoundsAreEqual)(e.monitorRect,i.monitorRect)||(r=!0)})),r}async refreshMonitors(e=Function.prototype){this.limitedMonitorRefreshQueue.clear();const t=await l.getMonitorInfo();if(!this.monitorInfoIsChanged(this.cachedMonitorInfo,t))return i.default.system.info("Skipped refreshMonitors because monitors do not change."),e(this.allMonitors);this.allMonitors=[];let{primaryMonitor:r}=t;if(Object.entries(r).length){r.whichMonitor="primary",r.position=0,this.allMonitors.push(Object.assign({},r));for(let e=0;e<t.nonPrimaryMonitors.length;e++){let r=t.nonPrimaryMonitors[e];r.whichMonitor=e,r.position=e+1,this.allMonitors.push(r)}for(let e=0;e<this.allMonitors.length;e++){let t=this.allMonitors[e];this.rationalizeMonitor(t)}this.cachedMonitorInfo=(0,s.default)(t),e(this.allMonitors),this.ready=!0,1===this.limitedMonitorRefreshQueue.pending&&this.emit("monitors-changed",{monitors:this.allMonitors})}else i.default.system.info("There is no primary monitor in 'monitorInfo' - the system is still in the process of updating the monitor information. Returning from monitorsAndScaling -> refreshMonitors")}getAllMonitors(e=Function.prototype){return this.ready?this.asyncIt(JSON.parse(JSON.stringify(this.allMonitors)),e):e?void this.refreshMonitors(e):"not ready"}getMonitorFromScaledXY(e,t,r=Function.prototype){return new Promise((n=>{if(!this.ready)return this.refreshMonitors((()=>{this.getMonitorFromScaledXY(e,t,r)})),"not ready";let i=null;for(var o=this.allMonitors,s=0;s<o.length;s++){var a=o[s],{monitorRect:u}=a;if(e>=u.left&&e<u.right&&t>=u.top&&t<u.bottom){i=a;break}}n(i),r(i)}))}getMonitorFromUnscaledXY(e,t,r=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.getMonitorFromUnscaledXY(e,t,r)})),"not ready";for(var n=this.allMonitors,i=0;i<n.length;i++){var o=n[i],s=o.monitor.scaledRect;if(e>=s.left&&e<s.right&&t>=s.top&&t<s.bottom)return this.asyncIt(o,r)}return this.asyncIt(null,r)}async translatePointFromScaled(e,t=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.translatePointFromScaled(e,t)})),"not ready";var r;e.point?({point:r}=e):r=e;var{monitor:n}=e;n||(n=(await this.getMonitorFromScaledXY(r.x,r.y)).data);let i=null;if(n){var o=r.x-n.monitorRect.left,s=r.y-n.monitorRect.top,a=o*n.deviceScaleFactor,u=s*n.deviceScaleFactor;i={x:a+n.monitor.scaledRect.left,y:u+n.monitor.scaledRect.top}}return t(i),Promise.resolve(i)}translatePointToScaled(e,t=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.translatePointToScaled(e,t)})),"not ready";var r;e.point?({point:r}=e):r=e;var n=e.monitor||this.getMonitorFromUnscaledXY(r.x,r.y);if(!n)return this.asyncIt(null,t);var i=r.x-n.monitor.scaledRect.left,o=r.y-n.monitor.scaledRect.top,s=i/n.deviceScaleFactor,a=o/n.deviceScaleFactor,u={x:s+n.monitorRect.left,y:a+n.monitorRect.top};return this.asyncIt(u,t)}async translateRectToScaled(e,t=Function.prototype){let r;if(!this.ready)return this.refreshMonitors((()=>{this.translateRectToScaled(e,t)})),"not ready";var n=this.translatePointToScaled({x:e.left,y:e.top}),i=this.translatePointToScaled({x:e.right,y:e.bottom});return!n&&i&&(r=await this.getMonitorFromScaledXY(i),n=this.translatePointToScaled({monitor:r,point:{x:e.left,y:e.top}})),!i&&n&&(r=await this.getMonitorFromScaledXY(i),i=this.translatePointToScaled({monitor:r,point:{x:e.right,y:e.bottom}})),this.asyncIt({top:n?n.y:null,left:n?n.x:null,bottom:i?i.y:null,right:i?i.x:null,height:n&&i?i.y-n.y:null,width:n&&i?i.x-n.x:null},t)}translateRectFromScaled(e,t=Function.prototype){if(!this.ready)return this.refreshMonitors((()=>{this.translateRectFromScaled(e,t)})),"not ready";var r=this.translatePointFromScaled({x:e.left,y:e.top}),n=this.translatePointFromScaled({x:e.right,y:e.bottom});return!r&&n&&(r=this.translatePointFromScaled({monitor:this.getMonitorFromUnscaledXY(n),point:{x:e.left,y:e.top}})),!n&&r&&(n=this.translatePointFromScaled({monitor:this.getMonitorFromUnscaledXY(r),point:{x:e.right,y:e.bottom}})),this.asyncIt({top:r?r.y:null,left:r?r.x:null,bottom:n?n.y:null,right:n?n.x:null,height:r&&n?n.y-r.y:null,width:r&&n?n.x-r.x:null},t)}}var d=c;t.default=d},19886:(e,t)=>{"use strict";function r(e,t){const r=(t=t.replace(/^\./,"")).split(/\.(?![^[]*])/g);for(let t=0;t<r.length;++t){const n=r[t].replace(/[["\]]/g,"");if(!e)return null;if("string"==typeof e)return null;if(!(n in e))return null;e=e[n]}return e}function i(e,t){const r=[];for(const n in e){const i=`${t}.`;n.includes(i)&&(r.push(n),delete e[n])}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.byString=r,t.initObject=function e(t,r,i){let o;if(r||(r=null),"object"!=typeof t)return o=r?`${r}.${n}`:n,void(i[o]=r);for(const n in t)"object"==typeof t[n]&&"undefined"!==t[n]?(o=r?`${r}.${n}`:n,i[o]=r,e(t[n],o,i)):(o=r?`${r}.${n}`:n,i[o]=r)},t.mapField=function e(t,n,i){if(i[n])return;const o=(n=(n=n.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),s=n;if(!i.hasOwnProperty(s)){let e=null;o.length>1&&(o.pop(),e=o.join(".")),i[s]=e}const a=r(t,s);if("undefined"!==a&&"object"==typeof a)for(const r in a)e(t,`${s}.${r}`,i)},t.checkForObjectChange=function(e,t,n){const o=r(e,t);return null!==o&&("object"==typeof o||"object"!=typeof o&&"object"==typeof t?i(n,t):null)},t.setPath=void 0,t.setPath=(e,t,r)=>t.split(".").reduce(((e,n)=>e[n]=t.split(".").pop()===n?r:e[n]||{}),e)},21014:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=new function(){let e=3;this.diagLevel=function(){return e},this.setDiagLevel=function(t){e=t},this.validationEnabled=function(){return e>=4}};t.default=r},73699:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(72551)),i=r(33998),o=r(51742),s=a(r(5020));function a(e){return e&&e.__esModule?e:{default:e}}let u=null;var l=new function(){const e={},t={};let a=null;this.getDefaultTemplateURL=function(e){a?setTimeout((()=>{e(a)}),0):(u||(u=r(70010).default),u.getValue({field:"finsemble"},((t,r)=>{a=i.ConfigUtilInstance.getDefault(r,"finsemble.notificationURL",`${r.moduleRoot}/components/system/notification/notification.html`),e(a)})))},this.alert=function(e,t,r,n,i){const o=this;i&&i.url?this.alertInternal(e,t,r,n,i,i.url):this.getDefaultTemplateURL((s=>{o.alertInternal(e,t,r,n,i,s)}))},this.alertInternal=function(r,i,a,u,l,c){let d=!1;const f=`UserNotification.alert.${a}`,h=(l=l||{}).duration||864e5;switch(i){case"ONCE-SINCE-STARTUP":f in e?d=!1:(d=!0,e[f]=!0);break;case"MAX-COUNT":{let e=0;const r=l.maxCount||1;f in t&&(e=t[f]),t[f]=++e,e<=r&&(d=!0);break}default:d=!0}if(n.default.log("UserNotification.alert",r,d,i,a,u,l),d){const e={url:c,message:u,timeout:h};s.default.systemLog({notification:!0},`Notification: ${u}`),new o.System.Notification(e)}}};t.default=l},13712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(21014))&&n.__esModule?n:{default:n},o=new function(){function e(e,t,r){const n=function(){try{throw Error("")}catch(e){return e}}(),i=n.stack.split("\n")[5],o=i.indexOf("at "),s=i.slice(o+2,i.length),a=n.stack.split("\n")[6],u=a.indexOf("at "),l=a.slice(u+2,a.length);console.warn(`parameter validation failed: parameter ${e} is of type '${typeof t}' but should be of type '${r}' in${s} called by${l}`)}this.args=function(){let t=!0;if(i.default.validationEnabled()){const r=arguments.length;if((r+1)%2!=0)for(let n=0;n<r;n+=2){let r=!1;const i=arguments[n];let o=arguments[n+1];if("="===o.slice(-1)&&(o=o.slice(0,-1),r=!0),typeof i!==o&&!(r&&void 0===i||void 0!==i&&"any"===o)){e(n/2+1,i,o),t=!1;break}}else console.warn(`validate.args requires even number of parameters: ${JSON.stringify(arguments)}`)}return t},this.args2=function(){let t=!0;if(i.default.validationEnabled()){const r=arguments.length;if((r+1)%3!=0)for(let n=0;n<r;n+=3){let r=!1;const i=arguments[n],o=arguments[n+1];let s=arguments[n+2];if("="===s.slice(-1)&&(s=s.slice(0,-1),r=!0),typeof o!==s&&!(r&&void 0===o||void 0!==o&&"any"===s)){e(i,o,s),t=!1;break}}else console.warn(`validate.args requires even number of parameters: ${JSON.stringify(arguments)}`)}return t}};t.default=o},18523:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e={},t={}){if(!e.url)throw new Error("Please specify the url of the app directory.");this.creds=t,this.config={url:e.url.replace(/\/+$/,"")}}_get(e,t){fetch(this.config.url+e,{method:"GET"}).then((e=>{e.json().then((r=>{200!==e.status?t(r):t(null,r)}))})).catch((e=>{t({message:`Request failed ${e.message}`})}))}_post(e,t,r){fetch(this.config.url+e,{method:"POST",credentials:"include",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}}).then((e=>{e.json().then((t=>{200!==e.status?r(t):r(null,t)}))})).catch((e=>{r({message:`Request failed ${e.message}`})}))}getAll(e){return new Promise(((t,r)=>{this._get("/apps/",((n,i)=>{n?r(n):t(i.applications),e&&e(n,!n&&i.applications)}))}))}get(e,t){return new Promise(((r,n)=>{this._get(`/apps/${e}`,((e,i)=>{let o;e?n(e):(o=i,i.applications&&i.applications.length&&(o=i.applications[0]),r(o)),t&&t(e,!e&&o)}))}))}getTags(e){return new Promise(((t,r)=>{this._get("/tags/",((n,i)=>{n?r(n):t(i.tags),e&&e(n,!n&&i.tags)}))}))}search(e,t){return new Promise(((r,n)=>{this._post("/apps/search",e,((e,i)=>{e?n(e):r(i.applications),t&&t(e,!e&&i.applications)}))}))}}},14291:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e){return e}}},39087:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(5939)),i=u(r(72551)),o=u(r(39319)),s=r(51742),a=r(75688);function u(e){return e&&e.__esModule?e:{default:e}}class l extends n.default.EventEmitter{constructor(e){super(),i.default.system.debug("SplinterAgent constructor",e),this.spawnsAnything=e.spawnsAnything,this.windows=[],this.uuid=e.app.uuid,this.componentsICanSpawn=e.components||[],this.servicesICanSpawn=e.services||[],this.maxWindowsPerAgent=e.maxWindowsPerAgent,this.app=e.app,this.config=e,this.isMaxed=!1,this.addListeners()}canSpawn(e){return i.default.system.debug(`SplinterAgent.canSpawn: My uuid: ${this.app.uuid}. Checking on: ${e}`),this.componentsICanSpawn.includes(e)||this.servicesICanSpawn.includes(e)}setSlaveTitle(){const e=`Splinter Agent | Open Windows: ${this.windows.length} | Components:${this.componentsICanSpawn.toString()||"N/A"}, Services: ${this.servicesICanSpawn.toString()||"N/A"}`;i.default.system.debug(`SplinterAgent.setSlaveTitle: ${e}`),o.default.transmit(`${this.app.uuid}.setTitle`,{title:e})}addListeners(){i.default.system.debug("SplinterAgent.addListeners"),this.app.addEventListener("window-closed",this.removeWindow.bind(this)),this.app.addEventListener("window-crashed",(e=>{a.FinsembleWindow.getInstance(e,((t,r)=>{t?i.default.system.error("Window crash getInstance error",t):r.close(),this.removeWindow(e),i.default.system.error("Agent child crashed",e)}))})),this.app.addEventListener("window-out-of-memory",(e=>{this.removeWindow(e),i.default.system.error("Agent child out of memory",e)})),this.app.addEventListener("closed",(e=>{this.shutdown(),this.emit("agent-closed"),i.default.system.log("Agent closed",e)})),this.app.addEventListener("crashed",(e=>{this.shutdown(),this.emit("agent-crashed"),i.default.system.error("Agent crashed",e)})),this.app.addEventListener("out-of-memory",(e=>{this.shutdown(),this.emit("agent-crashed"),i.default.system.error("Agent out of memory",e)})),this.app.addEventListener("not-responding",(e=>{this.shutdown(),this.emit("agent-crashed"),i.default.system.error("Agent not responding",e)}))}addWindow(e){i.default.system.info("SplinterAgent.addWindow",e),this.windows.push(e),this.setSlaveTitle(),this.checkMaximum()}checkMaximum(){i.default.system.debug("SplinterAgent.checkMaximum"),this.isMaxed=this.windows.length===this.maxWindowsPerAgent,i.default.system.debug(`SplinterAgent.checkMaximum. numWindows: ${this.windows.length}. maxWindows: ${this.maxWindowsPerAgent}. isMaxed:${this.isMaxed}`),this.isMaxed&&this.emit("windowMaximumReached")}requestSpawn(e,t){i.default.system.debug("SplinterAgent.requestSpawn"),i.default.system.debug("SplinterAgent.requestSpawn arguments:",e);const r=this;e.uuid=this.app.uuid,window.pendingWindowNames&&(window.pendingWindowNames[e.name]=e.uuid),this.addWindow(e);const n=`${e.name}.onSpawned`;var a=function(){const u=s.System.Window.wrap(e.uuid,e.name);function l(e){o.default.removeListener(n,a),i.default.system.info(`SplinterAgent.noticed window closed: ${e.name}`),r.removeWindow({name:e.name})}u.addEventListener("closed",l),u.addEventListener("crashed",l),i.default.system.info(`Window spawned and connected to the agent. Adding window to global store. ${e.name}`);const c=e.customData.manifest.finsemble;e.customData.manifest={finsemble:{FinsembleUUID:c.FinsembleUUID,applicationRoot:c.applicationRoot,routerDomainRoot:c.moduleRoot,router:c.router}},t&&t(u)};o.default.addListener(n,a),o.default.transmit(`${this.app.uuid}.spawn`,{windowDescriptor:e})}removeWindow(e){i.default.system.debug(`SplinterAgent.removeWindow. window name: ${e.name}`);for(let t=0;t<this.windows.length;t++)if(this.windows[t].name===e.name){this.windows.splice(t,1),this.emit("windowRemoved",e);break}0===this.windows.length&&(i.default.system.debug(`Agent empty ${this.app.uuid}`),this.emit("empty")),this.setSlaveTitle(),this.checkMaximum()}async shutdown(){this.removeListener("empty",this.shutdown),await s.System.closeApplication(this.app)}}var c=l;t.default=c},46460:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=d(r(5939)),i=d(r(71879)),o=d(r(57664)),s=d(r(39319)),a=d(r(72551)),u=d(r(39087)),l=r(24232),c=r(51742);function d(e){return e&&e.__esModule?e:{default:e}}class f extends n.default.EventEmitter{constructor(e,t=Function.prototype){super(),a.default.system.debug("SplinterAgentPool constructor",e),this.finsembleConfig=e.finsembleConfig,this.manifest=e.manifest,this.status="requestedNewAgent",this.spawnQueue=[],this.agents=[],this.defaultAgentLabel=e.defaultAgentLabel||"defaultAgent",this.shuttingDown=!1,this.shutdown=this.shutdown.bind(this),this.removeAgent=this.removeAgent.bind(this);const r={agentLabel:this.defaultAgentLabel,spawnsAnything:!0,maxWindowsPerAgent:e.maxWindowsForDefaultAgent||1/0};e.agentList=e.agentList.concat([r]),a.default.system.debug("Spawning initial agent list",e.agentList),this.spawnSplinterAgent=this.spawnSplinterAgent.bind(this),this.poolReady=!1,o.default.each(e.agentList,this.spawnSplinterAgent,(()=>{this.poolReady=!0,this.flushSpawnQueue(),t()}))}availableAgentCount(e){let t=0;for(let r=0;r<this.agents.length;r++){const n=this.agents[r];n.config.agentLabel===e&&(!n.maxWindowsPerAgent||n.windows.length<n.maxWindowsPerAgent)&&t++}return t}addAgent(e){const t=this;if(a.default.system.debug(`Agent added to pool. Agent UUID: ${e.app.uuid}`),e.spawnsAnything){const r=()=>{const n=t.getFlexibleAgents();t.shuttingDown||0!==n.length||t.spawnSplinterAgent(e.config),e.removeListener("agent-closed",r),e.removeListener("agent-crashed",r)};e.addListener("agent-closed",r),e.addListener("agent-crashed",r)}e.addListener("windowRemoved",(e=>{t.emit("windowRemoved",e)})),e.addListener("windowMaximumReached",(()=>{0===this.availableAgentCount(e.config.agentLabel)&&t.spawnSplinterAgent(e.config)})),e.addListener("empty",(()=>{t.onAgentEmpty(e)})),a.default.system.debug(`addAgent pushed: ${e.app.uuid}`),this.agents.push(e),this.status="ready",this.flushSpawnQueue()}getFlexibleAgents(){return this.agents.filter((e=>e.spawnsAnything))}queueSpawn(e,t){a.default.system.debug("SplinterAgentPool Queueing Spawn.",e);const r={windowDescriptor:e,cb:t};this.spawnQueue.push(r)}flushSpawnQueue(){const e=(0,i.default)(this.spawnQueue);a.default.system.debug("SplinterAgentPool flushing spawn queue",e),this.spawnQueue=[];for(let t=0;t<e.length;t++){const r=e[t];this.routeSpawnRequest(r.windowDescriptor,r.cb)}}routeSpawnRequest(e,t=Function.prototype){return a.default.system.debug("SplinterAgentPool routingSpawnRequest",e),new Promise((r=>{const n=e=>{t(e),r(e)},i=this.retrieveAvailableAgent(e.componentType);i?i.requestSpawn(e,n):this.queueSpawn(e,n)}))}spawnSplinterAgent(e,t){a.default.system.debug("SplinterAgentPool spawning new Agent",e);const r=this;this.status="requestedNewAgent";const n=(0,l.getRandomWindowName)(e.agentLabel),i={url:`${this.finsembleConfig.moduleRoot}/services/window/Splintering/SplinterAgentSlave.html`,uuid:n,name:n,mainWindowOptions:{customData:{manifest:{finsemble:this.finsembleConfig}}},plugins:!0},o=new c.System.Application(i,(()=>{s.default.addListener(`${i.name}.onSpawned`,(()=>{a.default.system.debug("Agent spawned and connected to the pool.",i.name),e.app=o;const n=new u.default(e);r.addAgent(n),r.emit("addAgent",i.name),t&&t()}))}),(e=>{a.default.system.error("Failed to create Agent",e)}))}removeAgent(e){a.default.system.debug("SplinterAgentPool removeAgent",e,this.agents);for(let t=0;t<this.agents.length;t++){const r=this.agents[t];if(r.uuid===e)return this.agents.splice(t,1),void this.emit("processRemoved",r.name)}}retrieveAvailableAgent(e){a.default.system.debug(`SplinterAgentPool.retrieveAvailableAgent for: ${e}`);for(let t=0;t<this.agents.length;t++){const r=this.agents[t];if(r.canSpawn(e)){if(r.isMaxed)continue;return a.default.system.debug(`SplinterAgentPool.retrieveAvailableAgent: agent found (${r.app.uuid})`),r}}const t=this.getFlexibleAgents();for(let e=0;e<t.length;e++){const r=t[e];if(!r.isMaxed)return a.default.system.debug(`SplinterAgentPool.retrieveAvailableAgent: agent found (${r.app.uuid})`),r}return a.default.system.debug("No agent available."),null}onAgentEmpty(e){a.default.system.debug(`SplinterAgentPool.onAgentEmpty. ${e.app.uuid} is empty.`,this.shuttingDown),(this.shuttingDown||this.availableAgentCount(e.config.agentLabel)>1)&&(this.removeAgent(e.app.uuid),e.shutdown())}shutdown(e){a.default.system.debug("SplinterAgentPool.shutdown.",this.agents);const t=this;async function r(e){const r=c.System.Application.wrap(e.uuid);await c.System.closeApplication(r),t.removeAgent(e.uuid),a.default.system.verbose(`shutdown sync close, ${e.uuid}`)}t.shuttingDown=!0,o.default.whilst((()=>t.agents.length),(e=>{const n=JSON.parse(JSON.stringify(t.agents));o.default.each(n,r,e)}),e)}}var h=f;t.default=h},98903:(e,t,r)=>{"use strict";var n=r(15689),i=r(33969),o=r(65255),s=r(34293),a=r(33508),u=r(63368),l=r(20742),c=r(79394),d=r(93724);e.exports=y,y.prototype.validate=function(e,t){var r;if("string"==typeof e){if(!(r=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);r=n.validate||this._compile(n)}var i=r(t);return!0!==r.$async&&(this.errors=r.errors),i},y.prototype.compile=function(e,t){var r=this._addSchema(e,void 0,t);return r.validate||this._compile(r)},y.prototype.addSchema=function(e,t,r,n){if(Array.isArray(e)){for(var o=0;o<e.length;o++)this.addSchema(e[o],void 0,r,n);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return C(this,t=i.normalizeId(t||s)),this._schemas[t]=this._addSchema(e,r,n,!0),this},y.prototype.addMetaSchema=function(e,t,r){return this.addSchema(e,t,r,!0),this},y.prototype.validateSchema=function(e,t){var r=e.$schema;if(void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(!(r=r||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(p)?p:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var n=this.validate(r,e);if(!n&&t){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return n},y.prototype.getSchema=function(e){var t=v(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var r=i.schema.call(e,{schema:{}},t);if(r){var o=r.schema,a=r.root,u=r.baseId,l=n.call(e,o,a,void 0,u);return e._fragments[t]=new s({ref:t,fragment:!0,schema:o,root:a,baseId:u,validate:l}),l}}(this,e)}},y.prototype.removeSchema=function(e){if(e instanceof RegExp)return w(this,this._schemas,e),w(this,this._refs,e),this;switch(typeof e){case"undefined":return w(this,this._schemas),w(this,this._refs),this._cache.clear(),this;case"string":var t=v(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var r=this._opts.serialize,n=r?r(e):e;this._cache.del(n);var o=this._getId(e);o&&(o=i.normalizeId(o),delete this._schemas[o],delete this._refs[o])}return this},y.prototype.addFormat=function(e,t){return"string"==typeof t&&(t=new RegExp(t)),this._formats[e]=t,this},y.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var r=void 0===(t=t||{}).separator?", ":t.separator,n=void 0===t.dataVar?"data":t.dataVar,i="",o=0;o<e.length;o++){var s=e[o];s&&(i+=n+s.dataPath+" "+s.message+r)}return i.slice(0,-r.length)},y.prototype._addSchema=function(e,t,r,n){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var o=this._opts.serialize,a=o?o(e):e,u=this._cache.get(a);if(u)return u;n=n||!1!==this._opts.addUsedSchema;var l=i.normalizeId(this._getId(e));l&&n&&C(this,l);var c,d=!1!==this._opts.validateSchema&&!t;d&&!(c=l&&l==i.normalizeId(e.$schema))&&this.validateSchema(e,!0);var f=i.ids.call(this,e),h=new s({id:l,schema:e,localRefs:f,cacheKey:a,meta:r});return"#"!=l[0]&&n&&(this._refs[l]=h),this._cache.put(a,h),d&&c&&this.validateSchema(e,!0),h},y.prototype._compile=function(e,t){if(e.compiling)return e.validate=o,o.schema=e.schema,o.errors=null,o.root=t||o,!0===e.schema.$async&&(o.$async=!0),o;var r,i;e.compiling=!0,e.meta&&(r=this._opts,this._opts=this._metaOpts);try{i=n.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=r)}return e.validate=i,e.refs=i.refs,e.refVal=i.refVal,e.root=i.root,i;function o(){var t=e.validate,r=t.apply(this,arguments);return o.errors=t.errors,r}},y.prototype.compileAsync=r(59677);var f=r(77931);y.prototype.addKeyword=f.add,y.prototype.getKeyword=f.get,y.prototype.removeKeyword=f.remove,y.prototype.validateKeyword=f.validate;var h=r(85359);y.ValidationError=h.Validation,y.MissingRefError=h.MissingRef,y.$dataMetaSchema=c;var p="http://json-schema.org/draft-07/schema",m=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],g=["/properties"];function y(e){if(!(this instanceof y))return new y(e);e=this._opts=d.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:E,warn:E,error:E};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=u(e.format),this._cache=e.cache||new o,this._loadingSchemas={},this._compilations=[],this.RULES=l(),this._getId=function(e){switch(e.schemaId){case"auto":return _;case"id":return b;default:return S}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=a),this._metaOpts=function(e){for(var t=d.copy(e._opts),r=0;r<m.length;r++)delete t[m[r]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var r=e._opts.formats[t];e.addFormat(t,r)}}(this),e.keywords&&function(e){for(var t in e._opts.keywords){var r=e._opts.keywords[t];e.addKeyword(t,r)}}(this),function(e){var t;if(e._opts.$data&&(t=r(66835),e.addMetaSchema(t,t.$id,!0)),!1!==e._opts.meta){var n=r(40038);e._opts.$data&&(n=c(n,g)),e.addMetaSchema(n,p,!0),e._refs["http://json-schema.org/schema"]=p}}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(t)if(Array.isArray(t))e.addSchema(t);else for(var r in t)e.addSchema(t[r],r)}(this)}function v(e,t){return t=i.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function w(e,t,r){for(var n in t){var i=t[n];i.meta||r&&!r.test(n)||(e._cache.del(i.cacheKey),delete t[n])}}function b(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function S(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function _(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function C(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function E(){}},65255:e=>{"use strict";var t=e.exports=function(){this._cache={}};t.prototype.put=function(e,t){this._cache[e]=t},t.prototype.get=function(e){return this._cache[e]},t.prototype.del=function(e){delete this._cache[e]},t.prototype.clear=function(){this._cache={}}},59677:(e,t,r)=>{"use strict";var n=r(85359).MissingRef;e.exports=function e(t,r,i){var o=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof r&&(i=r,r=void 0);var s=a(t).then((function(){var e=o._addSchema(t,void 0,r);return e.validate||u(e)}));return i&&s.then((function(e){i(null,e)}),i),s;function a(t){var r=t.$schema;return r&&!o.getSchema(r)?e.call(o,{$ref:r},!0):Promise.resolve()}function u(e){try{return o._compile(e)}catch(t){if(t instanceof n)return function(t){var n=t.missingSchema;if(l(n))throw new Error("Schema "+n+" is loaded but "+t.missingRef+" cannot be resolved");var i=o._loadingSchemas[n];return i||(i=o._loadingSchemas[n]=o._opts.loadSchema(n)).then(s,s),i.then((function(e){if(!l(n))return a(e).then((function(){l(n)||o.addSchema(e,n,void 0,r)}))})).then((function(){return u(e)}));function s(){delete o._loadingSchemas[n]}function l(e){return o._refs[e]||o._schemas[e]}}(t);throw t}}}},85359:(e,t,r)=>{"use strict";var n=r(33969);function i(e,t,r){this.message=r||i.message(e,t),this.missingRef=n.url(e,t),this.missingSchema=n.normalizeId(n.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:o((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:o(i)},i.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},63368:(e,t,r)=>{"use strict";var n=r(93724),i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,a=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,u=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,l=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,d=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,f=/^(?:\/(?:[^~/]|~0|~1)*)*$/,h=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return e="full"==e?"full":"fast",n.copy(m[e])}function g(e){var t=e.match(i);if(!t)return!1;var r=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(r)?29:o[n])}function y(e,t){var r=e.match(s);if(!r)return!1;var n=r[1],i=r[2],o=r[3],a=r[5];return(n<=23&&i<=59&&o<=59||23==n&&59==i&&60==o)&&(!t||a)}e.exports=m,m.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":l,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:S,uuid:d,"json-pointer":f,"json-pointer-uri-fragment":h,"relative-json-pointer":p},m.full={date:g,time:y,"date-time":function(e){var t=e.split(v);return 2==t.length&&g(t[0])&&y(t[1],!0)},uri:function(e){return w.test(e)&&u.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":l,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:S,uuid:d,"json-pointer":f,"json-pointer-uri-fragment":h,"relative-json-pointer":p};var v=/t|\s/i,w=/\/|:/,b=/[^\\]\\Z/;function S(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},15689:(e,t,r)=>{"use strict";var n=r(33969),i=r(93724),o=r(85359),s=r(33508),a=r(81869),u=i.ucs2length,l=r(22303),c=o.Validation;function d(e,t,r){var n=h.call(this,e,t,r);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:r},{index:n,compiling:!1})}function f(e,t,r){var n=h.call(this,e,t,r);n>=0&&this._compilations.splice(n,1)}function h(e,t,r){for(var n=0;n<this._compilations.length;n++){var i=this._compilations[n];if(i.schema==e&&i.root==t&&i.baseId==r)return n}return-1}function p(e,t){return"var pattern"+e+" = new RegExp("+i.toQuotedString(t[e])+");"}function m(e){return"var default"+e+" = defaults["+e+"];"}function g(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function y(e){return"var customRule"+e+" = customRules["+e+"];"}function v(e,t){if(!e.length)return"";for(var r="",n=0;n<e.length;n++)r+=t(n,e);return r}e.exports=function e(t,r,h,w){var b=this,S=this._opts,_=[void 0],C={},E=[],P={},T=[],k={},A=[];r=r||{schema:t,refVal:_,refs:C};var L=d.call(this,t,r,w),O=this._compilations[L.index];if(L.compiling)return O.callValidate=function e(){var t=O.validate,r=t.apply(this,arguments);return e.errors=t.errors,r};var I=this._formats,R=this.RULES;try{var D=M(t,r,h,w);O.validate=D;var F=O.callValidate;return F&&(F.schema=D.schema,F.errors=null,F.refs=D.refs,F.refVal=D.refVal,F.root=D.root,F.$async=D.$async,S.sourceCode&&(F.source=D.source)),D}finally{f.call(this,t,r,w)}function M(t,s,d,f){var h=!s||s&&s.schema==t;if(s.schema!=r.schema)return e.call(b,t,s,d,f);var w,P=!0===t.$async,k=a({isTop:!0,schema:t,isRoot:h,baseId:f,root:s,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:o.MissingRef,RULES:R,validate:a,util:i,resolve:n,resolveRef:x,usePattern:W,useDefault:$,useCustomRule:B,opts:S,formats:I,logger:b.logger,self:b});k=v(_,g)+v(E,p)+v(T,m)+v(A,y)+k,S.processCode&&(k=S.processCode(k));try{w=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",k)(b,R,I,r,_,T,A,l,u,c),_[0]=w}catch(e){throw b.logger.error("Error compiling schema, function code:",k),e}return w.schema=t,w.errors=null,w.refs=C,w.refVal=_,w.root=h?w:s,P&&(w.$async=!0),!0===S.sourceCode&&(w.source={code:k,patterns:E,defaults:T}),w}function x(t,i,o){i=n.url(t,i);var s,a,u=C[i];if(void 0!==u)return j(s=_[u],a="refVal["+u+"]");if(!o&&r.refs){var l=r.refs[i];if(void 0!==l)return j(s=r.refVal[l],a=N(i,s))}a=N(i);var c=n.call(b,M,r,i);if(void 0===c){var d=h&&h[i];d&&(c=n.inlineRef(d,S.inlineRefs)?d:e.call(b,d,r,h,t))}if(void 0!==c)return function(e,t){var r=C[e];_[r]=t}(i,c),j(c,a);!function(e){delete C[e]}(i)}function N(e,t){var r=_.length;return _[r]=t,C[e]=r,"refVal"+r}function j(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function W(e){var t=P[e];return void 0===t&&(t=P[e]=E.length,E[t]=e),"pattern"+t}function $(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return i.toQuotedString(e);case"object":if(null===e)return"null";var t=s(e),r=k[t];return void 0===r&&(r=k[t]=T.length,T[r]=e),"default"+r}}function B(e,t,r,n){if(!1!==b._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every((function(e){return Object.prototype.hasOwnProperty.call(r,e)})))throw new Error("parent schema must have all required keywords: "+i.join(","));var o=e.definition.validateSchema;if(o&&!o(t)){var s="keyword schema is invalid: "+b.errorsText(o.errors);if("log"!=b._opts.validateSchema)throw new Error(s);b.logger.error(s)}}var a,u=e.definition.compile,l=e.definition.inline,c=e.definition.macro;if(u)a=u.call(b,t,r,n);else if(c)a=c.call(b,t,r,n),!1!==S.validateSchema&&b.validateSchema(a,!0);else if(l)a=l.call(b,n,e.keyword,t,r);else if(!(a=e.definition.validate))return;if(void 0===a)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var d=A.length;return A[d]=a,{code:"customRule"+d,validate:a}}}},33969:(e,t,r)=>{"use strict";var n=r(47533),i=r(22303),o=r(93724),s=r(34293),a=r(40500);function u(e,t,r){var n=this._refs[r];if("string"==typeof n){if(!this._refs[n])return u.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[r])instanceof s)return p(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var i,o,a,c=l.call(this,t,r);return c&&(i=c.schema,t=c.root,a=c.baseId),i instanceof s?o=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(o=p(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),o}function l(e,t){var r=n.parse(t),i=v(r),o=y(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==o){var a=b(i),u=this._refs[a];if("string"==typeof u)return c.call(this,e,u,r);if(u instanceof s)u.validate||this._compile(u),e=u;else{if(!((u=this._schemas[a])instanceof s))return;if(u.validate||this._compile(u),a==b(t))return{schema:u,root:e,baseId:o};e=u}if(!e.schema)return;o=y(this._getId(e.schema))}return f.call(this,r,o,e.schema,e)}function c(e,t,r){var n=l.call(this,e,t);if(n){var i=n.schema,o=n.baseId;e=n.root;var s=this._getId(i);return s&&(o=S(o,s)),f.call(this,r,o,i,e)}}e.exports=u,u.normalizeId=b,u.fullPath=y,u.url=S,u.ids=function(e){var t=b(this._getId(e)),r={"":t},s={"":y(t,!1)},u={},l=this;return a(e,{allKeys:!0},(function(e,t,a,c,d,f,h){if(""!==t){var p=l._getId(e),m=r[c],g=s[c]+"/"+d;if(void 0!==h&&(g+="/"+("number"==typeof h?h:o.escapeFragment(h))),"string"==typeof p){p=m=b(m?n.resolve(m,p):p);var y=l._refs[p];if("string"==typeof y&&(y=l._refs[y]),y&&y.schema){if(!i(e,y.schema))throw new Error('id "'+p+'" resolves to more than one schema')}else if(p!=b(g))if("#"==p[0]){if(u[p]&&!i(e,u[p]))throw new Error('id "'+p+'" resolves to more than one schema');u[p]=e}else l._refs[p]=g}r[t]=m,s[t]=g}})),u},u.inlineRef=p,u.schema=l;var d=o.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function f(e,t,r,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s<i.length;s++){var a=i[s];if(a){if(void 0===(r=r[a=o.unescapeFragment(a)]))break;var u;if(!d[a]&&((u=this._getId(r))&&(t=S(t,u)),r.$ref)){var c=S(t,r.$ref),f=l.call(this,n,c);f&&(r=f.schema,n=f.root,t=f.baseId)}}}return void 0!==r&&r!==n.schema?{schema:r,root:n,baseId:t}:void 0}}var h=o.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function p(e,t){return!1!==t&&(void 0===t||!0===t?m(e):t?g(e)<=t:void 0)}function m(e){var t;if(Array.isArray(e)){for(var r=0;r<e.length;r++)if("object"==typeof(t=e[r])&&!m(t))return!1}else for(var n in e){if("$ref"==n)return!1;if("object"==typeof(t=e[n])&&!m(t))return!1}return!0}function g(e){var t,r=0;if(Array.isArray(e)){for(var n=0;n<e.length;n++)if("object"==typeof(t=e[n])&&(r+=g(t)),r==1/0)return 1/0}else for(var i in e){if("$ref"==i)return 1/0;if(h[i])r++;else if("object"==typeof(t=e[i])&&(r+=g(t)+1),r==1/0)return 1/0}return r}function y(e,t){return!1!==t&&(e=b(e)),v(n.parse(e))}function v(e){return n.serialize(e).split("#")[0]+"#"}var w=/#\/?$/;function b(e){return e?e.replace(w,""):""}function S(e,t){return t=b(t),n.resolve(e,t)}},20742:(e,t,r)=>{"use strict";var n=r(59646),i=r(93724).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(r){r.rules=r.rules.map((function(r){var i;if("object"==typeof r){var o=Object.keys(r)[0];i=r[o],r=o,i.forEach((function(r){t.push(r),e.all[r]=!0}))}return t.push(r),e.all[r]={keyword:r,code:n[r],implements:i}})),e.all.$comment={keyword:"$comment",code:n.$comment},r.type&&(e.types[r.type]=r)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},34293:(e,t,r)=>{"use strict";var n=r(93724);e.exports=function(e){n.copy(e,this)}},36887:e=>{"use strict";e.exports=function(e){for(var t,r=0,n=e.length,i=0;i<n;)r++,(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<n&&56320==(64512&(t=e.charCodeAt(i)))&&i++;return r}},93724:(e,t,r)=>{"use strict";function n(e,t,r){var n=r?" !== ":" === ",i=r?" || ":" && ",o=r?"!":"",s=r?"":"!";switch(e){case"null":return t+n+"null";case"array":return o+"Array.isArray("+t+")";case"object":return"("+o+t+i+"typeof "+t+n+'"object"'+i+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+i+s+"("+t+" % 1)"+i+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var r in t=t||{},e)t[r]=e[r];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var r="",i=o(e);for(var s in i.array&&i.object&&(r=i.null?"(":"(!"+t+" || ",r+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)r+=(r?" && ":"")+n(s,t,!0);return r}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++){var o=t[n];(i[o]||"array"===e&&"array"===o)&&(r[r.length]=o)}if(r.length)return r}else{if(i[t])return[t];if("array"===e&&"array"===t)return["array"]}},toHash:o,getProperty:u,escapeQuotes:l,equal:r(22303),ucs2length:r(36887),varOccurences:function(e,t){t+="[^0-9]";var r=e.match(new RegExp(t,"g"));return r?r.length:0},varReplace:function(e,t,r){return t+="([^0-9])",r=r.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),r+"$1")},cleanUpCode:function(e){return e.replace(c,"").replace(d,"").replace(f,"if (!($1))")},finalCleanUpCode:function(e,t){var r=e.match(h);return r&&2==r.length&&(e=t?e.replace(m,"").replace(g,"return data;"):e.replace(p,"").replace("return errors === 0;","validate.errors = null; return true;")),(r=e.match(y))&&3===r.length?e.replace(v,""):e},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var r in e)if(t[r])return!0},schemaHasRulesExcept:function(e,t,r){if("boolean"==typeof e)return!e&&"not"!=r;for(var n in e)if(n!=r&&t[n])return!0},schemaUnknownRules:function(e,t){if("boolean"!=typeof e)for(var r in e)if(!t[r])return r},toQuotedString:w,getPathExpr:function(e,t,r,n){return _(e,r?"'/' + "+t+(n?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):n?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,r){return _(e,w(r?"/"+C(t):u(t)))},getData:function(e,t,r){var n,i,o,s;if(""===e)return"rootData";if("/"==e[0]){if(!b.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,o="rootData"}else{if(!(s=e.match(S)))throw new Error("Invalid JSON-pointer: "+e);if(n=+s[1],"#"==(i=s[2])){if(n>=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return r[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(o="data"+(t-n||""),!i)return o}for(var a=o,l=i.split("/"),c=0;c<l.length;c++){var d=l[c];d&&(a+=" && "+(o+=u(E(d))))}return a},unescapeFragment:function(e){return E(decodeURIComponent(e))},unescapeJsonPointer:E,escapeFragment:function(e){return encodeURIComponent(C(e))},escapeJsonPointer:C};var i=o(["string","number","integer","boolean","null"]);function o(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!0;return t}var s=/^[a-z$_][a-z$_0-9]*$/i,a=/'|\\/g;function u(e){return"number"==typeof e?"["+e+"]":s.test(e)?"."+e:"['"+l(e)+"']"}function l(e){return e.replace(a,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var c=/else\s*{\s*}/g,d=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,f=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g,h=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,m=/var errors = 0;|var vErrors = null;/g,g=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,y=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,v=/if \(rootData === undefined\) rootData = data;/;function w(e){return"'"+l(e)+"'"}var b=/^\/(?:[^~]|~0|~1)*$/,S=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function _(e,t){return'""'==e?t:(e+" + "+t).replace(/' \+ '/g,"")}function C(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function E(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},79394:e=>{"use strict";var t=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,r){for(var n=0;n<r.length;n++){e=JSON.parse(JSON.stringify(e));var i,o=r[n].split("/"),s=e;for(i=1;i<o.length;i++)s=s[o[i]];for(i=0;i<t.length;i++){var a=t[i],u=s[a];u&&(s[a]={anyOf:[u,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},35868:(e,t,r)=>{"use strict";var n=r(40038);e.exports={$id:"https://github.com/epoberezkin/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:n.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:n.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},61796:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a;var h="maximum"==t,p=h?"exclusiveMaximum":"exclusiveMinimum",m=e.schema[p],g=e.opts.$data&&m&&m.$data,y=h?"<":">",v=h?">":"<",w=void 0;if(g){var b,S=e.util.getData(m.$data,s,e.dataPathArr),_="exclusive"+o,C="exclType"+o,E="exclIsNumber"+o,P="' + "+(k="op"+o)+" + '";i+=" var schemaExcl"+o+" = "+S+"; ",i+=" var "+_+"; var "+C+" = typeof "+(S="schemaExcl"+o)+"; if ("+C+" != 'boolean' && "+C+" != 'undefined' && "+C+" != 'number') { ",w=p,(b=b||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(w||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var T=i;i=b.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+C+" == 'number' ? ( ("+_+" = "+n+" === undefined || "+S+" "+y+"= "+n+") ? "+d+" "+v+"= "+S+" : "+d+" "+v+" "+n+" ) : ( ("+_+" = "+S+" === true) ? "+d+" "+v+"= "+n+" : "+d+" "+v+" "+n+" ) || "+d+" !== "+d+") { var op"+o+" = "+_+" ? '"+y+"' : '"+y+"='; ",void 0===a&&(w=p,l=e.errSchemaPath+"/"+p,n=S,f=g)}else if(P=y,(E="number"==typeof m)&&f){var k="'"+P+"'";i+=" if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" ( "+n+" === undefined || "+m+" "+y+"= "+n+" ? "+d+" "+v+"= "+m+" : "+d+" "+v+" "+n+" ) || "+d+" !== "+d+") { "}else E&&void 0===a?(_=!0,w=p,l=e.errSchemaPath+"/"+p,n=m,v+="="):(E&&(n=Math[h?"min":"max"](m,a)),m===(!E||n)?(_=!0,w=p,l=e.errSchemaPath+"/"+p,v+="="):(_=!1,P+="=")),k="'"+P+"'",i+=" if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+d+" "+v+" "+n+" || "+d+" !== "+d+") { ";return w=w||t,(b=b||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(w||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { comparison: "+k+", limit: "+n+", exclusive: "+_+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+P+" ",i+=f?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ",T=i,i=b.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+T+"]); ":i+=" validate.errors = ["+T+"]; return false; ":i+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},32407:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+d+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var h=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=f?"' + "+n+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},21250:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a;var h="maxLength"==t?">":"<";i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?i+=" "+d+".length ":i+=" ucs2length("+d+") ",i+=" "+h+" "+n+") { ";var p=t,m=m||[];m.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=f?"' + "+n+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var g=i;return i=m.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+g+"]); ":i+=" validate.errors = ["+g+"]; return false; ":i+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},32596:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" Object.keys("+d+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var h=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=f?"' + "+n+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var m=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},39486:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,u=e.util.copy(e),l="";u.level++;var c="valid"+u.level,d=u.baseId,f=!0,h=i;if(h)for(var p,m=-1,g=h.length-1;m<g;)p=h[m+=1],(e.opts.strictKeywords?"object"==typeof p&&Object.keys(p).length>0:e.util.schemaHasRules(p,e.RULES.all))&&(f=!1,u.schema=p,u.schemaPath=o+"["+m+"]",u.errSchemaPath=s+"/"+m,n+=" "+e.validate(u)+" ",u.baseId=d,a&&(n+=" if ("+c+") { ",l+="}"));return a&&(n+=f?" if (true) { ":" "+l.slice(0,-1)+" "),e.util.cleanUpCode(n)}},95347:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e),p="";h.level++;var m="valid"+h.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var g=h.baseId;n+=" var "+f+" = errors; var "+d+" = false; ";var y=e.compositeRule;e.compositeRule=h.compositeRule=!0;var v=s;if(v)for(var w,b=-1,S=v.length-1;b<S;)w=v[b+=1],h.schema=w,h.schemaPath=a+"["+b+"]",h.errSchemaPath=u+"/"+b,n+=" "+e.validate(h)+" ",h.baseId=g,n+=" "+d+" = "+d+" || "+m+"; if (!"+d+") { ",p+="}";e.compositeRule=h.compositeRule=y,n+=" "+p+" if (!"+d+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}else l&&(n+=" if (true) { ");return n}},90923:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.schema[t],o=e.errSchemaPath+"/"+t,s=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?n+=" console.log("+s+");":"function"==typeof e.opts.$comment&&(n+=" self._opts.$comment("+s+", "+e.util.toQuotedString(o)+", validate.root.schema);"),n}},92617:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; "),f||(n+=" var schema"+i+" = validate.schema"+a+";"),n+="var "+d+" = equal("+c+", schema"+i+"); if (!"+d+") { ";var h=h||[];h.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var p=n;return n=h.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+p+"]); ":n+=" validate.errors = ["+p+"]; return false; ":n+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}},42119:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e);h.level++;var p="valid"+h.level,m="i"+i,g=h.dataLevel=e.dataLevel+1,y="data"+g,v=e.baseId,w=e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all);if(n+="var "+f+" = errors;var "+d+";",w){var b=e.compositeRule;e.compositeRule=h.compositeRule=!0,h.schema=s,h.schemaPath=a,h.errSchemaPath=u,n+=" var "+p+" = false; for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);var S=c+"["+m+"]";h.dataPathArr[g]=m;var _=e.validate(h);h.baseId=v,e.util.varOccurences(_,y)<2?n+=" "+e.util.varReplace(_,y,S)+" ":n+=" var "+y+" = "+S+"; "+_+" ",n+=" if ("+p+") break; } ",e.compositeRule=h.compositeRule=b,n+=" if (!"+p+") {"}else n+=" if ("+c+".length == 0) {";var C=C||[];C.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;return n=C.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",w&&(n+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),e.util.cleanUpCode(n)}},91793:e=>{"use strict";e.exports=function(e,t,r){var n,i,o=" ",s=e.level,a=e.dataLevel,u=e.schema[t],l=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,f="data"+(a||""),h="valid"+s,p="errs__"+s,m=e.opts.$data&&u&&u.$data;m?(o+=" var schema"+s+" = "+e.util.getData(u.$data,a,e.dataPathArr)+"; ",i="schema"+s):i=u;var g,y,v,w,b,S=this,_="definition"+s,C=S.definition,E="";if(m&&C.$data){b="keywordValidate"+s;var P=C.validateSchema;o+=" var "+_+" = RULES.custom['"+t+"'].definition; var "+b+" = "+_+".validate;"}else{if(!(w=e.useCustomRule(S,u,e.schema,e)))return;i="validate.schema"+l,b=w.code,g=C.compile,y=C.inline,v=C.macro}var T=b+".errors",k="i"+s,A="ruleErr"+s,L=C.async;if(L&&!e.async)throw new Error("async keyword in sync schema");if(y||v||(o+=T+" = null;"),o+="var "+p+" = errors;var "+h+";",m&&C.$data&&(E+="}",o+=" if ("+i+" === undefined) { "+h+" = true; } else { ",P&&(E+="}",o+=" "+h+" = "+_+".validateSchema("+i+"); if ("+h+") { ")),y)C.statements?o+=" "+w.validate+" ":o+=" "+h+" = "+w.validate+"; ";else if(v){var O=e.util.copy(e);E="",O.level++;var I="valid"+O.level;O.schema=w.validate,O.schemaPath="";var R=e.compositeRule;e.compositeRule=O.compositeRule=!0;var D=e.validate(O).replace(/validate\.schema/g,b);e.compositeRule=O.compositeRule=R,o+=" "+D}else{(N=N||[]).push(o),o="",o+=" "+b+".call( ",e.opts.passContext?o+="this":o+="self",g||!1===C.schema?o+=" , "+f+" ":o+=" , "+i+" , "+f+" , validate.schema"+e.schemaPath+" ",o+=" , (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var F=a?"data"+(a-1||""):"parentData",M=a?e.dataPathArr[a]:"parentDataProperty",x=o+=" , "+F+" , "+M+" , rootData ) ";o=N.pop(),!1===C.errors?(o+=" "+h+" = ",L&&(o+="await "),o+=x+"; "):o+=L?" var "+(T="customErrors"+s)+" = null; try { "+h+" = await "+x+"; } catch (e) { "+h+" = false; if (e instanceof ValidationError) "+T+" = e.errors; else throw e; } ":" "+T+" = null; "+h+" = "+x+"; "}if(C.modifying&&(o+=" if ("+F+") "+f+" = "+F+"["+M+"];"),o+=""+E,C.valid)d&&(o+=" if (true) { ");else{var N;o+=" if ( ",void 0===C.valid?(o+=" !",o+=v?""+I:""+h):o+=" "+!C.valid+" ",o+=") { ",n=S.keyword,(N=N||[]).push(o),o="",(N=N||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+S.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+S.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),o+=" } "):o+=" {} ";var j=o;o=N.pop(),!e.compositeRule&&d?e.async?o+=" throw new ValidationError(["+j+"]); ":o+=" validate.errors = ["+j+"]; return false; ":o+=" var err = "+j+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var W=o;o=N.pop(),y?C.errors?"full"!=C.errors&&(o+=" for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+A+" = vErrors["+k+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+A+".schemaPath === undefined) { "+A+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+f+"; "),o+=" } "):!1===C.errors?o+=" "+W+" ":(o+=" if ("+p+" == errors) { "+W+" } else { for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+A+" = vErrors["+k+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+A+".schemaPath === undefined) { "+A+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+f+"; "),o+=" } } "):v?(o+=" var err = ",!1!==e.createErrors?(o+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+S.keyword+"' } ",!1!==e.opts.messages&&(o+=" , message: 'should pass \""+S.keyword+"\" keyword validation' "),e.opts.verbose&&(o+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),o+=" } "):o+=" {} ",o+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?o+=" throw new ValidationError(vErrors); ":o+=" validate.errors = vErrors; return false; ")):!1===C.errors?o+=" "+W+" ":(o+=" if (Array.isArray("+T+")) { if (vErrors === null) vErrors = "+T+"; else vErrors = vErrors.concat("+T+"); errors = vErrors.length; for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+A+" = vErrors["+k+"]; if ("+A+".dataPath === undefined) "+A+".dataPath = (dataPath || '') + "+e.errorPath+"; "+A+'.schemaPath = "'+c+'"; ',e.opts.verbose&&(o+=" "+A+".schema = "+i+"; "+A+".data = "+f+"; "),o+=" } } else { "+W+" } "),o+=" } ",d&&(o+=" else { ")}return o}},29115:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e),h="";f.level++;var p="valid"+f.level,m={},g={},y=e.opts.ownProperties;for(S in s){var v=s[S],w=Array.isArray(v)?g:m;w[S]=v}n+="var "+d+" = errors;";var b=e.errorPath;for(var S in n+="var missing"+i+";",g)if((w=g[S]).length){if(n+=" if ( "+c+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),l){n+=" && ( ";var _=w;if(_)for(var C=-1,E=_.length-1;C<E;)O=_[C+=1],C&&(n+=" || "),n+=" ( ( "+(F=c+(D=e.util.getProperty(O)))+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?O:D)+") ) ";n+=")) { ";var P="missing"+i,T="' + "+P+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,P,!0):b+" + "+P);var k=k||[];k.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { property: '"+e.util.escapeQuotes(S)+"', missingProperty: '"+T+"', depsCount: "+w.length+", deps: '"+e.util.escapeQuotes(1==w.length?w[0]:w.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==w.length?n+="property "+e.util.escapeQuotes(w[0]):n+="properties "+e.util.escapeQuotes(w.join(", ")),n+=" when property "+e.util.escapeQuotes(S)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var A=n;n=k.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+A+"]); ":n+=" validate.errors = ["+A+"]; return false; ":n+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{n+=" ) { ";var L=w;if(L)for(var O,I=-1,R=L.length-1;I<R;){O=L[I+=1];var D=e.util.getProperty(O),F=(T=e.util.escapeQuotes(O),c+D);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,O,e.opts.jsonPointers)),n+=" if ( "+F+" === undefined ",y&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(O)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { property: '"+e.util.escapeQuotes(S)+"', missingProperty: '"+T+"', depsCount: "+w.length+", deps: '"+e.util.escapeQuotes(1==w.length?w[0]:w.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==w.length?n+="property "+e.util.escapeQuotes(w[0]):n+="properties "+e.util.escapeQuotes(w.join(", ")),n+=" when property "+e.util.escapeQuotes(S)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}n+=" } ",l&&(h+="}",n+=" else { ")}e.errorPath=b;var M=f.baseId;for(var S in m)v=m[S],(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all))&&(n+=" "+p+" = true; if ( "+c+e.util.getProperty(S)+" !== undefined ",y&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(S)+"') "),n+=") { ",f.schema=v,f.schemaPath=a+e.util.getProperty(S),f.errSchemaPath=u+"/"+e.util.escapeFragment(S),n+=" "+e.validate(f)+" ",f.baseId=M,n+=" } ",l&&(n+=" if ("+p+") { ",h+="}"));return l&&(n+=" "+h+" if ("+d+" == errors) {"),e.util.cleanUpCode(n)}},69317:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ");var h="i"+i,p="schema"+i;f||(n+=" var "+p+" = validate.schema"+a+";"),n+="var "+d+";",f&&(n+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),n+=d+" = false;for (var "+h+"=0; "+h+"<"+p+".length; "+h+"++) if (equal("+c+", "+p+"["+h+"])) { "+d+" = true; break; }",f&&(n+=" } "),n+=" if (!"+d+") { ";var m=m||[];m.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var g=n;return n=m.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+g+"]); ":n+=" validate.errors = ["+g+"]; return false; ":n+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",l&&(n+=" else { "),n}},8327:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||"");if(!1===e.opts.format)return l&&(n+=" if (true) { "),n;var d,f=e.opts.$data&&s&&s.$data;f?(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ",d="schema"+i):d=s;var h=e.opts.unknownFormats,p=Array.isArray(h);if(f)n+=" var "+(m="format"+i)+" = formats["+d+"]; var "+(g="isObject"+i)+" = typeof "+m+" == 'object' && !("+m+" instanceof RegExp) && "+m+".validate; var "+(y="formatType"+i)+" = "+g+" && "+m+".type || 'string'; if ("+g+") { ",e.async&&(n+=" var async"+i+" = "+m+".async; "),n+=" "+m+" = "+m+".validate; } if ( ",f&&(n+=" ("+d+" !== undefined && typeof "+d+" != 'string') || "),n+=" (","ignore"!=h&&(n+=" ("+d+" && !"+m+" ",p&&(n+=" && self._opts.unknownFormats.indexOf("+d+") == -1 "),n+=") || "),n+=" ("+m+" && "+y+" == '"+r+"' && !(typeof "+m+" == 'function' ? ",e.async?n+=" (async"+i+" ? await "+m+"("+c+") : "+m+"("+c+")) ":n+=" "+m+"("+c+") ",n+=" : "+m+".test("+c+"))))) {";else{var m;if(!(m=e.formats[s])){if("ignore"==h)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(n+=" if (true) { "),n;if(p&&h.indexOf(s)>=0)return l&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var g,y=(g="object"==typeof m&&!(m instanceof RegExp)&&m.validate)&&m.type||"string";if(g){var v=!0===m.async;m=m.validate}if(y!=r)return l&&(n+=" if (true) { "),n;if(v){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(w="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var w="formats"+e.util.getProperty(s);g&&(w+=".validate"),n+="function"==typeof m?" "+w+"("+c+") ":" "+w+".test("+c+") ",n+=") { "}}var b=b||[];b.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",n+=f?""+d:""+e.util.toQuotedString(s),n+=" } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=f?"' + "+d+" + '":""+e.util.escapeQuotes(s),n+="\"' "),e.opts.verbose&&(n+=" , schema: ",n+=f?"validate.schema"+a:""+e.util.toQuotedString(s),n+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S=n;return n=b.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l&&(n+=" else { "),n}},55926:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e);h.level++;var p="valid"+h.level,m=e.schema.then,g=e.schema.else,y=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=void 0!==g&&(e.opts.strictKeywords?"object"==typeof g&&Object.keys(g).length>0:e.util.schemaHasRules(g,e.RULES.all)),w=h.baseId;if(y||v){var b;h.createErrors=!1,h.schema=s,h.schemaPath=a,h.errSchemaPath=u,n+=" var "+f+" = errors; var "+d+" = true; ";var S=e.compositeRule;e.compositeRule=h.compositeRule=!0,n+=" "+e.validate(h)+" ",h.baseId=w,h.createErrors=!0,n+=" errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; } ",e.compositeRule=h.compositeRule=S,y?(n+=" if ("+p+") { ",h.schema=e.schema.then,h.schemaPath=e.schemaPath+".then",h.errSchemaPath=e.errSchemaPath+"/then",n+=" "+e.validate(h)+" ",h.baseId=w,n+=" "+d+" = "+p+"; ",y&&v?n+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",n+=" } ",v&&(n+=" else { ")):n+=" if (!"+p+") { ",v&&(h.schema=e.schema.else,h.schemaPath=e.schemaPath+".else",h.errSchemaPath=e.errSchemaPath+"/else",n+=" "+e.validate(h)+" ",h.baseId=w,n+=" "+d+" = "+p+"; ",y&&v?n+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",n+=" } "),n+=" if (!"+d+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } ",l&&(n+=" else { "),n=e.util.cleanUpCode(n)}else l&&(n+=" if (true) { ");return n}},59646:(e,t,r)=>{"use strict";e.exports={$ref:r(12331),allOf:r(39486),anyOf:r(95347),$comment:r(90923),const:r(92617),contains:r(42119),dependencies:r(29115),enum:r(69317),format:r(8327),if:r(55926),items:r(50392),maximum:r(61796),minimum:r(61796),maxItems:r(32407),minItems:r(32407),maxLength:r(21250),minLength:r(21250),maxProperties:r(32596),minProperties:r(32596),multipleOf:r(66039),not:r(37946),oneOf:r(29344),pattern:r(79737),properties:r(62537),propertyNames:r(22127),required:r(61204),uniqueItems:r(91985),validate:r(81869)}},50392:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e),p="";h.level++;var m="valid"+h.level,g="i"+i,y=h.dataLevel=e.dataLevel+1,v="data"+y,w=e.baseId;if(n+="var "+f+" = errors;var "+d+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){n+=" "+d+" = "+c+".length <= "+s.length+"; ";var S=u;u=e.errSchemaPath+"/additionalItems",n+=" if (!"+d+") { ";var _=_||[];_.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var C=n;n=_.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+C+"]); ":n+=" validate.errors = ["+C+"]; return false; ":n+=" var err = "+C+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u=S,l&&(p+="}",n+=" else { ")}var E=s;if(E)for(var P,T=-1,k=E.length-1;T<k;)if(P=E[T+=1],e.opts.strictKeywords?"object"==typeof P&&Object.keys(P).length>0:e.util.schemaHasRules(P,e.RULES.all)){n+=" "+m+" = true; if ("+c+".length > "+T+") { ";var A=c+"["+T+"]";h.schema=P,h.schemaPath=a+"["+T+"]",h.errSchemaPath=u+"/"+T,h.errorPath=e.util.getPathExpr(e.errorPath,T,e.opts.jsonPointers,!0),h.dataPathArr[y]=T;var L=e.validate(h);h.baseId=w,e.util.varOccurences(L,v)<2?n+=" "+e.util.varReplace(L,v,A)+" ":n+=" var "+v+" = "+A+"; "+L+" ",n+=" } ",l&&(n+=" if ("+m+") { ",p+="}")}"object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))&&(h.schema=b,h.schemaPath=e.schemaPath+".additionalItems",h.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+m+" = true; if ("+c+".length > "+s.length+") { for (var "+g+" = "+s.length+"; "+g+" < "+c+".length; "+g+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0),A=c+"["+g+"]",h.dataPathArr[y]=g,L=e.validate(h),h.baseId=w,e.util.varOccurences(L,v)<2?n+=" "+e.util.varReplace(L,v,A)+" ":n+=" var "+v+" = "+A+"; "+L+" ",l&&(n+=" if (!"+m+") break; "),n+=" } } ",l&&(n+=" if ("+m+") { ",p+="}"))}else(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all))&&(h.schema=s,h.schemaPath=a,h.errSchemaPath=u,n+=" for (var "+g+" = 0; "+g+" < "+c+".length; "+g+"++) { ",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0),A=c+"["+g+"]",h.dataPathArr[y]=g,L=e.validate(h),h.baseId=w,e.util.varOccurences(L,v)<2?n+=" "+e.util.varReplace(L,v,A)+" ":n+=" var "+v+" = "+A+"; "+L+" ",l&&(n+=" if (!"+m+") break; "),n+=" }");return l&&(n+=" "+p+" if ("+f+" == errors) {"),e.util.cleanUpCode(n)}},66039:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="var division"+o+";if (",f&&(i+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),i+=" (division"+o+" = "+d+" / "+n+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+o+") - division"+o+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+o+" !== parseInt(division"+o+") ",i+=" ) ",f&&(i+=" ) "),i+=" ) { ";var h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=f?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var p=i;return i=h.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},37946:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){f.schema=s,f.schemaPath=a,f.errSchemaPath=u,n+=" var "+d+" = errors; ";var p,m=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.createErrors=!1,f.opts.allErrors&&(p=f.opts.allErrors,f.opts.allErrors=!1),n+=" "+e.validate(f)+" ",f.createErrors=!0,p&&(f.opts.allErrors=p),e.compositeRule=f.compositeRule=m,n+=" if ("+h+") { ";var g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var y=n;n=g.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+=" var err = ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(n+=" if (false) { ");return n}},29344:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f="errs__"+i,h=e.util.copy(e),p="";h.level++;var m="valid"+h.level,g=h.baseId,y="prevValid"+i,v="passingSchemas"+i;n+="var "+f+" = errors , "+y+" = false , "+d+" = false , "+v+" = null; ";var w=e.compositeRule;e.compositeRule=h.compositeRule=!0;var b=s;if(b)for(var S,_=-1,C=b.length-1;_<C;)S=b[_+=1],(e.opts.strictKeywords?"object"==typeof S&&Object.keys(S).length>0:e.util.schemaHasRules(S,e.RULES.all))?(h.schema=S,h.schemaPath=a+"["+_+"]",h.errSchemaPath=u+"/"+_,n+=" "+e.validate(h)+" ",h.baseId=g):n+=" var "+m+" = true; ",_&&(n+=" if ("+m+" && "+y+") { "+d+" = false; "+v+" = ["+v+", "+_+"]; } else { ",p+="}"),n+=" if ("+m+") { "+d+" = "+y+" = true; "+v+" = "+_+"; }";return e.compositeRule=h.compositeRule=w,n+=p+"if (!"+d+") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+v+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else { errors = "+f+"; if (vErrors !== null) { if ("+f+") vErrors.length = "+f+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},79737:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f=e.opts.$data&&a&&a.$data;f?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,i+="if ( ",f&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),i+=" !"+(f?"(new RegExp("+n+"))":e.usePattern(a))+".test("+d+") ) { ";var h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { pattern: ",i+=f?""+n:""+e.util.toQuotedString(a),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=f?"' + "+n+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=f?"validate.schema"+u:""+e.util.toQuotedString(a),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var p=i;return i=h.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},62537:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e),h="";f.level++;var p="valid"+f.level,m="key"+i,g="idx"+i,y=f.dataLevel=e.dataLevel+1,v="data"+y,w="dataProperties"+i,b=Object.keys(s||{}),S=e.schema.patternProperties||{},_=Object.keys(S),C=e.schema.additionalProperties,E=b.length||_.length,P=!1===C,T="object"==typeof C&&Object.keys(C).length,k=e.opts.removeAdditional,A=P||T||k,L=e.opts.ownProperties,O=e.baseId,I=e.schema.required;if(I&&(!e.opts.$data||!I.$data)&&I.length<e.opts.loopRequired)var R=e.util.toHash(I);if(n+="var "+d+" = errors;var "+p+" = true;",L&&(n+=" var "+w+" = undefined;"),A){if(n+=L?" "+w+" = "+w+" || Object.keys("+c+"); for (var "+g+"=0; "+g+"<"+w+".length; "+g+"++) { var "+m+" = "+w+"["+g+"]; ":" for (var "+m+" in "+c+") { ",E){if(n+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)n+=" || validate.schema"+a+".hasOwnProperty("+m+") ";else{var D=b;if(D)for(var F=-1,M=D.length-1;F<M;)Q=D[F+=1],n+=" || "+m+" == "+e.util.toQuotedString(Q)+" "}if(_.length){var x=_;if(x)for(var N=-1,j=x.length-1;N<j;)ie=x[N+=1],n+=" || "+e.usePattern(ie)+".test("+m+") "}n+=" ); if (isAdditional"+i+") { "}if("all"==k)n+=" delete "+c+"["+m+"]; ";else{var W=e.errorPath,$="' + "+m+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers)),P)if(k)n+=" delete "+c+"["+m+"]; ";else{n+=" "+p+" = false; ";var B=u;u=e.errSchemaPath+"/additionalProperties",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { additionalProperty: '"+$+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is an invalid additional property":n+="should NOT have additional properties",n+="' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var U=n;n=te.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+U+"]); ":n+=" validate.errors = ["+U+"]; return false; ":n+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=B,l&&(n+=" break; ")}else if(T)if("failing"==k){n+=" var "+d+" = errors; ";var H=e.compositeRule;e.compositeRule=f.compositeRule=!0,f.schema=C,f.schemaPath=e.schemaPath+".additionalProperties",f.errSchemaPath=e.errSchemaPath+"/additionalProperties",f.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers);var V=c+"["+m+"]";f.dataPathArr[y]=m;var q=e.validate(f);f.baseId=O,e.util.varOccurences(q,v)<2?n+=" "+e.util.varReplace(q,v,V)+" ":n+=" var "+v+" = "+V+"; "+q+" ",n+=" if (!"+p+") { errors = "+d+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+m+"]; } ",e.compositeRule=f.compositeRule=H}else f.schema=C,f.schemaPath=e.schemaPath+".additionalProperties",f.errSchemaPath=e.errSchemaPath+"/additionalProperties",f.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),V=c+"["+m+"]",f.dataPathArr[y]=m,q=e.validate(f),f.baseId=O,e.util.varOccurences(q,v)<2?n+=" "+e.util.varReplace(q,v,V)+" ":n+=" var "+v+" = "+V+"; "+q+" ",l&&(n+=" if (!"+p+") break; ");e.errorPath=W}E&&(n+=" } "),n+=" } ",l&&(n+=" if ("+p+") { ",h+="}")}var z=e.opts.useDefaults&&!e.compositeRule;if(b.length){var G=b;if(G)for(var Q,K=-1,J=G.length-1;K<J;){var Y=s[Q=G[K+=1]];if(e.opts.strictKeywords?"object"==typeof Y&&Object.keys(Y).length>0:e.util.schemaHasRules(Y,e.RULES.all)){var Z=e.util.getProperty(Q),X=(V=c+Z,z&&void 0!==Y.default);if(f.schema=Y,f.schemaPath=a+Z,f.errSchemaPath=u+"/"+e.util.escapeFragment(Q),f.errorPath=e.util.getPath(e.errorPath,Q,e.opts.jsonPointers),f.dataPathArr[y]=e.util.toQuotedString(Q),q=e.validate(f),f.baseId=O,e.util.varOccurences(q,v)<2){q=e.util.varReplace(q,v,V);var ee=V}else ee=v,n+=" var "+v+" = "+V+"; ";if(X)n+=" "+q+" ";else{if(R&&R[Q]){n+=" if ( "+ee+" === undefined ",L&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=") { "+p+" = false; ",W=e.errorPath,B=u;var te,re=e.util.escapeQuotes(Q);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(W,Q,e.opts.jsonPointers)),u=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+re+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",U=n,n=te.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+U+"]); ":n+=" validate.errors = ["+U+"]; return false; ":n+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=B,e.errorPath=W,n+=" } else { "}else l?(n+=" if ( "+ee+" === undefined ",L&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=") { "+p+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",L&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(Q)+"') "),n+=" ) { ");n+=" "+q+" } "}}l&&(n+=" if ("+p+") { ",h+="}")}}if(_.length){var ne=_;if(ne)for(var ie,oe=-1,se=ne.length-1;oe<se;)Y=S[ie=ne[oe+=1]],(e.opts.strictKeywords?"object"==typeof Y&&Object.keys(Y).length>0:e.util.schemaHasRules(Y,e.RULES.all))&&(f.schema=Y,f.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),f.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),n+=L?" "+w+" = "+w+" || Object.keys("+c+"); for (var "+g+"=0; "+g+"<"+w+".length; "+g+"++) { var "+m+" = "+w+"["+g+"]; ":" for (var "+m+" in "+c+") { ",n+=" if ("+e.usePattern(ie)+".test("+m+")) { ",f.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers),V=c+"["+m+"]",f.dataPathArr[y]=m,q=e.validate(f),f.baseId=O,e.util.varOccurences(q,v)<2?n+=" "+e.util.varReplace(q,v,V)+" ":n+=" var "+v+" = "+V+"; "+q+" ",l&&(n+=" if (!"+p+") break; "),n+=" } ",l&&(n+=" else "+p+" = true; "),n+=" } ",l&&(n+=" if ("+p+") { ",h+="}"))}return l&&(n+=" "+h+" if ("+d+" == errors) {"),e.util.cleanUpCode(n)}},22127:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="errs__"+i,f=e.util.copy(e);f.level++;var h="valid"+f.level;if(n+="var "+d+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){f.schema=s,f.schemaPath=a,f.errSchemaPath=u;var p="key"+i,m="idx"+i,g="i"+i,y="' + "+p+" + '",v="data"+(f.dataLevel=e.dataLevel+1),w="dataProperties"+i,b=e.opts.ownProperties,S=e.baseId;b&&(n+=" var "+w+" = undefined; "),n+=b?" "+w+" = "+w+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+w+".length; "+m+"++) { var "+p+" = "+w+"["+m+"]; ":" for (var "+p+" in "+c+") { ",n+=" var startErrs"+i+" = errors; ";var _=p,C=e.compositeRule;e.compositeRule=f.compositeRule=!0;var E=e.validate(f);f.baseId=S,e.util.varOccurences(E,v)<2?n+=" "+e.util.varReplace(E,v,_)+" ":n+=" var "+v+" = "+_+"; "+E+" ",e.compositeRule=f.compositeRule=C,n+=" if (!"+h+") { for (var "+g+"=startErrs"+i+"; "+g+"<errors; "+g+"++) { vErrors["+g+"].propertyName = "+p+"; } var err = ",!1!==e.createErrors?(n+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { propertyName: '"+y+"' } ",!1!==e.opts.messages&&(n+=" , message: 'property name \\'"+y+"\\' is invalid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),l&&(n+=" break; "),n+=" } }"}return l&&(n+=" if ("+d+" == errors) {"),e.util.cleanUpCode(n)}},12331:e=>{"use strict";e.exports=function(e,t,r){var n,i,o=" ",s=e.level,a=e.dataLevel,u=e.schema[t],l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(a||""),f="valid"+s;if("#"==u||"#/"==u)e.isRoot?(n=e.async,i="validate"):(n=!0===e.root.schema.$async,i="root.refVal[0]");else{var h=e.resolveRef(e.baseId,u,e.isRoot);if(void 0===h){var p=e.MissingRefError.message(e.baseId,u);if("fail"==e.opts.missingRefs){e.logger.error(p),(v=v||[]).push(o),o="",!1!==e.createErrors?(o+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { ref: '"+e.util.escapeQuotes(u)+"' } ",!1!==e.opts.messages&&(o+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(u)+"' "),e.opts.verbose&&(o+=" , schema: "+e.util.toQuotedString(u)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),o+=" } "):o+=" {} ";var m=o;o=v.pop(),!e.compositeRule&&c?e.async?o+=" throw new ValidationError(["+m+"]); ":o+=" validate.errors = ["+m+"]; return false; ":o+=" var err = "+m+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(o+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,u,p);e.logger.warn(p),c&&(o+=" if (true) { ")}}else if(h.inline){var g=e.util.copy(e);g.level++;var y="valid"+g.level;g.schema=h.schema,g.schemaPath="",g.errSchemaPath=u,o+=" "+e.validate(g).replace(/validate\.schema/g,h.code)+" ",c&&(o+=" if ("+y+") { ")}else n=!0===h.$async||e.async&&!1!==h.$async,i=h.code}if(i){var v;(v=v||[]).push(o),o="",e.opts.passContext?o+=" "+i+".call(this, ":o+=" "+i+"( ",o+=" "+d+", (dataPath || '')",'""'!=e.errorPath&&(o+=" + "+e.errorPath);var w=o+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData) ";if(o=v.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(o+=" var "+f+"; "),o+=" try { await "+w+"; ",c&&(o+=" "+f+" = true; "),o+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(o+=" "+f+" = false; "),o+=" } ",c&&(o+=" if ("+f+") { ")}else o+=" if (!"+w+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",c&&(o+=" else { ")}return o}},61204:e=>{"use strict";e.exports=function(e,t,r){var n=" ",i=e.level,o=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,l=!e.opts.allErrors,c="data"+(o||""),d="valid"+i,f=e.opts.$data&&s&&s.$data;f&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,o,e.dataPathArr)+"; ");var h="schema"+i;if(!f)if(s.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],m=s;if(m)for(var g,y=-1,v=m.length-1;y<v;){g=m[y+=1];var w=e.schema.properties[g];w&&(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all))||(p[p.length]=g)}}else p=s;if(f||p.length){var b=e.errorPath,S=f||p.length>=e.opts.loopRequired,_=e.opts.ownProperties;if(l)if(n+=" var missing"+i+"; ",S){f||(n+=" var "+h+" = validate.schema"+a+"; ");var C="' + "+(L="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,L,e.opts.jsonPointers)),n+=" var "+d+" = true; ",f&&(n+=" if (schema"+i+" === undefined) "+d+" = true; else if (!Array.isArray(schema"+i+")) "+d+" = false; else {"),n+=" for (var "+k+" = 0; "+k+" < "+h+".length; "+k+"++) { "+d+" = "+c+"["+h+"["+k+"]] !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", "+h+"["+k+"]) "),n+="; if (!"+d+") break; } ",f&&(n+=" } "),n+=" if (!"+d+") { ",(P=P||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;n=P.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var P,T=p;if(T)for(var k=-1,A=T.length-1;k<A;)I=T[k+=1],k&&(n+=" || "),n+=" ( ( "+(M=c+(F=e.util.getProperty(I)))+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?I:F)+") ) ";n+=") { ",C="' + "+(L="missing"+i)+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,L,!0):b+" + "+L),(P=P||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",E=n,n=P.pop(),!e.compositeRule&&l?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else if(S){var L;f||(n+=" var "+h+" = validate.schema"+a+"; "),C="' + "+(L="schema"+i+"["+(k="i"+i)+"]")+" + '",e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,L,e.opts.jsonPointers)),f&&(n+=" if ("+h+" && !Array.isArray("+h+")) { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+h+" !== undefined) { "),n+=" for (var "+k+" = 0; "+k+" < "+h+".length; "+k+"++) { if ("+c+"["+h+"["+k+"]] === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+h+"["+k+"]) "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",f&&(n+=" } ")}else{var O=p;if(O)for(var I,R=-1,D=O.length-1;R<D;){I=O[R+=1];var F=e.util.getProperty(I),M=(C=e.util.escapeQuotes(I),c+F);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,I,e.opts.jsonPointers)),n+=" if ( "+M+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") { var err = ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+C+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+C+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else l&&(n+=" if (true) {");return n}},91985:e=>{"use strict";e.exports=function(e,t,r){var n,i=" ",o=e.level,s=e.dataLevel,a=e.schema[t],u=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,d="data"+(s||""),f="valid"+o,h=e.opts.$data&&a&&a.$data;if(h?(i+=" var schema"+o+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+o):n=a,(a||h)&&!1!==e.opts.uniqueItems){h&&(i+=" var "+f+"; if ("+n+" === false || "+n+" === undefined) "+f+" = true; else if (typeof "+n+" != 'boolean') "+f+" = false; else { "),i+=" var i = "+d+".length , "+f+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,m=Array.isArray(p);if(!p||"object"==p||"array"==p||m&&(p.indexOf("object")>=0||p.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+f+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var g="checkDataType"+(m?"s":"");i+=" if ("+e.util[g](p,"item",!0)+") continue; ",m&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",h&&(i+=" } "),i+=" if (!"+f+") { ";var y=y||[];y.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=h?"validate.schema"+u:""+a,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),i+=" } "):i+=" {} ";var v=i;i=y.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},81869:e=>{"use strict";e.exports=function(e,t,r){var n="",i=!0===e.schema.$async,o=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),s=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var u="unknown keyword: "+a;if("log"!==e.opts.strictKeywords)throw new Error(u);e.logger.warn(u)}}if(e.isTop&&(n+=" var validate = ",i&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",s&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" /*# sourceURL="+s+" */ ")),"boolean"==typeof e.schema||!o&&!e.schema.$ref){t="false schema";var l=e.level,c=e.dataLevel,d=e.schema[t],f=e.schemaPath+e.util.getProperty(t),h=e.errSchemaPath+"/"+t,p=!e.opts.allErrors,m="data"+(c||""),g="valid"+l;if(!1===e.schema){e.isTop?p=!0:n+=" var "+g+" = false; ",(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ";var y=n;n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n+=i?" return data; ":" validate.errors = null; return true; ":n+=" var "+g+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var v=e.isTop;if(l=e.level=0,c=e.dataLevel=0,m="data",e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var w="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(w);e.logger.warn(w)}n+=" var vErrors = null; ",n+=" var errors = 0; ",n+=" if (rootData === undefined) rootData = data; "}else{if(l=e.level,m="data"+((c=e.dataLevel)||""),s&&(e.baseId=e.resolve.url(e.baseId,s)),i&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+l+" = errors;"}g="valid"+l,p=!e.opts.allErrors;var b="",S="",_=e.schema.type,C=Array.isArray(_);if(_&&e.opts.nullable&&!0===e.schema.nullable&&(C?-1==_.indexOf("null")&&(_=_.concat("null")):"null"!=_&&(_=[_,"null"],C=!0)),C&&1==_.length&&(_=_[0],C=!1),e.schema.$ref&&o){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(o=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),_){if(e.opts.coerceTypes)var E=e.util.coerceToTypes(e.opts.coerceTypes,_);var P=e.RULES.types[_];if(E||C||!0===P||P&&!Z(P)){f=e.schemaPath+".type",h=e.errSchemaPath+"/type",f=e.schemaPath+".type",h=e.errSchemaPath+"/type";var T=C?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[T](_,m,!0)+") { ",E){var k="dataType"+l,A="coerced"+l;n+=" var "+k+" = typeof "+m+"; ","array"==e.opts.coerceTypes&&(n+=" if ("+k+" == 'object' && Array.isArray("+m+")) "+k+" = 'array'; "),n+=" var "+A+" = undefined; ";var L="",O=E;if(O)for(var I,R=-1,D=O.length-1;R<D;)I=O[R+=1],R&&(n+=" if ("+A+" === undefined) { ",L+="}"),"array"==e.opts.coerceTypes&&"array"!=I&&(n+=" if ("+k+" == 'array' && "+m+".length == 1) { "+A+" = "+m+" = "+m+"[0]; "+k+" = typeof "+m+"; } "),"string"==I?n+=" if ("+k+" == 'number' || "+k+" == 'boolean') "+A+" = '' + "+m+"; else if ("+m+" === null) "+A+" = ''; ":"number"==I||"integer"==I?(n+=" if ("+k+" == 'boolean' || "+m+" === null || ("+k+" == 'string' && "+m+" && "+m+" == +"+m+" ","integer"==I&&(n+=" && !("+m+" % 1)"),n+=")) "+A+" = +"+m+"; "):"boolean"==I?n+=" if ("+m+" === 'false' || "+m+" === 0 || "+m+" === null) "+A+" = false; else if ("+m+" === 'true' || "+m+" === 1) "+A+" = true; ":"null"==I?n+=" if ("+m+" === '' || "+m+" === 0 || "+m+" === false) "+A+" = null; ":"array"==e.opts.coerceTypes&&"array"==I&&(n+=" if ("+k+" == 'string' || "+k+" == 'number' || "+k+" == 'boolean' || "+m+" == null) "+A+" = ["+m+"]; ");n+=" "+L+" if ("+A+" === undefined) { ",(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { type: '",n+=C?""+_.join(","):""+_,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=C?""+_.join(","):""+_,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ",y=n,n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ";var F=c?"data"+(c-1||""):"parentData";n+=" "+m+" = "+A+"; ",c||(n+="if ("+F+" !== undefined)"),n+=" "+F+"["+(c?e.dataPathArr[c]:"parentDataProperty")+"] = "+A+"; } "}else(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { type: '",n+=C?""+_.join(","):""+_,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=C?""+_.join(","):""+_,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ",y=n,n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";n+=" } "}}if(e.schema.$ref&&!o)n+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",p&&(n+=" } if (errors === ",n+=v?"0":"errs_"+l,n+=") { ",S+="}");else{var M=e.RULES;if(M)for(var x=-1,N=M.length-1;x<N;)if(Z(P=M[x+=1])){if(P.type&&(n+=" if ("+e.util.checkDataType(P.type,m)+") { "),e.opts.useDefaults)if("object"==P.type&&e.schema.properties){d=e.schema.properties;var j=Object.keys(d);if(j)for(var W,$=-1,B=j.length-1;$<B;)if(void 0!==(V=d[W=j[$+=1]]).default){var U=m+e.util.getProperty(W);if(e.compositeRule){if(e.opts.strictDefaults){if(w="default is ignored for: "+U,"log"!==e.opts.strictDefaults)throw new Error(w);e.logger.warn(w)}}else n+=" if ("+U+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+U+" === null || "+U+" === '' "),n+=" ) "+U+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(V.default)+" ":n+=" "+JSON.stringify(V.default)+" ",n+="; "}}else if("array"==P.type&&Array.isArray(e.schema.items)){var H=e.schema.items;if(H){R=-1;for(var V,q=H.length-1;R<q;)if(void 0!==(V=H[R+=1]).default)if(U=m+"["+R+"]",e.compositeRule){if(e.opts.strictDefaults){if(w="default is ignored for: "+U,"log"!==e.opts.strictDefaults)throw new Error(w);e.logger.warn(w)}}else n+=" if ("+U+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+U+" === null || "+U+" === '' "),n+=" ) "+U+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(V.default)+" ":n+=" "+JSON.stringify(V.default)+" ",n+="; "}}var z,G=P.rules;if(G)for(var Q,K=-1,J=G.length-1;K<J;)if(X(Q=G[K+=1])){var Y=Q.code(e,Q.keyword,P.type);Y&&(n+=" "+Y+" ",p&&(b+="}"))}if(p&&(n+=" "+b+" ",b=""),P.type&&(n+=" } ",_&&_===P.type&&!E))n+=" else { ",f=e.schemaPath+".type",h=e.errSchemaPath+"/type",(z=z||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { type: '",n+=C?""+_.join(","):""+_,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=C?""+_.join(","):""+_,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),n+=" } "):n+=" {} ",y=n,n=z.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+y+"]); ":n+=" validate.errors = ["+y+"]; return false; ":n+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ";p&&(n+=" if (errors === ",n+=v?"0":"errs_"+l,n+=") { ",S+="}")}}function Z(e){for(var t=e.rules,r=0;r<t.length;r++)if(X(t[r]))return!0}function X(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var r=t.implements,n=0;n<r.length;n++)if(void 0!==e.schema[r[n]])return!0}(t)}return p&&(n+=" "+S+" "),v?(i?(n+=" if (errors === 0) return data; ",n+=" else throw new ValidationError(vErrors); "):(n+=" validate.errors = vErrors; ",n+=" return errors === 0; "),n+=" }; return validate;"):n+=" var "+g+" = errors === errs_"+l+";",n=e.util.cleanUpCode(n),v&&(n=e.util.finalCleanUpCode(n,i)),n}},77931:(e,t,r)=>{"use strict";var n=/^[a-z_$][a-z0-9_$-]*$/i,i=r(91793),o=r(35868);e.exports={add:function(e,t){var r=this.RULES;if(r.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!n.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var o=t.type;if(Array.isArray(o))for(var s=0;s<o.length;s++)u(e,o[s],t);else u(e,o,t);var a=t.metaSchema;a&&(t.$data&&this._opts.$data&&(a={anyOf:[a,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(a,!0))}function u(e,t,n){for(var o,s=0;s<r.length;s++){var a=r[s];if(a.type==t){o=a;break}}o||(o={type:t,rules:[]},r.push(o));var u={keyword:e,definition:n,custom:!0,code:i,implements:n.implements};o.rules.push(u),r.custom[e]=u}return r.keywords[e]=r.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var r=0;r<t.length;r++)for(var n=t[r].rules,i=0;i<n.length;i++)if(n[i].keyword==e){n.splice(i,1);break}return this},validate:function e(t,r){e.errors=null;var n=this._validateKeyword=this._validateKeyword||this.compile(o,!0);if(n(t))return!0;if(e.errors=n.errors,r)throw new Error("custom keyword definition is invalid: "+this.errorsText(n.errors));return!1}}},74602:function(e,t,r){var n,i;void 0===(i="function"==typeof(n=function(){function e(e){return e&&"object"==typeof e&&"[object RegExp]"!==Object.prototype.toString.call(e)&&"[object Date]"!==Object.prototype.toString.call(e)}function t(t,r){return r&&!0===r.clone&&e(t)?n((i=t,Array.isArray(i)?[]:{}),t,r):t;var i}function r(r,i,o){var s=r.slice();return i.forEach((function(i,a){void 0===s[a]?s[a]=t(i,o):e(i)?s[a]=n(r[a],i,o):-1===r.indexOf(i)&&s.push(t(i,o))})),s}function n(i,o,s){var a=Array.isArray(o),u=(s||{arrayMerge:r}).arrayMerge||r;return a?Array.isArray(i)?u(i,o,s):t(o,s):function(r,i,o){var s={};return e(r)&&Object.keys(r).forEach((function(e){s[e]=t(r[e],o)})),Object.keys(i).forEach((function(a){e(i[a])&&r[a]?s[a]=n(r[a],i[a],o):s[a]=t(i[a],o)})),s}(i,o,s)}return n.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce((function(e,r){return n(e,r,t)}))},n})?n.call(t,r,t,e):n)||(e.exports=i)},33034:e=>{"use strict";var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function o(e,t,n,o,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var a=new i(n,o||e,s),u=r?r+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],a]:e._events[u].push(a):(e._events[u]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s},a.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},a.prototype.emit=function(e,t,n,i,o,s){var a=r?r+e:e;if(!this._events[a])return!1;var u,l,c=this._events[a],d=arguments.length;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),d){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,o),!0;case 6:return c.fn.call(c.context,t,n,i,o,s),!0}for(l=1,u=new Array(d-1);l<d;l++)u[l-1]=arguments[l];c.fn.apply(c.context,u)}else{var f,h=c.length;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),d){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,i);break;default:if(!u)for(f=1,u=new Array(d-1);f<d;f++)u[f-1]=arguments[f];c[l].fn.apply(c[l].context,u)}}return!0},a.prototype.on=function(e,t,r){return o(this,e,t,r,!1)},a.prototype.once=function(e,t,r){return o(this,e,t,r,!0)},a.prototype.removeListener=function(e,t,n,i){var o=r?r+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||n&&a.context!==n||s(this,o);else{for(var u=0,l=[],c=a.length;u<c;u++)(a[u].fn!==t||i&&!a[u].once||n&&a[u].context!==n)&&l.push(a[u]);l.length?this._events[o]=1===l.length?l[0]:l:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,e.exports=a},5939:e=>{"use strict";var t,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,o),n(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,i)}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,r,n){var i,o,s,l;if(a(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),void 0===s)s=o[t]=r,++e._eventsCount;else if("function"==typeof s?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,l=c,console&&console.warn&&console.warn(l)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function f(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):p(i,i.length)}function h(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function p(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function m(e,t,r,n){if("function"==typeof e.on)n.once?e.once(t,r):e.on(t,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){n.once&&e.removeEventListener(t,i),r(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[e];if(void 0===u)return!1;if("function"==typeof u)n(u,this,t);else{var l=u.length,c=p(u,l);for(r=0;r<l;++r)n(c[r],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var r,n,i,o,s;if(a(t),void 0===(n=this._events))return this;if(void 0===(r=n[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,i),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var i,o=Object.keys(r);for(n=0;n<o.length;++n)"removeListener"!==(i=o[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},22303:e=>{"use strict";e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(i=n;0!=i--;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(o=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;0!=i--;){var s=o[i];if(!e(t[s],r[s]))return!1}return!0}return t!=t&&r!=r}},33508:e=>{"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var r,n="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(r=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},o={key:n,value:e[n]};return r(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var r,s;if(Array.isArray(t)){for(s="[",r=0;r<t.length;r++)r&&(s+=","),s+=e(t[r])||"null";return s+"]"}if(null===t)return"null";if(-1!==o.indexOf(t)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=o.push(t)-1,u=Object.keys(t).sort(i&&i(t));for(s="",r=0;r<u.length;r++){var l=u[r],c=e(t[l]);c&&(s&&(s+=","),s+=JSON.stringify(l)+":"+c)}return o.splice(a,1),"{"+s+"}"}}(e)}},30975:(e,t,r)=>{"use strict";function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===l(e)}function i(e){return"string"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e}function a(e){return null!=e}function u(e){return!e.trim().length}function l(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}r.r(t),r.d(t,{default:()=>$});const c=Object.prototype.hasOwnProperty;class d{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let r=f(e);t+=r.weight,this._keys.push(r),this._keyMap[r.id]=r,t+=r.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function f(e){let t=null,r=null,o=null,s=1;if(i(e)||n(e))o=e,t=h(e),r=p(e);else{if(!c.call(e,"name"))throw new Error("Missing name property in key");const n=e.name;if(o=n,c.call(e,"weight")&&(s=e.weight,s<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(n));t=h(n),r=p(n)}return{path:t,id:r,weight:s,src:o}}function h(e){return n(e)?e:e.split(".")}function p(e){return n(e)?e.join("."):e}var m={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,getFn:function(e,t){let r=[],u=!1;const c=(e,t,d)=>{if(a(e))if(t[d]){const f=e[t[d]];if(!a(f))return;if(d===t.length-1&&(i(f)||o(f)||function(e){return!0===e||!1===e||function(e){return s(e)&&null!==e}(e)&&"[object Boolean]"==l(e)}(f)))r.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(f));else if(n(f)){u=!0;for(let e=0,r=f.length;e<r;e+=1)c(f[e],t,d+1)}else t.length&&c(f,t,d+1)}else r.push(e)};return c(e,i(t)?t.split("."):t,0),u?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1};const g=/[^ ]+/g;class y{constructor({getFn:e=m.getFn}={}){this.norm=function(e=3){const t=new Map,r=Math.pow(10,e);return{get(e){const n=e.match(g).length;if(t.has(n))return t.get(n);const i=1/Math.sqrt(n),o=parseFloat(Math.round(i*r)/r);return t.set(n,o),o},clear(){t.clear()}}}(3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach(((e,t)=>{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,i(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const t=this.size();i(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!a(e)||u(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,t){let r={i:t,$:{}};this.keys.forEach(((t,o)=>{let s=this.getFn(e,t.path);if(a(s))if(n(s)){let e=[];const t=[{nestedArrIndex:-1,value:s}];for(;t.length;){const{nestedArrIndex:r,value:o}=t.pop();if(a(o))if(i(o)&&!u(o)){let t={v:o,i:r,n:this.norm.get(o)};e.push(t)}else n(o)&&o.forEach(((e,r)=>{t.push({nestedArrIndex:r,value:e})}))}r.$[o]=e}else if(!u(s)){let e={v:s,n:this.norm.get(s)};r.$[o]=e}})),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function v(e,t,{getFn:r=m.getFn}={}){const n=new y({getFn:r});return n.setKeys(e.map(f)),n.setSources(t),n.create(),n}function w(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=m.distance,ignoreLocation:o=m.ignoreLocation}={}){const s=t/e.length;if(o)return s;const a=Math.abs(n-r);return i?s+a/i:a?1:s}const b=32;function S(e){let t={};for(let r=0,n=e.length;r<n;r+=1){const i=e.charAt(r);t[i]=(t[i]||0)|1<<n-r-1}return t}class _{constructor(e,{location:t=m.location,threshold:r=m.threshold,distance:n=m.distance,includeMatches:i=m.includeMatches,findAllMatches:o=m.findAllMatches,minMatchCharLength:s=m.minMatchCharLength,isCaseSensitive:a=m.isCaseSensitive,ignoreLocation:u=m.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:u},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const l=(e,t)=>{this.chunks.push({pattern:e,alphabet:S(e),startIndex:t})},c=this.pattern.length;if(c>b){let e=0;const t=c%b,r=c-t;for(;e<r;)l(this.pattern.substr(e,b),e),e+=b;if(t){const e=c-b;l(this.pattern.substr(e),e)}}else l(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,includeMatches:r}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let t={isMatch:!0,score:0};return r&&(t.indices=[[0,e.length-1]]),t}const{location:n,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,ignoreLocation:u}=this.options;let l=[],c=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:h})=>{const{isMatch:p,score:g,indices:y}=function(e,t,r,{location:n=m.location,distance:i=m.distance,threshold:o=m.threshold,findAllMatches:s=m.findAllMatches,minMatchCharLength:a=m.minMatchCharLength,includeMatches:u=m.includeMatches,ignoreLocation:l=m.ignoreLocation}={}){if(t.length>b)throw new Error("Pattern length exceeds max of 32.");const c=t.length,d=e.length,f=Math.max(0,Math.min(n,d));let h=o,p=f;const g=a>1||u,y=g?Array(d):[];let v;for(;(v=e.indexOf(t,p))>-1;){let e=w(t,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:l});if(h=Math.min(e,h),p=v+c,g){let e=0;for(;e<c;)y[v+e]=1,e+=1}}p=-1;let S=[],_=1,C=c+d;const E=1<<c-1;for(let n=0;n<c;n+=1){let o=0,a=C;for(;o<a;)w(t,{errors:n,currentLocation:f+a,expectedLocation:f,distance:i,ignoreLocation:l})<=h?o=a:C=a,a=Math.floor((C-o)/2+o);C=a;let u=Math.max(1,f-a+1),m=s?d:Math.min(f+a,d)+c,v=Array(m+2);v[m+1]=(1<<n)-1;for(let o=m;o>=u;o-=1){let s=o-1,a=r[e.charAt(s)];if(g&&(y[s]=+!!a),v[o]=(v[o+1]<<1|1)&a,n&&(v[o]|=(S[o+1]|S[o])<<1|1|S[o+1]),v[o]&E&&(_=w(t,{errors:n,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:l}),_<=h)){if(h=_,p=s,p<=f)break;u=Math.max(1,2*f-p)}}if(w(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:l})>h)break;S=v}const P={isMatch:p>=0,score:Math.max(.001,_)};if(g){const e=function(e=[],t=m.minMatchCharLength){let r=[],n=-1,i=-1,o=0;for(let s=e.length;o<s;o+=1){let s=e[o];s&&-1===n?n=o:s||-1===n||(i=o-1,i-n+1>=t&&r.push([n,i]),n=-1)}return e[o-1]&&o-n>=t&&r.push([n,o-1]),r}(y,a);e.length?u&&(P.indices=e):P.isMatch=!1}return P}(e,t,f,{location:n+h,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,includeMatches:r,ignoreLocation:u});p&&(d=!0),c+=g,p&&y&&(l=[...l,...y])}));let f={isMatch:d,score:d?c/this.chunks.length:1};return d&&r&&(f.indices=l),f}}class C{constructor(e){this.pattern=e}static isMultiMatch(e){return E(e,this.multiRegex)}static isSingleMatch(e){return E(e,this.singleRegex)}search(){}}function E(e,t){const r=e.match(t);return r?r[1]:null}class P extends C{constructor(e,{location:t=m.location,threshold:r=m.threshold,distance:n=m.distance,includeMatches:i=m.includeMatches,findAllMatches:o=m.findAllMatches,minMatchCharLength:s=m.minMatchCharLength,isCaseSensitive:a=m.isCaseSensitive,ignoreLocation:u=m.ignoreLocation}={}){super(e),this._bitapSearch=new _(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class T extends C{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t,r=0;const n=[],i=this.pattern.length;for(;(t=e.indexOf(this.pattern,r))>-1;)r=t+i,n.push([t,r-1]);const o=!!n.length;return{isMatch:o,score:o?0:1,indices:n}}}const k=[class extends C{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},T,class extends C{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},class extends C{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},P],A=k.length,L=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,O=new Set([P.type,T.type]);const I=[];function R(e,t){for(let r=0,n=I.length;r<n;r+=1){let n=I[r];if(n.condition(e,t))return new n(e,t)}return new _(e,t)}const D="$and",F=e=>!(!e.$and&&!e.$or),M=e=>({[D]:Object.keys(e).map((t=>({[t]:e[t]})))});function x(e,t,{auto:r=!0}={}){const o=e=>{let a=Object.keys(e);const u=(e=>!!e.$path)(e);if(!u&&a.length>1&&!F(e))return o(M(e));if((e=>!n(e)&&s(e)&&!F(e))(e)){const n=u?e.$path:a[0],o=u?e.$val:e[n];if(!i(o))throw new Error((e=>`Invalid value for key ${e}`)(n));const s={keyId:p(n),pattern:o};return r&&(s.searcher=R(o,t)),s}let l={children:[],operator:a[0]};return a.forEach((t=>{const r=e[t];n(r)&&r.forEach((e=>{l.children.push(o(e))}))})),l};return F(e)||(e=M(e)),o(e)}function N(e,t){const r=e.matches;t.matches=[],a(r)&&r.forEach((e=>{if(!a(e.indices)||!e.indices.length)return;const{indices:r,value:n}=e;let i={indices:r,value:n};e.key&&(i.key=e.key.src),e.idx>-1&&(i.refIndex=e.idx),t.matches.push(i)}))}function j(e,t){t.score=e.score}class W{constructor(e,t={},r){this.options={...m,...t},this.options.useExtendedSearch,this._keyStore=new d(this.options.keys),this.setCollection(e,r)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof y))throw new Error("Incorrect 'index' type");this._myIndex=t||v(this.options.keys,this._docs,{getFn:this.options.getFn})}add(e){a(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let r=0,n=this._docs.length;r<n;r+=1){const i=this._docs[r];e(i,r)&&(this.removeAt(r),r-=1,n-=1,t.push(i))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:t=-1}={}){const{includeMatches:r,includeScore:n,shouldSort:s,sortFn:a,ignoreFieldNorm:u}=this.options;let l=i(e)?i(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=m.ignoreFieldNorm}){e.forEach((e=>{let r=1;e.matches.forEach((({key:e,norm:n,score:i})=>{const o=e?e.weight:null;r*=Math.pow(0===i&&o?Number.EPSILON:i,(o||1)*(t?1:n))})),e.score=r}))}(l,{ignoreFieldNorm:u}),s&&l.sort(a),o(t)&&t>-1&&(l=l.slice(0,t)),function(e,t,{includeMatches:r=m.includeMatches,includeScore:n=m.includeScore}={}){const i=[];return r&&i.push(N),n&&i.push(j),e.map((e=>{const{idx:r}=e,n={item:t[r],refIndex:r};return i.length&&i.forEach((t=>{t(e,n)})),n}))}(l,this._docs,{includeMatches:r,includeScore:n})}_searchStringList(e){const t=R(e,this.options),{records:r}=this._myIndex,n=[];return r.forEach((({v:e,i:r,n:i})=>{if(!a(e))return;const{isMatch:o,score:s,indices:u}=t.searchIn(e);o&&n.push({item:e,idx:r,matches:[{score:s,value:e,norm:i,indices:u}]})})),n}_searchLogical(e){const t=x(e,this.options),r=(e,t,n)=>{if(!e.children){const{keyId:r,searcher:i}=e,o=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(t,r),searcher:i});return o&&o.length?[{idx:n,item:t,matches:o}]:[]}switch(e.operator){case D:{const i=[];for(let o=0,s=e.children.length;o<s;o+=1){const s=e.children[o],a=r(s,t,n);if(!a.length)return[];i.push(...a)}return i}case"$or":{const i=[];for(let o=0,s=e.children.length;o<s;o+=1){const s=e.children[o],a=r(s,t,n);if(a.length){i.push(...a);break}}return i}}},n=this._myIndex.records,i={},o=[];return n.forEach((({$:e,i:n})=>{if(a(e)){let s=r(t,e,n);s.length&&(i[n]||(i[n]={idx:n,item:e,matches:[]},o.push(i[n])),s.forEach((({matches:e})=>{i[n].matches.push(...e)})))}})),o}_searchObjectList(e){const t=R(e,this.options),{keys:r,records:n}=this._myIndex,i=[];return n.forEach((({$:e,i:n})=>{if(!a(e))return;let o=[];r.forEach(((r,n)=>{o.push(...this._findMatches({key:r,value:e[n],searcher:t}))})),o.length&&i.push({idx:n,item:e,matches:o})})),i}_findMatches({key:e,value:t,searcher:r}){if(!a(t))return[];let i=[];if(n(t))t.forEach((({v:t,i:n,n:o})=>{if(!a(t))return;const{isMatch:s,score:u,indices:l}=r.searchIn(t);s&&i.push({score:u,key:e,value:t,idx:n,norm:o,indices:l})}));else{const{v:n,n:o}=t,{isMatch:s,score:a,indices:u}=r.searchIn(n);s&&i.push({score:a,key:e,value:n,norm:o,indices:u})}return i}}W.version="6.4.6",W.createIndex=v,W.parseIndex=function(e,{getFn:t=m.getFn}={}){const{keys:r,records:n}=e,i=new y({getFn:t});return i.setKeys(r),i.setIndexRecords(n),i},W.config=m,W.parseQuery=x,function(...e){I.push(...e)}(class{constructor(e,{isCaseSensitive:t=m.isCaseSensitive,includeMatches:r=m.includeMatches,minMatchCharLength:n=m.minMatchCharLength,ignoreLocation:i=m.ignoreLocation,findAllMatches:o=m.findAllMatches,location:s=m.location,threshold:a=m.threshold,distance:u=m.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:r,minMatchCharLength:n,findAllMatches:o,ignoreLocation:i,location:s,threshold:a,distance:u},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let r=e.trim().split(L).filter((e=>e&&!!e.trim())),n=[];for(let e=0,i=r.length;e<i;e+=1){const i=r[e];let o=!1,s=-1;for(;!o&&++s<A;){const e=k[s];let r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),o=!0)}if(!o)for(s=-1;++s<A;){const e=k[s];let r=e.isSingleMatch(i);if(r){n.push(new e(r,t));break}}}return n}))}(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:r,isCaseSensitive:n}=this.options;e=n?e:e.toLowerCase();let i=0,o=[],s=0;for(let n=0,a=t.length;n<a;n+=1){const a=t[n];o.length=0,i=0;for(let t=0,n=a.length;t<n;t+=1){const n=a[t],{isMatch:u,indices:l,score:c}=n.search(e);if(!u){s=0,i=0,o.length=0;break}if(i+=1,s+=c,r){const e=n.constructor.type;O.has(e)?o=[...o,...l]:o.push(l)}}if(i){let e={isMatch:!0,score:s/i};return r&&(e.indices=o),e}}return{isMatch:!1,score:1}}});const $=W},40500:e=>{"use strict";var t=e.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),r(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function r(e,n,i,o,s,a,u,l,c,d){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in n(o,s,a,u,l,c,d),o){var h=o[f];if(Array.isArray(h)){if(f in t.arrayKeywords)for(var p=0;p<h.length;p++)r(e,n,i,h[p],s+"/"+f+"/"+p,a,s,f,o,p)}else if(f in t.propsKeywords){if(h&&"object"==typeof h)for(var m in h)r(e,n,i,h[m],s+"/"+f+"/"+m.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,f,o,m)}else(f in t.keywords||e.allKeys&&!(f in t.skipKeywords))&&r(e,n,i,h,s+"/"+f,a,s,f,o)}i(o,s,a,u,l,c,d)}}t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},t.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},24081:(e,t,r)=>{var n=r(21059)(r(158),"DataView");e.exports=n},15999:(e,t,r)=>{var n=r(13387),i=r(69252),o=r(31125),s=r(9021),a=r(68131);function u(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=s,u.prototype.set=a,e.exports=u},26811:(e,t,r)=>{var n=r(72215),i=r(56105),o=r(30484),s=r(8046),a=r(30603);function u(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=s,u.prototype.set=a,e.exports=u},60945:(e,t,r)=>{var n=r(21059)(r(158),"Map");e.exports=n},25835:(e,t,r)=>{var n=r(73633),i=r(39382),o=r(28850),s=r(70756),a=r(2769);function u(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=s,u.prototype.set=a,e.exports=u},27540:(e,t,r)=>{var n=r(21059)(r(158),"Promise");e.exports=n},80476:(e,t,r)=>{var n=r(21059)(r(158),"Set");e.exports=n},74868:(e,t,r)=>{var n=r(25835),i=r(57554),o=r(18800);function s(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}s.prototype.add=s.prototype.push=i,s.prototype.has=o,e.exports=s},34987:(e,t,r)=>{var n=r(26811),i=r(73832),o=r(31676),s=r(33577),a=r(43343),u=r(20488);function l(e){var t=this.__data__=new n(e);this.size=t.size}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=s,l.prototype.has=a,l.prototype.set=u,e.exports=l},44937:(e,t,r)=>{var n=r(158).Symbol;e.exports=n},48596:(e,t,r)=>{var n=r(158).Uint8Array;e.exports=n},18307:(e,t,r)=>{var n=r(21059)(r(158),"WeakMap");e.exports=n},90929:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},73034:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},5680:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var s=e[r];t(s,r,e)&&(o[i++]=s)}return o}},92554:(e,t,r)=>{var n=r(65086),i=r(67016),o=r(93706),s=r(77638),a=r(49699),u=r(70094),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=o(e),c=!r&&i(e),d=!r&&!c&&s(e),f=!r&&!c&&!d&&u(e),h=r||c||d||f,p=h?n(e.length,String):[],m=p.length;for(var g in e)!t&&!l.call(e,g)||h&&("length"==g||d&&("offset"==g||"parent"==g)||f&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||a(g,m))||p.push(g);return p}},57041:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}},52824:e=>{e.exports=function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}},99280:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},96122:(e,t,r)=>{var n=r(88039),i=r(1316),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var s=e[t];o.call(e,t)&&i(s,r)&&(void 0!==r||t in e)||n(e,t,r)}},33993:(e,t,r)=>{var n=r(1316);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},73977:(e,t,r)=>{var n=r(34386),i=r(23150);e.exports=function(e,t){return e&&n(t,i(t),e)}},5081:(e,t,r)=>{var n=r(34386),i=r(61530);e.exports=function(e,t){return e&&n(t,i(t),e)}},88039:(e,t,r)=>{var n=r(88689);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},49548:(e,t,r)=>{var n=r(34987),i=r(73034),o=r(96122),s=r(73977),a=r(5081),u=r(728),l=r(86923),c=r(21375),d=r(1584),f=r(47461),h=r(31441),p=r(35551),m=r(75539),g=r(83394),y=r(45010),v=r(93706),w=r(77638),b=r(55948),S=r(23619),_=r(78255),C=r(23150),E=r(61530),P="[object Arguments]",T="[object Function]",k="[object Object]",A={};A[P]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[k]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[T]=A["[object WeakMap]"]=!1,e.exports=function e(t,r,L,O,I,R){var D,F=1&r,M=2&r,x=4&r;if(L&&(D=I?L(t,O,I,R):L(t)),void 0!==D)return D;if(!S(t))return t;var N=v(t);if(N){if(D=m(t),!F)return l(t,D)}else{var j=p(t),W=j==T||"[object GeneratorFunction]"==j;if(w(t))return u(t,F);if(j==k||j==P||W&&!I){if(D=M||W?{}:y(t),!F)return M?d(t,a(D,t)):c(t,s(D,t))}else{if(!A[j])return I?t:{};D=g(t,j,F)}}R||(R=new n);var $=R.get(t);if($)return $;R.set(t,D),_(t)?t.forEach((function(n){D.add(e(n,r,L,n,t,R))})):b(t)&&t.forEach((function(n,i){D.set(i,e(n,r,L,i,t,R))}));var B=N?void 0:(x?M?h:f:M?E:C)(t);return i(B||t,(function(n,i){B&&(n=t[i=n]),o(D,i,e(n,r,L,i,t,R))})),D}},33776:(e,t,r)=>{var n=r(23619),i=Object.create,o=function(){function e(){}return function(t){if(!n(t))return{};if(i)return i(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=o},22153:(e,t,r)=>{var n=r(52824),i=r(76648);e.exports=function e(t,r,o,s,a){var u=-1,l=t.length;for(o||(o=i),a||(a=[]);++u<l;){var c=t[u];r>0&&o(c)?r>1?e(c,r-1,o,s,a):n(a,c):s||(a[a.length]=c)}return a}},51845:(e,t,r)=>{var n=r(49160),i=r(46384);e.exports=function(e,t){for(var r=0,o=(t=n(t,e)).length;null!=e&&r<o;)e=e[i(t[r++])];return r&&r==o?e:void 0}},45328:(e,t,r)=>{var n=r(52824),i=r(93706);e.exports=function(e,t,r){var o=t(e);return i(e)?o:n(o,r(e))}},20194:(e,t,r)=>{var n=r(44937),i=r(15401),o=r(92445),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?i(e):o(e)}},56640:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},64634:(e,t,r)=>{var n=r(20194),i=r(81653);e.exports=function(e){return i(e)&&"[object Arguments]"==n(e)}},95372:(e,t,r)=>{var n=r(55365),i=r(81653);e.exports=function e(t,r,o,s,a){return t===r||(null==t||null==r||!i(t)&&!i(r)?t!=t&&r!=r:n(t,r,o,s,e,a))}},55365:(e,t,r)=>{var n=r(34987),i=r(95428),o=r(1108),s=r(71711),a=r(35551),u=r(93706),l=r(77638),c=r(70094),d="[object Arguments]",f="[object Array]",h="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,m,g,y){var v=u(e),w=u(t),b=v?f:a(e),S=w?f:a(t),_=(b=b==d?h:b)==h,C=(S=S==d?h:S)==h,E=b==S;if(E&&l(e)){if(!l(t))return!1;v=!0,_=!1}if(E&&!_)return y||(y=new n),v||c(e)?i(e,t,r,m,g,y):o(e,t,b,r,m,g,y);if(!(1&r)){var P=_&&p.call(e,"__wrapped__"),T=C&&p.call(t,"__wrapped__");if(P||T){var k=P?e.value():e,A=T?t.value():t;return y||(y=new n),g(k,A,r,m,y)}}return!!E&&(y||(y=new n),s(e,t,r,m,g,y))}},2471:(e,t,r)=>{var n=r(35551),i=r(81653);e.exports=function(e){return i(e)&&"[object Map]"==n(e)}},4249:(e,t,r)=>{var n=r(39277),i=r(83481),o=r(23619),s=r(91223),a=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,f=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||i(e))&&(n(e)?f:a).test(s(e))}},42388:(e,t,r)=>{var n=r(35551),i=r(81653);e.exports=function(e){return i(e)&&"[object Set]"==n(e)}},88595:(e,t,r)=>{var n=r(20194),i=r(62008),o=r(81653),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!s[n(e)]}},76324:(e,t,r)=>{var n=r(3067),i=r(32501),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return i(e);var t=[];for(var r in Object(e))o.call(e,r)&&"constructor"!=r&&t.push(r);return t}},21506:(e,t,r)=>{var n=r(23619),i=r(3067),o=r(90807),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=i(e),r=[];for(var a in e)("constructor"!=a||!t&&s.call(e,a))&&r.push(a);return r}},11241:(e,t,r)=>{var n=r(10722),i=r(47975);e.exports=function(e,t){return n(e,t,(function(t,r){return i(e,r)}))}},10722:(e,t,r)=>{var n=r(51845),i=r(68400),o=r(49160);e.exports=function(e,t,r){for(var s=-1,a=t.length,u={};++s<a;){var l=t[s],c=n(e,l);r(c,l)&&i(u,o(l,e),c)}return u}},68400:(e,t,r)=>{var n=r(96122),i=r(49160),o=r(49699),s=r(23619),a=r(46384);e.exports=function(e,t,r,u){if(!s(e))return e;for(var l=-1,c=(t=i(t,e)).length,d=c-1,f=e;null!=f&&++l<c;){var h=a(t[l]),p=r;if("__proto__"===h||"constructor"===h||"prototype"===h)return e;if(l!=d){var m=f[h];void 0===(p=u?u(m,h,f):void 0)&&(p=s(m)?m:o(t[l+1])?[]:{})}n(f,h,p),f=f[h]}return e}},86920:(e,t,r)=>{var n=r(80446),i=r(88689),o=r(41549),s=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:o;e.exports=s},65086:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},80430:(e,t,r)=>{var n=r(44937),i=r(57041),o=r(93706),s=r(81878),a=n?n.prototype:void 0,u=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(o(t))return i(t,e)+"";if(s(t))return u?u.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},12383:(e,t,r)=>{var n=r(38725),i=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,""):e}},2723:e=>{e.exports=function(e){return function(t){return e(t)}}},67446:e=>{e.exports=function(e,t){return e.has(t)}},49160:(e,t,r)=>{var n=r(93706),i=r(63140),o=r(39230),s=r(33270);e.exports=function(e,t){return n(e)?e:i(e,t)?[e]:o(s(e))}},53310:(e,t,r)=>{var n=r(48596);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},728:(e,t,r)=>{e=r.nmd(e);var n=r(158),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i?n.Buffer:void 0,a=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}},14352:(e,t,r)=>{var n=r(53310);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},44694:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},29169:(e,t,r)=>{var n=r(44937),i=n?n.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},69752:(e,t,r)=>{var n=r(53310);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},86923:e=>{e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},34386:(e,t,r)=>{var n=r(96122),i=r(88039);e.exports=function(e,t,r,o){var s=!r;r||(r={});for(var a=-1,u=t.length;++a<u;){var l=t[a],c=o?o(r[l],e[l],l,r,e):void 0;void 0===c&&(c=e[l]),s?i(r,l,c):n(r,l,c)}return r}},21375:(e,t,r)=>{var n=r(34386),i=r(45278);e.exports=function(e,t){return n(e,i(e),t)}},1584:(e,t,r)=>{var n=r(34386),i=r(27508);e.exports=function(e,t){return n(e,i(e),t)}},38728:(e,t,r)=>{var n=r(158)["__core-js_shared__"];e.exports=n},88689:(e,t,r)=>{var n=r(21059),i=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},95428:(e,t,r)=>{var n=r(74868),i=r(99280),o=r(67446);e.exports=function(e,t,r,s,a,u){var l=1&r,c=e.length,d=t.length;if(c!=d&&!(l&&d>c))return!1;var f=u.get(e),h=u.get(t);if(f&&h)return f==t&&h==e;var p=-1,m=!0,g=2&r?new n:void 0;for(u.set(e,t),u.set(t,e);++p<c;){var y=e[p],v=t[p];if(s)var w=l?s(v,y,p,t,e,u):s(y,v,p,e,t,u);if(void 0!==w){if(w)continue;m=!1;break}if(g){if(!i(t,(function(e,t){if(!o(g,t)&&(y===e||a(y,e,r,s,u)))return g.push(t)}))){m=!1;break}}else if(y!==v&&!a(y,v,r,s,u)){m=!1;break}}return u.delete(e),u.delete(t),m}},1108:(e,t,r)=>{var n=r(44937),i=r(48596),o=r(1316),s=r(95428),a=r(11382),u=r(76680),l=n?n.prototype:void 0,c=l?l.valueOf:void 0;e.exports=function(e,t,r,n,l,d,f){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!d(new i(e),new i(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=a;case"[object Set]":var p=1&n;if(h||(h=u),e.size!=t.size&&!p)return!1;var m=f.get(e);if(m)return m==t;n|=2,f.set(e,t);var g=s(h(e),h(t),n,l,d,f);return f.delete(e),g;case"[object Symbol]":if(c)return c.call(e)==c.call(t)}return!1}},71711:(e,t,r)=>{var n=r(47461),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,o,s,a){var u=1&r,l=n(e),c=l.length;if(c!=n(t).length&&!u)return!1;for(var d=c;d--;){var f=l[d];if(!(u?f in t:i.call(t,f)))return!1}var h=a.get(e),p=a.get(t);if(h&&p)return h==t&&p==e;var m=!0;a.set(e,t),a.set(t,e);for(var g=u;++d<c;){var y=e[f=l[d]],v=t[f];if(o)var w=u?o(v,y,f,t,e,a):o(y,v,f,e,t,a);if(!(void 0===w?y===v||s(y,v,r,o,a):w)){m=!1;break}g||(g="constructor"==f)}if(m&&!g){var b=e.constructor,S=t.constructor;b==S||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof S&&S instanceof S||(m=!1)}return a.delete(e),a.delete(t),m}},39169:(e,t,r)=>{var n=r(30597),i=r(53039),o=r(47209);e.exports=function(e){return o(i(e,void 0,n),e+"")}},14528:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},47461:(e,t,r)=>{var n=r(45328),i=r(45278),o=r(23150);e.exports=function(e){return n(e,o,i)}},31441:(e,t,r)=>{var n=r(45328),i=r(27508),o=r(61530);e.exports=function(e){return n(e,o,i)}},5662:(e,t,r)=>{var n=r(10205);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},21059:(e,t,r)=>{var n=r(4249),i=r(4759);e.exports=function(e,t){var r=i(e,t);return n(r)?r:void 0}},97959:(e,t,r)=>{var n=r(78579)(Object.getPrototypeOf,Object);e.exports=n},15401:(e,t,r)=>{var n=r(44937),i=Object.prototype,o=i.hasOwnProperty,s=i.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),r=e[a];try{e[a]=void 0;var n=!0}catch(e){}var i=s.call(e);return n&&(t?e[a]=r:delete e[a]),i}},45278:(e,t,r)=>{var n=r(5680),i=r(59174),o=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return o.call(e,t)})))}:i;e.exports=a},27508:(e,t,r)=>{var n=r(52824),i=r(97959),o=r(45278),s=r(59174),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,o(e)),e=i(e);return t}:s;e.exports=a},35551:(e,t,r)=>{var n=r(24081),i=r(60945),o=r(27540),s=r(80476),a=r(18307),u=r(20194),l=r(91223),c="[object Map]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",p="[object DataView]",m=l(n),g=l(i),y=l(o),v=l(s),w=l(a),b=u;(n&&b(new n(new ArrayBuffer(1)))!=p||i&&b(new i)!=c||o&&b(o.resolve())!=d||s&&b(new s)!=f||a&&b(new a)!=h)&&(b=function(e){var t=u(e),r="[object Object]"==t?e.constructor:void 0,n=r?l(r):"";if(n)switch(n){case m:return p;case g:return c;case y:return d;case v:return f;case w:return h}return t}),e.exports=b},4759:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},96919:(e,t,r)=>{var n=r(49160),i=r(67016),o=r(93706),s=r(49699),a=r(62008),u=r(46384);e.exports=function(e,t,r){for(var l=-1,c=(t=n(t,e)).length,d=!1;++l<c;){var f=u(t[l]);if(!(d=null!=e&&r(e,f)))break;e=e[f]}return d||++l!=c?d:!!(c=null==e?0:e.length)&&a(c)&&s(f,c)&&(o(e)||i(e))}},13387:(e,t,r)=>{var n=r(45155);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},69252:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},31125:(e,t,r)=>{var n=r(45155),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return i.call(t,e)?t[e]:void 0}},9021:(e,t,r)=>{var n=r(45155),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:i.call(t,e)}},68131:(e,t,r)=>{var n=r(45155);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},75539:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},83394:(e,t,r)=>{var n=r(53310),i=r(14352),o=r(44694),s=r(29169),a=r(69752);e.exports=function(e,t,r){var u=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new u(+e);case"[object DataView]":return i(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(e,r);case"[object Map]":return new u;case"[object Number]":case"[object String]":return new u(e);case"[object RegExp]":return o(e);case"[object Set]":return new u;case"[object Symbol]":return s(e)}}},45010:(e,t,r)=>{var n=r(33776),i=r(97959),o=r(3067);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:n(i(e))}},76648:(e,t,r)=>{var n=r(44937),i=r(67016),o=r(93706),s=n?n.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(s&&e&&e[s])}},49699:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},63140:(e,t,r)=>{var n=r(93706),i=r(81878),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!i(e))||s.test(e)||!o.test(e)||null!=t&&e in Object(t)}},10205:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},83481:(e,t,r)=>{var n,i=r(38728),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!o&&o in e}},3067:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},72215:e=>{e.exports=function(){this.__data__=[],this.size=0}},56105:(e,t,r)=>{var n=r(33993),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():i.call(t,r,1),--this.size,0))}},30484:(e,t,r)=>{var n=r(33993);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},8046:(e,t,r)=>{var n=r(33993);e.exports=function(e){return n(this.__data__,e)>-1}},30603:(e,t,r)=>{var n=r(33993);e.exports=function(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}},73633:(e,t,r)=>{var n=r(15999),i=r(26811),o=r(60945);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},39382:(e,t,r)=>{var n=r(5662);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},28850:(e,t,r)=>{var n=r(5662);e.exports=function(e){return n(this,e).get(e)}},70756:(e,t,r)=>{var n=r(5662);e.exports=function(e){return n(this,e).has(e)}},2769:(e,t,r)=>{var n=r(5662);e.exports=function(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}},11382:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},32202:(e,t,r)=>{var n=r(54883);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},45155:(e,t,r)=>{var n=r(21059)(Object,"create");e.exports=n},32501:(e,t,r)=>{var n=r(78579)(Object.keys,Object);e.exports=n},90807:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},41771:(e,t,r)=>{e=r.nmd(e);var n=r(14528),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,s=o&&o.exports===i&&n.process,a=function(){try{return o&&o.require&&o.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a},92445:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},78579:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},53039:(e,t,r)=>{var n=r(90929),i=Math.max;e.exports=function(e,t,r){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,s=-1,a=i(o.length-t,0),u=Array(a);++s<a;)u[s]=o[t+s];s=-1;for(var l=Array(t+1);++s<t;)l[s]=o[s];return l[t]=r(u),n(e,this,l)}}},158:(e,t,r)=>{var n=r(14528),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();e.exports=o},57554:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},18800:e=>{e.exports=function(e){return this.__data__.has(e)}},76680:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},47209:(e,t,r)=>{var n=r(86920),i=r(10832)(n);e.exports=i},10832:e=>{var t=Date.now;e.exports=function(e){var r=0,n=0;return function(){var i=t(),o=16-(i-n);if(n=i,o>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},73832:(e,t,r)=>{var n=r(26811);e.exports=function(){this.__data__=new n,this.size=0}},31676:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},33577:e=>{e.exports=function(e){return this.__data__.get(e)}},43343:e=>{e.exports=function(e){return this.__data__.has(e)}},20488:(e,t,r)=>{var n=r(26811),i=r(60945),o=r(25835);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!i||s.length<199)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new o(s)}return r.set(e,t),this.size=r.size,this}},39230:(e,t,r)=>{var n=r(32202),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,s=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(i,(function(e,r,n,i){t.push(n?i.replace(o,"$1"):r||e)})),t}));e.exports=s},46384:(e,t,r)=>{var n=r(81878);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},91223:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},38725:e=>{var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},71879:(e,t,r)=>{var n=r(49548);e.exports=function(e){return n(e,4)}},99748:(e,t,r)=>{var n=r(49548);e.exports=function(e){return n(e,5)}},80446:e=>{e.exports=function(e){return function(){return e}}},76897:(e,t,r)=>{var n=r(23619),i=r(98253),o=r(95053),s=Math.max,a=Math.min;e.exports=function(e,t,r){var u,l,c,d,f,h,p=0,m=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var r=u,n=l;return u=l=void 0,p=t,d=e.apply(n,r)}function w(e){return p=e,f=setTimeout(S,t),m?v(e):d}function b(e){var r=e-h;return void 0===h||r>=t||r<0||g&&e-p>=c}function S(){var e=i();if(b(e))return _(e);f=setTimeout(S,function(e){var r=t-(e-h);return g?a(r,c-(e-p)):r}(e))}function _(e){return f=void 0,y&&u?v(e):(u=l=void 0,d)}function C(){var e=i(),r=b(e);if(u=arguments,l=this,h=e,r){if(void 0===f)return w(h);if(g)return clearTimeout(f),f=setTimeout(S,t),v(h)}return void 0===f&&(f=setTimeout(S,t)),d}return t=o(t)||0,n(r)&&(m=!!r.leading,c=(g="maxWait"in r)?s(o(r.maxWait)||0,t):c,y="trailing"in r?!!r.trailing:y),C.cancel=function(){void 0!==f&&clearTimeout(f),p=0,u=h=l=f=void 0},C.flush=function(){return void 0===f?d:_(i())},C}},1316:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},30597:(e,t,r)=>{var n=r(22153);e.exports=function(e){return null!=e&&e.length?n(e,1):[]}},80089:(e,t,r)=>{var n=r(51845);e.exports=function(e,t,r){var i=null==e?void 0:n(e,t);return void 0===i?r:i}},47975:(e,t,r)=>{var n=r(56640),i=r(96919);e.exports=function(e,t){return null!=e&&i(e,t,n)}},41549:e=>{e.exports=function(e){return e}},67016:(e,t,r)=>{var n=r(64634),i=r(81653),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=u},93706:e=>{var t=Array.isArray;e.exports=t},51528:(e,t,r)=>{var n=r(39277),i=r(62008);e.exports=function(e){return null!=e&&i(e.length)&&!n(e)}},77638:(e,t,r)=>{e=r.nmd(e);var n=r(158),i=r(30647),o=t&&!t.nodeType&&t,s=o&&e&&!e.nodeType&&e,a=s&&s.exports===o?n.Buffer:void 0,u=(a?a.isBuffer:void 0)||i;e.exports=u},47184:(e,t,r)=>{var n=r(95372);e.exports=function(e,t){return n(e,t)}},65162:(e,t,r)=>{var n=r(95372);e.exports=function(e,t,r){var i=(r="function"==typeof r?r:void 0)?r(e,t):void 0;return void 0===i?n(e,t,void 0,r):!!i}},39277:(e,t,r)=>{var n=r(20194),i=r(23619);e.exports=function(e){if(!i(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},62008:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},55948:(e,t,r)=>{var n=r(2471),i=r(2723),o=r(41771),s=o&&o.isMap,a=s?i(s):n;e.exports=a},23619:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},81653:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},78255:(e,t,r)=>{var n=r(42388),i=r(2723),o=r(41771),s=o&&o.isSet,a=s?i(s):n;e.exports=a},81878:(e,t,r)=>{var n=r(20194),i=r(81653);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==n(e)}},70094:(e,t,r)=>{var n=r(88595),i=r(2723),o=r(41771),s=o&&o.isTypedArray,a=s?i(s):n;e.exports=a},23150:(e,t,r)=>{var n=r(92554),i=r(76324),o=r(51528);e.exports=function(e){return o(e)?n(e):i(e)}},61530:(e,t,r)=>{var n=r(92554),i=r(21506),o=r(51528);e.exports=function(e){return o(e)?n(e,!0):i(e)}},53059:function(e,t,r){var n;e=r.nmd(e),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",u=32,l=128,c=1/0,d=9007199254740991,f=NaN,h=4294967295,p=[["ary",l],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",u],["partialRight",64],["rearg",256]],m="[object Arguments]",g="[object Array]",y="[object Boolean]",v="[object Date]",w="[object Error]",b="[object Function]",S="[object GeneratorFunction]",_="[object Map]",C="[object Number]",E="[object Object]",P="[object Promise]",T="[object RegExp]",k="[object Set]",A="[object String]",L="[object Symbol]",O="[object WeakMap]",I="[object ArrayBuffer]",R="[object DataView]",D="[object Float32Array]",F="[object Float64Array]",M="[object Int8Array]",x="[object Int16Array]",N="[object Int32Array]",j="[object Uint8Array]",W="[object Uint8ClampedArray]",$="[object Uint16Array]",B="[object Uint32Array]",U=/\b__p \+= '';/g,H=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,q=/&(?:amp|lt|gt|quot|#39);/g,z=/[&<>"']/g,G=RegExp(q.source),Q=RegExp(z.source),K=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,Y=/<%=([\s\S]+?)%>/g,Z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,X=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,re=RegExp(te.source),ne=/^\s+/,ie=/\s/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,se=/\{\n\/\* \[wrapped with (.+)\] \*/,ae=/,? & /,ue=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,le=/[()=,{}\[\]\/\s]/,ce=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,he=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,me=/^\[object .+?Constructor\]$/,ge=/^0o[0-7]+$/i,ye=/^(?:0|[1-9]\d*)$/,ve=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,we=/($^)/,be=/['\n\r\u2028\u2029\\]/g,Se="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",_e="a-z\\xdf-\\xf6\\xf8-\\xff",Ce="A-Z\\xc0-\\xd6\\xd8-\\xde",Ee="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pe="["+Ee+"]",Te="["+Se+"]",ke="\\d+",Ae="["+_e+"]",Le="[^\\ud800-\\udfff"+Ee+ke+"\\u2700-\\u27bf"+_e+Ce+"]",Oe="\\ud83c[\\udffb-\\udfff]",Ie="[^\\ud800-\\udfff]",Re="(?:\\ud83c[\\udde6-\\uddff]){2}",De="[\\ud800-\\udbff][\\udc00-\\udfff]",Fe="["+Ce+"]",Me="(?:"+Ae+"|"+Le+")",xe="(?:"+Fe+"|"+Le+")",Ne="(?:['’](?:d|ll|m|re|s|t|ve))?",je="(?:['’](?:D|LL|M|RE|S|T|VE))?",We="(?:"+Te+"|"+Oe+")?",$e="[\\ufe0e\\ufe0f]?",Be=$e+We+"(?:\\u200d(?:"+[Ie,Re,De].join("|")+")"+$e+We+")*",Ue="(?:"+["[\\u2700-\\u27bf]",Re,De].join("|")+")"+Be,He="(?:"+[Ie+Te+"?",Te,Re,De,"[\\ud800-\\udfff]"].join("|")+")",Ve=RegExp("['’]","g"),qe=RegExp(Te,"g"),ze=RegExp(Oe+"(?="+Oe+")|"+He+Be,"g"),Ge=RegExp([Fe+"?"+Ae+"+"+Ne+"(?="+[Pe,Fe,"$"].join("|")+")",xe+"+"+je+"(?="+[Pe,Fe+Me,"$"].join("|")+")",Fe+"?"+Me+"+"+Ne,Fe+"+"+je,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ke,Ue].join("|"),"g"),Qe=RegExp("[\\u200d\\ud800-\\udfff"+Se+"\\ufe0e\\ufe0f]"),Ke=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Je=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ye=-1,Ze={};Ze[D]=Ze[F]=Ze[M]=Ze[x]=Ze[N]=Ze[j]=Ze[W]=Ze[$]=Ze[B]=!0,Ze[m]=Ze[g]=Ze[I]=Ze[y]=Ze[R]=Ze[v]=Ze[w]=Ze[b]=Ze[_]=Ze[C]=Ze[E]=Ze[T]=Ze[k]=Ze[A]=Ze[O]=!1;var Xe={};Xe[m]=Xe[g]=Xe[I]=Xe[R]=Xe[y]=Xe[v]=Xe[D]=Xe[F]=Xe[M]=Xe[x]=Xe[N]=Xe[_]=Xe[C]=Xe[E]=Xe[T]=Xe[k]=Xe[A]=Xe[L]=Xe[j]=Xe[W]=Xe[$]=Xe[B]=!0,Xe[w]=Xe[b]=Xe[O]=!1;var et={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},tt=parseFloat,rt=parseInt,nt="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,it="object"==typeof self&&self&&self.Object===Object&&self,ot=nt||it||Function("return this")(),st=t&&!t.nodeType&&t,at=st&&e&&!e.nodeType&&e,ut=at&&at.exports===st,lt=ut&&nt.process,ct=function(){try{return at&&at.require&&at.require("util").types||lt&<.binding&<.binding("util")}catch(e){}}(),dt=ct&&ct.isArrayBuffer,ft=ct&&ct.isDate,ht=ct&&ct.isMap,pt=ct&&ct.isRegExp,mt=ct&&ct.isSet,gt=ct&&ct.isTypedArray;function yt(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function vt(e,t,r,n){for(var i=-1,o=null==e?0:e.length;++i<o;){var s=e[i];t(n,s,r(s),e)}return n}function wt(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function bt(e,t){for(var r=null==e?0:e.length;r--&&!1!==t(e[r],r,e););return e}function St(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}function _t(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var s=e[r];t(s,r,e)&&(o[i++]=s)}return o}function Ct(e,t){return!(null==e||!e.length)&&Dt(e,t,0)>-1}function Et(e,t,r){for(var n=-1,i=null==e?0:e.length;++n<i;)if(r(t,e[n]))return!0;return!1}function Pt(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}function Tt(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function kt(e,t,r,n){var i=-1,o=null==e?0:e.length;for(n&&o&&(r=e[++i]);++i<o;)r=t(r,e[i],i,e);return r}function At(e,t,r,n){var i=null==e?0:e.length;for(n&&i&&(r=e[--i]);i--;)r=t(r,e[i],i,e);return r}function Lt(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}var Ot=Nt("length");function It(e,t,r){var n;return r(e,(function(e,r,i){if(t(e,r,i))return n=r,!1})),n}function Rt(e,t,r,n){for(var i=e.length,o=r+(n?1:-1);n?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Dt(e,t,r){return t==t?function(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return-1}(e,t,r):Rt(e,Mt,r)}function Ft(e,t,r,n){for(var i=r-1,o=e.length;++i<o;)if(n(e[i],t))return i;return-1}function Mt(e){return e!=e}function xt(e,t){var r=null==e?0:e.length;return r?$t(e,t)/r:f}function Nt(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function Wt(e,t,r,n,i){return i(e,(function(e,i,o){r=n?(n=!1,e):t(r,e,i,o)})),r}function $t(e,t){for(var r,n=-1,o=e.length;++n<o;){var s=t(e[n]);s!==i&&(r=r===i?s:r+s)}return r}function Bt(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}function Ut(e){return e?e.slice(0,sr(e)+1).replace(ne,""):e}function Ht(e){return function(t){return e(t)}}function Vt(e,t){return Pt(t,(function(t){return e[t]}))}function qt(e,t){return e.has(t)}function zt(e,t){for(var r=-1,n=e.length;++r<n&&Dt(t,e[r],0)>-1;);return r}function Gt(e,t){for(var r=e.length;r--&&Dt(t,e[r],0)>-1;);return r}function Qt(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var Kt=jt({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Jt=jt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Yt(e){return"\\"+et[e]}function Zt(e){return Qe.test(e)}function Xt(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}function er(e,t){return function(r){return e(t(r))}}function tr(e,t){for(var r=-1,n=e.length,i=0,o=[];++r<n;){var s=e[r];s!==t&&s!==a||(e[r]=a,o[i++]=r)}return o}function rr(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}function nr(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=[e,e]})),r}function ir(e){return Zt(e)?function(e){for(var t=ze.lastIndex=0;ze.test(e);)++t;return t}(e):Ot(e)}function or(e){return Zt(e)?function(e){return e.match(ze)||[]}(e):function(e){return e.split("")}(e)}function sr(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var ar=jt({"&":"&","<":"<",">":">",""":'"',"'":"'"}),ur=function e(t){var r,n=(t=null==t?ot:ur.defaults(ot.Object(),t,ur.pick(ot,Je))).Array,ie=t.Date,Se=t.Error,_e=t.Function,Ce=t.Math,Ee=t.Object,Pe=t.RegExp,Te=t.String,ke=t.TypeError,Ae=n.prototype,Le=_e.prototype,Oe=Ee.prototype,Ie=t["__core-js_shared__"],Re=Le.toString,De=Oe.hasOwnProperty,Fe=0,Me=(r=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",xe=Oe.toString,Ne=Re.call(Ee),je=ot._,We=Pe("^"+Re.call(De).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),$e=ut?t.Buffer:i,Be=t.Symbol,Ue=t.Uint8Array,He=$e?$e.allocUnsafe:i,ze=er(Ee.getPrototypeOf,Ee),Qe=Ee.create,et=Oe.propertyIsEnumerable,nt=Ae.splice,it=Be?Be.isConcatSpreadable:i,st=Be?Be.iterator:i,at=Be?Be.toStringTag:i,lt=function(){try{var e=lo(Ee,"defineProperty");return e({},"",{}),e}catch(e){}}(),ct=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Ot=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,lr=Ce.ceil,cr=Ce.floor,dr=Ee.getOwnPropertySymbols,fr=$e?$e.isBuffer:i,hr=t.isFinite,pr=Ae.join,mr=er(Ee.keys,Ee),gr=Ce.max,yr=Ce.min,vr=ie.now,wr=t.parseInt,br=Ce.random,Sr=Ae.reverse,_r=lo(t,"DataView"),Cr=lo(t,"Map"),Er=lo(t,"Promise"),Pr=lo(t,"Set"),Tr=lo(t,"WeakMap"),kr=lo(Ee,"create"),Ar=Tr&&new Tr,Lr={},Or=Wo(_r),Ir=Wo(Cr),Rr=Wo(Er),Dr=Wo(Pr),Fr=Wo(Tr),Mr=Be?Be.prototype:i,xr=Mr?Mr.valueOf:i,Nr=Mr?Mr.toString:i;function jr(e){if(ra(e)&&!qs(e)&&!(e instanceof Ur)){if(e instanceof Br)return e;if(De.call(e,"__wrapped__"))return $o(e)}return new Br(e)}var Wr=function(){function e(){}return function(t){if(!ta(t))return{};if(Qe)return Qe(t);e.prototype=t;var r=new e;return e.prototype=i,r}}();function $r(){}function Br(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Ur(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Hr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function Vr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function qr(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function zr(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new qr;++t<r;)this.add(e[t])}function Gr(e){var t=this.__data__=new Vr(e);this.size=t.size}function Qr(e,t){var r=qs(e),n=!r&&Vs(e),i=!r&&!n&&Ks(e),o=!r&&!n&&!i&&ca(e),s=r||n||i||o,a=s?Bt(e.length,Te):[],u=a.length;for(var l in e)!t&&!De.call(e,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||yo(l,u))||a.push(l);return a}function Kr(e){var t=e.length;return t?e[zn(0,t-1)]:i}function Jr(e,t){return Fo(ki(e),sn(t,0,e.length))}function Yr(e){return Fo(ki(e))}function Zr(e,t,r){(r!==i&&!Bs(e[t],r)||r===i&&!(t in e))&&nn(e,t,r)}function Xr(e,t,r){var n=e[t];De.call(e,t)&&Bs(n,r)&&(r!==i||t in e)||nn(e,t,r)}function en(e,t){for(var r=e.length;r--;)if(Bs(e[r][0],t))return r;return-1}function tn(e,t,r,n){return dn(e,(function(e,i,o){t(n,e,r(e),o)})),n}function rn(e,t){return e&&Ai(t,Ra(t),e)}function nn(e,t,r){"__proto__"==t&<?lt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function on(e,t){for(var r=-1,o=t.length,s=n(o),a=null==e;++r<o;)s[r]=a?i:ka(e,t[r]);return s}function sn(e,t,r){return e==e&&(r!==i&&(e=e<=r?e:r),t!==i&&(e=e>=t?e:t)),e}function an(e,t,r,n,o,s){var a,u=1&t,l=2&t,c=4&t;if(r&&(a=o?r(e,n,o,s):r(e)),a!==i)return a;if(!ta(e))return e;var d=qs(e);if(d){if(a=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&De.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!u)return ki(e,a)}else{var f=ho(e),h=f==b||f==S;if(Ks(e))return Si(e,u);if(f==E||f==m||h&&!o){if(a=l||h?{}:mo(e),!u)return l?function(e,t){return Ai(e,fo(e),t)}(e,function(e,t){return e&&Ai(t,Da(t),e)}(a,e)):function(e,t){return Ai(e,co(e),t)}(e,rn(a,e))}else{if(!Xe[f])return o?e:{};a=function(e,t,r){var n,i=e.constructor;switch(t){case I:return _i(e);case y:case v:return new i(+e);case R:return function(e,t){var r=t?_i(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case D:case F:case M:case x:case N:case j:case W:case $:case B:return Ci(e,r);case _:return new i;case C:case A:return new i(e);case T:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case k:return new i;case L:return n=e,xr?Ee(xr.call(n)):{}}}(e,f,u)}}s||(s=new Gr);var p=s.get(e);if(p)return p;s.set(e,a),aa(e)?e.forEach((function(n){a.add(an(n,t,r,n,e,s))})):na(e)&&e.forEach((function(n,i){a.set(i,an(n,t,r,i,e,s))}));var g=d?i:(c?l?ro:to:l?Da:Ra)(e);return wt(g||e,(function(n,i){g&&(n=e[i=n]),Xr(a,i,an(n,t,r,i,e,s))})),a}function un(e,t,r){var n=r.length;if(null==e)return!n;for(e=Ee(e);n--;){var o=r[n],s=t[o],a=e[o];if(a===i&&!(o in e)||!s(a))return!1}return!0}function ln(e,t,r){if("function"!=typeof e)throw new ke(o);return Oo((function(){e.apply(i,r)}),t)}function cn(e,t,r,n){var i=-1,o=Ct,s=!0,a=e.length,u=[],l=t.length;if(!a)return u;r&&(t=Pt(t,Ht(r))),n?(o=Et,s=!1):t.length>=200&&(o=qt,s=!1,t=new zr(t));e:for(;++i<a;){var c=e[i],d=null==r?c:r(c);if(c=n||0!==c?c:0,s&&d==d){for(var f=l;f--;)if(t[f]===d)continue e;u.push(c)}else o(t,d,n)||u.push(c)}return u}jr.templateSettings={escape:K,evaluate:J,interpolate:Y,variable:"",imports:{_:jr}},jr.prototype=$r.prototype,jr.prototype.constructor=jr,Br.prototype=Wr($r.prototype),Br.prototype.constructor=Br,Ur.prototype=Wr($r.prototype),Ur.prototype.constructor=Ur,Hr.prototype.clear=function(){this.__data__=kr?kr(null):{},this.size=0},Hr.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Hr.prototype.get=function(e){var t=this.__data__;if(kr){var r=t[e];return r===s?i:r}return De.call(t,e)?t[e]:i},Hr.prototype.has=function(e){var t=this.__data__;return kr?t[e]!==i:De.call(t,e)},Hr.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=kr&&t===i?s:t,this},Vr.prototype.clear=function(){this.__data__=[],this.size=0},Vr.prototype.delete=function(e){var t=this.__data__,r=en(t,e);return!(r<0||(r==t.length-1?t.pop():nt.call(t,r,1),--this.size,0))},Vr.prototype.get=function(e){var t=this.__data__,r=en(t,e);return r<0?i:t[r][1]},Vr.prototype.has=function(e){return en(this.__data__,e)>-1},Vr.prototype.set=function(e,t){var r=this.__data__,n=en(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this},qr.prototype.clear=function(){this.size=0,this.__data__={hash:new Hr,map:new(Cr||Vr),string:new Hr}},qr.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},qr.prototype.get=function(e){return ao(this,e).get(e)},qr.prototype.has=function(e){return ao(this,e).has(e)},qr.prototype.set=function(e,t){var r=ao(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},zr.prototype.add=zr.prototype.push=function(e){return this.__data__.set(e,s),this},zr.prototype.has=function(e){return this.__data__.has(e)},Gr.prototype.clear=function(){this.__data__=new Vr,this.size=0},Gr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},Gr.prototype.get=function(e){return this.__data__.get(e)},Gr.prototype.has=function(e){return this.__data__.has(e)},Gr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Vr){var n=r.__data__;if(!Cr||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new qr(n)}return r.set(e,t),this.size=r.size,this};var dn=Ii(wn),fn=Ii(bn,!0);function hn(e,t){var r=!0;return dn(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function pn(e,t,r){for(var n=-1,o=e.length;++n<o;){var s=e[n],a=t(s);if(null!=a&&(u===i?a==a&&!la(a):r(a,u)))var u=a,l=s}return l}function mn(e,t){var r=[];return dn(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function gn(e,t,r,n,i){var o=-1,s=e.length;for(r||(r=go),i||(i=[]);++o<s;){var a=e[o];t>0&&r(a)?t>1?gn(a,t-1,r,n,i):Tt(i,a):n||(i[i.length]=a)}return i}var yn=Ri(),vn=Ri(!0);function wn(e,t){return e&&yn(e,t,Ra)}function bn(e,t){return e&&vn(e,t,Ra)}function Sn(e,t){return _t(t,(function(t){return Zs(e[t])}))}function _n(e,t){for(var r=0,n=(t=yi(t,e)).length;null!=e&&r<n;)e=e[jo(t[r++])];return r&&r==n?e:i}function Cn(e,t,r){var n=t(e);return qs(e)?n:Tt(n,r(e))}function En(e){return null==e?e===i?"[object Undefined]":"[object Null]":at&&at in Ee(e)?function(e){var t=De.call(e,at),r=e[at];try{e[at]=i;var n=!0}catch(e){}var o=xe.call(e);return n&&(t?e[at]=r:delete e[at]),o}(e):function(e){return xe.call(e)}(e)}function Pn(e,t){return e>t}function Tn(e,t){return null!=e&&De.call(e,t)}function kn(e,t){return null!=e&&t in Ee(e)}function An(e,t,r){for(var o=r?Et:Ct,s=e[0].length,a=e.length,u=a,l=n(a),c=1/0,d=[];u--;){var f=e[u];u&&t&&(f=Pt(f,Ht(t))),c=yr(f.length,c),l[u]=!r&&(t||s>=120&&f.length>=120)?new zr(u&&f):i}f=e[0];var h=-1,p=l[0];e:for(;++h<s&&d.length<c;){var m=f[h],g=t?t(m):m;if(m=r||0!==m?m:0,!(p?qt(p,g):o(d,g,r))){for(u=a;--u;){var y=l[u];if(!(y?qt(y,g):o(e[u],g,r)))continue e}p&&p.push(g),d.push(m)}}return d}function Ln(e,t,r){var n=null==(e=To(e,t=yi(t,e)))?e:e[jo(Yo(t))];return null==n?i:yt(n,e,r)}function On(e){return ra(e)&&En(e)==m}function In(e,t,r,n,o){return e===t||(null==e||null==t||!ra(e)&&!ra(t)?e!=e&&t!=t:function(e,t,r,n,o,s){var a=qs(e),u=qs(t),l=a?g:ho(e),c=u?g:ho(t),d=(l=l==m?E:l)==E,f=(c=c==m?E:c)==E,h=l==c;if(h&&Ks(e)){if(!Ks(t))return!1;a=!0,d=!1}if(h&&!d)return s||(s=new Gr),a||ca(e)?Xi(e,t,r,n,o,s):function(e,t,r,n,i,o,s){switch(r){case R:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case I:return!(e.byteLength!=t.byteLength||!o(new Ue(e),new Ue(t)));case y:case v:case C:return Bs(+e,+t);case w:return e.name==t.name&&e.message==t.message;case T:case A:return e==t+"";case _:var a=Xt;case k:var u=1&n;if(a||(a=rr),e.size!=t.size&&!u)return!1;var l=s.get(e);if(l)return l==t;n|=2,s.set(e,t);var c=Xi(a(e),a(t),n,i,o,s);return s.delete(e),c;case L:if(xr)return xr.call(e)==xr.call(t)}return!1}(e,t,l,r,n,o,s);if(!(1&r)){var p=d&&De.call(e,"__wrapped__"),b=f&&De.call(t,"__wrapped__");if(p||b){var S=p?e.value():e,P=b?t.value():t;return s||(s=new Gr),o(S,P,r,n,s)}}return!!h&&(s||(s=new Gr),function(e,t,r,n,o,s){var a=1&r,u=to(e),l=u.length;if(l!=to(t).length&&!a)return!1;for(var c=l;c--;){var d=u[c];if(!(a?d in t:De.call(t,d)))return!1}var f=s.get(e),h=s.get(t);if(f&&h)return f==t&&h==e;var p=!0;s.set(e,t),s.set(t,e);for(var m=a;++c<l;){var g=e[d=u[c]],y=t[d];if(n)var v=a?n(y,g,d,t,e,s):n(g,y,d,e,t,s);if(!(v===i?g===y||o(g,y,r,n,s):v)){p=!1;break}m||(m="constructor"==d)}if(p&&!m){var w=e.constructor,b=t.constructor;w==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof w&&w instanceof w&&"function"==typeof b&&b instanceof b||(p=!1)}return s.delete(e),s.delete(t),p}(e,t,r,n,o,s))}(e,t,r,n,In,o))}function Rn(e,t,r,n){var o=r.length,s=o,a=!n;if(null==e)return!s;for(e=Ee(e);o--;){var u=r[o];if(a&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<s;){var l=(u=r[o])[0],c=e[l],d=u[1];if(a&&u[2]){if(c===i&&!(l in e))return!1}else{var f=new Gr;if(n)var h=n(c,d,l,e,t,f);if(!(h===i?In(d,c,3,n,f):h))return!1}}return!0}function Dn(e){return!(!ta(e)||(t=e,Me&&Me in t))&&(Zs(e)?We:me).test(Wo(e));var t}function Fn(e){return"function"==typeof e?e:null==e?iu:"object"==typeof e?qs(e)?Wn(e[0],e[1]):jn(e):hu(e)}function Mn(e){if(!_o(e))return mr(e);var t=[];for(var r in Ee(e))De.call(e,r)&&"constructor"!=r&&t.push(r);return t}function xn(e,t){return e<t}function Nn(e,t){var r=-1,i=Gs(e)?n(e.length):[];return dn(e,(function(e,n,o){i[++r]=t(e,n,o)})),i}function jn(e){var t=uo(e);return 1==t.length&&t[0][2]?Eo(t[0][0],t[0][1]):function(r){return r===e||Rn(r,e,t)}}function Wn(e,t){return wo(e)&&Co(t)?Eo(jo(e),t):function(r){var n=ka(r,e);return n===i&&n===t?Aa(r,e):In(t,n,3)}}function $n(e,t,r,n,o){e!==t&&yn(t,(function(s,a){if(o||(o=new Gr),ta(s))!function(e,t,r,n,o,s,a){var u=Ao(e,r),l=Ao(t,r),c=a.get(l);if(c)Zr(e,r,c);else{var d=s?s(u,l,r+"",e,t,a):i,f=d===i;if(f){var h=qs(l),p=!h&&Ks(l),m=!h&&!p&&ca(l);d=l,h||p||m?qs(u)?d=u:Qs(u)?d=ki(u):p?(f=!1,d=Si(l,!0)):m?(f=!1,d=Ci(l,!0)):d=[]:oa(l)||Vs(l)?(d=u,Vs(u)?d=va(u):ta(u)&&!Zs(u)||(d=mo(l))):f=!1}f&&(a.set(l,d),o(d,l,n,s,a),a.delete(l)),Zr(e,r,d)}}(e,t,a,r,$n,n,o);else{var u=n?n(Ao(e,a),s,a+"",e,t,o):i;u===i&&(u=s),Zr(e,a,u)}}),Da)}function Bn(e,t){var r=e.length;if(r)return yo(t+=t<0?r:0,r)?e[t]:i}function Un(e,t,r){t=t.length?Pt(t,(function(e){return qs(e)?function(t){return _n(t,1===e.length?e[0]:e)}:e})):[iu];var n=-1;return t=Pt(t,Ht(so())),function(e,t){var n=e.length;for(e.sort((function(e,t){return function(e,t,r){for(var n=-1,i=e.criteria,o=t.criteria,s=i.length,a=r.length;++n<s;){var u=Ei(i[n],o[n]);if(u)return n>=a?u:u*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}));n--;)e[n]=e[n].value;return e}(Nn(e,(function(e,r,i){return{criteria:Pt(t,(function(t){return t(e)})),index:++n,value:e}})))}function Hn(e,t,r){for(var n=-1,i=t.length,o={};++n<i;){var s=t[n],a=_n(e,s);r(a,s)&&Yn(o,yi(s,e),a)}return o}function Vn(e,t,r,n){var i=n?Ft:Dt,o=-1,s=t.length,a=e;for(e===t&&(t=ki(t)),r&&(a=Pt(e,Ht(r)));++o<s;)for(var u=0,l=t[o],c=r?r(l):l;(u=i(a,c,u,n))>-1;)a!==e&&nt.call(a,u,1),nt.call(e,u,1);return e}function qn(e,t){for(var r=e?t.length:0,n=r-1;r--;){var i=t[r];if(r==n||i!==o){var o=i;yo(i)?nt.call(e,i,1):li(e,i)}}return e}function zn(e,t){return e+cr(br()*(t-e+1))}function Gn(e,t){var r="";if(!e||t<1||t>d)return r;do{t%2&&(r+=e),(t=cr(t/2))&&(e+=e)}while(t);return r}function Qn(e,t){return Io(Po(e,t,iu),e+"")}function Kn(e){return Kr(Ba(e))}function Jn(e,t){var r=Ba(e);return Fo(r,sn(t,0,r.length))}function Yn(e,t,r,n){if(!ta(e))return e;for(var o=-1,s=(t=yi(t,e)).length,a=s-1,u=e;null!=u&&++o<s;){var l=jo(t[o]),c=r;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(o!=a){var d=u[l];(c=n?n(d,l,u):i)===i&&(c=ta(d)?d:yo(t[o+1])?[]:{})}Xr(u,l,c),u=u[l]}return e}var Zn=Ar?function(e,t){return Ar.set(e,t),e}:iu,Xn=lt?function(e,t){return lt(e,"toString",{configurable:!0,enumerable:!1,value:tu(t),writable:!0})}:iu;function ei(e){return Fo(Ba(e))}function ti(e,t,r){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(r=r>o?o:r)<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var s=n(o);++i<o;)s[i]=e[i+t];return s}function ri(e,t){var r;return dn(e,(function(e,n,i){return!(r=t(e,n,i))})),!!r}function ni(e,t,r){var n=0,i=null==e?n:e.length;if("number"==typeof t&&t==t&&i<=2147483647){for(;n<i;){var o=n+i>>>1,s=e[o];null!==s&&!la(s)&&(r?s<=t:s<t)?n=o+1:i=o}return i}return ii(e,t,iu,r)}function ii(e,t,r,n){var o=0,s=null==e?0:e.length;if(0===s)return 0;for(var a=(t=r(t))!=t,u=null===t,l=la(t),c=t===i;o<s;){var d=cr((o+s)/2),f=r(e[d]),h=f!==i,p=null===f,m=f==f,g=la(f);if(a)var y=n||m;else y=c?m&&(n||h):u?m&&h&&(n||!p):l?m&&h&&!p&&(n||!g):!p&&!g&&(n?f<=t:f<t);y?o=d+1:s=d}return yr(s,4294967294)}function oi(e,t){for(var r=-1,n=e.length,i=0,o=[];++r<n;){var s=e[r],a=t?t(s):s;if(!r||!Bs(a,u)){var u=a;o[i++]=0===s?0:s}}return o}function si(e){return"number"==typeof e?e:la(e)?f:+e}function ai(e){if("string"==typeof e)return e;if(qs(e))return Pt(e,ai)+"";if(la(e))return Nr?Nr.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function ui(e,t,r){var n=-1,i=Ct,o=e.length,s=!0,a=[],u=a;if(r)s=!1,i=Et;else if(o>=200){var l=t?null:Gi(e);if(l)return rr(l);s=!1,i=qt,u=new zr}else u=t?[]:a;e:for(;++n<o;){var c=e[n],d=t?t(c):c;if(c=r||0!==c?c:0,s&&d==d){for(var f=u.length;f--;)if(u[f]===d)continue e;t&&u.push(d),a.push(c)}else i(u,d,r)||(u!==a&&u.push(d),a.push(c))}return a}function li(e,t){return null==(e=To(e,t=yi(t,e)))||delete e[jo(Yo(t))]}function ci(e,t,r,n){return Yn(e,t,r(_n(e,t)),n)}function di(e,t,r,n){for(var i=e.length,o=n?i:-1;(n?o--:++o<i)&&t(e[o],o,e););return r?ti(e,n?0:o,n?o+1:i):ti(e,n?o+1:0,n?i:o)}function fi(e,t){var r=e;return r instanceof Ur&&(r=r.value()),kt(t,(function(e,t){return t.func.apply(t.thisArg,Tt([e],t.args))}),r)}function hi(e,t,r){var i=e.length;if(i<2)return i?ui(e[0]):[];for(var o=-1,s=n(i);++o<i;)for(var a=e[o],u=-1;++u<i;)u!=o&&(s[o]=cn(s[o]||a,e[u],t,r));return ui(gn(s,1),t,r)}function pi(e,t,r){for(var n=-1,o=e.length,s=t.length,a={};++n<o;){var u=n<s?t[n]:i;r(a,e[n],u)}return a}function mi(e){return Qs(e)?e:[]}function gi(e){return"function"==typeof e?e:iu}function yi(e,t){return qs(e)?e:wo(e,t)?[e]:No(wa(e))}var vi=Qn;function wi(e,t,r){var n=e.length;return r=r===i?n:r,!t&&r>=n?e:ti(e,t,r)}var bi=ct||function(e){return ot.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var r=e.length,n=He?He(r):new e.constructor(r);return e.copy(n),n}function _i(e){var t=new e.constructor(e.byteLength);return new Ue(t).set(new Ue(e)),t}function Ci(e,t){var r=t?_i(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function Ei(e,t){if(e!==t){var r=e!==i,n=null===e,o=e==e,s=la(e),a=t!==i,u=null===t,l=t==t,c=la(t);if(!u&&!c&&!s&&e>t||s&&a&&l&&!u&&!c||n&&a&&l||!r&&l||!o)return 1;if(!n&&!s&&!c&&e<t||c&&r&&o&&!n&&!s||u&&r&&o||!a&&o||!l)return-1}return 0}function Pi(e,t,r,i){for(var o=-1,s=e.length,a=r.length,u=-1,l=t.length,c=gr(s-a,0),d=n(l+c),f=!i;++u<l;)d[u]=t[u];for(;++o<a;)(f||o<s)&&(d[r[o]]=e[o]);for(;c--;)d[u++]=e[o++];return d}function Ti(e,t,r,i){for(var o=-1,s=e.length,a=-1,u=r.length,l=-1,c=t.length,d=gr(s-u,0),f=n(d+c),h=!i;++o<d;)f[o]=e[o];for(var p=o;++l<c;)f[p+l]=t[l];for(;++a<u;)(h||o<s)&&(f[p+r[a]]=e[o++]);return f}function ki(e,t){var r=-1,i=e.length;for(t||(t=n(i));++r<i;)t[r]=e[r];return t}function Ai(e,t,r,n){var o=!r;r||(r={});for(var s=-1,a=t.length;++s<a;){var u=t[s],l=n?n(r[u],e[u],u,r,e):i;l===i&&(l=e[u]),o?nn(r,u,l):Xr(r,u,l)}return r}function Li(e,t){return function(r,n){var i=qs(r)?vt:tn,o=t?t():{};return i(r,e,so(n,2),o)}}function Oi(e){return Qn((function(t,r){var n=-1,o=r.length,s=o>1?r[o-1]:i,a=o>2?r[2]:i;for(s=e.length>3&&"function"==typeof s?(o--,s):i,a&&vo(r[0],r[1],a)&&(s=o<3?i:s,o=1),t=Ee(t);++n<o;){var u=r[n];u&&e(t,u,n,s)}return t}))}function Ii(e,t){return function(r,n){if(null==r)return r;if(!Gs(r))return e(r,n);for(var i=r.length,o=t?i:-1,s=Ee(r);(t?o--:++o<i)&&!1!==n(s[o],o,s););return r}}function Ri(e){return function(t,r,n){for(var i=-1,o=Ee(t),s=n(t),a=s.length;a--;){var u=s[e?a:++i];if(!1===r(o[u],u,o))break}return t}}function Di(e){return function(t){var r=Zt(t=wa(t))?or(t):i,n=r?r[0]:t.charAt(0),o=r?wi(r,1).join(""):t.slice(1);return n[e]()+o}}function Fi(e){return function(t){return kt(Za(Va(t).replace(Ve,"")),e,"")}}function Mi(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=Wr(e.prototype),n=e.apply(r,t);return ta(n)?n:r}}function xi(e){return function(t,r,n){var o=Ee(t);if(!Gs(t)){var s=so(r,3);t=Ra(t),r=function(e){return s(o[e],e,o)}}var a=e(t,r,n);return a>-1?o[s?t[a]:a]:i}}function Ni(e){return eo((function(t){var r=t.length,n=r,s=Br.prototype.thru;for(e&&t.reverse();n--;){var a=t[n];if("function"!=typeof a)throw new ke(o);if(s&&!u&&"wrapper"==io(a))var u=new Br([],!0)}for(n=u?n:r;++n<r;){var l=io(a=t[n]),c="wrapper"==l?no(a):i;u=c&&bo(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?u[io(c[0])].apply(u,c[3]):1==a.length&&bo(a)?u[l]():u.thru(a)}return function(){var e=arguments,n=e[0];if(u&&1==e.length&&qs(n))return u.plant(n).value();for(var i=0,o=r?t[i].apply(this,e):n;++i<r;)o=t[i].call(this,o);return o}}))}function ji(e,t,r,o,s,a,u,c,d,f){var h=t&l,p=1&t,m=2&t,g=24&t,y=512&t,v=m?i:Mi(e);return function i(){for(var l=arguments.length,w=n(l),b=l;b--;)w[b]=arguments[b];if(g)var S=oo(i),_=Qt(w,S);if(o&&(w=Pi(w,o,s,g)),a&&(w=Ti(w,a,u,g)),l-=_,g&&l<f){var C=tr(w,S);return qi(e,t,ji,i.placeholder,r,w,C,c,d,f-l)}var E=p?r:this,P=m?E[e]:e;return l=w.length,c?w=ko(w,c):y&&l>1&&w.reverse(),h&&d<l&&(w.length=d),this&&this!==ot&&this instanceof i&&(P=v||Mi(P)),P.apply(E,w)}}function Wi(e,t){return function(r,n){return function(e,t,r,n){return wn(e,(function(e,i,o){t(n,r(e),i,o)})),n}(r,e,t(n),{})}}function $i(e,t){return function(r,n){var o;if(r===i&&n===i)return t;if(r!==i&&(o=r),n!==i){if(o===i)return n;"string"==typeof r||"string"==typeof n?(r=ai(r),n=ai(n)):(r=si(r),n=si(n)),o=e(r,n)}return o}}function Bi(e){return eo((function(t){return t=Pt(t,Ht(so())),Qn((function(r){var n=this;return e(t,(function(e){return yt(e,n,r)}))}))}))}function Ui(e,t){var r=(t=t===i?" ":ai(t)).length;if(r<2)return r?Gn(t,e):t;var n=Gn(t,lr(e/ir(t)));return Zt(t)?wi(or(n),0,e).join(""):n.slice(0,e)}function Hi(e){return function(t,r,o){return o&&"number"!=typeof o&&vo(t,r,o)&&(r=o=i),t=pa(t),r===i?(r=t,t=0):r=pa(r),function(e,t,r,i){for(var o=-1,s=gr(lr((t-e)/(r||1)),0),a=n(s);s--;)a[i?s:++o]=e,e+=r;return a}(t,r,o=o===i?t<r?1:-1:pa(o),e)}}function Vi(e){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=ya(t),r=ya(r)),e(t,r)}}function qi(e,t,r,n,o,s,a,l,c,d){var f=8&t;t|=f?u:64,4&(t&=~(f?64:u))||(t&=-4);var h=[e,t,o,f?s:i,f?a:i,f?i:s,f?i:a,l,c,d],p=r.apply(i,h);return bo(e)&&Lo(p,h),p.placeholder=n,Ro(p,e,t)}function zi(e){var t=Ce[e];return function(e,r){if(e=ya(e),(r=null==r?0:yr(ma(r),292))&&hr(e)){var n=(wa(e)+"e").split("e");return+((n=(wa(t(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return t(e)}}var Gi=Pr&&1/rr(new Pr([,-0]))[1]==c?function(e){return new Pr(e)}:lu;function Qi(e){return function(t){var r=ho(t);return r==_?Xt(t):r==k?nr(t):function(e,t){return Pt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Ki(e,t,r,s,c,d,f,h){var p=2&t;if(!p&&"function"!=typeof e)throw new ke(o);var m=s?s.length:0;if(m||(t&=-97,s=c=i),f=f===i?f:gr(ma(f),0),h=h===i?h:ma(h),m-=c?c.length:0,64&t){var g=s,y=c;s=c=i}var v=p?i:no(e),w=[e,t,r,s,c,g,y,d,f,h];if(v&&function(e,t){var r=e[1],n=t[1],i=r|n,o=i<131,s=n==l&&8==r||n==l&&256==r&&e[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==r;if(!o&&!s)return e;1&n&&(e[2]=t[2],i|=1&r?0:4);var u=t[3];if(u){var c=e[3];e[3]=c?Pi(c,u,t[4]):u,e[4]=c?tr(e[3],a):t[4]}(u=t[5])&&(c=e[5],e[5]=c?Ti(c,u,t[6]):u,e[6]=c?tr(e[5],a):t[6]),(u=t[7])&&(e[7]=u),n&l&&(e[8]=null==e[8]?t[8]:yr(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(w,v),e=w[0],t=w[1],r=w[2],s=w[3],c=w[4],!(h=w[9]=w[9]===i?p?0:e.length:gr(w[9]-m,0))&&24&t&&(t&=-25),t&&1!=t)b=8==t||16==t?function(e,t,r){var o=Mi(e);return function s(){for(var a=arguments.length,u=n(a),l=a,c=oo(s);l--;)u[l]=arguments[l];var d=a<3&&u[0]!==c&&u[a-1]!==c?[]:tr(u,c);return(a-=d.length)<r?qi(e,t,ji,s.placeholder,i,u,d,i,i,r-a):yt(this&&this!==ot&&this instanceof s?o:e,this,u)}}(e,t,h):t!=u&&33!=t||c.length?ji.apply(i,w):function(e,t,r,i){var o=1&t,s=Mi(e);return function t(){for(var a=-1,u=arguments.length,l=-1,c=i.length,d=n(c+u),f=this&&this!==ot&&this instanceof t?s:e;++l<c;)d[l]=i[l];for(;u--;)d[l++]=arguments[++a];return yt(f,o?r:this,d)}}(e,t,r,s);else var b=function(e,t,r){var n=1&t,i=Mi(e);return function t(){return(this&&this!==ot&&this instanceof t?i:e).apply(n?r:this,arguments)}}(e,t,r);return Ro((v?Zn:Lo)(b,w),e,t)}function Ji(e,t,r,n){return e===i||Bs(e,Oe[r])&&!De.call(n,r)?t:e}function Yi(e,t,r,n,o,s){return ta(e)&&ta(t)&&(s.set(t,e),$n(e,t,i,Yi,s),s.delete(t)),e}function Zi(e){return oa(e)?i:e}function Xi(e,t,r,n,o,s){var a=1&r,u=e.length,l=t.length;if(u!=l&&!(a&&l>u))return!1;var c=s.get(e),d=s.get(t);if(c&&d)return c==t&&d==e;var f=-1,h=!0,p=2&r?new zr:i;for(s.set(e,t),s.set(t,e);++f<u;){var m=e[f],g=t[f];if(n)var y=a?n(g,m,f,t,e,s):n(m,g,f,e,t,s);if(y!==i){if(y)continue;h=!1;break}if(p){if(!Lt(t,(function(e,t){if(!qt(p,t)&&(m===e||o(m,e,r,n,s)))return p.push(t)}))){h=!1;break}}else if(m!==g&&!o(m,g,r,n,s)){h=!1;break}}return s.delete(e),s.delete(t),h}function eo(e){return Io(Po(e,i,zo),e+"")}function to(e){return Cn(e,Ra,co)}function ro(e){return Cn(e,Da,fo)}var no=Ar?function(e){return Ar.get(e)}:lu;function io(e){for(var t=e.name+"",r=Lr[t],n=De.call(Lr,t)?r.length:0;n--;){var i=r[n],o=i.func;if(null==o||o==e)return i.name}return t}function oo(e){return(De.call(jr,"placeholder")?jr:e).placeholder}function so(){var e=jr.iteratee||ou;return e=e===ou?Fn:e,arguments.length?e(arguments[0],arguments[1]):e}function ao(e,t){var r,n,i=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function uo(e){for(var t=Ra(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,Co(i)]}return t}function lo(e,t){var r=function(e,t){return null==e?i:e[t]}(e,t);return Dn(r)?r:i}var co=dr?function(e){return null==e?[]:(e=Ee(e),_t(dr(e),(function(t){return et.call(e,t)})))}:gu,fo=dr?function(e){for(var t=[];e;)Tt(t,co(e)),e=ze(e);return t}:gu,ho=En;function po(e,t,r){for(var n=-1,i=(t=yi(t,e)).length,o=!1;++n<i;){var s=jo(t[n]);if(!(o=null!=e&&r(e,s)))break;e=e[s]}return o||++n!=i?o:!!(i=null==e?0:e.length)&&ea(i)&&yo(s,i)&&(qs(e)||Vs(e))}function mo(e){return"function"!=typeof e.constructor||_o(e)?{}:Wr(ze(e))}function go(e){return qs(e)||Vs(e)||!!(it&&e&&e[it])}function yo(e,t){var r=typeof e;return!!(t=null==t?d:t)&&("number"==r||"symbol"!=r&&ye.test(e))&&e>-1&&e%1==0&&e<t}function vo(e,t,r){if(!ta(r))return!1;var n=typeof t;return!!("number"==n?Gs(r)&&yo(t,r.length):"string"==n&&t in r)&&Bs(r[t],e)}function wo(e,t){if(qs(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!la(e))||X.test(e)||!Z.test(e)||null!=t&&e in Ee(t)}function bo(e){var t=io(e),r=jr[t];if("function"!=typeof r||!(t in Ur.prototype))return!1;if(e===r)return!0;var n=no(r);return!!n&&e===n[0]}(_r&&ho(new _r(new ArrayBuffer(1)))!=R||Cr&&ho(new Cr)!=_||Er&&ho(Er.resolve())!=P||Pr&&ho(new Pr)!=k||Tr&&ho(new Tr)!=O)&&(ho=function(e){var t=En(e),r=t==E?e.constructor:i,n=r?Wo(r):"";if(n)switch(n){case Or:return R;case Ir:return _;case Rr:return P;case Dr:return k;case Fr:return O}return t});var So=Ie?Zs:yu;function _o(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Oe)}function Co(e){return e==e&&!ta(e)}function Eo(e,t){return function(r){return null!=r&&r[e]===t&&(t!==i||e in Ee(r))}}function Po(e,t,r){return t=gr(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=gr(i.length-t,0),a=n(s);++o<s;)a[o]=i[t+o];o=-1;for(var u=n(t+1);++o<t;)u[o]=i[o];return u[t]=r(a),yt(e,this,u)}}function To(e,t){return t.length<2?e:_n(e,ti(t,0,-1))}function ko(e,t){for(var r=e.length,n=yr(t.length,r),o=ki(e);n--;){var s=t[n];e[n]=yo(s,r)?o[s]:i}return e}function Ao(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var Lo=Do(Zn),Oo=jt||function(e,t){return ot.setTimeout(e,t)},Io=Do(Xn);function Ro(e,t,r){var n=t+"";return Io(e,function(e,t){var r=t.length;if(!r)return e;var n=r-1;return t[n]=(r>1?"& ":"")+t[n],t=t.join(r>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return wt(p,(function(r){var n="_."+r[0];t&r[1]&&!Ct(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(n),r)))}function Do(e){var t=0,r=0;return function(){var n=vr(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function Fo(e,t){var r=-1,n=e.length,o=n-1;for(t=t===i?n:t;++r<t;){var s=zn(r,o),a=e[s];e[s]=e[r],e[r]=a}return e.length=t,e}var Mo,xo,No=(Mo=Ms((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,r,n,i){t.push(n?i.replace(ce,"$1"):r||e)})),t}),(function(e){return 500===xo.size&&xo.clear(),e})),xo=Mo.cache,Mo);function jo(e){if("string"==typeof e||la(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Wo(e){if(null!=e){try{return Re.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function $o(e){if(e instanceof Ur)return e.clone();var t=new Br(e.__wrapped__,e.__chain__);return t.__actions__=ki(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Qn((function(e,t){return Qs(e)?cn(e,gn(t,1,Qs,!0)):[]})),Uo=Qn((function(e,t){var r=Yo(t);return Qs(r)&&(r=i),Qs(e)?cn(e,gn(t,1,Qs,!0),so(r,2)):[]})),Ho=Qn((function(e,t){var r=Yo(t);return Qs(r)&&(r=i),Qs(e)?cn(e,gn(t,1,Qs,!0),i,r):[]}));function Vo(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ma(r);return i<0&&(i=gr(n+i,0)),Rt(e,so(t,3),i)}function qo(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n-1;return r!==i&&(o=ma(r),o=r<0?gr(n+o,0):yr(o,n-1)),Rt(e,so(t,3),o,!0)}function zo(e){return null!=e&&e.length?gn(e,1):[]}function Go(e){return e&&e.length?e[0]:i}var Qo=Qn((function(e){var t=Pt(e,mi);return t.length&&t[0]===e[0]?An(t):[]})),Ko=Qn((function(e){var t=Yo(e),r=Pt(e,mi);return t===Yo(r)?t=i:r.pop(),r.length&&r[0]===e[0]?An(r,so(t,2)):[]})),Jo=Qn((function(e){var t=Yo(e),r=Pt(e,mi);return(t="function"==typeof t?t:i)&&r.pop(),r.length&&r[0]===e[0]?An(r,i,t):[]}));function Yo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Zo=Qn(Xo);function Xo(e,t){return e&&e.length&&t&&t.length?Vn(e,t):e}var es=eo((function(e,t){var r=null==e?0:e.length,n=on(e,t);return qn(e,Pt(t,(function(e){return yo(e,r)?+e:e})).sort(Ei)),n}));function ts(e){return null==e?e:Sr.call(e)}var rs=Qn((function(e){return ui(gn(e,1,Qs,!0))})),ns=Qn((function(e){var t=Yo(e);return Qs(t)&&(t=i),ui(gn(e,1,Qs,!0),so(t,2))})),is=Qn((function(e){var t=Yo(e);return t="function"==typeof t?t:i,ui(gn(e,1,Qs,!0),i,t)}));function os(e){if(!e||!e.length)return[];var t=0;return e=_t(e,(function(e){if(Qs(e))return t=gr(e.length,t),!0})),Bt(t,(function(t){return Pt(e,Nt(t))}))}function ss(e,t){if(!e||!e.length)return[];var r=os(e);return null==t?r:Pt(r,(function(e){return yt(t,i,e)}))}var as=Qn((function(e,t){return Qs(e)?cn(e,t):[]})),us=Qn((function(e){return hi(_t(e,Qs))})),ls=Qn((function(e){var t=Yo(e);return Qs(t)&&(t=i),hi(_t(e,Qs),so(t,2))})),cs=Qn((function(e){var t=Yo(e);return t="function"==typeof t?t:i,hi(_t(e,Qs),i,t)})),ds=Qn(os),fs=Qn((function(e){var t=e.length,r=t>1?e[t-1]:i;return r="function"==typeof r?(e.pop(),r):i,ss(e,r)}));function hs(e){var t=jr(e);return t.__chain__=!0,t}function ps(e,t){return t(e)}var ms=eo((function(e){var t=e.length,r=t?e[0]:0,n=this.__wrapped__,o=function(t){return on(t,e)};return!(t>1||this.__actions__.length)&&n instanceof Ur&&yo(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:ps,args:[o],thisArg:i}),new Br(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),gs=Li((function(e,t,r){De.call(e,r)?++e[r]:nn(e,r,1)})),ys=xi(Vo),vs=xi(qo);function ws(e,t){return(qs(e)?wt:dn)(e,so(t,3))}function bs(e,t){return(qs(e)?bt:fn)(e,so(t,3))}var Ss=Li((function(e,t,r){De.call(e,r)?e[r].push(t):nn(e,r,[t])})),_s=Qn((function(e,t,r){var i=-1,o="function"==typeof t,s=Gs(e)?n(e.length):[];return dn(e,(function(e){s[++i]=o?yt(t,e,r):Ln(e,t,r)})),s})),Cs=Li((function(e,t,r){nn(e,r,t)}));function Es(e,t){return(qs(e)?Pt:Nn)(e,so(t,3))}var Ps=Li((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]})),Ts=Qn((function(e,t){if(null==e)return[];var r=t.length;return r>1&&vo(e,t[0],t[1])?t=[]:r>2&&vo(t[0],t[1],t[2])&&(t=[t[0]]),Un(e,gn(t,1),[])})),ks=Ot||function(){return ot.Date.now()};function As(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,Ki(e,l,i,i,i,i,t)}function Ls(e,t){var r;if("function"!=typeof t)throw new ke(o);return e=ma(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Os=Qn((function(e,t,r){var n=1;if(r.length){var i=tr(r,oo(Os));n|=u}return Ki(e,n,t,r,i)})),Is=Qn((function(e,t,r){var n=3;if(r.length){var i=tr(r,oo(Is));n|=u}return Ki(t,n,e,r,i)}));function Rs(e,t,r){var n,s,a,u,l,c,d=0,f=!1,h=!1,p=!0;if("function"!=typeof e)throw new ke(o);function m(t){var r=n,o=s;return n=s=i,d=t,u=e.apply(o,r)}function g(e){return d=e,l=Oo(v,t),f?m(e):u}function y(e){var r=e-c;return c===i||r>=t||r<0||h&&e-d>=a}function v(){var e=ks();if(y(e))return w(e);l=Oo(v,function(e){var r=t-(e-c);return h?yr(r,a-(e-d)):r}(e))}function w(e){return l=i,p&&n?m(e):(n=s=i,u)}function b(){var e=ks(),r=y(e);if(n=arguments,s=this,c=e,r){if(l===i)return g(c);if(h)return bi(l),l=Oo(v,t),m(c)}return l===i&&(l=Oo(v,t)),u}return t=ya(t)||0,ta(r)&&(f=!!r.leading,a=(h="maxWait"in r)?gr(ya(r.maxWait)||0,t):a,p="trailing"in r?!!r.trailing:p),b.cancel=function(){l!==i&&bi(l),d=0,n=c=s=l=i},b.flush=function(){return l===i?u:w(ks())},b}var Ds=Qn((function(e,t){return ln(e,1,t)})),Fs=Qn((function(e,t,r){return ln(e,ya(t)||0,r)}));function Ms(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ke(o);var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=e.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(Ms.Cache||qr),r}function xs(e){if("function"!=typeof e)throw new ke(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Ms.Cache=qr;var Ns=vi((function(e,t){var r=(t=1==t.length&&qs(t[0])?Pt(t[0],Ht(so())):Pt(gn(t,1),Ht(so()))).length;return Qn((function(n){for(var i=-1,o=yr(n.length,r);++i<o;)n[i]=t[i].call(this,n[i]);return yt(e,this,n)}))})),js=Qn((function(e,t){var r=tr(t,oo(js));return Ki(e,u,i,t,r)})),Ws=Qn((function(e,t){var r=tr(t,oo(Ws));return Ki(e,64,i,t,r)})),$s=eo((function(e,t){return Ki(e,256,i,i,i,t)}));function Bs(e,t){return e===t||e!=e&&t!=t}var Us=Vi(Pn),Hs=Vi((function(e,t){return e>=t})),Vs=On(function(){return arguments}())?On:function(e){return ra(e)&&De.call(e,"callee")&&!et.call(e,"callee")},qs=n.isArray,zs=dt?Ht(dt):function(e){return ra(e)&&En(e)==I};function Gs(e){return null!=e&&ea(e.length)&&!Zs(e)}function Qs(e){return ra(e)&&Gs(e)}var Ks=fr||yu,Js=ft?Ht(ft):function(e){return ra(e)&&En(e)==v};function Ys(e){if(!ra(e))return!1;var t=En(e);return t==w||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!oa(e)}function Zs(e){if(!ta(e))return!1;var t=En(e);return t==b||t==S||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xs(e){return"number"==typeof e&&e==ma(e)}function ea(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=d}function ta(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ra(e){return null!=e&&"object"==typeof e}var na=ht?Ht(ht):function(e){return ra(e)&&ho(e)==_};function ia(e){return"number"==typeof e||ra(e)&&En(e)==C}function oa(e){if(!ra(e)||En(e)!=E)return!1;var t=ze(e);if(null===t)return!0;var r=De.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Re.call(r)==Ne}var sa=pt?Ht(pt):function(e){return ra(e)&&En(e)==T},aa=mt?Ht(mt):function(e){return ra(e)&&ho(e)==k};function ua(e){return"string"==typeof e||!qs(e)&&ra(e)&&En(e)==A}function la(e){return"symbol"==typeof e||ra(e)&&En(e)==L}var ca=gt?Ht(gt):function(e){return ra(e)&&ea(e.length)&&!!Ze[En(e)]},da=Vi(xn),fa=Vi((function(e,t){return e<=t}));function ha(e){if(!e)return[];if(Gs(e))return ua(e)?or(e):ki(e);if(st&&e[st])return function(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}(e[st]());var t=ho(e);return(t==_?Xt:t==k?rr:Ba)(e)}function pa(e){return e?(e=ya(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ma(e){var t=pa(e),r=t%1;return t==t?r?t-r:t:0}function ga(e){return e?sn(ma(e),0,h):0}function ya(e){if("number"==typeof e)return e;if(la(e))return f;if(ta(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ta(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Ut(e);var r=pe.test(e);return r||ge.test(e)?rt(e.slice(2),r?2:8):he.test(e)?f:+e}function va(e){return Ai(e,Da(e))}function wa(e){return null==e?"":ai(e)}var ba=Oi((function(e,t){if(_o(t)||Gs(t))Ai(t,Ra(t),e);else for(var r in t)De.call(t,r)&&Xr(e,r,t[r])})),Sa=Oi((function(e,t){Ai(t,Da(t),e)})),_a=Oi((function(e,t,r,n){Ai(t,Da(t),e,n)})),Ca=Oi((function(e,t,r,n){Ai(t,Ra(t),e,n)})),Ea=eo(on),Pa=Qn((function(e,t){e=Ee(e);var r=-1,n=t.length,o=n>2?t[2]:i;for(o&&vo(t[0],t[1],o)&&(n=1);++r<n;)for(var s=t[r],a=Da(s),u=-1,l=a.length;++u<l;){var c=a[u],d=e[c];(d===i||Bs(d,Oe[c])&&!De.call(e,c))&&(e[c]=s[c])}return e})),Ta=Qn((function(e){return e.push(i,Yi),yt(Ma,i,e)}));function ka(e,t,r){var n=null==e?i:_n(e,t);return n===i?r:n}function Aa(e,t){return null!=e&&po(e,t,kn)}var La=Wi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=xe.call(t)),e[t]=r}),tu(iu)),Oa=Wi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=xe.call(t)),De.call(e,t)?e[t].push(r):e[t]=[r]}),so),Ia=Qn(Ln);function Ra(e){return Gs(e)?Qr(e):Mn(e)}function Da(e){return Gs(e)?Qr(e,!0):function(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var r in Ee(e))t.push(r);return t}(e);var t=_o(e),r=[];for(var n in e)("constructor"!=n||!t&&De.call(e,n))&&r.push(n);return r}(e)}var Fa=Oi((function(e,t,r){$n(e,t,r)})),Ma=Oi((function(e,t,r,n){$n(e,t,r,n)})),xa=eo((function(e,t){var r={};if(null==e)return r;var n=!1;t=Pt(t,(function(t){return t=yi(t,e),n||(n=t.length>1),t})),Ai(e,ro(e),r),n&&(r=an(r,7,Zi));for(var i=t.length;i--;)li(r,t[i]);return r})),Na=eo((function(e,t){return null==e?{}:function(e,t){return Hn(e,t,(function(t,r){return Aa(e,r)}))}(e,t)}));function ja(e,t){if(null==e)return{};var r=Pt(ro(e),(function(e){return[e]}));return t=so(t),Hn(e,r,(function(e,r){return t(e,r[0])}))}var Wa=Qi(Ra),$a=Qi(Da);function Ba(e){return null==e?[]:Vt(e,Ra(e))}var Ua=Fi((function(e,t,r){return t=t.toLowerCase(),e+(r?Ha(t):t)}));function Ha(e){return Ya(wa(e).toLowerCase())}function Va(e){return(e=wa(e))&&e.replace(ve,Kt).replace(qe,"")}var qa=Fi((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),za=Fi((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),Ga=Di("toLowerCase"),Qa=Fi((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()})),Ka=Fi((function(e,t,r){return e+(r?" ":"")+Ya(t)})),Ja=Fi((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Ya=Di("toUpperCase");function Za(e,t,r){return e=wa(e),(t=r?i:t)===i?function(e){return Ke.test(e)}(e)?function(e){return e.match(Ge)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var Xa=Qn((function(e,t){try{return yt(e,i,t)}catch(e){return Ys(e)?e:new Se(e)}})),eu=eo((function(e,t){return wt(t,(function(t){t=jo(t),nn(e,t,Os(e[t],e))})),e}));function tu(e){return function(){return e}}var ru=Ni(),nu=Ni(!0);function iu(e){return e}function ou(e){return Fn("function"==typeof e?e:an(e,1))}var su=Qn((function(e,t){return function(r){return Ln(r,e,t)}})),au=Qn((function(e,t){return function(r){return Ln(e,r,t)}}));function uu(e,t,r){var n=Ra(t),i=Sn(t,n);null!=r||ta(t)&&(i.length||!n.length)||(r=t,t=e,e=this,i=Sn(t,Ra(t)));var o=!(ta(r)&&"chain"in r&&!r.chain),s=Zs(e);return wt(i,(function(r){var n=t[r];e[r]=n,s&&(e.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=e(this.__wrapped__),i=r.__actions__=ki(this.__actions__);return i.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,Tt([this.value()],arguments))})})),e}function lu(){}var cu=Bi(Pt),du=Bi(St),fu=Bi(Lt);function hu(e){return wo(e)?Nt(jo(e)):function(e){return function(t){return _n(t,e)}}(e)}var pu=Hi(),mu=Hi(!0);function gu(){return[]}function yu(){return!1}var vu,wu=$i((function(e,t){return e+t}),0),bu=zi("ceil"),Su=$i((function(e,t){return e/t}),1),_u=zi("floor"),Cu=$i((function(e,t){return e*t}),1),Eu=zi("round"),Pu=$i((function(e,t){return e-t}),0);return jr.after=function(e,t){if("function"!=typeof t)throw new ke(o);return e=ma(e),function(){if(--e<1)return t.apply(this,arguments)}},jr.ary=As,jr.assign=ba,jr.assignIn=Sa,jr.assignInWith=_a,jr.assignWith=Ca,jr.at=Ea,jr.before=Ls,jr.bind=Os,jr.bindAll=eu,jr.bindKey=Is,jr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return qs(e)?e:[e]},jr.chain=hs,jr.chunk=function(e,t,r){t=(r?vo(e,t,r):t===i)?1:gr(ma(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,u=n(lr(o/t));s<o;)u[a++]=ti(e,s,s+=t);return u},jr.compact=function(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var o=e[t];o&&(i[n++]=o)}return i},jr.concat=function(){var e=arguments.length;if(!e)return[];for(var t=n(e-1),r=arguments[0],i=e;i--;)t[i-1]=arguments[i];return Tt(qs(r)?ki(r):[r],gn(t,1))},jr.cond=function(e){var t=null==e?0:e.length,r=so();return e=t?Pt(e,(function(e){if("function"!=typeof e[1])throw new ke(o);return[r(e[0]),e[1]]})):[],Qn((function(r){for(var n=-1;++n<t;){var i=e[n];if(yt(i[0],this,r))return yt(i[1],this,r)}}))},jr.conforms=function(e){return function(e){var t=Ra(e);return function(r){return un(r,e,t)}}(an(e,1))},jr.constant=tu,jr.countBy=gs,jr.create=function(e,t){var r=Wr(e);return null==t?r:rn(r,t)},jr.curry=function e(t,r,n){var o=Ki(t,8,i,i,i,i,i,r=n?i:r);return o.placeholder=e.placeholder,o},jr.curryRight=function e(t,r,n){var o=Ki(t,16,i,i,i,i,i,r=n?i:r);return o.placeholder=e.placeholder,o},jr.debounce=Rs,jr.defaults=Pa,jr.defaultsDeep=Ta,jr.defer=Ds,jr.delay=Fs,jr.difference=Bo,jr.differenceBy=Uo,jr.differenceWith=Ho,jr.drop=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,(t=r||t===i?1:ma(t))<0?0:t,n):[]},jr.dropRight=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,0,(t=n-(t=r||t===i?1:ma(t)))<0?0:t):[]},jr.dropRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0,!0):[]},jr.dropWhile=function(e,t){return e&&e.length?di(e,so(t,3),!0):[]},jr.fill=function(e,t,r,n){var o=null==e?0:e.length;return o?(r&&"number"!=typeof r&&vo(e,t,r)&&(r=0,n=o),function(e,t,r,n){var o=e.length;for((r=ma(r))<0&&(r=-r>o?0:o+r),(n=n===i||n>o?o:ma(n))<0&&(n+=o),n=r>n?0:ga(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},jr.filter=function(e,t){return(qs(e)?_t:mn)(e,so(t,3))},jr.flatMap=function(e,t){return gn(Es(e,t),1)},jr.flatMapDeep=function(e,t){return gn(Es(e,t),c)},jr.flatMapDepth=function(e,t,r){return r=r===i?1:ma(r),gn(Es(e,t),r)},jr.flatten=zo,jr.flattenDeep=function(e){return null!=e&&e.length?gn(e,c):[]},jr.flattenDepth=function(e,t){return null!=e&&e.length?gn(e,t=t===i?1:ma(t)):[]},jr.flip=function(e){return Ki(e,512)},jr.flow=ru,jr.flowRight=nu,jr.fromPairs=function(e){for(var t=-1,r=null==e?0:e.length,n={};++t<r;){var i=e[t];n[i[0]]=i[1]}return n},jr.functions=function(e){return null==e?[]:Sn(e,Ra(e))},jr.functionsIn=function(e){return null==e?[]:Sn(e,Da(e))},jr.groupBy=Ss,jr.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},jr.intersection=Qo,jr.intersectionBy=Ko,jr.intersectionWith=Jo,jr.invert=La,jr.invertBy=Oa,jr.invokeMap=_s,jr.iteratee=ou,jr.keyBy=Cs,jr.keys=Ra,jr.keysIn=Da,jr.map=Es,jr.mapKeys=function(e,t){var r={};return t=so(t,3),wn(e,(function(e,n,i){nn(r,t(e,n,i),e)})),r},jr.mapValues=function(e,t){var r={};return t=so(t,3),wn(e,(function(e,n,i){nn(r,n,t(e,n,i))})),r},jr.matches=function(e){return jn(an(e,1))},jr.matchesProperty=function(e,t){return Wn(e,an(t,1))},jr.memoize=Ms,jr.merge=Fa,jr.mergeWith=Ma,jr.method=su,jr.methodOf=au,jr.mixin=uu,jr.negate=xs,jr.nthArg=function(e){return e=ma(e),Qn((function(t){return Bn(t,e)}))},jr.omit=xa,jr.omitBy=function(e,t){return ja(e,xs(so(t)))},jr.once=function(e){return Ls(2,e)},jr.orderBy=function(e,t,r,n){return null==e?[]:(qs(t)||(t=null==t?[]:[t]),qs(r=n?i:r)||(r=null==r?[]:[r]),Un(e,t,r))},jr.over=cu,jr.overArgs=Ns,jr.overEvery=du,jr.overSome=fu,jr.partial=js,jr.partialRight=Ws,jr.partition=Ps,jr.pick=Na,jr.pickBy=ja,jr.property=hu,jr.propertyOf=function(e){return function(t){return null==e?i:_n(e,t)}},jr.pull=Zo,jr.pullAll=Xo,jr.pullAllBy=function(e,t,r){return e&&e.length&&t&&t.length?Vn(e,t,so(r,2)):e},jr.pullAllWith=function(e,t,r){return e&&e.length&&t&&t.length?Vn(e,t,i,r):e},jr.pullAt=es,jr.range=pu,jr.rangeRight=mu,jr.rearg=$s,jr.reject=function(e,t){return(qs(e)?_t:mn)(e,xs(so(t,3)))},jr.remove=function(e,t){var r=[];if(!e||!e.length)return r;var n=-1,i=[],o=e.length;for(t=so(t,3);++n<o;){var s=e[n];t(s,n,e)&&(r.push(s),i.push(n))}return qn(e,i),r},jr.rest=function(e,t){if("function"!=typeof e)throw new ke(o);return Qn(e,t=t===i?t:ma(t))},jr.reverse=ts,jr.sampleSize=function(e,t,r){return t=(r?vo(e,t,r):t===i)?1:ma(t),(qs(e)?Jr:Jn)(e,t)},jr.set=function(e,t,r){return null==e?e:Yn(e,t,r)},jr.setWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:Yn(e,t,r,n)},jr.shuffle=function(e){return(qs(e)?Yr:ei)(e)},jr.slice=function(e,t,r){var n=null==e?0:e.length;return n?(r&&"number"!=typeof r&&vo(e,t,r)?(t=0,r=n):(t=null==t?0:ma(t),r=r===i?n:ma(r)),ti(e,t,r)):[]},jr.sortBy=Ts,jr.sortedUniq=function(e){return e&&e.length?oi(e):[]},jr.sortedUniqBy=function(e,t){return e&&e.length?oi(e,so(t,2)):[]},jr.split=function(e,t,r){return r&&"number"!=typeof r&&vo(e,t,r)&&(t=r=i),(r=r===i?h:r>>>0)?(e=wa(e))&&("string"==typeof t||null!=t&&!sa(t))&&!(t=ai(t))&&Zt(e)?wi(or(e),0,r):e.split(t,r):[]},jr.spread=function(e,t){if("function"!=typeof e)throw new ke(o);return t=null==t?0:gr(ma(t),0),Qn((function(r){var n=r[t],i=wi(r,0,t);return n&&Tt(i,n),yt(e,this,i)}))},jr.tail=function(e){var t=null==e?0:e.length;return t?ti(e,1,t):[]},jr.take=function(e,t,r){return e&&e.length?ti(e,0,(t=r||t===i?1:ma(t))<0?0:t):[]},jr.takeRight=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,(t=n-(t=r||t===i?1:ma(t)))<0?0:t,n):[]},jr.takeRightWhile=function(e,t){return e&&e.length?di(e,so(t,3),!1,!0):[]},jr.takeWhile=function(e,t){return e&&e.length?di(e,so(t,3)):[]},jr.tap=function(e,t){return t(e),e},jr.throttle=function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new ke(o);return ta(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),Rs(e,t,{leading:n,maxWait:t,trailing:i})},jr.thru=ps,jr.toArray=ha,jr.toPairs=Wa,jr.toPairsIn=$a,jr.toPath=function(e){return qs(e)?Pt(e,jo):la(e)?[e]:ki(No(wa(e)))},jr.toPlainObject=va,jr.transform=function(e,t,r){var n=qs(e),i=n||Ks(e)||ca(e);if(t=so(t,4),null==r){var o=e&&e.constructor;r=i?n?new o:[]:ta(e)&&Zs(o)?Wr(ze(e)):{}}return(i?wt:wn)(e,(function(e,n,i){return t(r,e,n,i)})),r},jr.unary=function(e){return As(e,1)},jr.union=rs,jr.unionBy=ns,jr.unionWith=is,jr.uniq=function(e){return e&&e.length?ui(e):[]},jr.uniqBy=function(e,t){return e&&e.length?ui(e,so(t,2)):[]},jr.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?ui(e,i,t):[]},jr.unset=function(e,t){return null==e||li(e,t)},jr.unzip=os,jr.unzipWith=ss,jr.update=function(e,t,r){return null==e?e:ci(e,t,gi(r))},jr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:ci(e,t,gi(r),n)},jr.values=Ba,jr.valuesIn=function(e){return null==e?[]:Vt(e,Da(e))},jr.without=as,jr.words=Za,jr.wrap=function(e,t){return js(gi(t),e)},jr.xor=us,jr.xorBy=ls,jr.xorWith=cs,jr.zip=ds,jr.zipObject=function(e,t){return pi(e||[],t||[],Xr)},jr.zipObjectDeep=function(e,t){return pi(e||[],t||[],Yn)},jr.zipWith=fs,jr.entries=Wa,jr.entriesIn=$a,jr.extend=Sa,jr.extendWith=_a,uu(jr,jr),jr.add=wu,jr.attempt=Xa,jr.camelCase=Ua,jr.capitalize=Ha,jr.ceil=bu,jr.clamp=function(e,t,r){return r===i&&(r=t,t=i),r!==i&&(r=(r=ya(r))==r?r:0),t!==i&&(t=(t=ya(t))==t?t:0),sn(ya(e),t,r)},jr.clone=function(e){return an(e,4)},jr.cloneDeep=function(e){return an(e,5)},jr.cloneDeepWith=function(e,t){return an(e,5,t="function"==typeof t?t:i)},jr.cloneWith=function(e,t){return an(e,4,t="function"==typeof t?t:i)},jr.conformsTo=function(e,t){return null==t||un(e,t,Ra(t))},jr.deburr=Va,jr.defaultTo=function(e,t){return null==e||e!=e?t:e},jr.divide=Su,jr.endsWith=function(e,t,r){e=wa(e),t=ai(t);var n=e.length,o=r=r===i?n:sn(ma(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},jr.eq=Bs,jr.escape=function(e){return(e=wa(e))&&Q.test(e)?e.replace(z,Jt):e},jr.escapeRegExp=function(e){return(e=wa(e))&&re.test(e)?e.replace(te,"\\$&"):e},jr.every=function(e,t,r){var n=qs(e)?St:hn;return r&&vo(e,t,r)&&(t=i),n(e,so(t,3))},jr.find=ys,jr.findIndex=Vo,jr.findKey=function(e,t){return It(e,so(t,3),wn)},jr.findLast=vs,jr.findLastIndex=qo,jr.findLastKey=function(e,t){return It(e,so(t,3),bn)},jr.floor=_u,jr.forEach=ws,jr.forEachRight=bs,jr.forIn=function(e,t){return null==e?e:yn(e,so(t,3),Da)},jr.forInRight=function(e,t){return null==e?e:vn(e,so(t,3),Da)},jr.forOwn=function(e,t){return e&&wn(e,so(t,3))},jr.forOwnRight=function(e,t){return e&&bn(e,so(t,3))},jr.get=ka,jr.gt=Us,jr.gte=Hs,jr.has=function(e,t){return null!=e&&po(e,t,Tn)},jr.hasIn=Aa,jr.head=Go,jr.identity=iu,jr.includes=function(e,t,r,n){e=Gs(e)?e:Ba(e),r=r&&!n?ma(r):0;var i=e.length;return r<0&&(r=gr(i+r,0)),ua(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&Dt(e,t,r)>-1},jr.indexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ma(r);return i<0&&(i=gr(n+i,0)),Dt(e,t,i)},jr.inRange=function(e,t,r){return t=pa(t),r===i?(r=t,t=0):r=pa(r),function(e,t,r){return e>=yr(t,r)&&e<gr(t,r)}(e=ya(e),t,r)},jr.invoke=Ia,jr.isArguments=Vs,jr.isArray=qs,jr.isArrayBuffer=zs,jr.isArrayLike=Gs,jr.isArrayLikeObject=Qs,jr.isBoolean=function(e){return!0===e||!1===e||ra(e)&&En(e)==y},jr.isBuffer=Ks,jr.isDate=Js,jr.isElement=function(e){return ra(e)&&1===e.nodeType&&!oa(e)},jr.isEmpty=function(e){if(null==e)return!0;if(Gs(e)&&(qs(e)||"string"==typeof e||"function"==typeof e.splice||Ks(e)||ca(e)||Vs(e)))return!e.length;var t=ho(e);if(t==_||t==k)return!e.size;if(_o(e))return!Mn(e).length;for(var r in e)if(De.call(e,r))return!1;return!0},jr.isEqual=function(e,t){return In(e,t)},jr.isEqualWith=function(e,t,r){var n=(r="function"==typeof r?r:i)?r(e,t):i;return n===i?In(e,t,i,r):!!n},jr.isError=Ys,jr.isFinite=function(e){return"number"==typeof e&&hr(e)},jr.isFunction=Zs,jr.isInteger=Xs,jr.isLength=ea,jr.isMap=na,jr.isMatch=function(e,t){return e===t||Rn(e,t,uo(t))},jr.isMatchWith=function(e,t,r){return r="function"==typeof r?r:i,Rn(e,t,uo(t),r)},jr.isNaN=function(e){return ia(e)&&e!=+e},jr.isNative=function(e){if(So(e))throw new Se("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Dn(e)},jr.isNil=function(e){return null==e},jr.isNull=function(e){return null===e},jr.isNumber=ia,jr.isObject=ta,jr.isObjectLike=ra,jr.isPlainObject=oa,jr.isRegExp=sa,jr.isSafeInteger=function(e){return Xs(e)&&e>=-9007199254740991&&e<=d},jr.isSet=aa,jr.isString=ua,jr.isSymbol=la,jr.isTypedArray=ca,jr.isUndefined=function(e){return e===i},jr.isWeakMap=function(e){return ra(e)&&ho(e)==O},jr.isWeakSet=function(e){return ra(e)&&"[object WeakSet]"==En(e)},jr.join=function(e,t){return null==e?"":pr.call(e,t)},jr.kebabCase=qa,jr.last=Yo,jr.lastIndexOf=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n;return r!==i&&(o=(o=ma(r))<0?gr(n+o,0):yr(o,n-1)),t==t?function(e,t,r){for(var n=r+1;n--;)if(e[n]===t)return n;return n}(e,t,o):Rt(e,Mt,o,!0)},jr.lowerCase=za,jr.lowerFirst=Ga,jr.lt=da,jr.lte=fa,jr.max=function(e){return e&&e.length?pn(e,iu,Pn):i},jr.maxBy=function(e,t){return e&&e.length?pn(e,so(t,2),Pn):i},jr.mean=function(e){return xt(e,iu)},jr.meanBy=function(e,t){return xt(e,so(t,2))},jr.min=function(e){return e&&e.length?pn(e,iu,xn):i},jr.minBy=function(e,t){return e&&e.length?pn(e,so(t,2),xn):i},jr.stubArray=gu,jr.stubFalse=yu,jr.stubObject=function(){return{}},jr.stubString=function(){return""},jr.stubTrue=function(){return!0},jr.multiply=Cu,jr.nth=function(e,t){return e&&e.length?Bn(e,ma(t)):i},jr.noConflict=function(){return ot._===this&&(ot._=je),this},jr.noop=lu,jr.now=ks,jr.pad=function(e,t,r){e=wa(e);var n=(t=ma(t))?ir(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return Ui(cr(i),r)+e+Ui(lr(i),r)},jr.padEnd=function(e,t,r){e=wa(e);var n=(t=ma(t))?ir(e):0;return t&&n<t?e+Ui(t-n,r):e},jr.padStart=function(e,t,r){e=wa(e);var n=(t=ma(t))?ir(e):0;return t&&n<t?Ui(t-n,r)+e:e},jr.parseInt=function(e,t,r){return r||null==t?t=0:t&&(t=+t),wr(wa(e).replace(ne,""),t||0)},jr.random=function(e,t,r){if(r&&"boolean"!=typeof r&&vo(e,t,r)&&(t=r=i),r===i&&("boolean"==typeof t?(r=t,t=i):"boolean"==typeof e&&(r=e,e=i)),e===i&&t===i?(e=0,t=1):(e=pa(e),t===i?(t=e,e=0):t=pa(t)),e>t){var n=e;e=t,t=n}if(r||e%1||t%1){var o=br();return yr(e+o*(t-e+tt("1e-"+((o+"").length-1))),t)}return zn(e,t)},jr.reduce=function(e,t,r){var n=qs(e)?kt:Wt,i=arguments.length<3;return n(e,so(t,4),r,i,dn)},jr.reduceRight=function(e,t,r){var n=qs(e)?At:Wt,i=arguments.length<3;return n(e,so(t,4),r,i,fn)},jr.repeat=function(e,t,r){return t=(r?vo(e,t,r):t===i)?1:ma(t),Gn(wa(e),t)},jr.replace=function(){var e=arguments,t=wa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},jr.result=function(e,t,r){var n=-1,o=(t=yi(t,e)).length;for(o||(o=1,e=i);++n<o;){var s=null==e?i:e[jo(t[n])];s===i&&(n=o,s=r),e=Zs(s)?s.call(e):s}return e},jr.round=Eu,jr.runInContext=e,jr.sample=function(e){return(qs(e)?Kr:Kn)(e)},jr.size=function(e){if(null==e)return 0;if(Gs(e))return ua(e)?ir(e):e.length;var t=ho(e);return t==_||t==k?e.size:Mn(e).length},jr.snakeCase=Qa,jr.some=function(e,t,r){var n=qs(e)?Lt:ri;return r&&vo(e,t,r)&&(t=i),n(e,so(t,3))},jr.sortedIndex=function(e,t){return ni(e,t)},jr.sortedIndexBy=function(e,t,r){return ii(e,t,so(r,2))},jr.sortedIndexOf=function(e,t){var r=null==e?0:e.length;if(r){var n=ni(e,t);if(n<r&&Bs(e[n],t))return n}return-1},jr.sortedLastIndex=function(e,t){return ni(e,t,!0)},jr.sortedLastIndexBy=function(e,t,r){return ii(e,t,so(r,2),!0)},jr.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var r=ni(e,t,!0)-1;if(Bs(e[r],t))return r}return-1},jr.startCase=Ka,jr.startsWith=function(e,t,r){return e=wa(e),r=null==r?0:sn(ma(r),0,e.length),t=ai(t),e.slice(r,r+t.length)==t},jr.subtract=Pu,jr.sum=function(e){return e&&e.length?$t(e,iu):0},jr.sumBy=function(e,t){return e&&e.length?$t(e,so(t,2)):0},jr.template=function(e,t,r){var n=jr.templateSettings;r&&vo(e,t,r)&&(t=i),e=wa(e),t=_a({},t,n,Ji);var o,s,a=_a({},t.imports,n.imports,Ji),u=Ra(a),l=Vt(a,u),c=0,d=t.interpolate||we,f="__p += '",h=Pe((t.escape||we).source+"|"+d.source+"|"+(d===Y?de:we).source+"|"+(t.evaluate||we).source+"|$","g"),p="//# sourceURL="+(De.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ye+"]")+"\n";e.replace(h,(function(t,r,n,i,a,u){return n||(n=i),f+=e.slice(c,u).replace(be,Yt),r&&(o=!0,f+="' +\n__e("+r+") +\n'"),a&&(s=!0,f+="';\n"+a+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),c=u+t.length,t})),f+="';\n";var m=De.call(t,"variable")&&t.variable;if(m){if(le.test(m))throw new Se("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(U,""):f).replace(H,"$1").replace(V,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Xa((function(){return _e(u,p+"return "+f).apply(i,l)}));if(g.source=f,Ys(g))throw g;return g},jr.times=function(e,t){if((e=ma(e))<1||e>d)return[];var r=h,n=yr(e,h);t=so(t),e-=h;for(var i=Bt(n,t);++r<e;)t(r);return i},jr.toFinite=pa,jr.toInteger=ma,jr.toLength=ga,jr.toLower=function(e){return wa(e).toLowerCase()},jr.toNumber=ya,jr.toSafeInteger=function(e){return e?sn(ma(e),-9007199254740991,d):0===e?e:0},jr.toString=wa,jr.toUpper=function(e){return wa(e).toUpperCase()},jr.trim=function(e,t,r){if((e=wa(e))&&(r||t===i))return Ut(e);if(!e||!(t=ai(t)))return e;var n=or(e),o=or(t);return wi(n,zt(n,o),Gt(n,o)+1).join("")},jr.trimEnd=function(e,t,r){if((e=wa(e))&&(r||t===i))return e.slice(0,sr(e)+1);if(!e||!(t=ai(t)))return e;var n=or(e);return wi(n,0,Gt(n,or(t))+1).join("")},jr.trimStart=function(e,t,r){if((e=wa(e))&&(r||t===i))return e.replace(ne,"");if(!e||!(t=ai(t)))return e;var n=or(e);return wi(n,zt(n,or(t))).join("")},jr.truncate=function(e,t){var r=30,n="...";if(ta(t)){var o="separator"in t?t.separator:o;r="length"in t?ma(t.length):r,n="omission"in t?ai(t.omission):n}var s=(e=wa(e)).length;if(Zt(e)){var a=or(e);s=a.length}if(r>=s)return e;var u=r-ir(n);if(u<1)return n;var l=a?wi(a,0,u).join(""):e.slice(0,u);if(o===i)return l+n;if(a&&(u+=l.length-u),sa(o)){if(e.slice(u).search(o)){var c,d=l;for(o.global||(o=Pe(o.source,wa(fe.exec(o))+"g")),o.lastIndex=0;c=o.exec(d);)var f=c.index;l=l.slice(0,f===i?u:f)}}else if(e.indexOf(ai(o),u)!=u){var h=l.lastIndexOf(o);h>-1&&(l=l.slice(0,h))}return l+n},jr.unescape=function(e){return(e=wa(e))&&G.test(e)?e.replace(q,ar):e},jr.uniqueId=function(e){var t=++Fe;return wa(e)+t},jr.upperCase=Ja,jr.upperFirst=Ya,jr.each=ws,jr.eachRight=bs,jr.first=Go,uu(jr,(vu={},wn(jr,(function(e,t){De.call(jr.prototype,t)||(vu[t]=e)})),vu),{chain:!1}),jr.VERSION="4.17.21",wt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){jr[e].placeholder=jr})),wt(["drop","take"],(function(e,t){Ur.prototype[e]=function(r){r=r===i?1:gr(ma(r),0);var n=this.__filtered__&&!t?new Ur(this):this.clone();return n.__filtered__?n.__takeCount__=yr(r,n.__takeCount__):n.__views__.push({size:yr(r,h),type:e+(n.__dir__<0?"Right":"")}),n},Ur.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),wt(["filter","map","takeWhile"],(function(e,t){var r=t+1,n=1==r||3==r;Ur.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:so(e,3),type:r}),t.__filtered__=t.__filtered__||n,t}})),wt(["head","last"],(function(e,t){var r="take"+(t?"Right":"");Ur.prototype[e]=function(){return this[r](1).value()[0]}})),wt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Ur.prototype[e]=function(){return this.__filtered__?new Ur(this):this[r](1)}})),Ur.prototype.compact=function(){return this.filter(iu)},Ur.prototype.find=function(e){return this.filter(e).head()},Ur.prototype.findLast=function(e){return this.reverse().find(e)},Ur.prototype.invokeMap=Qn((function(e,t){return"function"==typeof e?new Ur(this):this.map((function(r){return Ln(r,e,t)}))})),Ur.prototype.reject=function(e){return this.filter(xs(so(e)))},Ur.prototype.slice=function(e,t){e=ma(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Ur(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=ma(t))<0?r.dropRight(-t):r.take(t-e)),r)},Ur.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Ur.prototype.toArray=function(){return this.take(h)},wn(Ur.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),n=/^(?:head|last)$/.test(t),o=jr[n?"take"+("last"==t?"Right":""):t],s=n||/^find/.test(t);o&&(jr.prototype[t]=function(){var t=this.__wrapped__,a=n?[1]:arguments,u=t instanceof Ur,l=a[0],c=u||qs(t),d=function(e){var t=o.apply(jr,Tt([e],a));return n&&f?t[0]:t};c&&r&&"function"==typeof l&&1!=l.length&&(u=c=!1);var f=this.__chain__,h=!!this.__actions__.length,p=s&&!f,m=u&&!h;if(!s&&c){t=m?t:new Ur(this);var g=e.apply(t,a);return g.__actions__.push({func:ps,args:[d],thisArg:i}),new Br(g,f)}return p&&m?e.apply(this,a):(g=this.thru(d),p?n?g.value()[0]:g.value():g)})})),wt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Ae[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);jr.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var i=this.value();return t.apply(qs(i)?i:[],e)}return this[r]((function(r){return t.apply(qs(r)?r:[],e)}))}})),wn(Ur.prototype,(function(e,t){var r=jr[t];if(r){var n=r.name+"";De.call(Lr,n)||(Lr[n]=[]),Lr[n].push({name:t,func:r})}})),Lr[ji(i,2).name]=[{name:"wrapper",func:i}],Ur.prototype.clone=function(){var e=new Ur(this.__wrapped__);return e.__actions__=ki(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ki(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ki(this.__views__),e},Ur.prototype.reverse=function(){if(this.__filtered__){var e=new Ur(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Ur.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=qs(e),n=t<0,i=r?e.length:0,o=function(e,t,r){for(var n=-1,i=r.length;++n<i;){var o=r[n],s=o.size;switch(o.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=yr(t,e+s);break;case"takeRight":e=gr(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,u=a-s,l=n?a:s-1,c=this.__iteratees__,d=c.length,f=0,h=yr(u,this.__takeCount__);if(!r||!n&&i==u&&h==u)return fi(e,this.__actions__);var p=[];e:for(;u--&&f<h;){for(var m=-1,g=e[l+=t];++m<d;){var y=c[m],v=y.iteratee,w=y.type,b=v(g);if(2==w)g=b;else if(!b){if(1==w)continue e;break e}}p[f++]=g}return p},jr.prototype.at=ms,jr.prototype.chain=function(){return hs(this)},jr.prototype.commit=function(){return new Br(this.value(),this.__chain__)},jr.prototype.next=function(){this.__values__===i&&(this.__values__=ha(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},jr.prototype.plant=function(e){for(var t,r=this;r instanceof $r;){var n=$o(r);n.__index__=0,n.__values__=i,t?o.__wrapped__=n:t=n;var o=n;r=r.__wrapped__}return o.__wrapped__=e,t},jr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Ur){var t=e;return this.__actions__.length&&(t=new Ur(this)),(t=t.reverse()).__actions__.push({func:ps,args:[ts],thisArg:i}),new Br(t,this.__chain__)}return this.thru(ts)},jr.prototype.toJSON=jr.prototype.valueOf=jr.prototype.value=function(){return fi(this.__wrapped__,this.__actions__)},jr.prototype.first=jr.prototype.head,st&&(jr.prototype[st]=function(){return this}),jr}();ot._=ur,(n=function(){return ur}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},54883:(e,t,r)=>{var n=r(25835);function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=e.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(i.Cache||n),r}i.Cache=n,e.exports=i},98253:(e,t,r)=>{var n=r(158);e.exports=function(){return n.Date.now()}},75892:(e,t,r)=>{var n=r(11241),i=r(39169)((function(e,t){return null==e?{}:n(e,t)}));e.exports=i},59174:e=>{e.exports=function(){return[]}},30647:e=>{e.exports=function(){return!1}},38172:(e,t,r)=>{var n=r(76897),i=r(23619);e.exports=function(e,t,r){var o=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return i(r)&&(o="leading"in r?!!r.leading:o,s="trailing"in r?!!r.trailing:s),n(e,t,{leading:o,maxWait:t,trailing:s})}},95053:(e,t,r)=>{var n=r(12383),i=r(23619),o=r(81878),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=a.test(e);return r||u.test(e)?l(e.slice(2),r?2:8):s.test(e)?NaN:+e}},33270:(e,t,r)=>{var n=r(80430);e.exports=function(e){return null==e?"":n(e)}},42169:(e,t,r)=>{"use strict";const n=r(14561);e.exports=e=>{if(!Number.isInteger(e)&&e!==1/0||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new n;let r=0;const i=async(e,n,...i)=>{r++;const o=(async()=>e(...i))();n(o);try{await o}catch{}r--,t.size>0&&t.dequeue()()},o=(n,...o)=>new Promise((s=>{((n,o,...s)=>{t.enqueue(i.bind(null,n,o,...s)),(async()=>{await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()})()})(n,s,...o)}));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}},88021:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>u});var n=r(33034);class i extends Error{constructor(e){super(e),this.name="TimeoutError"}}class o{constructor(){Object.defineProperty(this,"_queue",{enumerable:!0,configurable:!0,writable:!0,value:[]})}enqueue(e,t){var r;const n={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&(null===(r=this._queue[this.size-1])||void 0===r?void 0:r.priority)>=t.priority)return void this._queue.push(n);const i=function(e,t,r){let n=0,i=e.length;for(;i>0;){const r=Math.trunc(i/2);let s=n+r;o=e[s],t.priority-o.priority<=0?(n=++s,i-=r+1):i=r}var o;return n}(this._queue,n);this._queue.splice(i,0,n)}dequeue(){const e=this._queue.shift();return null==e?void 0:e.run}filter(e){return this._queue.filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return this._queue.length}}const s=()=>{},a=new i;class u extends n{constructor(e){var t,r,n,i;if(super(),Object.defineProperty(this,"_carryoverConcurrencyCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isIntervalIgnored",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_intervalCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_intervalCap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_interval",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_intervalEnd",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_intervalId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_timeoutId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_queueClass",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pendingCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_concurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isPaused",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_resolveEmpty",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_resolveIdle",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_throwOnTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),!("number"==typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:o,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!==(r=null===(t=e.intervalCap)||void 0===t?void 0:t.toString())&&void 0!==r?r:""}\` (${typeof e.intervalCap})`);if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!==(i=null===(n=e.interval)||void 0===n?void 0:n.toString())&&void 0!==i?i:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=!0===e.throwOnTimeout,this._isPaused=!1===e.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=s,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=s,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){const e=Date.now();if(void 0===this._intervalId){const t=this._intervalEnd-e;if(!(t<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout((()=>{this._onResumeInterval()}),t)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){const e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){const t=this._queue.dequeue();return!!t&&(this.emit("active"),t(),e&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval((()=>{this._onInterval()}),this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!("number"==typeof e&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,t={}){return new Promise(((r,n)=>{this._queue.enqueue((async()=>{this._pendingCount++,this._intervalCount++;try{const i=void 0===this._timeout&&void 0===t.timeout?e():function(e,t,r,n){let i;const o=new Promise(((o,s)=>{if("number"!=typeof t||t<0)throw new TypeError("Expected `milliseconds` to be a positive number");t!==Number.POSITIVE_INFINITY?(n={customTimers:{setTimeout,clearTimeout},...n},i=n.customTimers.setTimeout.call(void 0,(()=>{try{o(r())}catch(e){s(e)}}),t),(async()=>{try{o(await e)}catch(e){s(e)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()):o(e)}));return o.clear=()=>{clearTimeout(i),i=void 0},o}(Promise.resolve(e()),void 0===t.timeout?this._timeout:t.timeout,(()=>{(void 0===t.throwOnTimeout?this._throwOnTimeout:t.throwOnTimeout)&&n(a)})),o=await i;r(o),this.emit("completed",o)}catch(e){n(e),this.emit("error",e)}this._next()}),t),this._tryToStartAnother(),this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise((e=>{const t=this._resolveEmpty;this._resolveEmpty=()=>{t(),e()}}))}async onSizeLessThan(e){if(!(this._queue.size<e))return new Promise((t=>{const r=()=>{this._queue.size<e&&(this.removeListener("next",r),t())};this.on("next",r)}))}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise((e=>{const t=this._resolveIdle;this._resolveIdle=()=>{t(),e()}}))}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}}},47533:function(e,t){!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i<n;++i)t[i]=t[i].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function r(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function o(e){var n="[A-Za-z]",i="[0-9]",o=t(i,"[A-Fa-f]"),s=r(r("%[EFef]"+o+"%"+o+o+"%"+o+o)+"|"+r("%[89A-Fa-f]"+o+"%"+o+o)+"|"+r("%"+o+o)),a="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",u=t("[\\:\\/\\?\\#\\[\\]\\@]",a),l=e?"[\\uE000-\\uF8FF]":"[]",c=t(n,i,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),d=r(n+t(n,i,"[\\+\\-\\.]")+"*"),f=r(r(s+"|"+t(c,a,"[\\:]"))+"*"),h=(r(r("25[0-5]")+"|"+r("2[0-4][0-9]")+"|"+r("1[0-9][0-9]")+"|"+r("[1-9][0-9]")+"|"+i),r(r("25[0-5]")+"|"+r("2[0-4][0-9]")+"|"+r("1[0-9][0-9]")+"|"+r("0?[1-9][0-9]")+"|0?0?"+i)),p=r(h+"\\."+h+"\\."+h+"\\."+h),m=r(o+"{1,4}"),g=r(r(m+"\\:"+m)+"|"+p),y=r(r(m+"\\:")+"{6}"+g),v=r("\\:\\:"+r(m+"\\:")+"{5}"+g),w=r(r(m)+"?\\:\\:"+r(m+"\\:")+"{4}"+g),b=r(r(r(m+"\\:")+"{0,1}"+m)+"?\\:\\:"+r(m+"\\:")+"{3}"+g),S=r(r(r(m+"\\:")+"{0,2}"+m)+"?\\:\\:"+r(m+"\\:")+"{2}"+g),_=r(r(r(m+"\\:")+"{0,3}"+m)+"?\\:\\:"+m+"\\:"+g),C=r(r(r(m+"\\:")+"{0,4}"+m)+"?\\:\\:"+g),E=r(r(r(m+"\\:")+"{0,5}"+m)+"?\\:\\:"+m),P=r(r(r(m+"\\:")+"{0,6}"+m)+"?\\:\\:"),T=r([y,v,w,b,S,_,C,E,P].join("|")),k=r(r(c+"|"+s)+"+"),A=(r(T+"\\%25"+k),r(T+r("\\%25|\\%(?!"+o+"{2})")+k)),L=r("[vV]"+o+"+\\."+t(c,a,"[\\:]")+"+"),O=r("\\["+r(A+"|"+T+"|"+L)+"\\]"),I=r(r(s+"|"+t(c,a))+"*"),R=r(O+"|"+p+"(?!"+I+")|"+I),D=r("[0-9]*"),F=r(r(f+"@")+"?"+R+r("\\:"+D)+"?"),M=r(s+"|"+t(c,a,"[\\:\\@]")),x=r(M+"*"),N=r(M+"+"),j=r(r(s+"|"+t(c,a,"[\\@]"))+"+"),W=r(r("\\/"+x)+"*"),$=r("\\/"+r(N+W)+"?"),B=r(j+W),U=r(N+W),H="(?!"+M+")",V=(r(W+"|"+$+"|"+B+"|"+U+"|"+H),r(r(M+"|"+t("[\\/\\?]",l))+"*")),q=r(r(M+"|[\\/\\?]")+"*"),z=r(r("\\/\\/"+F+W)+"|"+$+"|"+U+"|"+H),G=r(d+"\\:"+z+r("\\?"+V)+"?"+r("\\#"+q)+"?"),Q=r(r("\\/\\/"+F+W)+"|"+$+"|"+B+"|"+H),K=r(Q+r("\\?"+V)+"?"+r("\\#"+q)+"?");return r(G+"|"+K),r(d+"\\:"+z+r("\\?"+V)+"?"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+D+")")+"?)")+"?("+W+"|"+$+"|"+U+"|"+H+")"),r("\\?("+V+")"),r("\\#("+q+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+D+")")+"?)")+"?("+W+"|"+$+"|"+B+"|"+H+")"),r("\\?("+V+")"),r("\\#("+q+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+D+")")+"?)")+"?("+W+"|"+$+"|"+U+"|"+H+")"),r("\\?("+V+")"),r("\\#("+q+")"),r("("+f+")@"),r("\\:("+D+")"),{NOT_SCHEME:new RegExp(t("[^]",n,i,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",c,a),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",c,a),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",c,a),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",c,a),"g"),NOT_QUERY:new RegExp(t("[^\\%]",c,a,"[\\:\\@\\/\\?]",l),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",c,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",c,a),"g"),UNRESERVED:new RegExp(c,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",c,u),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+p+")$"),IPV6ADDRESS:new RegExp("^\\[?("+T+")"+r(r("\\%25|\\%(?!"+o+"{2})")+"("+k+")")+"?\\]?$")}}var s=o(!1),a=o(!0),u=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},l=2147483647,c=36,d=/^xn--/,f=/[^\0-\x7E]/,h=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},m=Math.floor,g=String.fromCharCode;function y(e){throw new RangeError(p[e])}function v(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+function(e,t){for(var r=[],n=e.length;n--;)r[n]=t(e[n]);return r}((e=e.replace(h,".")).split("."),t).join(".")}function w(e){for(var t=[],r=0,n=e.length;r<n;){var i=e.charCodeAt(r++);if(i>=55296&&i<=56319&&r<n){var o=e.charCodeAt(r++);56320==(64512&o)?t.push(((1023&i)<<10)+(1023&o)+65536):(t.push(i),r--)}else t.push(i)}return t}var b=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},S=function(e,t,r){var n=0;for(e=r?m(e/700):e>>1,e+=m(e/t);e>455;n+=c)e=m(e/35);return m(n+36*e/(e+38))},_=function(e){var t,r=[],n=e.length,i=0,o=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var u=0;u<a;++u)e.charCodeAt(u)>=128&&y("not-basic"),r.push(e.charCodeAt(u));for(var d=a>0?a+1:0;d<n;){for(var f=i,h=1,p=c;;p+=c){d>=n&&y("invalid-input");var g=(t=e.charCodeAt(d++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:c;(g>=c||g>m((l-i)/h))&&y("overflow"),i+=g*h;var v=p<=s?1:p>=s+26?26:p-s;if(g<v)break;var w=c-v;h>m(l/w)&&y("overflow"),h*=w}var b=r.length+1;s=S(i-f,b,0==f),m(i/b)>l-o&&y("overflow"),o+=m(i/b),i%=b,r.splice(i++,0,o)}return String.fromCodePoint.apply(String,r)},C=function(e){var t=[],r=(e=w(e)).length,n=128,i=0,o=72,s=!0,a=!1,u=void 0;try{for(var d,f=e[Symbol.iterator]();!(s=(d=f.next()).done);s=!0){var h=d.value;h<128&&t.push(g(h))}}catch(e){a=!0,u=e}finally{try{!s&&f.return&&f.return()}finally{if(a)throw u}}var p=t.length,v=p;for(p&&t.push("-");v<r;){var _=l,C=!0,E=!1,P=void 0;try{for(var T,k=e[Symbol.iterator]();!(C=(T=k.next()).done);C=!0){var A=T.value;A>=n&&A<_&&(_=A)}}catch(e){E=!0,P=e}finally{try{!C&&k.return&&k.return()}finally{if(E)throw P}}var L=v+1;_-n>m((l-i)/L)&&y("overflow"),i+=(_-n)*L,n=_;var O=!0,I=!1,R=void 0;try{for(var D,F=e[Symbol.iterator]();!(O=(D=F.next()).done);O=!0){var M=D.value;if(M<n&&++i>l&&y("overflow"),M==n){for(var x=i,N=c;;N+=c){var j=N<=o?1:N>=o+26?26:N-o;if(x<j)break;var W=x-j,$=c-j;t.push(g(b(j+W%$,0))),x=m(W/$)}t.push(g(b(x,0))),o=S(i,L,v==p),i=0,++v}}}catch(e){I=!0,R=e}finally{try{!O&&F.return&&F.return()}finally{if(I)throw R}}++i,++n}return t.join("")},E=function(e){return v(e,(function(e){return f.test(e)?"xn--"+C(e):e}))},P=function(e){return v(e,(function(e){return d.test(e)?_(e.slice(4).toLowerCase()):e}))},T={};function k(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function A(e){for(var t="",r=0,n=e.length;r<n;){var i=parseInt(e.substr(r+1,2),16);if(i<128)t+=String.fromCharCode(i),r+=3;else if(i>=194&&i<224){if(n-r>=6){var o=parseInt(e.substr(r+4,2),16);t+=String.fromCharCode((31&i)<<6|63&o)}else t+=e.substr(r,6);r+=6}else if(i>=224){if(n-r>=9){var s=parseInt(e.substr(r+4,2),16),a=parseInt(e.substr(r+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(r,9);r+=9}else t+=e.substr(r,3),r+=3}return t}function L(e,t){function r(e){var r=A(e);return r.match(t.UNRESERVED)?r:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,r).replace(t.NOT_USERINFO,k).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,k).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,r).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,k).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,k).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,k).replace(t.PCT_ENCODED,i)),e}function O(e){return e.replace(/^0*(.*)/,"$1")||"0"}function I(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=u(r,2)[1];return n?n.split(".").map(O).join("."):e}function R(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=u(r,3),i=n[1],o=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=u(s,2),l=a[0],c=a[1],d=c?c.split(":").map(O):[],f=l.split(":").map(O),h=t.IPV4ADDRESS.test(f[f.length-1]),p=h?7:8,m=f.length-p,g=Array(p),y=0;y<p;++y)g[y]=d[y]||f[m+y]||"";h&&(g[p-1]=I(g[p-1],t));var v=g.reduce((function(e,t,r){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===r?n.length++:e.push({index:r,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],w=void 0;if(v&&v.length>1){var b=g.slice(0,v.index),S=g.slice(v.index+v.length);w=b.join(":")+"::"+S.join(":")}else w=g.join(":");return o&&(w+="%"+o),w}return e}var D=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,F=void 0==="".match(/(){0}/)[1];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={},n=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(D);if(i){F?(r.scheme=i[1],r.userinfo=i[3],r.host=i[4],r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=i[7],r.fragment=i[8],isNaN(r.port)&&(r.port=i[5])):(r.scheme=i[1]||void 0,r.userinfo=-1!==e.indexOf("@")?i[3]:void 0,r.host=-1!==e.indexOf("//")?i[4]:void 0,r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=-1!==e.indexOf("?")?i[7]:void 0,r.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(r.port)&&(r.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),r.host&&(r.host=R(I(r.host,n),n)),void 0!==r.scheme||void 0!==r.userinfo||void 0!==r.host||void 0!==r.port||r.path||void 0!==r.query?void 0===r.scheme?r.reference="relative":void 0===r.fragment?r.reference="absolute":r.reference="uri":r.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");var o=T[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)L(r,n);else{if(r.host&&(t.domainHost||o&&o.domainHost))try{r.host=E(r.host.replace(n.PCT_ENCODED,A).toLowerCase())}catch(e){r.error=r.error||"Host's domain name can not be converted to ASCII via punycode: "+e}L(r,s)}o&&o.parse&&o.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function x(e,t){var r=!1!==t.iri?a:s,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(R(I(String(e.host),r),r).replace(r.IPV6ADDRESS,(function(e,t,r){return"["+t+(r?"%25"+r:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(n.push(":"),n.push(String(e.port))),n.length?n.join(""):void 0}var N=/^\.\.?\//,j=/^\/\.(\/|$)/,W=/^\/\.\.(\/|$)/,$=/^\/?(?:.|\n)*?(?=\/|$)/;function B(e){for(var t=[];e.length;)if(e.match(N))e=e.replace(N,"");else if(e.match(j))e=e.replace(j,"/");else if(e.match(W))e=e.replace(W,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match($);if(!r)throw new Error("Unexpected dot segment condition");var n=r[0];e=e.slice(n.length),t.push(n)}return t.join("")}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?a:s,n=[],i=T[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(r.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?P(e.host):E(e.host.replace(r.PCT_ENCODED,A).toLowerCase())}catch(r){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+r}L(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var o=x(e,t);if(void 0!==o&&("suffix"!==t.reference&&n.push("//"),n.push(o),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var u=e.path;t.absolutePath||i&&i.absolutePath||(u=B(u)),void 0===o&&(u=u.replace(/^\/\//,"/%2F")),n.push(u)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function H(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=M(U(e,r),r),t=M(U(t,r),r)),!(r=r||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=B(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=B(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=B(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=B(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,A)}var q={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var r="https"===String(e.scheme).toLowerCase();return e.port!==(r?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},z={scheme:"https",domainHost:q.domainHost,parse:q.parse,serialize:q.serialize};function G(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var Q={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=G(r),r.resourceName=(r.path||"/")+(r.query?"?"+r.query:""),r.path=void 0,r.query=void 0,r},serialize:function(e,t){if(e.port!==(G(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var r=e.resourceName.split("?"),n=u(r,2),i=n[0],o=n[1];e.path=i&&"/"!==i?i:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},K={scheme:"wss",domainHost:Q.domainHost,parse:Q.parse,serialize:Q.serialize},J={},Y="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Z="[0-9A-Fa-f]",X=r(r("%[EFef][0-9A-Fa-f]%"+Z+Z+"%"+Z+Z)+"|"+r("%[89A-Fa-f][0-9A-Fa-f]%"+Z+Z)+"|"+r("%"+Z+Z)),ee=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),te=new RegExp(Y,"g"),re=new RegExp(X,"g"),ne=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),ie=new RegExp(t("[^]",Y,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),oe=ie;function se(e){var t=A(e);return t.match(te)?t:e}var ae={scheme:"mailto",parse:function(e,t){var r=e,n=r.to=r.path?r.path.split(","):[];if(r.path=void 0,r.query){for(var i=!1,o={},s=r.query.split("&"),a=0,u=s.length;a<u;++a){var l=s[a].split("=");switch(l[0]){case"to":for(var c=l[1].split(","),d=0,f=c.length;d<f;++d)n.push(c[d]);break;case"subject":r.subject=V(l[1],t);break;case"body":r.body=V(l[1],t);break;default:i=!0,o[V(l[0],t)]=V(l[1],t)}}i&&(r.headers=o)}r.query=void 0;for(var h=0,p=n.length;h<p;++h){var m=n[h].split("@");if(m[0]=V(m[0]),t.unicodeSupport)m[1]=V(m[1],t).toLowerCase();else try{m[1]=E(V(m[1],t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}n[h]=m.join("@")}return r},serialize:function(e,t){var r,n=e,o=null!=(r=e.to)?r instanceof Array?r:"number"!=typeof r.length||r.split||r.setInterval||r.call?[r]:Array.prototype.slice.call(r):[];if(o){for(var s=0,a=o.length;s<a;++s){var u=String(o[s]),l=u.lastIndexOf("@"),c=u.slice(0,l).replace(re,se).replace(re,i).replace(ne,k),d=u.slice(l+1);try{d=t.iri?P(d):E(V(d,t).toLowerCase())}catch(e){n.error=n.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}o[s]=c+"@"+d}n.path=o.join(",")}var f=e.headers=e.headers||{};e.subject&&(f.subject=e.subject),e.body&&(f.body=e.body);var h=[];for(var p in f)f[p]!==J[p]&&h.push(p.replace(re,se).replace(re,i).replace(ie,k)+"="+f[p].replace(re,se).replace(re,i).replace(oe,k));return h.length&&(n.query=h.join("&")),n}},ue=/^([^\:]+)\:(.*)/,le={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(ue),n=e;if(r){var i=t.scheme||n.scheme||"urn",o=r[1].toLowerCase(),s=r[2],a=i+":"+(t.nid||o),u=T[a];n.nid=o,n.nss=s,n.path=void 0,u&&(n=u.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var r=t.scheme||e.scheme||"urn",n=e.nid,i=r+":"+(t.nid||n),o=T[i];o&&(e=o.serialize(e,t));var s=e,a=e.nss;return s.path=(n||t.nid)+":"+a,s}},ce=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,de={scheme:"urn:uuid",parse:function(e,t){var r=e;return r.uuid=r.nss,r.nss=void 0,t.tolerant||r.uuid&&r.uuid.match(ce)||(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};T[q.scheme]=q,T[z.scheme]=z,T[Q.scheme]=Q,T[K.scheme]=K,T[ae.scheme]=ae,T[le.scheme]=le,T[de.scheme]=de,e.SCHEMES=T,e.pctEncChar=k,e.pctDecChars=A,e.parse=M,e.removeDotSegments=B,e.serialize=U,e.resolveComponents=H,e.resolve=function(e,t,r){var n=function(e,t){var r=e;if(t)for(var n in t)r[n]=t[n];return r}({scheme:"null"},r);return U(H(M(e,n),M(t,n),n,!0),n)},e.normalize=function(e,t){return"string"==typeof e?e=U(M(e,t),t):"object"===n(e)&&(e=M(U(e,t),t)),e},e.equal=function(e,t,r){return"string"==typeof e?e=U(M(e,r),r):"object"===n(e)&&(e=U(e,r)),"string"==typeof t?t=U(M(t,r),r):"object"===n(t)&&(t=U(t,r)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,k)},e.unescapeComponent=V,Object.defineProperty(e,"__esModule",{value:!0})}(t)},50586:(e,t,r)=>{var n=r(36589),i=r(22708),o=i;o.v1=n,o.v4=i,e.exports=o},98726:e=>{for(var t=[],r=0;r<256;++r)t[r]=(r+256).toString(16).substr(1);e.exports=function(e,r){var n=r||0,i=t;return i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+"-"+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]+i[e[n++]]}},76338:(e,t,r)=>{var n,i=r.g.crypto||r.g.msCrypto;if(i&&i.getRandomValues){var o=new Uint8Array(16);n=function(){return i.getRandomValues(o),o}}if(!n){var s=new Array(16);n=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),s[t]=e>>>((3&t)<<3)&255;return s}}e.exports=n},36589:(e,t,r)=>{var n=r(76338),i=r(98726),o=n(),s=[1|o[0],o[1],o[2],o[3],o[4],o[5]],a=16383&(o[6]<<8|o[7]),u=0,l=0;e.exports=function(e,t,r){var n=t&&r||0,o=t||[],c=void 0!==(e=e||{}).clockseq?e.clockseq:a,d=void 0!==e.msecs?e.msecs:(new Date).getTime(),f=void 0!==e.nsecs?e.nsecs:l+1,h=d-u+(f-l)/1e4;if(h<0&&void 0===e.clockseq&&(c=c+1&16383),(h<0||d>u)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");u=d,l=f,a=c;var p=(1e4*(268435455&(d+=122192928e5))+f)%4294967296;o[n++]=p>>>24&255,o[n++]=p>>>16&255,o[n++]=p>>>8&255,o[n++]=255&p;var m=d/4294967296*1e4&268435455;o[n++]=m>>>8&255,o[n++]=255&m,o[n++]=m>>>24&15|16,o[n++]=m>>>16&255,o[n++]=c>>>8|128,o[n++]=255&c;for(var g=e.node||s,y=0;y<6;++y)o[n+y]=g[y];return t||i(o)}},22708:(e,t,r)=>{var n=r(76338),i=r(98726);e.exports=function(e,t,r){var o=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||n)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},14561:e=>{class t{constructor(e){this.value=e,this.next=void 0}}class r{constructor(){this.clear()}enqueue(e){const r=new t(e);this._head?(this._tail.next=r,this._tail=r):(this._head=r,this._tail=r),this._size++}dequeue(){const e=this._head;if(e)return this._head=this._head.next,this._size--,e.value}clear(){this._head=void 0,this._tail=void 0,this._size=0}get size(){return this._size}*[Symbol.iterator](){let e=this._head;for(;e;)yield e.value,e=e.next}}e.exports=r},34361:function(e,t,r){"use strict";var n,i,o,s,a,u,l,c,d,f,h,p,m,g=this&&this.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},y=this&&this.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},v=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleDesktopAgent=void 0;const w=r(98832),b=v(r(72551)),S=r(6192),_=r(81298),C=r(81298),E=v(r(60306));class P{constructor(e){n.set(this,void 0),i.set(this,void 0),g(this,n,e,"f")}start(e){const t={type:"heartbeat",meta:{uuid:e}};y(this,n,"f").transmit(_.HEARTBEAT_CHANNEL,t),g(this,i,setInterval((()=>{y(this,n,"f").transmit(_.HEARTBEAT_CHANNEL,t)}),_.HEARTBEAT_INTERVAL),"f")}stop(){clearInterval(y(this,i,"f")),g(this,i,void 0,"f")}}n=new WeakMap,i=new WeakMap;class T{constructor(e,t,r="app"){o.set(this,void 0),g(this,o,e,"f"),this.id=t,this.type=r}broadcast(e){y(this,o,"f").channelBroadcast(this.id,e)}getCurrentContext(e){return y(this,o,"f").channelGetCurrentContext(this.id,e)}addContextListener(e,t){return y(this,o,"f").channelAddContextListener(this.id,e,t)}}o=new WeakMap,t.FinsembleDesktopAgent=class{constructor({routerClient:e,startup:t}){s.set(this,!1),a.set(this,void 0),u.set(this,!1),l.set(this,""),c.set(this,`FSBL.FDC3.Client.${Date.now()}_${Math.random()}`),d.set(this,{}),f.set(this,{}),h.set(this,[]),p.set(this,void 0),m.set(this,void 0),g(this,p,e,"f"),g(this,a,new P(e),"f"),g(this,m,t,"f");const r=()=>!0===S.Globals?.FSBL?.Clients?.WindowClient?.options?.customData?.interop?.autoConnect;if(S.Globals?.FSBL?.addEventListener?S.Globals?.FSBL.addEventListener("onReady",(()=>{r()&&this.connectWhenFSBLIsReady()})):window.addEventListener("FSBLReady",(()=>{r()&&this.connectWhenFSBLIsReady()})),window.Event){const e=new Event("fdc3Ready");window&&window.dispatchEvent(e)}}meta(){return{uuid:y(this,l,"f"),href:window.document?document.location.href:""}}triggerContextListeners(e){const{context:t}=e.payload;(y(this,f,"f")[t?.type]??[]).concat(y(this,f,"f")["*"]??[]).forEach((({handler:r,channel:n})=>{e.meta.channel!==n&&(e.meta.channel||n)||r(t)}))}triggerIntentListeners(e){const{intent:t,context:r}=e.payload,n=y(this,d,"f")[t];r&&(n||[]).forEach((e=>e(r)))}handleIncoming(e){switch(b.default.log("FDC3 Client: handleIncoming",e.type,e),e.type){case"broadcast":this.triggerContextListeners(e);break;case"intent":this.triggerIntentListeners(e)}}releaseQueue(){const e=e=>(void 0!==e?.meta?.uuid&&(e.meta.uuid=y(this,l,"f")),e);y(this,h,"f").forEach((async t=>{const{message:r,handler:n,resolve:i}=t,{err:o,response:s}=await y(this,p,"f").query(_.SERVER_CHANNEL,e(r),n);i({err:o,receiveMessage:s?.data})})),g(this,h,[],"f")}async connectWhenFSBLIsReady(){y(this,u,"f")||(g(this,u,!0,"f"),await y(this,m,"f").onReady(),this.connect())}exchange(e,t=(()=>{})){return new Promise((async r=>{if(y(this,s,"f")){const{err:n,response:i}=await y(this,p,"f").query(_.SERVER_CHANNEL,e,t);r({err:n,receiveMessage:i?.data})}else y(this,h,"f").push({message:e,handler:t,resolve:r}),this.connectWhenFSBLIsReady()}))}async connect(){const e=y(this,m,"f").getStartupData(),{windowName:t="Unknown window",authenticationToken:r}=e;b.default.log(`fdc3.connect StartupData for ${t}`,e),g(this,l,t,"f");const n={type:"register",meta:this.meta(),payload:{clientChannel:y(this,c,"f"),windowName:t,authenticationToken:r}};y(this,p,"f").query(_.SERVER_CHANNEL,n,(e=>{e?b.default.error("connect error",e):(y(this,p,"f").addResponder(y(this,c,"f"),((e,t)=>{if(e||!t){const t=C.errorAsString(e??"No request received on responder");b.default.error(`FinsembleDesktopAgent can't listen on channel ${y(this,c,"f")} : ${t}`)}else t.data&&this.handleIncoming(t.data),t.sendQueryResponse(null)})),g(this,s,!0,"f"),this.releaseQueue())})),y(this,a,"f").start(y(this,l,"f"))}stop(){y(this,a,"f").stop();const e={type:"unregister",meta:this.meta()};this.exchange(e,(()=>{y(this,p,"f").removeResponder(y(this,c,"f")),g(this,s,!1,"f")}))}async getCurrentContext(e){const t={type:"currentContextRequest",meta:this.meta(),payload:{contextType:e}},{err:r,receiveMessage:n}=await this.exchange(t);return r?null:"currentContext"===n?.type&&n.payload.context?n.payload.context:null}async channelGetCurrentContext(e,t){const r={type:"currentContextRequest",meta:{...this.meta(),channel:e},payload:{contextType:t}},{err:n,receiveMessage:i}=await this.exchange(r);return n?null:"currentContext"===i?.type?i.payload.context:null}broadcast(e){const t={type:"broadcast",meta:this.meta(),payload:{context:e}};this.exchange(t)}channelBroadcast(e,t){const r={type:"broadcast",meta:{...this.meta(),channel:e},payload:{context:t}};this.exchange(r)}async getSystemChannels(){const e={type:"systemChannelRequest",meta:this.meta()},{err:t,receiveMessage:r}=await this.exchange(e);return t?[]:("systemChannels"===r?.type?r?.payload?.channels:[]).map((e=>new T(this,e,"system")))}async open(e,t){const r={type:"open",meta:this.meta(),payload:{target:e,context:t}},{err:n,receiveMessage:i}=await this.exchange(r),o=i;if(n)throw w.OpenError.ResolverUnavailable;if(o.payload.error)throw o.payload.error}async findIntent(e,t){const r={type:"findIntent",meta:this.meta(),payload:{intent:e,context:t}},{err:n,receiveMessage:i}=await this.exchange(r),o=i;if(n)throw w.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.appIntent)throw"Invalid response returned from InteropService for findIntent. No appIntent and no error.";return o.payload.appIntent}async findIntentsByContext(e){const t={type:"findIntentsByContext",meta:this.meta(),payload:{context:e}},{receiveMessage:r}=await this.exchange(t),n=r;if(n.payload.error)throw n.payload.error;return n.payload.intents||[]}async raiseIntent(e,t,r){const n={type:"raiseIntent",meta:this.meta(),payload:{intent:e,context:t,target:r}},{err:i,receiveMessage:o}=await this.exchange(n),s=o;if(i)throw w.ResolveError.ResolverUnavailable;if(s.payload.error)throw s.payload.error;if(!s.payload.data)throw"Invalid response returned from InteropService for raiseIntent. No data.";return s.payload.data}async raiseIntentForContext(e,t){const r={type:"raiseIntent",meta:this.meta(),payload:{context:e,target:t}},{err:n,receiveMessage:i}=await this.exchange(r),o=i;if(n)throw w.ResolveError.ResolverUnavailable;if(o.payload.error)throw o.payload.error;if(!o.payload.data)throw"Invalid response returned from InteropService for raiseIntentForContext. No data.";return o.payload.data}addIntentListener(e,t){y(this,d,"f")[e]=C.mmAdd(y(this,d,"f"),e,t);const r={type:"subscribeIntent",meta:this.meta(),payload:{intent:e}};return this.exchange(r),{unsubscribe:()=>{const r={type:"unsubscribeIntent",meta:this.meta(),payload:{intent:e}};this.exchange(r),y(this,d,"f")[e]=C.mmRemove(y(this,d,"f"),e,t)}}}channelAddContextListener(e,t,r){const n=r?t:"*";r||(r=t);const i={handler:r,channel:e};y(this,f,"f")[n]=C.mmAdd(y(this,d,"f"),n,i);let o={type:"subscribeContext",meta:this.meta(),payload:{contextType:n}};return e&&(o.meta.channel=e),this.exchange(o),{unsubscribe:()=>{let t={type:"unsubscribeContext",meta:this.meta(),payload:{contextType:n}};e&&(t.meta.channel=e),y(this,f,"f")[n]=C.mmRemove(y(this,d,"f"),n,i),this.exchange(t)}}}addContextListener(e,t){return this.channelAddContextListener(null,e,t)}async joinChannel(e){const t={type:"joinChannels",meta:this.meta(),payload:{channels:[e]}};await this.exchange(t)}async getOrCreateChannel(e){return new T(this,e)}async getCurrentChannels(){const e={type:"getCurrentChannels",meta:this.meta()},{err:t,receiveMessage:r}=await this.exchange(e),n=r;if(t)throw t;if(n.payload.error)throw n.payload.error;if(!n.payload.data)throw"Invalid response returned from InteropService for getCurrentChannels. No data.";return n.payload.data.map((e=>new T(this,e.channel,"system")))}async getCurrentChannel(){const e=await this.getCurrentChannels();return e&&e.length?e[0]:null}async leaveCurrentChannel(){const e={type:"leaveChannels",meta:this.meta(),payload:{}};await this.exchange(e)}getInfo(){return{fdc3Version:"1.2",provider:"Finsemble",providerVersion:E.default.version}}},s=new WeakMap,a=new WeakMap,u=new WeakMap,l=new WeakMap,c=new WeakMap,d=new WeakMap,f=new WeakMap,h=new WeakMap,p=new WeakMap,m=new WeakMap},17703:function(e,t,r){"use strict";var n,i=this&&this.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InteropAdmin=void 0;const s=o(r(39319)),a=o(r(72551)),u=r(81298),l=r(98832);class c{constructor(){n.set(this,window.name)}async addAppDefinitions(e){const t={type:"addAppDefinitions",meta:{uuid:i(this,n,"f")},payload:{apps:e}};await s.default.query(u.SERVER_CHANNEL,t)}async removeAppDefinitions(e){const t={type:"removeAppDefinitions",meta:{uuid:i(this,n,"f")},payload:{apps:e}};await s.default.query(u.SERVER_CHANNEL,t)}async setAuthenticationToken(e){const t={type:"setAuthenticationToken",meta:{uuid:i(this,n,"f")},payload:{authenticationToken:e}};await s.default.query(u.SERVER_CHANNEL,t)}async registerUIResolverListener(e){s.default.addResponder(u.INTENT_RESOLVER_CHANNEL,(async(t,r)=>{let n,i;if(t)Promise.reject(`registerUIResolverListener failed. It can only be invoked once, system wide (router error: ${t})`);else{const t=r?.data;try{n=await e(t)}catch(e){a.default.log(`registerUIResolverListener IntentResolution rejected ${e}`),i={error:l.ResolveError.ResolverUnavailable}}r?.sendQueryResponse(null,i||n)}}));const t={type:"registerUIResolver",meta:{uuid:i(this,n,"f")}};await s.default.query(u.SERVER_CHANNEL,t)}}t.InteropAdmin=c,n=new WeakMap,t.default=c},81298:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousAuthenticationToken=t.HEARTBEAT_INTERVAL=t.HEARTBEAT_CHANNEL=t.INTENT_RESOLVER_CHANNEL=t.SERVER_CHANNEL=t.GLOBAL_CHANNEL=t.errorAsString=t.mmRemove=t.concatNoDups=t.mmAdd=void 0,t.mmAdd=function(e,t,r){return(e[t]||[]).concat([r])},t.concatNoDups=function(e,t){const r=Array.isArray(t)?t:[t],n=e?r.concat(e):r;return Array.from(new Set(n))},t.mmRemove=function(e,t,r){return(e[t]||[]).filter((e=>e===r))},t.errorAsString=function(e){return e?.message??e??null},t.GLOBAL_CHANNEL="global",t.SERVER_CHANNEL="FSBL.FDC3.Interop.Server",t.INTENT_RESOLVER_CHANNEL="FSBL.FDC3.intent.resolver",t.HEARTBEAT_CHANNEL="FSBL.FDC3.Interop.Server",t.HEARTBEAT_INTERVAL=4e3,t.AnonymousAuthenticationToken={authenticationKeyType:"unauthenticated",meta:{name:"Anonymous app"}}},10589:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLService=void 0;const i=n(r(39319)),o=r(67580),s=r(51742),a=r(16925),u=r(50586),l=r(6192),c=r(34361);t.FSBLService=class{async startApp(){await s.System.ready();const e=await o.getSystemStartupData(),t=s.System.Window.getCurrent(),r=t.name??document?.location?.href??"Unknown App",n=t.name??document?.location?.href??`Unknown window-${u.v4()}`,d=o.getManifestFromStartupData(e)??{},f=o.getRouterConfig({windowName:n,systemManifest:d});await i.default.start(f);const h=a.Startup.getInstance();h.setStartupData({windowName:n,authenticationToken:{authenticationKeyType:"unauthenticated",meta:{name:r}}}),l.Globals.fdc3=new c.FinsembleDesktopAgent({routerClient:i.default,startup:h}),h.ready()}async stopApp(){i.default.stop()}}},67580:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getManifestFromStartupData=t.getSystemStartupData=t.getRouterConfig=t.getRecommendedTransport=void 0;const i=n(r(72551)),o=r(51742),s=r(33998),a={sameDomainTransport:"FinsembleTransport",crossDomainTransport:"FinsembleTransport",transportSettings:{FinsembleTransport:{serverAddress:"ws://127.0.0.1:3376"}},transportName:"FinsembleTransport"},u=e=>{if(!e)return i.default.error("No documentRoot provided to RouterConfig.isCrossDomain(). Check the moduleRoot entry of the manifest."),!0;const t=document.createElement("a");t.href=e;const r=window.location.hostname===t.hostname,n=window.location.protocol===t.protocol,o=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),s=r&&o&&n;return i.default.system.debug(`Transport crossDomain=${u} (${r}:${n}:${o})`),!s};t.getRecommendedTransport=e=>{const{moduleRoot:t,router:r}=e?.finsemble,{sameDomainTransport:n="SharedWorker",crossDomainTransport:o="IPCBus"}=r??{},s=u(t)?o:n;return i.default.system.log(`Transport Info: Selected=${s} SameDomainDefault=${n} CrossDomainDefault=${o}`),console.log(`Transport Info: Selected=${s} SameDomainDefault=${n} CrossDomainDefault=${o}`),s},t.getRouterConfig=({windowName:e,systemManifest:r,transportSettings:n})=>r?((e,r)=>{if(i.default.system.info("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest"),e&&"string"!=typeof e){const n=e.finsemble,i=n?.router?.transportSettings??n?.IAC??{},o=n?.notificationURL??`${n.moduleRoot}/components/system/notification/notification.html`;return{windowName:r,routerDomainRoot:n.moduleRoot,transportName:t.getRecommendedTransport(e),transportSettings:i,notificationURL:o}}return i.default.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest failed -- fatal error. No manifest found.",e),{...a,windowName:r}})(r,e):{...a,windowName:e,transportSettings:n??{}},t.getSystemStartupData=async()=>new Promise((e=>{o.System.Window.getCurrent().getOptions((t=>{e(t)}))})),t.getManifestFromStartupData=e=>{let t=e?.manifest;return t?.finsemble&&s.ConfigUtilInstance.resolveConfigVariables(t.finsemble,t.finsemble),t}},16925:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Startup=void 0;const n=r(81298),i=r(6192),o=r(50586),s=r(4971);class a{constructor(){this.isReady=!1,this.onReadyListeners=[],this.currentStartupData={authenticationToken:n.AnonymousAuthenticationToken,windowName:`Unknown window-${o.v4()}`}}static getInstance(){return a.instance?a.instance:a.instance=s.singleton("Startup",a)}getStartupData(){return this.currentStartupData}setStartupData(e){this.currentStartupData=e}onReady(e){return new Promise((t=>{this.isReady?(e&&setTimeout(e,0),t()):this.onReadyListeners.push((()=>{e&&e(),t()}))}))}ready(){this.isReady=!0,this.onReadyListeners.forEach((e=>{e()})),i.Globals.dispatchEvent&&i.Globals.dispatchEvent(new Event("FSBLReady"))}}t.Startup=a,a.instance=null},17348:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(57664),u=o(r(19886)),l=s(r(72551)),c=window;t.default=class{constructor(e,t){this.values={},this.listeners=[],this.registeredDispatchListeners=[],this.mapping={},this.Dispatcher={register:e=>{this.registeredDispatchListeners.push(e)},dispatch:e=>{this.isGlobal?this.routerClient.transmit(`storeService.dispatch.${this.name}`,e):this.handleDispatchedMessages(null,{data:e})}},this.handleChanges=(e,t)=>{if(e&&l.default.system.error("DistributedStoreClient",e),!t.data.store)return;t.data.field||(t.data.field=null);const r=this.name+(t.data.field?`.${t.data.field}`:""),n=t.data.storeData?t.data.storeData:t.data.value;this.triggerListeners(r,n)},this.routerClient=t,this.isGlobal=e.global,this.name=e.store?e.store:"finsemble",e.values&&(this.values=e.values),this.lst=this.listeners,u.initObject(this.values,null,this.mapping),this.isGlobal&&this.routerClient.addListener(`storeService.dispatch.${this.name}`,this.handleDispatchedMessages.bind(this))}handleDispatchedMessages(e,t){for(let e=0;e<this.registeredDispatchListeners.length;e++)this.registeredDispatchListeners[e](t.data)}setValue(e,t){if(e.field||l.default.system.error("DistributedStore.setValue:no field provided",e),e.hasOwnProperty("value")||l.default.system.error("DistributedStore.setValue:no value provided",e),this.isGlobal){const r={store:this.name,field:e.field,value:e.value};return c.distributedStoreClient.routerClient.query("storeService.setValue",r,(e=>{if(t)return t(e)}))}const r=u.checkForObjectChange(this.values,e.field,this.mapping);return u.setPath(this.values,e.field,e.value),u.mapField(this.values,e.field,this.mapping),r&&this.sendRemovals(r),this.triggerListeners(this.name,this),this.publishObjectUpdates(e.field,this.mapping),t?t(null):null}publishObjectUpdates(e,t){const r=t;for(;e;)this.triggerListeners(`${this.name}.${e}`,u.byString(this.values,e)),e=r[e]}sendRemovals(e){for(let t=0;t<e.length;t++)this.triggerListeners(`${this.name}.${e[t]}`,u.byString(this.values,e[t]))}setValues(e,t){return e?Array.isArray(e)?void a.each(e,((e,t)=>{this.setValue(e,t)}),(e=>t?t(e):null)):l.default.system.error("DistributedStore.setValues:params must be an array"):l.default.system.error("DistributedStore.setValues:no params given")}getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field)return t?t("no field provided"):"no field provided";if(this.isGlobal)return this.getGlobalValue(e,t);const r=u.byString(this.values,e.field);return void 0!==r?t?t(null,r):r:t?t("couldn't find a value"):null}getValues(e,t){if(null===e&&(e=t),"function"==typeof e)return t=e,this.isGlobal?this.getGlobalValues(null,t):t?t(null,this.values):this.values;if(!Array.isArray(e))return this.getValue(e,t);if(this.isGlobal)return this.getGlobalValues(e,t);const r={};for(let t=0;t<e.length;t++){const n=e[t],i="string"==typeof n?n:n.field,o=u.byString(this.values,i);r[i]=o}return t?t(null,r):r}getGlobalValue(e,t){c.distributedStoreClient.routerClient.query("storeService.getValue",{store:this.name,field:e.field},((e,r)=>e?t(e):t(e,r.data)))}getGlobalValues(e,t){c.distributedStoreClient.routerClient.query("storeService.getValues",{store:this.name,fields:e},((e,r)=>e?t(e):t(e,r.data)))}removeValue(e,t){if(!e.field){if(void 0===e)return t("no field provided");e={field:e}}return e.value=null,this.setValue(e,t)}removeValues(e,t){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");a.map(e,this.removeValue,((e,r)=>t(e,r)))}destroy(e){const t={store:this.name,global:this.isGlobal};c.distributedStoreClient.removeStore(t,(t=>t?e(t):e(null,!0)))}changeSub(e){this.subs||(this.subs=[]),this.subs[e]||(this.isGlobal&&c.distributedStoreClient.routerClient.subscribe(`storeService${e}`,this.handleChanges),this.subs[e]=!0)}addListener(e,t,r){"function"==typeof e&&(t=e,e={});let{field:n}=e;const i=this.name+(n?`.${n}`:"");return this.listeners[i]?this.listeners[i].push(t):this.listeners[i]=[t],this.changeSub(i),r?r():null}addListeners(e,t,r){if(!Array.isArray(e))return this.addListener(e,t,r);for(let r=0;r<e.length;r++){let i=null;const o=e[r];var n;"string"==typeof o?i=o:o.field&&(({field:i}=o),n=e[r].listener);const s=this.name+(i?`.${i}`:"");n||t&&"function"==typeof t&&(n=t),this.listeners[s]?this.listeners[s].push(n):this.listeners[s]=[n],this.changeSub(s)}return r?r():null}removeListener(e,t,r){"function"==typeof e&&(r=t,t=e,e={});let{field:n}=e;const i=this.name+(n?`.${n}`:"");if(this.listeners[i])for(let e=0;e<this.listeners[i].length;e++)if(this.listeners[i][e]===t)return this.listeners[i].splice(e,1),r?r(null,!0):null;return r?r(null,!1):null}removeListeners(e,t,r){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,r):e.field&&this.removeListener(e,t,r),r("missing fields");let n=0;for(let r=0;r<e.length;r++){let o=null;const s=e[r];var i;"string"==typeof s?o=s:s.field&&(({field:o}=s),i=e[r].listener);const a=this.name+(o?`.${o}`:"");if(!i){if(!t||"function"!=typeof t)continue;i=t}for(let e=0;e<this.listeners[a].length;e++)this.listeners[a][e]===i&&(this.listeners[a].splice(e,1),n++)}return n<e.length?r("All listeners could not be found",!1):r?r(null,!0):null}triggerListeners(e,t){if(this.listeners[e])for(let r=0;r<this.listeners[e].length;r++)"function"==typeof this.listeners[e][r]?(l.default.system.debug("DistributedStore.triggerListeners",e,t),this.listeners[e][r](null,{field:e,value:t})):l.default.system.warn("DistributedStoreClient:triggerListeners: listener is not a function",e,r,this.listeners[e][r])}}},72669:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t._BaseClient=void 0;const i=n(r(39319)),o=n(r(72551)),s=r(51742),a=r(13854);t._BaseClient=class{constructor(e){this.status="offline",this.startupTime=0,this.initialized=!1,this.startupDependencies={services:[],clients:[]},this.finsembleWindow=null,this.windowName="",this.clientReadyQueue=[],this.processClientReadyQueue=()=>{for(const e of this.clientReadyQueue)e();this.clientReadyQueue=[]},this.onReady=e=>{this.clientReadyQueue.push(e),"online"===this.status&&this.processClientReadyQueue()},this.setClientOnline=()=>{this.status="online";const e=`STARTUP:CLIENT ONLINE:${this.finWindow?.name}:${this.name}`;this.startupTime=window.performance.now()-this.startupTime;const t=()=>{this.logger.system.debug(e),this.processClientReadyQueue(),a.FSBLDependencyManagerSingleton.setClientOnline(this.name)};this._onReady?this._onReady(t):t()},this.initialize=(e=Function.prototype)=>{this.initialized||(this.initialized=!0,this.startupTime=performance.now(),this.finWindow=s.System.Window.getCurrent(),this.windowName=this.finWindow.name,this.logger.system.debug("Baseclient Init Router Ready",this.name),a.FSBLDependencyManagerSingleton.startup.waitFor(this.startupDependencies,(()=>{e(),this.setClientOnline()})))},this.onClose=e=>{e&&e()},this.name=e.name,this._onReady=e.onReady,this.startupDependencies=e.startupDependencies||{services:[],clients:[]},this.logger=o.default,this.routerClient=i.default}}},70010:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(57664),o=n(r(13712)),s=r(72669),a=n(r(5020)),u=n(r(72551));class l extends s._BaseClient{constructor(e){super(e),this.listeners=[],this.changeSub=e=>{this.subs||(this.subs={}),this.subs[e]||(this.routerClient.query("configService.addListener",e,(t=>{t&&u.default.system.error("Error adding listener to config service",t),this.routerClient.subscribe(e,this.handleChanges)})),this.subs[e]=!0)},this.handleChanges=(e,t)=>{e&&u.default.system.error(e),t.data.field||(t.data.field=null);const r=t.data.storeData?t.data.storeData:t.data.value;this.triggerListeners(t.data.field?t.data.field:"configService",r)},this.triggerListeners=(e,t)=>{if(this.listeners[e])for(let r=0;r<this.listeners[e].length;r++)"function"==typeof this.listeners[e][r]?this.listeners[e][r](null,{field:e,value:t}):u.default.system.warn("ConfigClient:triggerListeners: listener is not a function",e)},this.set=(e,t)=>{u.default.system.debug("ConfigClient.Set",e),"function"==typeof e?(t=e,o.default.args(t,"function"),e={}):o.default.args(e,"object",t,"function"),this.routerClient.query("config.set",e,((e,r)=>{t(e,r?r.data:null)}))},this.processAndSet=this.processAndSet.bind(this),this.getValue=this.getValue.bind(this),this.getValues=this.getValues.bind(this),this.setValue=this.setValue.bind(this),this.setValues=this.setValues.bind(this),this.removeValue=this.removeValue.bind(this),this.removeValues=this.removeValues.bind(this),this.addListener=this.addListener.bind(this),this.addListeners=this.addListeners.bind(this),this.removeListener=this.removeListener.bind(this),this.removeListeners=this.removeListeners.bind(this),this.setPreference=this.setPreference.bind(this),this.getPreferences=this.getPreferences.bind(this),this.unsetPreference=this.unsetPreference.bind(this)}getValue(e,t=Function.prototype){return"string"==typeof e&&(e={field:e}),new Promise(((r,n)=>{if(!e.field){const e="no field provided";return n(e),t(e)}this.routerClient.query("configService.getValue",{field:e.field},((e,i)=>e?(n(e),t(e)):(r({err:e,data:i.data}),t(e,i.data))))}))}getValues(e,t=Function.prototype){return"function"==typeof e&&(t=e,e=null),e&&!Array.isArray(e)?this.getValue(e,t):new Promise((r=>{this.routerClient.query("configService.getValues",{fields:e},((e,n)=>e?t(e):(r({err:e,data:n.data}),t(e,n.data))))}))}setValue(e,t){const r={field:e.field,value:e.value};return this.routerClient.query("configService.setValue",r,(e=>t?t(e):null))}setValues(e,t){return e?Array.isArray(e)?this.routerClient.query("configService.setValues",e,(e=>t?t(e):null)):u.default.system.error("ConfigClient.SetValues. Params must be an array"):u.default.system.error("ConfigClient.SetValues. No params given")}removeValue(e,t=Function.prototype){if(void 0!==e){if(e.field||"string"!=typeof e)return t("no field provided");e={field:e}}return e.value=null,this.setValue(e,t)}removeValues(e,t=Function.prototype){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");i.map(e,this.removeValue,((e,r)=>t(e,r)))}addListener(e,t,r){let n=null;"function"==typeof e&&(t=e,e={field:n}),({field:n}=e);const i="configService"+(n?`.${n}`:"");return this.listeners[i]?this.listeners[i].push(t):this.listeners[i]=[t],this.changeSub(i),r?r():null}addListeners(e,t,r){if(!Array.isArray(e))return this.addListener({field:e.field},t,r);for(let r=0;r<e.length;r++){let i=null;const o=e[r];var n;"string"==typeof o?i=o:o.field&&(({field:i}=o),n=o.listener);const s="configService"+(i?`.${i}`:"");n||t&&"function"==typeof t&&(n=t),this.listeners[s]?this.listeners[s].push(n):this.listeners[s]=[n],this.changeSub(s)}return r?r():null}removeListener(e,t,r){let n=null;"function"==typeof e&&(r=t,t=e,e={field:n}),({field:n}=e);const i=this.name+(n?`.${n}`:"");if(this.listeners[i])for(let e=0;e<this.listeners[i].length;e++)if(this.listeners[i][e]===t)return this.listeners[i].pop(e),r?r(null,!0):null;return r?r(null,!1):null}removeListeners(e,t,r){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,r):e.field&&this.removeListener(e,t,r),r?.("missing fields");let n=0;for(let r=0;r<e.length;r++){let o=null;const s=e[r];var i;"string"==typeof s?o=s:s.field&&(({field:o}=s),i=e[r].listener);const a="configService"+(o?`.${o}`:"");if(!i){if(!t||"function"!=typeof t)continue;i=t}for(let e=0;e<this.listeners[a].length;e++)this.listeners[a][e]===i&&(this.listeners[a].pop(r),n++)}return n<e.length?r?.("All listeners could not be found",!1):r?r(null,!0):null}get(e,t){u.default.system.debug("ConfigClient.Get",e),u.default.system.deprecated("This functionality has been deprecated. It will be removed in a future Finsemble release. Use getValue instead.",e),1===arguments.length?(t=e,o.default.args(t,"function"),e={}):o.default.args(e,"object",t,"function"),this.routerClient.query("config.get",e,((e,r)=>{t(e,r?r.data:null)}))}processAndSet(e,t){if(u.default.system.debug("ConfigClient.processAndSet",e),o.default.args(e,"object",t,"function=")&&o.default.args2("params.newConfig",e.newConfig,"object","params.overwrite",e.overwrite,"boolean=","params.replace",e.replace,"boolean="),!e.overwrite&&e.replace){const e="cannot use replace option unless overwrite is also true";u.default.system.warn("ConfigClient.processAndSet:",e),t&&t(e,null)}else this.routerClient.query("config.processAndSet",e,((e,r)=>{t&&t(e,r?r.data:null)}))}setPreference(e,t){this.routerClient.query("PreferencesService.setPreference",e,((e,r)=>{t&&t(e,r?r.data:null)}))}async getPreferences(e){await a.default.waitForStartup("preferencesService"),this.routerClient.query("PreferencesService.getPreferences",{},((t,r)=>{u.default.system.debug("ConfigClient.getPreferences response",r),e&&e(t,r?r.data:null)}))}async unsetPreference(e,t){u.default.system.debug("ConfigClient.unsetPreference",e),this.routerClient.query("PreferencesService.unsetPreference",e,((e,r)=>{t&&t(e,r?r.data:null)}))}}const c=new l({startupDependencies:{services:["configService"]},onReady(e){e&&e()},name:"configClient"});t.default=c},87346:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(57664),o=n(r(9562)),s=n(r(95376)),a=n(r(43190)),u=n(r(13712)),l=r(72669),c=r(75688),d=n(r(72551)),f=r(51742),h=r(24232);s.default.initialize(),o.default.initialize(),a.default.initialize();class p extends l._BaseClient{constructor(e){super(e),this.getParametersFromInDialog=()=>{const{inputParams:e}=s.default.getSpawnData();return d.default.system.debug(`DialogManagerClient:getParametersFromInDialog: ${JSON.stringify(e)}`),e},this.respondAndExitFromInDialog=e=>{u.default.args(e,"any"),d.default.system.debug(`DialogManagerClient:respondAndExitFromInDialog: ${JSON.stringify(e)}`);const{responseChannel:t}=s.default.getSpawnData();this.routerClient.transmit(t,e)},this.getAvailableDialog=(e,t)=>{this.DialogStore.getValue("dialogs.available",((r,n)=>{for(const r in n){const i=n[r];if(i.componentType===e)return t(i)}t(null)}))},this.generateDialogReadyChannel=e=>`Dialog.${e.windowName+e.uuid}.ready`,this.showDialog=()=>{const e=this.generateDialogReadyChannel(o.default.myWindowIdentifier);this.routerClient.transmit(e,{userInputTimeout:void 0===this.userInputTimeout?1e4:this.userInputTimeout})},this.sendQueryToDialog=(e,t,r)=>{function n(t){console.warn(`No response from dialog ${e.windowName} after ${t/1e3} seconds. Check to make sure your dialog is sending back data.`)}this.moveDialogFromAvailableToOpened(e);const i=`Dialog.${e.windowName+e.uuid}.Show`,s=this.generateDialogReadyChannel(e);let a;const u=(r,i)=>{a=setTimeout(n.bind(null,i.data.userInputTimeout),i.data.userInputTimeout),d.default.perf.info("DialogManagerClient:sendQueryToDialog:Dialog: ShowWindow Start"),o.default.showWindow(e,{monitor:t.monitor||"mine",left:"center",top:"center"},((e,t)=>{c.FinsembleWindow.getInstance({name:t.finWindow.name},((e,t)=>{t.bringToFront(),t.focus()})),d.default.perf.info("DialogManagerClient:sendQueryToDialog:ShowWindow finish")})),this.routerClient.removeListener(s,u)};this.routerClient.addListener(s,u),d.default.perf.info("DialogManagerClient:sendQueryToDialog ShowWindow Query begin."),this.routerClient.query(i,t,((t,n)=>{clearTimeout(a),this.moveDialogFromOpenedToAvailable(e),r(t,n.data)}))},this.moveDialogFromOpenedToAvailable=e=>{this.DialogStore.getValue("dialogs",((t,r)=>{const n=r.opened,i=r.available;delete n[e.windowName],i[e.windowName]=e,this.DialogStore.setValue({field:"dialogs.opened",value:n}),this.DialogStore.setValue({field:"dialogs.available",value:i})}))},this.moveDialogFromAvailableToOpened=e=>{this.DialogStore.getValue("dialogs",((t,r)=>{const n=r.available,i=r.opened;delete n[e.windowName],i[e.windowName]=e,this.DialogStore.setValue({field:"dialogs.available",value:n}),this.DialogStore.setValue({field:"dialogs.opened",value:i})}))},this.registerModal=()=>{this.isModal&&(f.System.getMonitorInfo((e=>{const t=e.virtualScreen;t.width=t.right-t.left,t.height=t.bottom-t.top,this.finsembleWindow.setBounds({bounds:t})})),this.DialogStore.setValue({field:"modalIdentifier",value:o.default.myWindowIdentifier}))},this.showModal=e=>{this.DialogStore.getValue("modalIdentifier",(async(t,r)=>{if(null==r)return;const{wrap:n}=await c.FinsembleWindow.getInstance({uuid:r.uuid,name:r.windowName});n.updateOptions({options:{opacity:.4}},(()=>{n.show((()=>{n.bringToFront((()=>{this.finsembleWindow.focus((()=>{this.finsembleWindow.bringToFront(),e&&"function"==typeof e&&e()}))}))}))}))}))},this.open=(e,t,r)=>{this.getAvailableDialog(e,(n=>{n?this.sendQueryToDialog(n,t,r):o.default.spawn(e,{options:{customData:{foreign:{clients:{dialogManager:{isDialog:!0}}}}}},(()=>{this.open(e,t,r)}))}))},this.DialogStore=null,this.isDialog=!1,this.isModal=!1,this.RESPONDER_CHANNEL=null,this.openerMessage=null,this.registerDialogCallback=e=>{this.routerClient.addResponder(this.RESPONDER_CHANNEL,((t,r)=>{this.openerMessage=r,e(t,r)}))},this.hideModal=()=>{this.DialogStore.getValue("modalIdentifier",(async(e,t)=>{if(null==t)return;const{wrap:r}=await c.FinsembleWindow.getInstance({uuid:t.uuid,name:t.windowName});r.hide()}))},this.respondToOpener=e=>{d.default.system.info("DialogManagerClient:RespondToOpener:",e),this.openerMessage.sendQueryResponse(null,e),!1!==e.hideModalOnClose&&this.hideModal(),this.finsembleWindow.hide(),this.openerMessage=null},this.registerWithStore=e=>{if(this.isDialog){const t=o.default.myWindowIdentifier;this.RESPONDER_CHANNEL=`Dialog.${t.windowName+t.uuid}.Show`,this.DialogStore.setValue({field:`dialogs.available.${t.windowName}`,value:t},e)}else e()},this.checkIfWindowIsDialog=e=>{let t=null;try{this.isDialog=s.default?.options?.customData?.foreign?.clients?.dialogManager?.isDialog}catch(e){t=e}e&&e(t)},this.createStore=e=>{a.default.createStore({store:"DialogStore",values:{dialogs:{opened:{},available:{}}},global:!0},((t,r)=>{this.DialogStore=r,e()}))},this.getFinsembleWindow=e=>{if(!this.isDialog)return e();c.FinsembleWindow.getInstance({name:this.finWindow?.name,uuid:this.finWindow?.uuid},((t,r)=>{this.finsembleWindow=r,e()}))},this.spawnDialog=this.spawnDialog.bind(this)}spawnDialog(e,t,r,n){u.default.args(e,"object",t,"object",r,"function");const i=h.getRandomWindowName("DialogChannel");e.data={inputParams:t,responseChannel:i},e.left||0===e.left||e.right||0===e.right||(e.left="center"),e.top||0===e.top||e.bottom||0===e.bottom||(e.top="center"),this.routerClient.addListener(i,((e,t)=>{r(e,t.data),this.routerClient.removeListener(i,n)})),o.default.spawn("dialogTemplate",e,((e,t)=>{e&&(d.default.system.error("ERROR",e),r(e,t)),n&&n(e,t)}))}}var m=new p({startupDependencies:{clients:["distributedStoreClient","windowClient"]},onReady(e){m.checkIfWindowIsDialog(),i.series([m.createStore.bind(m),m.registerWithStore.bind(m),m.getFinsembleWindow.bind(m),e=>{o.default.onReady(e)},e=>{s.default.onReady(e)}],e)},name:"dialogManager"});t.default=m},43190:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(72669),o=n(r(17348));let s;const a=window;let u;const l={};function c(e,t){return u.routerClient.query("storeService.getStore",e,(function(e,r){return e?t(e):t(e,new s(r.data,u.routerClient))}))}function d(e,t){u.routerClient.query("storeService.removeStore",e,((e,r)=>t(e,!e&&r.data)))}class f extends i._BaseClient{constructor(e){super(e),this.load=function(e){e()},u=this,this.ls=l}getStore(e,t){return e.global?c(e,t):e.store&&l[e.store]?t(null,l[e.store]):c(e,t)}createStore(e,t=Function.prototype){let r=new Promise(((r,n)=>{if(e.global)return this.routerClient.query("storeService.createStore",e,((e,i)=>{if(e)return n(e),t(e);const o=new s(i.data,u.routerClient);return r({err:e,data:o}),t(e,o)}));if(l[e.store])return r({err:null,data:l[e.store]}),t(null,l[e.store]);const i=new s(e,u.routerClient);return l[i.name]=i,r({err:null,data:i}),t(null,i)}));return r.catch((e=>{console.log(e)})),r}removeStore(e,t){return e.global?d(e,t):l[e.store]?(delete l[e.store],t(null,!0)):void d(e,t)}}var h=new f({startupDependencies:{},onReady(e){s=o.default,h.load(e)},name:"distributedStoreClient"});a.distributedStoreClient=h,t.default=h},68718:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(5939),o=r(72669),s=n(r(39319)),a=n(r(72551)),u=r(87063).F,l=window,c=new i.EventEmitter;function d(e,t=u){const r=[];return e.keys.forEach((e=>{if("string"!=typeof e)return a.default.system.error("FSBL.Clients.HotkeyClient - one of the keys passed into a function was not a string: ",e);e=e.toLowerCase();const n=t[e];if(!n)return a.default.system.error(`FSBL.Clients.HotkeyClient - At least one of the key codes does not map to a supported key - registering hotkey unsuccessful. Unsupported keys: ${e}`);r.push(n)})),r}const f=function(e){this.cb=e,this.shift=!1,this.ctrl=!1,this.cmd=!1,this.capsLock=!1,this.initialize()};f.prototype.keyup=function(e){switch(e.key){case"Shift":return this.shift=!1,void this.cb({key:e.key,e,keystroke:this});case"Control":case"Alt":return this.ctrl=!1,void this.cb({key:e.key,e,keystroke:this});case"Meta":case"Win":return this.cmd=!1,void this.cb({key:e.key,e,keystroke:this})}this.key&&this.cb({key:this.key,e,keystroke:this})},f.prototype.keydown=function(e){if(!this.noKeyCapture)switch(this.key=e.key,e.key){case"Meta":case"Win":this.cmd=!0;break;case"Shift":this.shift=!0;break;case"Control":case"Alt":this.ctrl=!0;break;case"CapsLock":this.capsLock=!this.capsLock;break;case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"Up":case"Down":case"Left":case"Right":this.key=null,this.cb({key:e.key,e,keystroke:this})}},f.prototype.keypress=function(e){if(this.noKeyCapture)return;const t=e.which;t<32||t>222||(this.key=e.key)},f.prototype.initialize=function(){const e=this;document.addEventListener("keyup",(t=>{e.keyup(t)})),document.addEventListener("keydown",(t=>{e.downValue=t.key,e.keydown(t)})),document.addEventListener("keypress",(t=>{e.keypress(t)})),window.addEventListener("blur",(t=>{e.ctrl=!1,e.cb({key:"Control",e:t,keystroke:e})}))};const h=[];class p extends o._BaseClient{constructor(e){super(e),this.onClose=e=>{this.removeAllHotkeys(e)},this.keyMap=u,this.listenForHotkeys=this.listenForHotkeys.bind(this),this.routerClient=s.default,this.localListeners={}}addLocalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.addLocalHotkey"),a.default.system.debug("HotkeyClient.addLocalHotkey, keyArr: ",e);const n=d({keys:e}).sort().toString(),i=()=>{document.hasFocus()&&t()};this.localListeners[n]||(this.localListeners[n]={}),this.localListeners[n][t]=i,c.addListener(n,i),this.routerClient.query("hotkeysService.registerGlobalHotkey",{keys:n,windowName:this.windowName},r)}addBrowserHotkey(e,t){this.KeyStroke||(this.KeyStroke=new f((e=>{const{key:t,keystroke:r}=e,n=[t];r.ctrl&&n.push("control"),r.shift&&n.push("shift"),r.alt&&n.push("alt"),r.cmd&&n.push("command");const i=n.sort().toString();h.forEach((e=>{const t=e.keyString.toUpperCase(),r=i.toUpperCase();r!==t&&r.replace(/(CONTROL|COMMAND)/,"COMMANDORCONTROL")!==t||e.handler()}))})));const r=d({keys:e}).sort().toString();h.push({keyString:r,handler:t})}removeLocalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.removeLocalHotkey"),a.default.system.debug("HotkeyClient.removeLocalHotkey, keyArr: ",e);const n=d({keys:e}).sort().toString(),i=this.localListeners[n][t];c.removeListener(n,i),this.routerClient.query("hotkeysService.unregisterGlobalHotkey",{keys:n,windowName:this.windowName},r)}addGlobalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.addGlobalHotkey"),a.default.system.debug("HotkeyClient.addGlobalHotkey, keyArr: ",e);const n=d({keys:e}).sort().join("+");c.addListener(n,t),this.routerClient.query("hotkeysService.registerGlobalHotkey",{keys:n,windowName:this.windowName},r)}removeGlobalHotkey(e,t,r=(()=>{})){a.default.system.info("HotkeyClient.removeGlobalHotkey"),a.default.system.debug("HotkeyClient.removeGlobalHotkey, keyArr: ",e);const n=d({keys:e}).sort().join("+");c.removeListener(n,t),this.routerClient.query("hotkeysService.unregisterGlobalHotkey",{keys:n,windowName:this.windowName},r)}listenForHotkeys(){const e=this;this.routerClient.addListener("HotkeyTriggered",((t,r)=>{t?console.error(`Hotkey Channel Error: ${JSON.stringify(t)}`):r.data.windows.includes(e.windowName)&&c.emit(r.data.keys)}))}removeAllHotkeys(e){c.removeAllListeners(),this.routerClient.query("hotkeysService.removeAllHotkeysForWindow",{windowName:this.windowName},e)}}const m=new p({onReady(e){m.listenForHotkeys(),e&&e()},name:"hotkeyClient"});l.Keystroke=f,t.default=m},9562:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(72669),u=s(r(95376)),l=o(r(76420)),c=s(r(13712)),d=r(51742),f=s(r(72551)),h=r(75688),p=window,m={};class g extends a._BaseClient{constructor(e){super(e),c.default.args(e,"object=")&&e&&c.default.args2("params.onReady",e.onReady,"function="),this.windowClient=e.clients.windowClient}getComponentList(e=Function.prototype){return c.default.args(e,"function="),new Promise((t=>{this.routerClient.query("Launcher.componentList",{},((r,n)=>{e(r,n.data),t({err:r,data:n.data})}))}))}getComponentDefaultConfig(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{this.routerClient.query("Launcher.componentList",{},((n,i)=>{const o=i.data[e];t(n,o),r({err:n,data:o})}))}))}getMonitorInfo(e={},t=Function.prototype){const r=this;return c.default.args(t,"function="),f.default.system.debug("MONITOR: launcherClient.getMonitorInfo"),"all"===e.monitor?r.getMonitorInfoAll(t):new Promise((n=>{l.getMyWindowIdentifier((i=>{e.windowIdentifier||(e.windowIdentifier=i),r.routerClient.query("Launcher.getMonitorInfo",e,((e,r)=>{t&&t(e,r.data),f.default.system.log("MONITOR: launcherClient.getMonitorInfo query response data",r.data),n({err:e,data:r.data})}))}))}))}getMonitorInfoAll(e=Function.prototype){return c.default.args(e,"function="),f.default.system.debug("MONITOR: launcherClient.getMonitorInfoAll"),new Promise(((t,r)=>{this.routerClient.query("Launcher.getMonitorInfoAll",{},((n,i)=>{n&&(r({err:n}),e(n)),t({err:n,data:i.data}),e(n,i.data)}))}))}registerComponent(e,t=Function.prototype){return new Promise((r=>{this.routerClient.query("LauncherService.registerComponent",e,((e,n)=>{t&&t(e,n.data),r({err:e,data:n.data})}))}))}unRegisterComponent(e,t=Function.prototype){return e.componentType?new Promise((r=>{this.routerClient.query("LauncherService.unRegisterComponent",e,((e,n)=>{t&&t(e,n.data),r({err:e,data:n.data})}))})):t("No componentType provided")}locatorToIdentifier(e){let t={};return t.windowName="windowName"in e?e.windowName:"","componentType"in e&&(t.componentType=e.componentType),"uuid"in e&&(t.uuid=e.uuid),t}toggleWindowOnClick(e,t,r){const n=this;let i=this.locatorToIdentifier(t),o=`${i.windowName}:${i.uuid}`;i.windowName||(o=i.componentType),!1!==m[o]?(r.position||(r.position="absolute"),this.showWindow(t,r,(function(t,r){if(!r)return;const{finWindow:i}=r;var s=function(){m[o]=!0,n.windowClient.isMouseOverDOMElement(e,(e=>{m[o]=!e})),i.removeEventListener("blurred",s)};i.addEventListener("blurred",s)}))):m[o]=!0}showWindow(e,t,r=Function.prototype){c.default.args(e,"object",t,"object=",r,"function=");const n=this;return t||(t={}),(t=l.clone(t)).staggerPixels||0===t.staggerPixels||(t.staggerPixels=100),t.windowIdentifier=this.locatorToIdentifier(e),new Promise((e=>{l.getMyWindowIdentifier((i=>{t.relativeWindow||(t.relativeWindow=i),n.routerClient.query("Launcher.showWindow",t,(async(t,n)=>{if(t)return e({err:t}),r(t);const i=n.data.windowIdentifier;n.data.windowIdentifier.name=n.data.windowIdentifier.windowName;const{wrap:o}=await h.FinsembleWindow.getInstance({name:i.windowName});n.data.finWindow=o,e({err:t,data:n.data}),r(t,n.data)}))}))}))}spawn(e,t,r=Function.prototype){const n=this;return c.default.args(e,"string",t,"object=",r,"function="),t||(t={}),(t=l.clone(t)).component=e,t.options||(t.options={}),t.options.customData||(t.options.customData={}),t.staggerPixels||0===t.staggerPixels||(t.staggerPixels=50),f.default.system.debug(`LauncherClient.spawn starting for componentType:${e}`),new Promise((i=>{l.getMyWindowIdentifier((o=>{t.launchingWindow=o,n.callSpawn(t,((t,n)=>{f.default.system.debug(`LauncherClient.spawn completing for componentType:${e}`,t),i({err:t,response:n}),r(t,n)}))}))}))}callSpawn(e,t=Function.prototype){const r=this;return c.default.args(t,"function="),f.default.perf.debug("CallSpawn","start","from spawn to callback",e),new Promise((n=>{function i(e,r){t(e,r),n({err:e,data:r})}r.routerClient.query("Launcher.spawn",e,(async(e,t)=>{if(f.default.system.debug("CallSpawn","Initial launcher callback params",e,t),f.default.perf.debug("CallSpawn","Initial launcher callback",t),e)return i(e,t.data),f.default.system.error("LauncherClient.callSpawn",e);t.data.windowIdentifier.name=t.data.windowIdentifier.windowName;var n=t.data;if(n.windowDescriptor.native)return i(e,n);const o=n.windowIdentifier,{wrap:s}=await h.FinsembleWindow.getInstance({name:o.windowName});n.finWindow=s;const a=`Finsemble.${n.windowIdentifier.windowName}.componentReady`,u=r.routerClient.subscribe(a,((t,o)=>{if(t)return f.default.system.error(t);o&&0===Object.keys(o.data).length||(f.default.perf.debug("CallSpawn","stop"),i(e,n),r.routerClient.unsubscribe(u))}))}))}))}getMonitor(e,t=Function.prototype){return f.default.system.deprecated("This method is deprecated and will be removed in a future release. Method getMonitorInfo should be used instead."),c.default.args(t,"function="),this.getMonitorInfo({windowIdentifier:e},t)}getMyWindowIdentifier(e=Function.prototype){return c.default.args(e,"function="),new Promise((t=>{l.getMyWindowIdentifier((r=>{e(r),t(r)}))}))}getActiveDescriptors(e=Function.prototype){return c.default.args(e,"function="),new Promise((t=>{this.routerClient.query("Launcher.getActiveDescriptors",{},((r,n)=>{r&&f.default.system.error(r),e(r,n.data),t({err:r,data:n.data})}))}))}getActiveAndPendingWindowNames(e=Function.prototype){return new Promise((t=>{this.routerClient.query("Launcher.getActiveAndPendingWindowNames",{},((r,n)=>{r&&f.default.system.error(r),e(r,n.data),t({err:r,data:n.data})}))}))}async getPendingWindows(){const{err:e,response:t}=await this.routerClient.query("Launcher.getPendingWindows",{});return e&&f.default.system.error("Error retrieving pending windows:",e),{err:e,data:t.data}}addUserDefinedComponent(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"add",name:e.name,url:e.url},((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))}removeUserDefinedComponent(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{this.routerClient.query("Launcher.userDefinedComponentUpdate",{type:"remove",name:e.name,url:e.url},((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))}getComponentsThatCanReceiveDataTypes(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{if(!e||!e.dataTypes){const e="Invalid params. Expected: {dataTypes: string[]}";return t(e),r({err:e})}Array.isArray(e.dataTypes)||(e.dataTypes=[e.dataTypes]),this.routerClient.query("LauncherService.getComponentsThatCanReceiveDataTypes",e,((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))}bringWindowsToFront(e={},t=Function.prototype){return c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&c.default.args(e.groupName,"string"),e.componentType&&c.default.args(e.componentType,"string"),this.routerClient.query("LauncherService.bringWindowsToFront",e,((e,r)=>{t(e,r)})),Promise.resolve()}hyperFocus(e,t=Function.prototype){return f.default.system.deprecated("hyperFocus is deprecated as of version 4.0.0. This functionality may be removed in a future release"),c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.windowList||e.groupName||e.componentType||(e.windowList=[this.myWindowIdentifier]),e.groupName&&c.default.args(e.groupName,"string"),e.componentType&&c.default.args(e.componentType,"string"),this.routerClient.transmit("LauncherService.hyperFocus",e),t(),Promise.resolve()}minimizeWindows(e,t=Function.prototype){return c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),e.groupName&&c.default.args(e.groupName,"string"),e.componentType&&c.default.args(e.componentType,"string"),this.routerClient.transmit("LauncherService.minimizeWindows",e),t(),Promise.resolve()}createWindowGroup(e,t=Function.prototype){return c.default.args(t,"function="),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList],delete e.groupName),c.default.args(e.groupName,"string"),new Promise((r=>{if(!e.groupName){const e="Invalid Parameters";return r({err:e}),void t(e)}this.routerClient.query("LauncherService.createWindowGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}addWindowsToGroup(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return r({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),c.default.args(e.groupName,"string"),this.routerClient.query("LauncherService.addWindowsToGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}removeWindowsFromGroup(e,t=Function.prototype){return c.default.args(t,"function="),new Promise((r=>{if(!e.groupName||!e.windowList){const e="Invalid Parameters";return r({err:e}),void t(e)}e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),this.routerClient.query("LauncherService.removeWindowsFromGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}getGroupsForWindow(e,t=Function.prototype){return c.default.args(t,"function="),"function"==typeof e&&(t=e,e=null),new Promise((r=>{e&&e.windowIdentifier?this.routerClient.query("LauncherService.getGroupsForWindow",e,((e,n)=>{r({err:e,data:n.data}),t(e,n.data)})):this.windowClient.getComponentState({field:"finsemble:windowGroups"},((e,n)=>{r({err:e,data:n}),t(e,n)}))}))}addToGroups(e,t=Function.prototype){return c.default.args(t,"function="),c.default.args(e.groupNames,"array"),e.windowIdentifier||(e.windowIdentifier=this.myWindowIdentifier),new Promise((r=>{this.routerClient.query("LauncherService.addWindowToGroups",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))}_createWrap(e,t){this.routerClient.query("LauncherService.createWrap",e,t)}start(e){const t=this;if(void 0!==p.FSBL){function r(){t.routerClient.subscribe(`Finsemble.LauncherService.updateGroups.${t.windowName}`,((e,r)=>{Array.isArray(r.data)&&t.windowClient.setComponentState({field:"finsemble:windowGroups",value:r.data})}))}p.FSBL.addEventListener("onReady",(()=>{t.windowClient.onReady((()=>{t.windowClient.getComponentState({field:"finsemble:windowGroups"},((e,n)=>{if(!e&&n)return t.addToGroups({groupNames:n},r);r()}))}))}))}setInterval((()=>{t.routerClient.transmit("Finsemble.heartbeat",{type:"component",windowName:t.windowName,componentType:"finsemble",isBrowserView:d.System.isBrowserView()})}),1e3),this.getMyWindowIdentifier((r=>{t.myWindowIdentifier=r,e&&e()}))}}let y;function v(e){return(e=e||{}).windowClient||(e.windowClient=u.default),new g({clients:e,onReady(e){f.default.system.debug("launcherClient ready",window.name),f.default.perf.debug("LauncherClientReadyTime","stop"),y.start(e)},name:"launcherClient"})}y=v(),y.constructInstance=v,t.default=y},75729:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalLogger=void 0;const{debug:r,warn:n,log:i,error:o}=console,s=()=>{},a=s,u={warn:n,info:s,log:i,debug:r,error:o,verbose:a,deprecated:o},l={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!0,LocalOnly:!1},c={console:{Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0},dev:l,system:l,perf:l};function d(e){return"logger.service.logMessages"===e}t.LocalLogger=class{constructor(){this.start=()=>{},this.isLogMessage=d,this.setting=()=>c,this.callStack=()=>function(){const{stack:e}=function(){try{throw Error("")}catch(e){return e}}(),t=("\n",4,e.split("\n",4).join("\n").length);return`Log Stack: \n${e.substring(t).substr(1)}`}(),this.unregisterClient=()=>{},this.setRouterClient=()=>{},this.warn=n,this.info=s,this.log=i,this.debug=r,this.error=o,this.verbose=a,this.system=u,this.perf=u,this.deprecated=o}}},72551:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LoggerConstructor=void 0;const n=r(51742),i=r(75729),o=r(16925),s={Error:!0,Warn:!0,Info:!1,Log:!0,Debug:!1,Verbose:!1,LocalOnly:!1},a={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0},u=r(38172);t.LoggerConstructor=function(e){const i=this;let l;i.RouterClient=e&&e.RouterClient;let c=!1,d=!1;const f=i;let h,p,m=0,g=0;this.startupTime=0;let y=[];if("undefined"==typeof window)return;let v=n.System.Window.getCurrent().name;window.top!==window&&(v=`${v}.Frame`),this.onLogStateChangeCallback=[];let w={console:a,dev:s,system:s,perf:s};function b(e,t,r){this.category=e,!l&&n.System.isBrowserView()&&(l=n.System.getViewId()),this.logClientName=l?`${v}: view-${l}`:v,this.logType=t,this.logData=r,this.logTimestamp=window.performance.timing.navigationStart+window.performance.now()+m}function S(e,t){e&&e.dev&&(w=e,i.onLogStateChangeCallback.forEach((t=>{t(e)}))),function(e){f.system.debug("Logger updateQueueBasedOnState",e,m,"QUEUE LENGTH",y.length,w);const t=[];for(let r=0,{length:n}=y;r<n;r++)if(w[y[r].category][y[r].logType]&&!w[y[r].category].LocalOnly)e&&(y[r].logTimestamp=y[r].logTimestamp+m),t.push(y[r]);else if(w[y[r].category][y[r].logType]&&w[y[r].category].LocalOnly){const e=y[r];console.log(e.category,e.logType,e.logTimestamp-window.performance.timing.navigationStart,e.logData,"(Previously queued!)")}y=t}(t)}function _(){const{stack:e}=function(){try{throw Error("")}catch(e){return e}}(),t=("\n",4,e.split("\n",4).join("\n").length);return`Log Stack: \n${e.substring(t).substr(1)}`}this.onStateChanged=e=>{-1===this.onLogStateChangeCallback.indexOf(e)&&this.onLogStateChangeCallback.push(e)},this.setClientName=function(e){console.error("logger.setClientName() is deprecated"),v=e},this.getClientName=function(){return console.error("logger.getClientName() is deprecated"),v},this.clearMessageList=function(){y=[]},this.callStack=function(){return _()},this.setting=function(){return w};const C=console.error,E=console.warn,P=console.info,T=console.log,k=console.debug;function A(e){return e.reduce(((e,t)=>e.concat(Array.isArray(t)?A(t):t)),[])}function L(e,t){try{e.apply(console,A(t))}catch(e){(t=[]).push(_())}}let O=()=>{y.length>0&&(i.RouterClient.transmit("logger.service.logMessages",y),f.clearMessageList())};function I(e,r,n){let i,o=!1,s=!0;"forceObjectsToLogger"===n[0]&&(o=!0,s=!1,n.splice(0,1)),n=n.map((e=>s&&function(e){const t=[],r=[e];let n=0,i=0;for(;r.length&&i<1e3;){i++;const e=r.pop();if("boolean"==typeof e)n+=4;else if("string"==typeof e)n+=2*e.length;else if("number"==typeof e)n+=8;else if("object"==typeof e&&-1===t.indexOf(e)){t.push(e);for(const t in e)r.push(e[t])}}return n}(e)>5e4?(L(P,["Message too large to send to the logger.",n]),"Log argument greater than 50KB. Check local Console to see output of the object."):e));try{for(let e=0;e<n.length;e++)n[e]instanceof Error&&(n[e]=n[e].toString());i=new b(e,r,JSON.stringify(n))}catch(t){n.splice(0,n.length),n.push(_()),i=new b(e,r,`*** Logging Error: ${JSON.stringify(n)}`)}o||!function(e){return!0===e.logData.includes("Finsemble.heartbeat")}(i)?function(e){if(y.length<2e4)y.push(e);else{console.error("Logging Queue Overflowed! Dumping queue here then continuing.",y.length);let e,r=0;for(;e=y.shift();)console.log("Message "+r++,e);t.Logger.system.error("Logging Queue Overflowed! Dumping queue in client then continuing.")}}(i):++g<=5&&L(P,[`"Filtered Logger Message (${g} of first 5 shown)`,i]),d&&O()}function R(){const{windowName:e}=o.Startup.getInstance().getStartupData();v=e,window.top!==window&&(v=`${v}.Frame`);const t=`finsemble.logger.client.${v}`;!l&&n.System.isBrowserView()&&(l=n.System.getViewId()),f.system.debug("logger.service.registering",v),n.System.Window.getCurrent().getOptions((r=>{const n=r?.customData?.component?.centralLoggerNamePrefix;i.RouterClient.query("logger.service.register",{clientName:v,clientChannel:t,windowName:e,viewId:l,centralLoggerNamePrefix:n},((e,t)=>{if(e)setTimeout(R,750);else{for(const e of y)e.viewId=l;d=!0,f.system.debug("logger.service.registered"),h=t.data,"routerService"!==v?(m=p,S(h,!0)):S(h,!1),I("system","Debug",["Logger Registered"]),O()}}))})),i.RouterClient.addListener(t,((e,t)=>{f.system.debug("logger.client.setLogState",t.data),h=t.data,S(h,!1)}))}O=u(O,"routerService"===v?100:250,{leading:!1}),this.error=function(){const e=Array.prototype.slice.call(arguments);e.push(_()),w.dev.Error&&!w.dev.LocalOnly&&I("dev","Error",e),e.unshift(`dev error (${window.performance.now()}):`),L(C,e)},this.warn=function(){if(w.dev.Warn){const e=Array.prototype.slice.call(arguments);e.push(_()),w.dev.Warn&&!w.dev.LocalOnly&&I("dev","Warn",e),w.dev.Warn&&w.dev.LocalOnly&&(e.unshift(`dev warn (${window.performance.now()}):`),L(E,e))}},this.info=function(){if(w.dev.Info){const e=Array.prototype.slice.call(arguments);w.dev.Info&&!w.dev.LocalOnly&&I("dev","Info",e),w.dev.Info&&w.dev.LocalOnly&&(e.unshift(`dev info (${window.performance.now()}):`),L(P,e))}},this.log=function(){if(w.dev.Log){const e=Array.prototype.slice.call(arguments);w.dev.Log&&!w.dev.LocalOnly&&I("dev","Log",e),w.dev.Log&&w.dev.LocalOnly&&(e.unshift(`dev log (${window.performance.now()}):`),L(T,e))}},this.debug=function(){if(w.dev.Debug){const e=Array.prototype.slice.call(arguments);w.dev.Debug&&!w.dev.LocalOnly&&I("dev","Debug",e),w.dev.Debug&&w.dev.LocalOnly&&(e.unshift(`dev debug (${window.performance.now()}):`),L(k,e))}},this.verbose=function(){if(w.dev.Verbose){const e=Array.prototype.slice.call(arguments);w.dev.Verbose&&!w.dev.LocalOnly&&I("dev","Verbose",e),w.dev.Verbose&&w.dev.LocalOnly&&(e.unshift(`dev verbose (${window.performance.now()}):`),L(k,e))}},this.deprecated=this.error,this.system={},this.system.error=function(){const e=Array.prototype.slice.call(arguments);e.push(_()),w.system.Error&&!w.system.LocalOnly&&I("system","Error",e),e.unshift(`system error (${window.performance.now()}):`),L(C,e)},this.system.warn=function(){if(w.system.Warn){const e=Array.prototype.slice.call(arguments);e.push(_()),w.system.Warn&&!w.system.LocalOnly&&I("system","Warn",e),w.system.Warn&&w.system.LocalOnly&&(e.unshift(`system warn (${window.performance.now()}):`),L(E,e))}},this.system.info=function(){if(w.system.Info){const e=Array.prototype.slice.call(arguments);w.system.Info&&!w.system.LocalOnly&&I("system","Info",e),w.system.Info&&w.system.LocalOnly&&(e.unshift(`system info (${window.performance.now()}):`),L(P,e))}},this.system.log=function(){if(w.system.Log){const e=Array.prototype.slice.call(arguments);w.system.Log&&!w.system.LocalOnly&&I("system","Log",e),w.system.Log&&w.system.LocalOnly&&(e.unshift(`system log (${window.performance.now()}):`),L(T,e))}},this.system.debug=function(){if(w.system.Debug){const e=Array.prototype.slice.call(arguments);w.system.Debug&&!w.system.LocalOnly&&I("system","Debug",e),w.system.Debug&&w.system.LocalOnly&&(e.unshift(`system debug (${window.performance.now()}):`),L(k,e))}},this.system.verbose=function(){if(w.system.Verbose){var e=Array.prototype.slice.call(arguments);w.system.Verbose&&!w.system.LocalOnly&&I("system","Verbose",e),w.system.Verbose&&w.system.LocalOnly&&((e=Array.prototype.slice.call(arguments)).unshift(`system log (${window.performance.now()}):`),L(k,e))}},this.system.deprecated=this.system.error,this.perf={},this.perf.error=function(){const e=Array.prototype.slice.call(arguments);e.push(_()),w.perf.Error&&!w.perf.LocalOnly&&I("perf","Error",e),e.unshift(`perf error (${window.performance.now()}):`),L(C,e)},this.perf.warn=function(){if(w.perf.Warn){const e=Array.prototype.slice.call(arguments);e.push(_()),w.perf.Warn&&!w.perf.LocalOnly&&I("perf","Warn",e),w.perf.Warn&&w.perf.LocalOnly&&(e.unshift(`perf warn (${window.performance.now()}):`),L(E,e))}},this.perf.info=function(){if(w.perf.Info){const e=Array.prototype.slice.call(arguments);w.perf.Info&&!w.perf.LocalOnly&&I("perf","Info",e),w.perf.Info&&w.perf.LocalOnly&&(e.unshift(`perf info (${window.performance.now()}):`),L(P,e))}},this.perf.log=function(){if(w.perf.Log){const e=Array.prototype.slice.call(arguments);w.perf.Log&&!w.perf.LocalOnly&&I("perf","Log",e),w.perf.Log&&w.perf.LocalOnly&&(e.unshift(`perf log (${window.performance.now()}):`),L(T,e))}},this.perf.debug=function(){if(w.perf.Debug){const e=Array.prototype.slice.call(arguments);w.perf.Debug&&!w.perf.LocalOnly&&I("perf","Debug",e),w.perf.Debug&&w.perf.LocalOnly&&(e.unshift(`perf debug (${window.performance.now()}):`),L(k,e))}},this.perf.verbose=function(){if(w.perf.Verbose){const e=Array.prototype.slice.call(arguments);w.perf.Verbose&&!w.perf.LocalOnly&&I("perf","Verbose",e),w.perf.Verbose&&w.perf.LocalOnly&&(e.unshift(`perf verbose (${window.performance.now()}):`),L(k,e))}},this.perf.deprecated=this.perf.error,this.unregisterClient=function(e=null,t=Function.prototype){f.system.debug("logger.service.unregister",v,e,l),O();const r=e||{clientName:v,viewId:l};i.RouterClient.query("logger.service.unregister",r,t)},this.isLogMessage=function(e){return"logger.service.logMessages"===e},this.status="offline",this.setRouterClient=e=>{this.RouterClient=e},this.start=function(){let e;this.startupTime=performance.now(),i.RouterClient||(console.log("No instance of the RouterClient found for this instance of the Logger. Dynamically requiring it."),i.RouterClient=r(39319).default);const t=()=>{e=i.RouterClient.subscribe("Finsemble.Service.State.loggerService",((t,r)=>{"ready"===r.data.state&&(i.status="online",f.system.debug("Logger onReady",v),i.RouterClient.calibrateTimeWithRouterService((e=>{p=e,c||(i.startupTime=performance.now()-i.startupTime,R(),c=!0)})),i.RouterClient.unsubscribe(e))}))};"routerService"===window.name?i.RouterClient.query("logger.service.register",{},(e=>{e?setTimeout(t,750):t()})):i.RouterClient.onReady(t),n.System.isBrowserView()&&window.addEventListener("beforeunload",(()=>{i.unregisterClient()}))}},t.Logger="undefined"!=typeof window?new t.LoggerConstructor:new i.LocalLogger,t.default=t.Logger},40568:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RouterClientConstructor=void 0;const i=n(r(82369)),o=n(r(13712)),s=n(r(73699)),a=r(51742),u=r(72551),l=r(6192),c=r(75729),d=r(50586),f=[];let h=u.Logger;function p(e,t={}){if(null===e||"object"!=typeof e)return e;if(e.constructor==Date||e.constructor==RegExp||e.constructor==Function||e.constructor==String||e.constructor==Number||e.constructor==Boolean)return new e.constructor(e);t=t||new e.constructor;for(const r in e)t[r]=void 0===t[r]?p(e[r],null):t[r];return t}t.RouterClientConstructor=function(){let e,t;const r={},n={},u={},m={},g={},y={},v={},w={},b={},S={};let _,C=null,E=!1;const P=[];function T(){this.header={origin:_,type:"initialHandshake"}}function k(e,t){this.header={origin:_,type:"timeCalibration"},this.clientBaseTime=e,this.serviceBaseTime=t}function A(e){this.header={origin:_,type:"addListener",channel:e}}function L(e,t,r){this.header={origin:_,type:"transmit",channel:e},this.data=t,this.options=r}function O(e){this.header={origin:_,type:"removeListener",channel:e}}function I(e){this.header={origin:_,type:"addResponder",channel:e}}function R(e,t,r){this.header={origin:_,type:"query",queryID:e,channel:t},this.data=r}function D(e,t,r){this.header={origin:_,type:"queryResponse",queryID:e,error:t},this.data=r}function F(e){this.header={origin:_,type:"removeResponder",channel:e}}function M(e,t){this.header={origin:_,type:"subscribe",subscribeID:e,topic:t}}function x(e,t){this.header={origin:_,type:"unsubscribe",subscribeID:e,topic:t}}function N(e,t){this.header={origin:_,type:"publish",topic:e},this.data=t}function j(e,t,r,n){this.header={origin:_,type:"notify",subscribeID:e,topic:t,error:r},this.data=n}function W(e,t,r){this.header={origin:_,type:"addPubSubResponder",topic:e,handleOnServer:r},this.data=t}function $(e){this.header={origin:_,type:"removePubSubResponder",topic:e}}function B(e){C?C.send(e):(h.system.info("RouterClient: Queuing message since router initialization not complete",e),f.push(e))}function U(){return this.header.origin===this.header.lastClient}function H(e,t){h.system.info("RouterClient: outgoing query response","CHANNEL",this.header.channel,"RESPONSE DATA",t,"QUERY ID",this.header.queryID),B(new D(this.header.queryID,e,t))}function V(e,t){const r=e[t.header.channel];void 0===r?h.system.warn(`RouterClient: no query responder define on channel ${t.header.channel} incoming from ${t.header.origin}`,t):t.header.error?(h.system.warn("RouterClient: queryResponder error",t),r(t.header.error,null),delete e[t.header.channel]):(t.originatedHere=U,t.sendQueryResponse=H.bind(t),h.system.info("RouterClient: incoming query","CHANNEL",t.header.channel,"FROM",t.header.origin,"QUERY MESSAGE",t),r(null,t))}function q(e,t){if(e)h.system.warn("RouterClient: income publish rejected by pubsub responder",e,t);else{m[this.header.topic]=t;const r=y[this.header.topic];if(void 0!==r)for(let n=0;n<r.length;n++)h.system.info("RouterClient: sending pubsub notify","TOPIC",this.header.topic,"NOTIFY DATA",t),B(new j(r[n],this.header.topic,e,t))}}function z(e,t){var r,n,i;(function(e){let t=!1;return void 0===e&&(t=!0),t})(t)||B(new j(this.header.subscribeID,this.header.topic,e,t)),e?h.system.warn("RouterClient: incoming subscription rejected by pubsub responder","TOPIC",this.header.topic,"MESSAGE",this):(r=y,n=this.header.topic,i=this.header.subscribeID,n in r?r[n].push(i):r[n]=[i],h.system.info("RouterClient: incoming subscription added","TOPIC",this.header.topic,"MESSAGE",this))}function G(){!function(e,t,r){let n=!1;if(t in e){const i=y[t];for(let o=0;o<i.length;o++)if(r===i[o]){i.splice(o,1),0===i.length&&delete e[t],n=!0,h.system.info("RouterClient: PubSub removeListener","TOPIC",t,"FROM",r);break}}n||h.system.warn(`RouterClient: tried to remove non-existent listener on ${t} from ${JSON.stringify(r)}`)}(y,this.header.topic,this.header.subscribeID)}function Q(i){switch(h.system.verbose("Incoming Message Type",i.header.type,i),i.header.type){case"transmit":!function(e,t){const r=e[t.header.channel]||[],n=[];if(Array.isArray(r)&&0!==r.length){t.originatedHere=U,r.forEach((e=>{n.push(e)}));for(let e=0;e<n.length;e++)h.isLogMessage(t.header.channel)||h.system.info("RouterClient: incoming transmit","CHANNEL",t.header.channel,"FROM",t.header.origin,"MESSAGE",t),n[e](null,t)}else h.system.warn(`RouterClient: no listener for incoming transmit on channel ${t.header.channel} from ${t.header.origin}`,t)}(r,i);break;case"query":V(n,i);break;case"queryResponse":!function(e,t){const r=e[t.header.queryID];void 0===r?h.system.warn("RouterClient: no handler for incoming query response","QUERY ID",t.header.queryID):(function(e,t){const r=e[t];void 0!==r&&clearTimeout(r)}(S,t.header.queryID),t.header.error?(h.system.debug("RouterClient: incoming queryResponse error",t.header,"QUERY ID",t.header.queryID),r(t.header.error,t)):(h.system.info("RouterClient: incoming query response","RESPONSE MESSAGE",t,"QUERY ID",t.header.queryID),r(null,t)),delete e[t.header.queryID])}(b,i);break;case"notify":!function(e,t){const r=e[t.header.subscribeID];void 0===r?h.system.warn("RouterClient: no subscription handler defined for incoming notify for subscriberID",t.header.subscribeID,t):t.header.error?(h.system.info("RouterClient: incoming PubSub notify error for subscriberID","SUBSCRIBER ID",t.header.subscribeID,"NOTIFY MESSAGE",t),r(t.header.error,t)):(t.originatedHere=U,h.system.info("RouterClient: incoming PubSub notify","SUBSCRIBER ID",t.header.subscribeID,"NOTIFY MESSAGE",t),r(null,t))}(v,i);break;case"publish":!function(e){let t=u[e.header.topic];if(void 0===t)for(const r in g)if(g[r].test(e.header.topic)){t=u[r];break}void 0===t?h.system.warn("RouterClient: no pubsub responder defined for incoming publish","TOPIC",e.header.topic,"PUBLISH MESSAGE",e):(e.sendNotifyToAllSubscribers=q,t.publishCallback?(h.system.info("RouterClient: incoming PubSub publish callback invoked","TOPIC",e.header.topic,"PUBLISH MESSAGE",e),t.publishCallback(null,e)):(h.system.info("RouterClient: incoming PubSub publish","TOPIC",e.header.topic,"PUBLISH MESSAGE",e),e.sendNotifyToAllSubscribers(null,e.data)))}(i);break;case"subscribe":!function(e){h.system.info("RouterClient: PubSub subscribe","TOPIC",e.header.topic);let t=u[e.header.topic];if(void 0===t)for(const r in g)if(g[r].test(e.header.topic)){t=u[r];let n=m[e.header.topic];void 0===n&&(n=m[r]),m[e.header.topic]=n;break}void 0===t?h.system.warn("RouterClient: no pubsub responder defined for incoming subscribe",e):e.header.error?h.system.warn(`RouterClient: pubsub error received from router service: ${JSON.stringify(e.header.error)}`):(e.sendNotifyToSubscriber=z,t.subscribeCallback?(e.data=m[e.header.topic],t.subscribeCallback(null,e)):e.sendNotifyToSubscriber(null,m[e.header.topic]))}(i);break;case"unsubscribe":!function(e){let t=u[e.header.topic];if(void 0===t)for(const r in g)if(g[r].test(e.header.topic)){t=u[r];break}void 0===t?h.system.warn("RouterClient: no pubsub responder defined for incoming unsubscribe","TOPIC",e.header.topic,"UNSUBSCRIBE MESSAGE",e):(e.removeSubscriber=G,t.unsubscribeCallback?(h.system.info("RouterClient: incoming unsubscribe callback","TOPIC",e.header.topic,"UNSUBSCRIBE MESSAGE",e),t.unsubscribeCallback(null,e)):(h.system.info("RouterClient: incoming unsubscribe","TOPIC",e.header.topic,"UNSUBSCRIBE MESSAGE",e),e.removeSubscriber()))}(i);break;case"timeCalibration":const o=()=>{t?t(i):setTimeout((()=>{o()}),10)};o();break;case"initialHandshakeResponse":e()}}function K(e,t){t.header.lastClient=_,t.header.incomingTransportInfo=e,Q(t)}this.startupTime=0,this.notificationURL="";const J=(t,r,n)=>{let o,a;h.system.debug(`Name of transport to establish: ${r}`),this.notificationURL=t.notificationURL;let u,l,c,d,p=!1,m=0;const g=t=>{a=0,h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:transport ready","TRANSPORT OBJECT",t),C=t,e=d,c(),o=setInterval(c,200)};u=e=>{h.system.error("RouterClientError",e)};const y=()=>{h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:getClientTransport","ROUTER PARAMS:",t),i.default.getTransport(t,r,K,_,"RouterService").then(g).catch(u)};l=()=>{if(clearInterval(o),m++,m<=3)h.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient: failure to connect to router service. Retrying...",m,t),y();else{const e="A cross domain transport has failed to connect. Cross domain components may not work. Please contact your administrator.";h.system.error(e,t),s.default.alert("dev","ONCE-SINCE-STARTUP","FSBL-Internal-Transport-Failure",e,{url:this.notificationURL})}},c=()=>{h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient: sendHandshake",a),B(new T),a++>50&&l()},d=()=>{if(!p){if(h.system.debug(`WINDOW LIFECYCLE:STARTUP:RouterClient connected: Starting ${_} with transport ${C.identifier()}`),p=!0,clearInterval(o),f)for(let e=0;e<f.length;e++){h.system.debug("RouterClient: firing queued msg");const t=f[e];C.send(t)}n&&n()}},y()};function Y(){return`${_}.${d.v4()}`}function Z(e,t){let r=!1;return void 0!==e[t]&&(delete e[t],r=!0),r}this.calibrateTimeWithRouterService=function(e){let r,n=0,i=1/0;t=function(t){n++,n>5?function(t){let n=0;for(let e=1;e<5;e++){const o=t.clientBaseTime[e-1],s=t.clientBaseTime[e]-o,a=t.serviceBaseTime[e-1]-(o+s/2);s<i&&(i=s,r=a),n+=a,h.system.debug("calibrationCalculation Intermediate Values","lastRRT",s,"lastOffset",a,"fastestOffset",r,"fastestRRT",i)}n/=4,h.system.debug("RouterClient calibrationCalculation","Average Offset",n,"Chosen FastestOffset",r,t),e(r)}(t):(t.clientBaseTime.push(l.Globals.performance.timing.navigationStart+l.Globals.performance.now()),B(new k(t.clientBaseTime,t.serviceBaseTime)))},t(new k([],[]))},this.onReady=e=>new Promise((t=>{o.default.args(e,"function");const r=()=>{e&&e(),t()};E?r():P.push(r)})),this.addListener=function(e,t){h.system.info("RouterClient.addListener","CHANNEL",e),o.default.args(e,"string",t,"function"),function(e,t,r){let n=!1;const i=e[t];return void 0===i||0===i.length?(e[t]=[r],n=!0):i.push(r),n}(r,e,t)&&B(new A(e))},this.transmit=function(e,t,r={suppressWarnings:!1}){h.isLogMessage(e)||h.system.info("RouterClient.transmit","TO CHANNEL",e,"EVENT",t),o.default.args(e,"string",t,"any"),B(new L(e,t,r))},this.removeListener=function(e,t){h.system.info("RouterClient.removeListener","CHANNEL",e,"EVENT HANDLER",t),o.default.args(e,"string",t,"function"),function(e,t,r){let n=!1;const i=e[t];if(void 0!==i){const e=i.indexOf(r);e>-1?(i.splice(e,1),0===i.length&&(n=!0)):h.system.warn(`no listener defined for channel: ${t}`)}return n}(r,e,t)&&B(new O(e))},this.addResponder=(e,t)=>{if(h.system.info("RouterClient.addResponder","CHANNEL",e),o.default.args(e,"string",t,"function"),function(e,t,r){let n=!1;return void 0===e[t]&&(e[t]=r,n=!0),n}(n,e,t))B(new I(e));else{const r=`RouterClient.addResponder: Responder already locally defined for channel ${e}`;h.system.warn(r),t(r,null)}},this.query=(e,t,r,n)=>{const i=`${Y()}.${e}`,s=window.performance.timing.navigationStart+window.performance.now(),a=window.performance.timing.navigationStart,u=window.performance.now();return h.system.info("RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",r,"QUERY ID",i,{timestamp:s,navstart:a,timenow:u}),n||(n=r,r={timeout:2e4}),o.default.args(e,"string",t,"any=",r,"object=",n,"function"),r=r||{},o.default.args2("params.timeout",r.timeout,"number"),new Promise((function(o){b[i]=(l,c)=>{o({err:l,response:c}),"function"==typeof n?n(l,c):h.system.warn("No response event handler passed to RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",r,"QUERY ID",i,{timestamp:s,navstart:a,timenow:u})},l.Globals.runningInFSBLUnitTest||function(e,t,r,n){n>0&&(e[t]=setTimeout((()=>{h.system.warn(`RouterClient: timeout waiting on query response on channel ${r} for queryID ${t} on timer ${e[t]} timeout=${n}`)}),n))}(S,i,e,r.timeout),B(new R(i,e,t))}))},this.removeResponder=e=>{h.system.info("RouterClient.removeResponder","RESPONDER CHANNEL",e),o.default.args(e,"string"),Z(n,e)&&B(new F(e))},this.addPubSubResponder=(e,t,r,n)=>{let i,s;h.system.info("RouterClient.addPubSubResponder","TOPIC",e,"INITIAL STATE",t,"PARAMS",r),o.default.args(e,"any",t,"object=",r,"object="),r=r||{},o.default.args2("params.subscribeCallback",r.subscribeCallback,"function=","params.publishCallback",r.publishCallback,"function=")&&o.default.args2("params.unsubscribeCallback",r.unsubscribeCallback,"function="),void 0===r.subscribeCallback&&void 0===r.publishCallback&&void 0===r.unsubscribeCallback?(t=t||{},B(new W(e.toString(),t,!0)),s="success"):!function(e,t,r,n){let i=!1;return void 0===u[e.toString()]&&(e instanceof RegExp&&(g[e.toString()]=e,h.system.info(`RouterClient: PubSub RegEx added for topic ${e.toString()}`)),u[e.toString()]={subscribeCallback:t,publishCallback:r,unsubscribeCallback:n},i=!0),i}(e,r.subscribeCallback,r.publishCallback,r.unsubscribeCallback)?(i=`RouterClient.addPubSubResponder: Responder already locally defined for topic ${e}`,h.system.error(i)):(t=t||{},m[e.toString()]=p(t),B(new W(e.toString(),t,!1)),s="success"),n&&n(i,s)},this.removePubSubResponder=e=>{h.system.info("RouterClient.removePubSubResponder","TOPIC",e),o.default.args(e,"any"),Z(u,e)?(delete m[e.toString()],delete g[e.toString()],B(new $(e))):h.system.warn(`RouterClient.removePubSubResponder failed: Could not find responder for topic ${e}`)},this.subscribe=(e,t)=>{h.system.info("RouterClient.subscribe","TOPIC",e),o.default.args(e,"string",t,"function");const r=Y();return function(e,t,r,n){e[t]=r,w[t]=n}(v,r,t,e),B(new M(r,e)),{subscribeID:r,topic:e}},this.publish=(e,t)=>{h.system.info("RouterClient.publish","TOPIC",e,"EVENT",t),o.default.args(e,"string",t,"any"),B(new N(e,t))},this.unsubscribe=e=>{h.system.info("RouterClient.unsubscribe","SUBSCRIBE ID",e),o.default.args(e,"object")&&o.default.args2("subscribeIDStruct.subscribeID",e.subscribeID,"string"),!function(e,t){let r=!1;return void 0!==e[t]&&(delete e[t],r=!0),r}(v,e.subscribeID)?h.system.warn(`RouterClient.unsubscribe: Could not find subscribeID for topic ${e.topic}`):B(new x(e.subscribeID,e.topic))},this.trustedMessage=function(e){let t=!0;return h.system.debug("RouterClient.trustedMessage header",e.header),"SharedWorker"===e.header.originIncomingTransportInfo.transportID&&(t=!0),t},this.disconnectAll=function(){h.system.info("RouterClient.disconnectAll");for(const e in r)h.system.debug(`RouterClient.disconnectAll is removing listener on ${e}`),B(new O(e)),delete r[e];for(const e in n)h.system.debug(`RouterClient.disconnectAll is removing responder on ${e}`),B(new F(e)),delete n[e];for(const e in u)h.system.debug(`RouterClient.disconnectAll is removing pubsub responder on ${e}`),B(new $(e)),delete u[e.toString()],delete m[e.toString()],delete g[e.toString()];for(const e in v){const t=w[e];h.system.debug(`RouterClient.disconnectAll is removing subscriber on ${t}`),B(new x(e,t)),delete v[e],delete w[e]}},this.start=e=>new Promise((async t=>{if(this.started){const e="RouterClient.start() called twice. Ignoring second call.";return h.warn(e),t(e)}this.started=!0,h=new c.LocalLogger,"loggerService"===a.System.Window.getCurrent().name&&(h=new c.LocalLogger),_=`RouterClient.${e.windowName}.${d.v4()}`;const r=`"RouterClient Check: connecting new client for ${_}`;h.system.debug(r),console.debug(r),J(e,e.transportName,(()=>{!function(){for(h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient Ready"),E=!0;P.length>0;)h.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient parentReady invoked"),P.shift()()}(),t(null)}))})),this.stop=()=>{this.disconnectAll(),i.default.close(),this.started=!1}}},39319:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RouterConnectionInstance=t.RouterConnectionSingleton=void 0;const n=r(40568),i=r(72551),o=r(4971);t.RouterConnectionSingleton=o.singleton("RouterClient",n.RouterClientConstructor),i.Logger.setRouterClient(t.RouterConnectionSingleton);var s=r(40568);Object.defineProperty(t,"RouterConnectionInstance",{enumerable:!0,get:function(){return s.RouterClientConstructor}}),t.default=t.RouterConnectionSingleton},9321:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(72551)),o=r(72669),s=r(76420);i.default.system.debug("Starting searchClient");class a extends o._BaseClient{constructor(){super(...arguments),this.providers={},this.resultProviders={},this.searchResultsList=[],this.isSearching=!1,this.unRegister=this.unregister,this.handleResults=(e,t)=>{t.data.searchId&&t.data.searchId==this.searchId&&(this.resultProviders[t.data.provider.channel]=t.data,this.searchResultsList.push(t.data),this.resultsCallback(null,this.searchResultsList))}}register(e,t){return e.name?e.searchCallback?void this.routerClient.query("Search.register",{name:e.name,channel:`${this.finWindow?.name}.${e.name}`,providerActionTitle:e.providerActionTitle,providerActionCallback:!!e.providerActionCallback},((r,n)=>{if(r)return t?t(r):console.error(r);const i=`${this.finWindow?.name}.${e.name}`;return this.providers[e.name]=e.name,this.routerClient.addResponder(`Search.Provider.${i}`,((t,r)=>{if(t)return console.error(t);r&&e.searchCallback(r.data,((e,t)=>{r.sendQueryResponse(e,t)}))})),this.routerClient.addResponder(`Search.Provider.ItemAction.${i}`,((t,r)=>{if(t)return console.error(t);r&&e.itemActionCallback&&e.itemActionCallback(r.data,s.windowNameFromRouterHeader(r.header),((e,t)=>{r.sendQueryResponse(e,t)}))})),e.providerActionCallback&&this.routerClient.addResponder(`Search.Provider.Action.${i}`,((t,r)=>{if(t)return console.error(t);r&&e.providerActionCallback&&e.providerActionCallback(s.windowNameFromRouterHeader(r.header),((e,t)=>{r.sendQueryResponse(e,t)}))})),t?t(null,n.data):null})):t?.("no provider callback provided"):t?.("no provider name provided")}unregister(e,t){if(!e.name)return t?.("Provider name was not provided");const r=`${this.finWindow?.name}.${e.name}`;this.routerClient.query("Search.unregister",{channel:r},(()=>(this.routerClient.removeResponder(`Search.Provider.${r}`),this.routerClient.removeResponder(`Search.Provider.ItemAction.${r}`),this.routerClient.removeResponder(`Search.Provider.Action.${r}`),delete this.providers[e.name],t?t():null)))}search(e,t){this.isSearching||(this.routerClient.addPubSubResponder(`Search.${this.finWindow?.name}`),this.routerClient.subscribe(`Search.${this.finWindow?.name}`,this.handleResults),this.isSearching=!0),this.searchResultsList=[],e.windowName=this.finWindow?.name,this.routerClient.query("Search.search",e,((e,r)=>{if(e)return t(e);this.resultsCallback=t,this.searchId=r.data.searchId}))}invokeItemAction(e,t){this.routerClient.query(`Search.Provider.ItemAction.${e.provider}`,{item:e,action:t})}invokeProviderAction(e){this.routerClient.query(`Search.Provider.Action.${e.channel}`,{})}}const u=new a({onReady(e){e&&e()},name:"searchClient"});t.default=u},63862:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StorageClient=void 0;const i=n(r(42169)),o=n(r(13712)),s=n(r(72551)),a=r(72669),u=r(24232),l=i.default(1);class c extends a._BaseClient{constructor(){super(...arguments),this.clientReady=!1,this.delete=this.remove}setUser(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.user,"string",t,"function="),this.routerClient.query("Storage.setUser",{user:e.user},((r,n)=>{(r?s.default.system.error:s.default.system.info)("APPLICATION LIFECYCLE:StorageClient.setUser",e,r,n),t&&t(r,n.data)}))}setStore(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",e.dataStore,"string=",t,"function="),s.default.system.log("APPLICATION LIFECYCLE:StorageClient.setStore",e,t),this.routerClient.query("Storage.setStore",e,((e,r)=>{(e?s.default.system.error:s.default.system.info)("Storage.setStore",e,r),t&&t(e,r.data)}))}save(e,t){if(this.clientReady||s.default.system.error("storageClient invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");return new Promise(((r,n)=>{o.default.args(e.topic,"string",e.key,"string",e.value,"any",t,"function="),this.routerClient.query("Storage.save",e,((e,i)=>{(e?s.default.system.error:s.default.system.info)("Storage.save",e,i),t&&t(e,i.data),e?n({err:e,data:null}):r({err:e,data:i.data})}))}))}save1(e){return l((()=>this.save(e)))}get(e,t){if(this.clientReady||s.default.system.error("storageClient invoked before ready"),"string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");return new Promise(((r,n)=>{o.default.args(e.topic,"string",e.key,"string",t,"function="),this.routerClient.query("Storage.get",e,((e,i)=>{if(e)return s.default.system.error("Storage.get",e,i),t&&t(e,i?i.data:null),n(e,i?i.data:null);s.default.system.info("Storage.get",e,i),t&&t(e,i.data),r(i.data)}))}))}get1(e,t){return l((()=>this.get(e,t)))}keys(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),o.default.args(e.topic,"string",t,"function="),s.default.system.debug("StorageClient.keys",e,t),this.routerClient.query("Storage.keys",e,((e,r)=>{(e?s.default.system.error:s.default.system.info)("Storage.keys",e,r),t&&t(e,r.data)}))}keys1(e){return l((()=>u.promisify(this.keys.bind(this))(e)))}getMultiple(e,t){this.clientReady||s.default.system.error("storageClient invoked before ready"),s.default.system.info("StorageClient.getMultiple",e,t),this.routerClient.query("Storage.getMultiple",e,((r,n)=>{(r?s.default.system.error:s.default.system.info)("StorageClient.getMultiple:",e,n),t&&t(r,n)}))}remove(e,t){return this.clientReady||s.default.system.error("storageClient invoked before ready"),new Promise(((r,n)=>{o.default.args(e.topic,"string",e.key,"string",t,"function="),this.routerClient.query("Storage.delete",e,((e,i)=>{(e?s.default.system.error:s.default.system.info)("StorageClient.delete",e,i),t&&t(e,i.data),e?n({err:e,data:null}):r({err:e,data:i.data})}))}))}remove1(e){return l((()=>this.remove(e)))}clearCache(e){s.default.system.log("StorageClient.clearCache",e),this.routerClient.query("Storage.clearCache",null,((t,r)=>{(t?s.default.system.error:s.default.system.info)("StorageClient.clearCache",t,r),e&&e(t,r.data)}))}}t.StorageClient=c;var d=new c({onReady(e){e&&e(),d.clientReady=!0},name:"storageClient"});t.default=d},95376:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(57664),u=s(r(63862)),l=s(r(68718)),c=o(r(76420)),d=r(51742),f=r(72669),h=s(r(72551)),p=s(r(13712)),m=r(75688),g=r(33998),y=s(r(39319)),v=r(78379),w=s(r(70010)),b=r(24232),S=r(80089);let _;function C(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}class E extends f._BaseClient{constructor(e){super(e),this.showAtMousePosition=function(){this.routerClient.transmit("DockingService.showAtMousePosition",this.getWindowIdentifier())},p.default.args(e,"object=")&&e&&p.default.args2("params.onReady",e.onReady,"function="),this.options={},this.windowHash="",this.title=null,this.toolbarBottom=40,this.containers=[],this.componentState={},this.windowState="normal",this.hasHeader=!1,this.enableWindowsAeroSnap=!1,this.bindFunctions(),this.minimizeWithDockedWindows=this.minimize}bindFunctions(){this.onWindowRestored=this.onWindowRestored.bind(this),this.onWindowMaximized=this.onWindowMaximized.bind(this),this.onWindowBlurred=this.onWindowBlurred.bind(this),this.onWindowFocused=this.onWindowFocused.bind(this),this.onMinimizedRestored=this.onMinimizedRestored.bind(this),this.onWindowMinimized=this.onWindowMinimized.bind(this),this.close=this.close.bind(this),this.getInitialOptions=this.getInitialOptions.bind(this),this.cacheInitialBounds=this.cacheInitialBounds.bind(this),this._setHeaderHeight=this._setHeaderHeight.bind(this)}onWindowRestored(){this.updateHeaderState("Maximize",{hide:!1})}onWindowMaximized(){this.updateHeaderState("Maximize",{hide:!0})}onWindowBlurred(){this.setActive(!1)}onWindowFocused(){this.setActive(!0)}onMinimizedRestored(){this.routerClient.transmit("DockingService.windowRestored",_.name),_.removeEventListener("restored",this.onMinimizedRestored)}onWindowMinimized(){this.routerClient.query("DockingService.windowMinimized",{windowName:_.name}),_.addEventListener("restored",this.onMinimizedRestored)}getWindowGroups(){return this.windowGroups}groupUpdateHandler(e,t){e?FSBL.Clients.Logger.error(e):t.data&&t.data.groupData&&(this.windowGroups=Object.values(t.data.groupData).filter((e=>e.windowNames.includes(this.getWindowNameForDocking()))))}close(e,t=(()=>{})){e||(e={removeFromWorkspace:!0,closeWindow:!0});const{parentWindow:r}=_;if(e.userInitiated&&r)return r.close(e,t);_.close(e,t)}getWindowHash(){return this.windowHash}getWindowTitle(){return this.title}retrieveMonitorDimensions(e=Function.prototype){c.getMonitor(null,(t=>{_.updateOptions({options:{monitorDimensions:t.monitorRect}}),e&&e(t.monitorRect)}))}listenForHashChanges(){d.System.hasBrowserView()||(_.updateOptions({url:window.top.location.href},(()=>{})),function(e){const{pushState:t}=e;e.pushState=function(r){"function"==typeof e.onpushstate&&e.onpushstate({state:r}),t.apply(e,arguments),_.updateOptions({url:window.top.location.href},(()=>{}))};const{replaceState:r}=e;e.replaceState=function(t){"function"==typeof e.onreplacestate&&e.onreplacestate({state:t}),r.apply(e,arguments),_.updateOptions({url:window.top.location.toString()})}}(window.history),window.addEventListener("hashchange",(()=>{_.updateOptions({url:window.top.location.toString()},(()=>{}))})))}getInitialOptions(e){this.isInAService?(this.options={},h.default.system.debug("WindowClient:getting options empty",this.options),e()):_.getOptions(((t,r)=>{t&&(r={}),_.windowOptions=r,this.options=r,h.default.system.debug("WindowClient:getting options",this.options),e()}))}cacheInitialBounds(e){if(d.System.hasBrowserView())return e();this.cacheBounds((()=>{try{if(!_.windowOptions.customData.foreign.components["Window Manager"].persistWindowState)return e();_.updateOptions({options:{url:window.top.location.toString()}})}catch(e){h.default.system.warn('customData.foreign.components["Window Manager" is undefined')}e()}))}setInitialWindowBounds(e){h.default.system.warn("`FSBL.Clients.WindowClient.setInitialWindowBounds is deprecated and will be removed in a future version of finsemble. Use 'getInitialOptions' and 'cacheInitialBounds' instead."),a.parallel([this.getInitialOptions,this.cacheInitialBounds],e)}getWindowBounds(){return{top:_.windowOptions.defaultTop,left:_.windowOptions.defaultLeft,width:_.windowOptions.defaultWidth,height:_.windowOptions.defaultHeight}}saveWindowBounds(e,t){if(h.default.system.debug("WINDOW LIFECYCLE:SavingBounds:",e,"setActiveWorkspaceDirty",t),void 0===t&&(t=!1),p.default.args(e,"object")&&p.default.args2("bounds.top",e.top,"number"),e){_.updateOptions({options:{top:Math.round(e.top),defaultTop:Math.round(e.top),left:Math.round(e.left),defaultLeft:Math.round(e.left),width:Math.round(e.width),defaultWidth:Math.round(e.width),height:Math.round(e.height),defaultHeight:Math.round(e.height)}});try{_.windowOptions.customData.foreign.components["Window Manager"].persistWindowState}catch(e){}}}minimize(e){this.cacheBounds((()=>{_.minimize(null,(t=>{t&&h.default.system.error("WindowClient:minimize",t),e&&e(t)}))}))}setAlwaysOnTop(e,t){_.setAlwaysOnTop({alwaysOnTop:e},t)}restore(e=(()=>{})){_.restore(null,(t=>{t&&h.default.system.error("WindowClient:restore",t),e(t)}))}cacheBounds(e){this.getBounds(((t,r)=>{if(t)return e(),console.warn("Get bounds error.",t,"Window may not be registered with the window service");_.updateOptions({options:{cachedLeft:r.left,defaultLeft:r.left,cachedTop:r.top,defaultTop:r.top,cachedWidth:r.width,defaultWidth:r.width,cachedHeight:r.height,defaultHeight:r.height}}),e&&e(r)}))}maximize(e){_.maximize(),e()}removeFinWindowEventListeners(){_.removeEventListener("maximized",this.onWindowMaximized),_.removeEventListener("restored",this.onWindowRestored),_.removeEventListener("blurred",this.onWindowBlurred),_.removeEventListener("focused",this.onWindowFocused),_.removeEventListener("close-requested",this.close),_.removeEventListener("minimized",this.onWindowMinimized)}injectDOM(e){if(h.default.system.debug("injectDOM",e),document.getElementById("FSBLHeader"))return;window.scrollTo(0,0);const t=document.createElement("div");t.innerHTML=`<div id="FSBLHeader"${e?` style=height:${e}`:""}></div>`,t.firstChild&&document.body.insertBefore(t.firstChild,document.body.firstChild)}getComponentState(e,t){if(e||(e={}),e.fields&&!Array.isArray(e.fields)&&(e.fields=[e.fields]),p.default.args(e,"object",t,"function"),_)return _.getComponentState(e,t);h.default.system.warn("Attempt to use getComponentState before component is ready or in a service"),e.windowName||(e.windowName=window.name);const r=this.getContainerHash(e.windowName);u.default.get({topic:v.WORKSPACE.CACHE_STORAGE_TOPIC,key:r},((r,n)=>{if(r)return h.default.system.error("Error retrieving window client's component state."),void t(r);const i=n;if(n&&e.field)this.componentState=i||{},t(r,i[e.field]);else{if(e.fields){const r={};for(let t=0;t<e.fields.length;t++)i[e.fields[t]]&&(r[e.fields[t]]=i[e.fields[t]]);return t(null,r)}if(n)return t(null,i);h.default.system.info("WindowClient:getComponentState:error, response, params",r,n,e),t("Not found",n)}}))}async setComponentState(e,t=(()=>{})){return p.default.args(e,"object",t,"function=")&&p.default.args2("params.field",e.field,"string"),_?_.setComponentState(e,t):this.isInAService?(t("Cannot call setComponentState in a service."),Promise.resolve()):(t("Cannot call setComponentState. The window may not be ready"),Promise.reject("The window is not yet ready to save state."))}async removeComponentState(e,t=(()=>{})){return p.default.args(e,"object",t,"function=")&&p.default.args2("params.field",e.field,"string"),(_||await m.FinsembleWindow.getInstance({name:e.windowName||window.name})).removeComponentState(e,t)}getWindowNameForDocking(){const e=_.parentWindow;return e?e.name:_.name}getContainerHash(e){return c.camelCase(this.windowHash,e)}formGroup(){_.formGroup()}registerWithDockingManager(e,t){_.parentWindow&&(h.default.system.debug("registerWithDockingManager ignore registration request if has a parent"),t&&t());const r=_.name,{uuid:n}=_;this.startedRegistrationWithDocking=!0,this.routerClient.query("DockingService.registerWindow",{name:r,uuid:n,options:e||{},windowType:"WebWindow"},(()=>{this.startedRegistrationWithDocking=!1,this.deregisterPlease&&(this.deregisterWithDockingManager(),this.deregisterPlease=!1),h.default.system.debug("WINDOW LIFECYCLE: Docking Registration complete."),t&&t()}))}deregisterWithDockingManager(e){this.startedRegistrationWithDocking&&(this.deregisterPlease=!0);const t=_.name;this.routerClient.transmit("DockingService.deregisterWindow",{name:t,userInitiated:e})}bumpFixedElements(e){if("complete"!==document.readyState)return setTimeout((()=>{this.bumpFixedElements(e)}),100);if(!e)return;let{absolute:t,fixed:r,bumpBy:n}=e;if(!t&&!r)return;const i=document.getElementById("FSBLHeader");if(!i||0===i.children.length||!i.children[0].clientHeight)return setTimeout((()=>{this.bumpFixedElements(e)}),100);"auto"===n?n="0px":-1===new String(n).indexOf("px")&&(n=`${n}px`);const o=document.body.getElementsByTagName("*"),s=o.length;for(let e=0;e<s;e++){if("FSBLHeader"===o[e].id||o[e].classList.contains("fsbl-header"))continue;const i=window.getComputedStyle(o[e],null),s=["0","0px",0],a=i.getPropertyValue("top");t&&o[e].parentNode===document.body&&"absolute"==i.getPropertyValue("position")&&("all"==t?o[e].style.top=`calc(${a} + ${n})`:"0Positioned"==t&&s.includes(a)&&(o[e].style.top=n)),r&&"fixed"==i.getPropertyValue("position")&&("all"==r?o[e].style.top=`calc(${a} + ${n})`:"0Positioned"==r&&s.includes(a)&&(o[e].style.top=n))}}bringWindowToFront(){_.bringToFront({forceFocus:!0},(e=>{e?h.default.system.error(`WindowClient.bringWindowToFront: failure:${e}`):h.default.system.info("WindowClient.bringWindowToFront: success")}))}injectStylesheetOverride(){const e=document.createElement("style");e.type="text/css",e.appendChild(document.createTextNode(_.windowOptions.customData.cssOverride)),document.body.appendChild(e)}checkIfChildApp(){if(_.windowOptions&&_.windowOptions.customData&&_.windowOptions.customData.parentUUID&&_.windowOptions.customData.parentUUID!==d.System.Application.getCurrent().uuid){const e=d.System.Application.wrap(_.windowOptions.customData.parentUUID);e.addEventListener("crashed",this.close.bind(null,!1)),e.addEventListener("initialized",this.close.bind(null,!1)),e.addEventListener("out-of-memory",this.close.bind(null,!1))}}preventUnintendedDropEvents(){function e(e){e.preventDefault()}window.addEventListener("dragover",e,!1),window.addEventListener("drop",e,!1)}rejectWindowsKeyResizes(){let e=!1;const t=async t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&y.default.transmit("Finsemble.WindowService.WindowsKey","up"):"Meta"===t.key&&e&&(e=!1,d.System.Window.getCurrent().updateOptions({resizable:!0}))},r=t=>{this.enableWindowsAeroSnap?"Meta"===t.key&&y.default.transmit("Finsemble.WindowService.WindowsKey","down"):"Meta"===t.key&&(e=!0,d.System.Window.getCurrent().updateOptions({resizable:!1}))};FSBL&&l.default.onReady((()=>{window.addEventListener("keyup",t),window.addEventListener("keydown",r)}))}modifyReload(){FSBL&&l.default.onReady((()=>{l.default.addBrowserHotkey(["ctrl","r"],_.reload)}))}addListeners(e=Function.prototype){this.listenForHashChanges(),this.preventUnintendedDropEvents(),this.rejectWindowsKeyResizes(),this.modifyReload(),_.addListener("setParent",(()=>{h.default.system.info("WindowClient.setParent deregisterWithDockingManager"),this.deregisterWithDockingManager()})),_.addEventListener("maximized",this.onWindowMaximized),_.addEventListener("minimized",this.onWindowMinimized),_.addEventListener("restored",this.onWindowRestored),_.addEventListener("blurred",this.onWindowBlurred),_.addEventListener("focused",this.onWindowFocused),e()}updateHeaderState(e,t){this.commandChannel&&this.commandChannel(e,t)}headerCommandChannel(e){this.commandChannel=e}ejectFromGroup(){_.ejectFromGroup()}setWindowTitle(e){h.default.system.deprecated("This method is deprecated and will be removed in a future release. Please simply set the application's `document.title` element to change the title. Or, set `components['Window Manager'].title` in the app's manifest."),this.setWindowTitlePrivate(e)}setWindowTitlePrivate(e){p.default.args(e,"string"),this.title=e,this.updateHeaderState("Main",{windowTitle:e}),_.setTitle(e)}getSpawnData(){if(!this.options.customData)return{};const{spawnData:e}=this.options.customData;return void 0===e?{}:e}getCurrentWindow(){return d.System.Window.getCurrent()}async getDesktopBoundingBox(e){let t=e;"string"==typeof e&&(t=document.querySelector(e));const r=t.getBoundingClientRect(),n=await _.getBounds(),i=n.data;let o,s;n.err?(o=this.options.defaultTop,s=this.options.defaultLeft):(o=i.top,s=i.left);const a={top:o+r.top,left:s+r.left,width:r.width,height:r.height,right:0,bottom:0};return a.right=a.left+a.width,a.bottom=a.top+a.height,a}isPointInBox(e,t){return t.bottom||(t.bottom=t.top+t.height),t.right||(t.right=t.left+t.width),e.x>t.left&&e.x<t.right&&e.y<t.bottom&&e.y>t.top}isMouseOverDOMElement(e,t){this.getDesktopBoundingBox(e).then((e=>{d.System.getMousePosition(((r,n)=>{t(this.isPointInBox(n,e))}))}))}getWindowIdentifier(){var e=null;return this.options&&this.options.customData&&this.options.customData.component&&(e=this.options.customData.component.type),{windowName:_?_.name:window.name,uuid:_?_.uuid:null,componentType:e}}setActive(e){var t,r;e?(r="desktop-active",(t=document.documentElement).classList?t.classList.add(r):C(t,r)||(t.className=`${t.className} ${r}`)):function(e,t){if(e.classList)e.classList.remove(t);else if(C(e,t)){const r=new RegExp(`(\\s|^)${t}(\\s|$)`);e.className=e.className.replace(r," ")}}(document.documentElement,"desktop-active")}getBounds(e){_.getBounds(((t,r)=>{e(t,r)}))}setShape(e,t=Function.prototype){_.setShape(e,t)}startTilingOrTabbing(e,t=Function.prototype){FSBL.Clients.RouterClient.transmit("DockingService.startTilingOrTabbing",e),t()}startMovingWindow(e){d.System.Window.getCurrent().startMovingWindow(e)}stopMovingWindow(){d.System.Window.getCurrent().stopMovingWindow()}cancelTilingOrTabbing(e,t=Function.prototype){console.debug("CancelTilingOrTabbing"),y.default.transmit("DockingService.cancelTilingOrTabbing",e),t()}sendIdentifierForTilingOrTabbing(e,t=Function.prototype){FSBL.Clients.RouterClient.transmit("DockingService.identifierForTilingOrTabbing",e),t()}stopTilingOrTabbing(e,t=Function.prototype){const r=()=>{y.default.query("DockingService.stopTilingOrTabbing",e,(()=>{t()})),y.default.transmit("DockingService.stopTilingOrTabbing",e)};return e.mousePosition?(r(),e.allowDropOnSelf?void 0:t()):d.System.getMousePosition(((n,i)=>{if(e.mousePosition=i,r(),!e.allowDropOnSelf)return t()}))}getStackedWindow(e,t){if(h.default.system.debug("WindowClient.getStackedWindow",e),t=t||e,(e=e||{}).windowIdentifiers=e.windowIdentifiers||[],!_.parentWindow&&e.create){const r=e=>{const{parentName:n}=e.data;_.setParent({windowName:n},((e,r)=>{t?.(e,r)})),_.removeListener("parent-set",r)};_.addListener("parent-set",r),FSBL.Clients.LauncherClient.spawn("StackedWindow",{windowType:"StackedWindow",data:{windowIdentifiers:e.windowIdentifiers},options:{newStack:!0}},((e,r)=>{h.default.system.debug("WindowClient.getStackedWindow-success",e,r),e&&t?.(e,null)}))}else _.getParent(t)}getMonitorInfo(e,t){c.getMyWindowIdentifier((r=>{e.windowIdentifier||(e.windowIdentifier=r),this.routerClient.query("Launcher.getMonitorInfo",e,((e,r)=>{t&&t(e,r.data)}))}))}fitToDOM(e,t){let r=document.documentElement.offsetHeight,n=this.options.width;"function"==typeof e&&(t=e,e=null),e&&e.padding&&(e.padding.height&&(r+=e.padding.height),e.padding.width&&(n+=e.padding.width)),e&&e.maxHeight&&r>e.maxHeight&&(r=e.maxHeight),h.default.system.debug("WindowClient.FitToDOM:newHeight",r,e),this.getMonitorInfo({},((e,i)=>{i&&(r>=i.availableRect.height&&(r=i.availableRect.height),n>=i.availableRect.width&&(n=i.availableRect.width)),h.default.system.debug("WindowClient.FitToDOM:fixBounds",r,n),_.getBounds(((e,i)=>{i.width!=n||i.height!=r?(i.width=n,i.height=r,_.setBounds({bounds:i},t)):"function"==typeof t&&t()}))}))}_setHeaderHeight(e){let t=document.getElementsByClassName("fsbl-header")[0];if(!t)return setTimeout((()=>{this._setHeaderHeight(e)}),100);let r=window.getComputedStyle(t,null).getPropertyValue("height");document.body.style.marginTop=r,e.bumpElements&&"auto"===e.bumpElements.bumpBy&&(e.bumpElements.bumpBy=r),this.bumpFixedElements(e.bumpElements)}async start(e=Function.prototype){if(p.default.args(e,"function"),b.iAmAServiceWindow())return this.isInAService=!0,e();setInterval((()=>{_&&document?.title&&this.title!==document.title&&(!FSBL.System.isBrowserView&&FSBL.System.hasBrowserView||this.setWindowTitlePrivate(document.title))}),200);const t=this;await w.default.getValue("finsemble");let r=null,n=!1,i=!1,o=!1;this.componentState={},(e=>{m.FinsembleWindow.getInstance({name:this.finWindow?.name,uuid:this.finWindow?.uuid},((t,r)=>{if(h.default.system.debug(`FinsembleWindow.getInstance ${this.finWindow?.name}`),"Cannot Wrap Service Manager or Services"==t)return this.isInAService=!0,this.windowHash=c.camelCase("activeWorkspace",window.name),e();!t&&r||h.default.system.error("wrap failure",t),this.finsembleWindow=r,({finsembleWindow:_}=this),this.windowHash=c.camelCase("activeWorkspace",_.name),this.addListeners(),this.routerClient.subscribe("Finsemble.WorkspaceService.groupUpdate",((e,t)=>this.groupUpdateHandler(e,t))),e()}))})((()=>{this.retrieveMonitorDimensions(),this.getInitialOptions((()=>{if(!_||!_.windowOptions)return this.isInAService||h.default.system.error("Something went wrong attempting to get the current window."),e();({customData:r}=_.windowOptions),h.default.system.debug("getInitialOptions",r),r&&(n=S(r,"window.compound",!1),r.cssOverride&&(h.default.system.debug("Window has cssOverride. See local window to inspect object"),i=!0),o=!n&&S(r,["foreign","components","Window Manager","FSBLHeader"],!1)),a.parallel([function(e){i&&t.injectStylesheetOverride(),e()},function(e){w.default.getValue("finsemble",((r,n)=>{r&&h.default.system.error("Error reading windowService config from finsemble");const i=n.services.windowService.config.enableWindowsAeroSnap;t.enableWindowsAeroSnap=g.ConfigUtilInstance.getDefault(n,"config.servicesConfig.docking.enableWindowsAeroSnap",i),e()}))},function(e){if(d.System.isBrowserView())e();else{if(!r||!r.component||b.iAmAServiceWindow())return e();{let n=g.ConfigUtilInstance.getDefault(r,"customData.foreign.services.windowService.manageWindowMovement",!1);n||(n=g.ConfigUtilInstance.getDefault(r,"customData.foreign.services.dockingService.manageWindowMovement",!1));const i=g.ConfigUtilInstance.getDefault(r,"customData.foreign.components.Window Manager.FSBLHeader",!1),o=g.ConfigUtilInstance.getDefault(r,"customData.window.dockable",!1);n=n||i||o;let s=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowAutoArrange",oldValue:"isArrangable"},null);if(null===s&&(s=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowAutoArrange",oldValue:"isArrangeable"},n)),!n&&!s)return e();if(r.window.allowAutoArrange=s,r.window.snapping=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowSnapping",oldValue:"ignoreSnappingRequests"},n),r&&r.foreign&&r.foreign.services){const e=void 0!==r.foreign.services.windowService?"windowService":"dockingService";void 0!==r.foreign.services[e].ignoreSnappingRequests&&(r.window.snapping=!r.foreign.services[e].ignoreSnappingRequests)}if(g.ConfigUtilInstance.getDefault(r,"customData.window.ephemeral",!1)&&!r.window.snapping&&(r.window.snapping=!1),r.window.tiling=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowTiling",oldValue:"ignoreTilingAndTabbingRequests"},n),r.window.tabbing=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowTabbing",oldValue:"ignoreTilingAndTabbingRequests"},n),r&&r.foreign&&r.foreign.services){const e=void 0!==r.foreign.services.windowService?"windowService":"dockingService";void 0!==r.foreign.services[e].ignoreTilingAndTabbingRequests&&(r.window.tiling=!r.window.tiling,r.window.tabbing=!r.window.tabbing)}r.window.canGroup=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowGrouping",oldValue:"canGroup"},n),r.window.canMinimize=b.checkDeprecatedConfigs(r,{baseString:"customData.foreign.services",newPath:"windowService",oldPath:"dockingService",newValue:"allowMinimize",oldValue:"canMinimize"},void 0),void 0===r.window.canMinimize&&(r.window.canMinimize=r.component.canMinimize,void 0===r.window.canMinimize&&(r.window.canMinimize=n)),void 0===r.window.canMaximize&&(r.window.canMaximize=r.component.canMaximize,void 0===r.window.canMaximize&&(r.window.canMaximize=n)),r.window.overwriteStartDocked=g.ConfigUtilInstance.getDefault(r,"customData.foreign.services.workspaceService.global",!1),t.registerWithDockingManager(r.window,(()=>{t.cacheInitialBounds(e)}))}}}],((t,r)=>e(t,r)))}))}))}}var P=new E({startupDependencies:{clients:["storageClient"]},onReady(e){P.start(e)},name:"windowClient"});t.default=P},6008:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=r(72669),u=o(r(76420)),l=s(r(13712)),c=s(r(72551)),d=r(78379),f=r(33998),h=s(r(73014));class p extends a._BaseClient{constructor(e){super(e),this.workspaces=[],this.setWorkspaces=this.setWorkspaceOrder,this.createNewWorkspace=this.createWorkspace,this.getWorkspaceDefinition=this.export,this.addWorkspaceDefinition=this.import,this.saveWorkspaceTemplateToConfigFile=this.exportToFile,l.default.args(e,"object=")&&e&&l.default.args2("params.onReady",e.onReady,"function="),this.publicEventManager=new h.default({name:"workspaceClient",sourceType:"workspace"})}_serviceResponseHandler(e,t,r,n,i=Function.prototype){if(e)return n(new Error(e)),i(e);t||(t={data:null}),r(t.data),i(null,t.data)}addEventListener(e,t){this.publicEventManager.addEventListener(e,t)}removeEventListener(e,t){this.publicEventManager.removeEventListener(e,t)}async addWindow(e,t=null){l.default.args(e,"object",t,"function=")&&e&&l.default.args2("params.name",e.name,"string");const{err:r,response:n}=await this.routerClient.query("WorkspaceService.addWindow",e,(()=>{}));if(c.default.system.log(`WORKSPACE LIFECYCLE: Window added:WorkspaceClient.addWindow: Name (${e.name})`),t&&t(r,n),!t&&r)throw r;return n}removeWindow(e,t=Function.prototype){l.default.args(e,"object",t,"function=")&&l.default.args2("params.name",e.name,"string"),this.routerClient.query("WorkspaceService.removeWindow",e,((r,n)=>{if(r)return c.default.system.error(r);c.default.system.log(`WORKSPACE LIFECYCLE:WorkspaceClient.removeWindow:Window removed: Name (${e.name})`),t(r,n?n.data:null)}))}autoArrange(e,t=Function.prototype){l.default.args(e,"object",t,"function="),e=e||{},u.getMyWindowIdentifier((e=>{this.routerClient.query("DockingService.autoArrange",{windowIdentifier:e},t)}))}minimizeAll(e,t=Function.prototype){l.default.args(e,"object",t,"function="),e=e||{monitor:"all"},u.getMyWindowIdentifier((r=>{e.windowIdentifier||(e.windowIdentifier=r),this.routerClient.query("WorkspaceService.minimizeAll",e,t)}))}bringWindowsToFront(e,t=Function.prototype){l.default.args(e,"object",t,"function="),e=e||{monitor:"all"},u.getMyWindowIdentifier((r=>{e.windowIdentifier||(e.windowIdentifier=r),this.routerClient.query("WorkspaceService.bringWindowsToFront",e,t)}))}async getActiveWorkspace(e){if(c.default.system.debug("WorkspaceClient.getActiveWorkspace"),this.activeWorkspace)return c.default.system.info("WorkspaceClient.getActiveWorkspace - returning from cache"),e&&e(null,{data:this.activeWorkspace}),{data:this.activeWorkspace};const{response:t}=await this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE,{});if(this.activeWorkspace=t.data,t.data.err)throw e&&e(t.data.err),new Error(t.data.err);return e&&e(null,{data:t.data??{}}),{data:t.data}}getWorkspaces(e){return l.default.args(e,"function="),c.default.system.debug("WorkspaceClient.getWorkspaces"),new Promise((async(t,r)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_WORKSPACES,{},((n,i)=>{this._serviceResponseHandler(n,i,t,r,e)}))}))}getWorkspaceActions(e){return e(null,d.WORKSPACE.API_CHANNELS)}getWorkspaceNames(e){return l.default.args(e,"function="),c.default.system.debug("WorkspaceClient.getWorkspaceNames"),this.workspaces?(c.default.system.info("WorkspaceClient.getWorkspaceNames - returning from cache"),Promise.resolve(this.workspaces)):new Promise((async(t,r)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_WORKSPACE_NAMES,{},((n,i)=>{this._serviceResponseHandler(n,i,t,r,e)}))}))}setWorkspaceOrder(e,t){const{workspaces:r}=e;return l.default.args(t,"function"),c.default.system.debug("WorkspaceClient.setWorkspaceOrder",e),new Promise(((n,i)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.SET_WORKSPACE_ORDER,r||e,((e,r)=>{this._serviceResponseHandler(e,r,n,i,t)}))}))}remove(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&!e.name&&!e.workspace&&l.default.args2("params.name",e.name,"string"),c.default.system.debug("WorkspaceClient.remove",e),new Promise((async(r,n)=>{e.name||(e.name=e.workspace?.name,delete e.workspace);const i=(await this.getActiveWorkspace()).data;if(e.name===i.name){c.default.system.error(`APPLICATION LIFECYCLE: Cannot remove active workspace: WorkspaceClient.remove:attempt to remove active workspace name:${i.name}`);const e="Cannot remove active workspace";return this._serviceResponseHandler(e,null,r,n,t)}this.routerClient.query(d.WORKSPACE.API_CHANNELS.REMOVE,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}rename(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&l.default.args2("params.oldName",e.oldName,"string","params.newName",e.newName,"string"),c.default.system.debug("WorkspaceClient.rename",e),new Promise(((r,n)=>{if(!e.overwriteExisting&&this.workspaceExists(e.newName)){const e="Workspace Already Exists";return this._serviceResponseHandler(e,null,r,n,t)}this.routerClient.query(d.WORKSPACE.API_CHANNELS.RENAME,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}clone(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&l.default.args2("params.name",e.name,"string"),delete e.name,e.newName||(e.newName=`${e.name}_clone`),e.removeOldWorkspace=!1,this.rename({removeOldWorkspace:!1,newName:e.newName,oldName:e.name},t)}save(e=Function.prototype){return c.default.system.debug("WorkspaceClient.save"),new Promise(((t,r)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.SAVE,{},((n,i)=>{this._serviceResponseHandler(n,i,t,r,e)}))}))}workspaceExists(e){return l.default.args(e,"string"),this.workspaces.indexOf(e)>-1}saveAs(e,t=Function.prototype){return l.default.args(e,"object",t,"function=")&&l.default.args2("params.name",e.name,"string"),c.default.system.debug("WorkspaceClient.saveAs",e),new Promise(((r,n)=>{if(!e.force&&this.workspaceExists(e.name))return this._serviceResponseHandler("Workspace Already Exists",null,r,n,t);this.routerClient.query(d.WORKSPACE.API_CHANNELS.SAVE_AS,e,((e,i)=>{this._serviceResponseHandler(e,i,r,n,t)}))}))}async switchTo(e,t=Function.prototype){l.default.args(e,"object",t,"function")&&l.default.args2("params.name",e.name,"string"),c.default.system.debug("WorkspaceClient.switchTo",e);const r=await this.routerClient.query(d.WORKSPACE.API_CHANNELS.SWITCH_TO,e);if(r.err)throw t(r.err,null),new Error(r.err);return t(r),r}async _setWindowState(e){if(!this.activeWorkspace)throw"Workspace is not yet ready";if(!this.activeWorkspace.windows.includes(e.windowName))throw"Cannot set state for Window not in workspace";return c.default.system.debug("WorkspaceClient.setWindowData",e),this.routerClient.query(d.WORKSPACE.API_CHANNELS.SET_WINDOW_STATE,e)}async _getWindowState(e){return c.default.system.debug("WorkspaceClient.getWindowData",e),this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_WINDOW_STATE,e)}async isWorkspaceDirty(e=Function.prototype){l.default.args(e,"function"),c.default.system.debug("WorkspaceClient.isWorkspaceDirty");const{err:t,response:r}=await this.routerClient.query(d.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE_DIRTY,{},(()=>{}));return e(t,r),r.data}async createWorkspace(e,t,r=((e,t)=>{e&&(c.default.system.error(`Error creating workspace: ${e}`),c.default.system.info(`Result from create workspace: ${t}`))})){c.default.system.log(`WorkspaceClient: Creating Workspace Request for name "${e}"`);const n=(await this.routerClient.query(d.WORKSPACE.API_CHANNELS.NEW_WORKSPACE,{workspaceName:e})).response.data;!1!==t.switchAfterCreation&&await this.switchTo({name:n});const i={workspaceName:n};return r(null,i),i}export(e,t){return l.default.args(e,"object",t,"function")&&l.default.args2("params.workspaceName",e.workspaceName,"string"),c.default.system.debug("WorkspaceClient.export",e),new Promise(((r,n)=>{this.routerClient.query(d.WORKSPACE.API_CHANNELS.EXPORT,e,((i,o)=>{const s={};s[e.workspaceName]=o.data,this._serviceResponseHandler(i,{data:s},r,n,t)}))}))}async import(e,t){l.default.args(e,"object",t,"function=")&&l.default.args2("params.workspaceJSONDefinition",e.workspaceJSONDefinition,"object"),c.default.system.debug("WorkspaceClient.import",e);const r=(await this.routerClient.query(d.WORKSPACE.API_CHANNELS.IMPORT,e)).response.data;if(r&&r.err)throw t(r.err),new Error(r.err);return t&&t(null,r),r}exportToFile(e){c.default.system.info("workspaceClient.saveWorkspaceTemplateToConfigFile",e),l.default.args(e,"object")&&l.default.args2("params.workspaceTemplateDefinition",e.workspaceTemplateDefinition,"object");const{workspaceTemplateDefinition:t}=e;if("object"==typeof t){const e=Object.keys(t)[0];if(e&&t[e].templateDefinitionFlag){const r={workspaceTemplates:t};f.ConfigUtilInstance.promptAndSaveJSONToLocalFile(`workspaceConfig-${e}`,r)}else c.default.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile. Input is not a legal template")}else c.default.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile: Input is not a legal object")}async start(e){this.routerClient.subscribe(d.WORKSPACE.UPDATE_PUBSUB,((t,r)=>{c.default.system.debug(`${d.WORKSPACE.UPDATE_PUBSUB} response`,t,r),t?c.default.system.error(t):(this.activeWorkspace=r.data.activeWorkspace,this.workspaces=r.data.workspaces,e&&e())}))}}let m=new p({onReady:e=>{m.start(e)},name:"workspaceClient"});t.default=m},6192:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Globals=void 0,t.Globals="undefined"==typeof window?r.g:window},4971:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleton=void 0,t.singleton=(e,t)=>{const n=Symbol.for(`com.finsemble.singleton.${e}`);return Object.getOwnPropertySymbols(r.g).indexOf(n)>-1||(r.g[n]=new t),r.g[n]}},78379:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.MOVE_REASON=t.LAUNCHER_SERVICE=t.HEARTBEAT_TIMEOUT_CHANNEL=t.COMPONENT_STATE_STORAGE_TOPIC=t.WINDOW_SERVICE_REQUESTS=t.WORKSPACE=t.WINDOW=t.INTERRUPTIBLE_EVENTS=t.EVENT_INTERRUPT_CHANNEL=t.DOCKING=t.SERVICE_STOP_CHANNEL=t.SERVICE_START_CHANNEL=t.WINDOWSTATE=t.SERVICES_STATE_CHANNEL=t.CLIENT_SERVER_MAPPING=t.SERVICE_QUERY_READY_CHANNEL=t.SERVICE_CLOSED_CHANNEL=t.SERVICE_CLOSING_CHANNEL=t.SERVICE_READY_CHANNEL=t.SERVICE_INITIALIZING_CHANNEL=t.APPLICATION_STATE_CHANNEL=t.WRAPPERS=void 0,t.WRAPPERS={EVENTS:["title-changed","bringToFront","setBounds","alwaysOnTop","setOpacity"]},t.APPLICATION_STATE_CHANNEL="Finsemble.Application.State",t.SERVICE_INITIALIZING_CHANNEL="Finsemble.ServiceManager.serviceInitializing",t.SERVICE_READY_CHANNEL="Finsemble.ServiceManager.serviceReady",t.SERVICE_CLOSING_CHANNEL="Finsemble.ServiceManager.serviceClosing",t.SERVICE_CLOSED_CHANNEL="Finsemble.ServiceManager.serviceClosed",t.SERVICE_QUERY_READY_CHANNEL=e=>`Finsemble.ServiceManager.queryReady.${e}`,t.CLIENT_SERVER_MAPPING=e=>({authenticationClient:"authenticationService",configClient:"configService",distributedStoreClient:"dataStoreService",hotkeysClient:"hotkeysService",linkerClient:"linkerService",logger:"loggerService",searchClient:"searchService",storageClient:"storageService",windowClient:"windowService",workspaceClient:"workspaceService"}[e]),t.SERVICES_STATE_CHANNEL="Finsemble.State.Services",(r=t.WINDOWSTATE||(t.WINDOWSTATE={}))[r.NORMAL=0]="NORMAL",r[r.MINIMIZED_WAS_NORMAL=1]="MINIMIZED_WAS_NORMAL",r[r.MAXIMIZED=2]="MAXIMIZED",r[r.MINIMIZED_WAS_MAXIMIZED=3]="MINIMIZED_WAS_MAXIMIZED",r[r.TRANSITIONING=4]="TRANSITIONING",t.SERVICE_START_CHANNEL="Finsemble.Service.Start",t.SERVICE_STOP_CHANNEL="Finsemble.Service.Stop",t.DOCKING={GROUP_UPDATE:"DockingService.groupUpdate",WORKSPACE_GROUP_UPDATE:"Finsemble.WorkspaceService.groupUpdate",REQUEST_PUBLISH:"DockingService.requestGroupDataPublish"},t.EVENT_INTERRUPT_CHANNEL="Finsemble.Event.Interrupt",t.INTERRUPTIBLE_EVENTS=["close-requested","closed","close-complete","_container-close-handlers"],t.WINDOW={DELAYABLE_EVENTS:["close-requested","closed","close-complete","_container-close-handlers"],CANCELABLE_EVENTS:["close-requested"]},t.WORKSPACE={DELAYABLE_EVENTS:["load-requested","close-requested","save-requested"],CANCELABLE_EVENTS:["close-requested"],CLEAN_SHUTDOWN:"Finsemble.Workspace.cleanShutdown",UPDATE_PUBSUB:"Finsemble.WorkspaceService.update",STORAGE_TOPIC:"finsemble.workspace",CACHE_STORAGE_TOPIC:"finsemble.workspace.cache",ALL_WORKSPACES:"finsemble.allWorkspaces",ACTIVE_WORKSPACE:"activeWorkspace",LAST_USED_WORKSPACE_TOPIC:"finsemble",LAST_USED_WORKSPACE_NAME:"finsemble.lastUsedWorkspace.name",LAST_USED_WORKSPACE:"finsemble.lastUsedWorkspace",INITIAL_WORKSPACE_PREFERENCE:"finsemble.initialWorkspace",PUBLISH_REASONS:{INIT:"workspace:initialization",LOAD_DATA_RETRIEVED:"workspace:load:dataRetrieved",LOAD_FINISHED:"workspace:load:finished",WINDOW_REMOVED:"window:remove",WINDOW_ADDED:"window:add",LOAD_STARTED:"workspace:load:start",WORKSPACE_REMOVED:"Workspace:remove",WORKSPACE_RENAMED:"rename",SWITCHTO_TERMINATED:"workspace:switchTo:terminated",NEW_WORKSPACE:"new workspace",SAVE_AS:"APPLICATION LIFECYCLE:WORKSPACE LIFECYCLE:SaveAs:Workspace:Save As"},API_CHANNELS:{NEW_WORKSPACE:"Finsemble.Workspace.NewWorkspace",SAVE:"Finsemble.Workspace.Save",RENAME:"Finsemble.Workspace.Rename",SAVE_AS:"Finsemble.Workspace.SaveAs",SWITCH_TO:"Finsemble.Workspace.SwitchTo",IMPORT:"Finsemble.Workspace.Import",EXPORT:"Finsemble.Workspace.Export",REMOVE:"Finsemble.Workspace.Remove",SAVE_GLOBAL_DATA:"Finsemble.Workspace.SaveGlobalData",SAVE_VIEW_DATA:"Finsemble.Workspace.SaveViewData",GET_GLOBAL_DATA:"Finsemble.Workspace.GetGlobalData",GET_VIEW_DATA:"Finsemble.Workspace.GetViewData",GET_WORKSPACES:"Finsemble.Workspace.GetWorkspaces",GET_WORKSPACE_NAMES:"Finsemble.Workspace.GetWorkspaceNames",SET_WORKSPACE_ORDER:"Finsemble.Workspace.SetWorkspaceOrder",GET_ACTIVE_WORKSPACE:"Finsemble.Workspace.GetActiveWorkspace",GET_ACTIVE_WORKSPACE_DIRTY:"Finsemble.Workspace.GetActiveWorkspaceDirty",GET_TEMPLATES:"Finsemble.Workspace.GetTemplates",IMPORT_TEMPLATE:"Finsemble.Workspace.ImportTemplate",EXPORT_TEMPLATE:"Finsemble.Workspace.ExportTemplate",REMOVE_TEMPLATE:"Finsemble.Workspace.RemoveTemplate",SET_WINDOW_STATE:"Finsemble.Workspace.SetWindowData",GET_WINDOW_STATE:"Finsemble.Workspace.GetWindowData",ADD_WINDOW:"WorkspaceService.addWindow",REMOVE_WINDOW:"WorkspaceService.removeWindow"},DEFAULT_WINDOW_PROPS:["name","componentType","windowType","alwaysOnTop","autoShow","minWidth","minHeight","maxWidth","maxHeight","resizable","maximizable","minimizable","opacity","windowState","left","top","width","height","right","bottom","defaultLeft","defaultTop","defaultWidth","defaultHeight","defaultRight","defaultBottom","monitorInfo","icon","cachedBounds","showTaskbarIcon","isEvergreen","compositeComponentData"],ADDITIONAL_WINDOW_PROPS:{WebWindow:["url","fullscreen","frame","backgroundColor","transparent","waitForPageLoad","affinity","appUUID"],NativeWindow:["path","alias","arguments","argumentsAsQueryString","isWPF"],StackedWindow:["childWindowIdentifiers","visibleWindowIdentifier","bounds"]}},t.WINDOW_SERVICE_REQUESTS={REMOTE_FOCUS:"WindowService.remoteFocus",SET_ALWAYS_ON_TOP:"WindowService-Request-setAlwaysOnTop",IS_ALWAYS_ON_TOP:"WindowService-Request-isAlwaysOnTop"},t.COMPONENT_STATE_STORAGE_TOPIC="finsemble.componentStateStorage",t.HEARTBEAT_TIMEOUT_CHANNEL="Finsemble.WindowService.HeartbeatTimeout",t.LAUNCHER_SERVICE={WINDOW_CLOSED:"LauncherService.WindowClosed"},t.MOVE_REASON={AERO_KEY:"aero_key",SYSTEM_RESTORED:"system_restored"}},13854:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FSBLDependencyManagerSingleton=t.FSBLDependencyManager=void 0;const i=r(5939),o=n(r(39319)),s=r(78379),a=n(r(5020)),u=n(r(72551));class l extends i.EventEmitter{constructor(e){super(),this.callback=e.callback,this.dependencies=e.dependencies,this.startupTimer=null,this.setStartupTimer=this.setStartupTimer.bind(this),this.clearStartupTimer=this.clearStartupTimer.bind(this)}clearStartupTimer(){this.startupTimer&&clearTimeout(this.startupTimer),delete this.startupTimer}setStartupTimer(){const e=this;this.startupTimer=+setTimeout((()=>{e.emit("timeout")}),1e4)}}function c(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}class d{constructor(){this.servicesAreAllOnline={},this.clientsAreAllOnline={},this.onlineClients=[],this.dependencies={},this.startupTimers={},this.startupTimerFired=!1,this.bindCorrectContext()}waitFor(e,t){const r=c();e.clients||(e.clients=[]),e.clients.length&&(e.clients=e.clients.map((e=>e.charAt(0).toLowerCase()+e.slice(1))));const n=new l({dependencies:e,callback:t});return n.setStartupTimer(),n.on("timeout",(()=>{this.onDependencyTimeout(n)})),this.dependencies[r]=n,this.checkDependencies(),n}onDependencyTimeout(e){const t=this.getOfflineClients();let r="APPLICATION LIFECYCLE:STARTUP:Dependency not online after 10 seconds.";t.length&&(r=`${r} Waiting for these clients: ${t.join(", ")}.`),e.emit("err",r)}checkDependencies(){for(const e in this.dependencies){const t=this.dependencies[e],{dependencies:r,callback:n}=t;(!r.clients.length||this.clientsAreAllOnline[e]||(this.clientsAreAllOnline[e]=this.checkClients(r.clients),this.clientsAreAllOnline[e]))&&(delete this.dependencies[e],t.clearStartupTimer(),n&&n())}}getOfflineClients(){let e=[];for(const t in this.dependencies){const{dependencies:r}=this.dependencies[t];e=e.concat(r.clients.filter((e=>!this.onlineClients.includes(e))))}return e.filter(((t,r)=>e.indexOf(t)===r))}checkClients(e){return e.every((e=>this.onlineClients.includes(e)))}setClientOnline(e){this.onlineClients.includes(e)||(this.onlineClients.push(e),this.checkDependencies())}getOnlineClients(){return this.onlineClients}bindCorrectContext(){this.checkDependencies=this.checkDependencies.bind(this),this.checkClients=this.checkClients.bind(this),this.getOfflineClients=this.getOfflineClients.bind(this),this.onDependencyTimeout=this.onDependencyTimeout.bind(this),this.waitFor=this.waitFor.bind(this)}}class f{constructor(){this.offlineServices=[],this.dependencies={},this.checkDependencies=this.checkDependencies.bind(this)}waitFor(e,t){u.default.system.debug("DependencyManager:waitFor",e),e.services||(e.services=[]);const r=c();this.dependencies[r]={dependencies:e,callback:t}}checkDependencies(){if(console.debug("checkDependencies",this.dependencies),Object.keys(this.dependencies))for(const e in this.dependencies){const{dependencies:t,callback:r}=this.dependencies[e];(u.default.system.debug("DependencyManager:checkDependency",t.services,this.offlineServices),!t.services.length||this.checkServices(t.services))&&(console.debug("checkDependencies callback"),delete this.dependencies[e],r&&r())}}checkServices(e){return e.every((e=>this.offlineServices.includes(e)))}setServiceOffline(e){u.default.system.debug("setServiceOffline",e),console.debug("setServiceOffline",e),this.offlineServices.push(e),this.checkDependencies()}}class h extends i.EventEmitter{constructor(){super(),this.startup=new d,this.shutdown=new f,this.RouterClient=o.default,this.AuthorizationCompleted=!1,this.bindCorrectContext(),this.onAuthorizationCompleted(this.startup.checkDependencies),o.default.onReady(this.listenForServices)}bindCorrectContext(){this.listenForServices=this.listenForServices.bind(this),this.onAuthorizationCompleted=this.onAuthorizationCompleted.bind(this)}setClientOnline(e){this.startup.setClientOnline(e)}onServiceStateChange(e){Object.keys(e).forEach((t=>{const{state:r}=e[t];"closed"===r&&this.shutdown.setServiceOffline(t)}))}listenForServices(){u.default.system.debug("DependencyManager:listenForServices before wait"),a.default.waitForBootStage("kernel","stageEntered",(()=>{u.default.system.debug("DependencyManager:listenForServices after wait"),this.RouterClient.subscribe(s.SERVICES_STATE_CHANNEL,((e,t)=>{u.default.system.debug("DependencyManager:listenForServices SERVICES_STATE_CHANNEL",t.data),this.onServiceStateChange(t.data)})),this.RouterClient.addListener(s.SERVICE_CLOSED_CHANNEL,((e,t)=>{u.default.system.debug("DependencyManager:listenForServices SERVICE_CLOSED_CHANNEL",t.data);const r={};r[t.data.name]={state:"closed"},this.onServiceStateChange(r)})),this.RouterClient.subscribe(s.APPLICATION_STATE_CHANNEL,((e,t)=>{switch(t.data.state){case"authenticated":case"ready":break;case"closing":this.shutdown.checkDependencies()}}))}))}onAuthorizationCompleted(e){this.AuthorizationCompleted?e():this.addListener("AuthorizationCompleted",e)}}t.FSBLDependencyManager=h,t.FSBLDependencyManagerSingleton=new h,t.default=t.FSBLDependencyManagerSingleton},24232:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.checkDeprecatedConfigs=t.isEqualIgnoringArrayOrder=t.sleep=t.checkIfBoundsAreEqual=t.removeKeys=t.toRecord=t.isStackedWindow=t.wrapWithTimeout=t.timeoutPromise=t.getRandomWindowName=t.getProp=t.composeRL=t.instrumentPromise=t.promisify=t.identity=t.isNumber=t.chunkArray=t.Timeout=t.mockLogger=t.capitalizeFirst=t.clone=t.isServiceInWindow=t.iAmAServiceWindow=t.guuid=void 0;const i=r(50586),o=n(r(80089)),s=n(r(75892)),a=n(r(47184)),u=n(r(65162)),l=r(33998),c=n(r(72551)),d=window;function f(e,t){if(Array.isArray(e))return e.slice();try{return JSON.parse(JSON.stringify(e))}catch(e){return t("clone error",e),e}}function h(e,t){return new Promise(((r,n)=>{const i=setTimeout((()=>{clearTimeout(i),n(t)}),e)}))}function p(e,t,r){return`${e}.${t}.${r}`}function m(e,t,r){const n=`${p(e.baseString,e.newPath,e.newValue)}`;c.default.system.deprecated(`${p(e.baseString,t,r)} has been deprecated in favor of ${n}`)}t.guuid=function(){return i.v4()},t.iAmAServiceWindow=function(){return!(!d.finsembleServices||!d.finsembleServices.length)},t.isServiceInWindow=function(e){return d.finsembleServices&&d.finsembleServices.find((t=>t.name===e))},t.clone=f,t.capitalizeFirst=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.mockLogger=new class{constructor({debug:e}={debug:!0}){e?(this.system=console,this.system.debug=console.log):this.system={warn:Function.prototype,debug:Function.prototype,log:Function.prototype,info:Function.prototype,error:console.error}}isLogMessage(){return!0}start(){}},t.Timeout=class{constructor(e,t){this.fired=!1,this.id=setTimeout((()=>{e(),this.fired=!0}),t),this.clear=this.clear.bind(this),this.didFire=this.didFire.bind(this)}clear(){this.fired||clearTimeout(this.id)}didFire(){return this.fired}},t.chunkArray=function(e,t){if(e<=0)throw new Error("Can't chunk array by number less than 0");return t.reduce(((r,n,i)=>{if(i%e==0){const n=[];for(let r=i;r<i+e;r++)r<t.length&&n.push(t[r]);r.push(n)}return r}),[])},t.isNumber=function(e){return!(!e||Number.isNaN(Number(e)))&&Number(e)},t.identity=function(e){return e},t.promisify=function(e,t){return function(){const r=Array.prototype.slice.call(arguments);return new Promise(((n,i)=>{r.push(((e,t)=>e?i(e):n(t))),e.apply(t,r)}))}},t.instrumentPromise=async(e,t,r)=>{const n=`${t} end`;return e(`${t} start`),r.then((()=>e(n)))},t.composeRL=(...e)=>e.reduce(((e,t)=>(...r)=>e(t(...r)))),t.getProp=function e(t,r,n){const i=Array.isArray(r)?r:r.split(".").filter((e=>e.length));return i.length?e(t[i.shift()],i,n):void 0===t?n:t},t.getRandomWindowName=function(e="RouterClient"){return`${e}-${i.v4()}`},t.timeoutPromise=h,t.wrapWithTimeout=function(e,t,r){return Promise.race([e,h(t,r)])},t.isStackedWindow=function(e){return e&&"StackedWindow"===(o.default(e,"windowIdentifier.windowType")||e.windowType)},t.toRecord=function(e,t){const r="string"==typeof e?t=>t[e]:e;return t.reduce(((e,t)=>(e[r(t)]=t,e)),{})},t.removeKeys=function(e,t){if(!e)return e;const r=Object.keys(e).filter((e=>!t.includes(e)));return s.default(e,r)},t.checkIfBoundsAreEqual=function(e,t){if(!e||!t)return!1;const r=["left","right","top","bottom","width","height"],n=s.default(e,r),i=s.default(t,r);return!!a.default(n,i)},t.sleep=function(e,t=!1){return new Promise(((r,n)=>{t?setTimeout((()=>{try{n("timeout expired")}catch{}}),e):setTimeout(r,e)}))},t.isEqualIgnoringArrayOrder=function(e,t){const r=f(e,Function.prototype),n=f(t,Function.prototype);return u.default(r,n,((e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return u.default(e.sort(),t.sort())}))},t.checkDeprecatedConfigs=function(e,t,r){const{baseString:n,oldPath:i,newPath:o,oldValue:s,newValue:a}=t;let u=l.ConfigUtilInstance.getDefault(e,p(n,o,a),null);return null===u&&(u=l.ConfigUtilInstance.getDefault(e,p(n,o,s),null),u?m(t,o,s):(u=l.ConfigUtilInstance.getDefault(e,p(n,i,a),null),u?m(t,i,a):(u=l.ConfigUtilInstance.getDefault(e,p(n,i,s),null),u?m(t,i,s):u=r))),u}},59459:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(r(39319)),u=o(r(78379));t.default=class{constructor(e,t){this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.listenerGuid=e.listenerGuid,u[this.sourceType.toUpperCase()]&&u[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),u[this.sourceType.toUpperCase()]&&u[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.queryMessage=t,this.guid=t.data.guid,this.internalHandler()}async internalHandler(){this.data=this.queryMessage.data.data,this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){this.allowDelay?(this.delayed=!0,this.queryMessage.sendQueryResponse(null,{delayed:!0})):this.done()}done(e){this.completed=!0,this.delayed?a.default.transmit(`Finsemble.Listener.Done.${this.guid}.${this.listenerGuid}`,{canceled:this.canceled,data:e}):this.queryMessage.sendQueryResponse(null,{canceled:this.canceled,data:e})}}},73014:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(39319)),o=n(r(72551)),s=n(r(57815)),a=n(r(73601)),u=r(24232);class l extends s.default{constructor(e){super(e),this.eventList=[],this.eventHandlerMap={},this.eventInternalHandlerMap={},this.remoteListenerEventMap={},this.waitList={},i.default.addListener(`Finsemble.RegisterInterruptibleEvent.${this.name}`,((e,t)=>{this.registerListener(t?.data.event,t?.data.listenerGuid)})),i.default.addListener(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,((e,t)=>{this.unregisterListener(t?.data.event,t?.data.listenerGuid)}))}registerListener(e,t){this.remoteListenerEventMap[e]||(this.remoteListenerEventMap[e]=[]),this.remoteListenerEventMap[e].push(t)}unregisterListener(e,t){this.remoteListenerEventMap[e]||o.default.system.warn("not found"),this.remoteListenerEventMap[e]=this.remoteListenerEventMap[e].filter((e=>e!==t))}awaitRemoteDelayer(e,t){return new Promise(((r,n)=>{const o=(s,a)=>{i.default.removeListener(`Finsemble.Listener.Done.${e}.${t}`,o),!0===a.data.canceled?n("canceled"):r(a.data.data)};this.waitList[e]=o,i.default.addListener(`Finsemble.Listener.Done.${e}.${t}`,o)}))}async queryRemoteListener(e,t,r,n){const o=`${window.name}_private_${Date.now()}_${Math.random()}`,s={event:e,guid:o,data:r},a=this.awaitRemoteDelayer(o,t);let{response:l}=await Promise.race([i.default.query(`Finsemble.Interrupt.${t}`,s,(()=>{})),u.sleep(n.initialQueryTimeout,!0)]).catch((()=>{throw i.default.removeListener(`Finsemble.Listener.Done.${o}.${t}`,this.waitList[o]),"eventHandler failed initial response"}));if(l.header.error)return;let c=!0;if(!0===l.data.delayed)try{return c=!1,await Promise.race([a,u.sleep(n.timeout,!0)])}catch(e){if("timeout expired"!==e)throw"event was canceled";c=!0}if(c&&i.default.removeListener(`Finsemble.Listener.Done.${o}.${t}`,this.waitList[o]),!0===l.data.canceled)throw"event was canceled";return l.data.data}async trigger(e,t=null,r={initialQueryTimeout:1e3,timeout:1e4}){o.default.verbose(`Triggering ${e} for ${this.name}`,t);const n=[];if(this.remoteListenerEventMap[e])for(let i of this.remoteListenerEventMap[e])n.push(this.queryRemoteListener(e,i,t,r));if(this.eventHandlerMap[e]){const i=[...this.eventHandlerMap[e]],o=[...this.eventGuidMap[e]];for(let s=0;s<i.length;s++){const u=i[s],l=o[s],c=new a.default({source:this.name,sourceType:this.sourceType,handler:u,event:e,data:t,options:r,guid:l});n.push(c.complete)}}try{return await Promise.all(n)}catch(e){if("eventHandler failed initial response"!==e)throw"event was canceled";console.error(e)}}addEventListener(e,t){if(!t)return console.error("no handler",e);if(o.default.system.debug("addEventListener:",e),this.eventHandlerMap[e]||(this.eventHandlerMap[e]=[],this.eventGuidMap[e]=[]),!this.eventHandlerMap[e].includes(t)){const r=`${window.name}_private_${Date.now()}_${Math.random()}`;this.eventHandlerMap[e].push(t),this.eventGuidMap[e].push(r)}}removeEventListener(e,t){if(o.default.system.debug("removeEventListener:",e),!this.eventHandlerMap[e])return o.default.system.warn("Trying to remove non-existent listener");let r=this.eventHandlerMap[e].indexOf(t);-1!==r&&(this.eventGuidMap[e][r],this.eventHandlerMap[e].splice(r,1),this.eventGuidMap[e].splice(r,1))}cleanup(){}}t.default=l},73601:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=o(r(78379));t.default=class{constructor(e){this.allowDelay=!1,this.delayed=!1,this.allowCancel=!1,this.canceled=!1,this.completed=!1,this.event=e.event,this.source=e.source,this.sourceType=e.sourceType,this.data=e.data,this.guid=e.guid,s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),s[this.sourceType.toUpperCase()]&&s[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.complete=new Promise(((e,t)=>{this.eventCanceled=t,this.eventComplete=e})),this.internalHandler()}async internalHandler(){this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){this.allowDelay?this.delayed=!0:this.done()}done(e){this.completed=!0,this.canceled?this.eventCanceled():this.eventComplete(e)}}},57815:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(39319)),o=n(r(72551)),s=n(r(59459));t.default=class{constructor(e){this.eventList=[],this.eventHandlerMap={},this.eventGuidMap={},this.name=e.name,this.sourceType=e.sourceType,window.addEventListener("beforeunload",(()=>{this.cleanup()}))}addListener(e,t){return this.addEventListener(e,t)}removeListener(e,t){return this.removeEventListener(e,t)}addEventListener(e,t){if(!t)return console.error("no handler",e);if(o.default.system.debug("addEventListener:",e),this.eventHandlerMap[e]||(this.eventHandlerMap[e]=[],this.eventGuidMap[e]=[]),!this.eventHandlerMap[e].includes(t)){const r=`${window.name}_public_${Date.now()}_${Math.random()}`;this.eventHandlerMap[e].push(t),this.eventGuidMap[e].push(r),i.default.transmit(`Finsemble.RegisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:r}),i.default.addResponder(`Finsemble.Interrupt.${r}`,((n,i)=>{new s.default({source:this.name,sourceType:this.sourceType,listenerGuid:r,handler:t,event:e},i)}))}}removeEventListener(e,t){if(o.default.system.debug("removeEventListener:",e),!this.eventHandlerMap[e])return o.default.system.warn("not found");let r=this.eventHandlerMap[e].indexOf(t);if(-1!==r){const t=this.eventGuidMap[e][r];this.eventHandlerMap[e].splice(r,1),this.eventGuidMap[e].splice(r,1),i.default.transmit(`Finsemble.UnregisterInterruptibleEvent.${window.name}`,{event:e,guid:t}),i.default.removeResponder(`Finsemble.Interrupt.${t}`)}}cleanup(){for(var e of Object.keys(this.eventHandlerMap))for(var t of this.eventHandlerMap[e])this.removeEventListener(e,t)}}},58275:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DeprecatedConfigUtilInstance=t.SINGLE_PATH_OPERATIONS=void 0;const a=s(r(72551)),u=o(r(76420));t.SINGLE_PATH_OPERATIONS=["setValue","removeProperty","logMessage"],t.DeprecatedConfigUtilInstance=new class{getChildPropertyValue(e,t,r){let n;if(t.includes("[")){let i=(t=t.replace("]","[")).split("[");if(3!==i.length)throw new Error(`"illegal array syntax ${t} within ${r} so skipping`);{let t=i[0],o=i[1];if(n=e[t][o],void 0===n)throw new Error(`"undefined array element ${t}[${o}] within ${r} so skipping`)}}else n=e[t];return n}setChildPropertyValue(e,t,r,n,i){let o;if(o="object"==typeof r&&n?u.clone(r):r,t.includes("[")){let r=(t=t.replace("]","[")).split("[");if(3!==r.length)throw new Error(`"illegal array syntax ${t} within ${i} so skipping`);{let t=r[0],n=r[1];if(void 0===e[t][n])throw new Error(`"undefined array element ${t}[${n}] within ${i} so skipping`);e[t][n]=o}}else e[t]=o}findConfigPropertyValue(e,t){let r,n,i;if(t)for(r=e,i=t.split("."),n=0;n<i.length&&(r=this.getChildPropertyValue(r,i[n],t),"object"==typeof r);n++);return n<i.length-1&&(r=void 0),a.default.system.debug("DeprecatedConfigUtil.findConfigParent",t,r),r}findConfigParent(e,t){let r=t.split("."),n=e;for(let e=0;e<r.length-1;e++)r[e].includes("[")||n[r[e]]||(n[r[e]]={}),n=this.getChildPropertyValue(n,r[e],t);return a.default.system.debug("DeprecatedConfigUtil.findConfigParent",t,n),n}getLastPathProperty(e){let t=e.split(".").pop();return a.default.system.debug("DeprecatedConfigUtil.getLastPathProperty",e,t),t}copyObjectProperties(e,t,r){let n;n="object"==typeof t&&r?u.clone(t):t,Object.assign(e,n)}systemLog(e){let t=a.default.system.warn;return"error"===e&&(t=a.default.system.error),t}moveConfigProperty(e,t){let r=this.findConfigPropertyValue(e,t.oldProperty);if(void 0!==r){let n=this.findConfigParent(e,t.newProperty),i=this.getLastPathProperty(t.newProperty);t.addToExistingObject&&"object"==typeof n[i]&&!Array.isArray(n[i])?this.copyObjectProperties(n[i],r,t.clone):this.setChildPropertyValue(n,i,r,t.clone,t.newProperty),this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config ${t.oldProperty} was found and updated to ${t.newProperty}`),t.removeOld&&(delete this.findConfigParent(e,t.oldProperty)[this.getLastPathProperty(t.oldProperty)],a.default.system.log(`"DeprecatedConfig: ${t.oldProperty} removed`))}else a.default.system.warn(`"DeprecatedConfig: ${t.oldProperty} not found so skipped`,t)}setPropertyValue(e,t){let r=this.findConfigPropertyValue(e,t.property);t.ifOldValue&&t.ifOldValue!==r||(this.findConfigParent(e,t.property)[this.getLastPathProperty(t.property)]=t.newValue,this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config value for ${t.property} set to ${t.newValue}`))}removeProperty(e,t){let r=this.findConfigParent(e,t.property),n=this.getLastPathProperty(t.property);void 0!==r[n]&&(delete r[n],this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config property ${t.property} removed`))}getWildCardListItems(e,t){let r=[],n=e;if(t.includes("*")){let e=t.split(".");for(let t=0;t<e.length;t++){if("*"===e[t]){"object"==typeof n&&(r=Object.keys(n));break}if(n=n[e[t]],"object"!=typeof n)break}}return r}wildCardMismatch(e,t){let r,n=e.indexOf("*"),i=e.indexOf("*");return r=-1!==n&&e.substring(0,n)!==t.substring(0,i),r}displayDeprecationMessage(e,t){null!=this.findConfigPropertyValue(e,t.property)&&this.systemLog(t.userMessageType)(`${t.versionDeprecated} deprecated config found for ${t.property}. ${t.userMessage}`)}processDeprecatedProperty(e,r,n){try{let i;if(void 0===n.when||n.when[e])if(n.set)if(Array.isArray(n.set)){let t=n.set;delete n.set;for(let i=0;i<t.length;i++){let o=Object.keys(t[i]);for(let e=0;e<o.length;e++)n[o[e]]=t[i][o[e]];this.processDeprecatedProperty(e,r,n)}}else a.default.system.log("DeprecatedConfigUtil.processDeprecatedProperty skipping illegal set operation",n);else if(t.SINGLE_PATH_OPERATIONS.includes(n.operation))if(i=this.getWildCardListItems(r,n.property),0===i.length)switch(n.operation){case"setValue":a.default.system.debug(`DeprecatedConfigUtil.setValue for property ${n.property}`,n),this.setPropertyValue(r,n);break;case"removeProperty":a.default.system.debug(`DeprecatedConfigUtil.removeProperty for ${n.property}`,n),this.removeProperty(r,n);break;case"logMessage":a.default.system.debug(`DeprecatedConfigUtil.logMessageOnly for ${n.property}`,n),this.displayDeprecationMessage(r,n)}else{let t,o=n.property.slice();for(;t=i.pop();)n.property=o.replace(".*.",`.${t}.`),this.processDeprecatedProperty(e,r,n)}else if("moveProperty"===n.operation)if(this.wildCardMismatch(n.oldProperty,n.newProperty))a.default.system.warn(`DeprecatedConfig: wildCards are mismatched for ${n.oldProperty} and ${n.newProperty} so ignoring`,n);else if(i=this.getWildCardListItems(r,n.newProperty),0===i.length)a.default.system.debug(`DeprecatedConfigUtil.moveProperty from ${n.oldProperty} to ${n.newProperty}`,n),this.moveConfigProperty(r,n);else{let t,o=n.oldProperty.slice(),s=n.newProperty.slice();for(;t=i.pop();)n.oldProperty=o.replace(".*.",`.${t}.`),n.newProperty=s.replace(".*.",`.${t}.`),this.processDeprecatedProperty(e,r,n)}else a.default.system.warn("DeprecatedConfigUtil.processDeprecatedProperty skipping unknown operation",n);else a.default.system.log("DeprecatedConfigUtil.processDeprecatedProperty skipping item because wrong context",n)}catch(e){a.default.system.error(`DeprecatedConfig: error caught: ${e}`,n)}}modifyConfigBasedOnDeprecatedDefinitions(e,t){if(Array.isArray(t.finsemble.deprecatedConfig)){let r=t.finsemble.deprecatedConfig;for(let n=0;n<r.length;n++)a.default.system.debug("DeprecatedConfigUtil.modifyConfigBasedOnDeprecatedDefinitions processing",e,r[n]),this.processDeprecatedProperty(e,t,r[n])}return!0}}},82369:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(72551)),o=r(51742),s={activeTransports:{},liveTransport:null,addTransport(e,t){this.activeTransports[e]=t,i.default.system.log(`RouterTransport ${e} added to activeTransports`)},getActiveTransports(e){const t=[];function r(e){-1===t.indexOf(e)&&t.push(e)}return o.System.InterApplicationBus&&r("IPCBus"),r("FinsembleTransport"),SharedWorker&&r("SharedWorker"),r(e.sameDomainTransport),r(e.crossDomainTransport),i.default.system.log("getActiveTransports",t),t},getTransport:(e,t,r,n,i)=>new Promise(((o,a)=>{const u=s.activeTransports[t];u?s.liveTransport=new u(e,r,n,i,(e=>{o(e)})):a(`unknown router transport name: ${t}`)})),close(){s.liveTransport&&(s.liveTransport.close(),s.liveTransport=null)}},a=function(e,t,r,n,o){let s;const a=this;this.send=function(e,t){1===arguments.length?(t=arguments[0],e=null):(e=arguments[0],t=arguments[1]),i.default.system.verbose("SharedWorkerTransport Outgoing Transport",t);try{s.port.postMessage([e,t])}catch(e){i.default.system.error(`SharedWorkerTransport: post message failed: ${JSON.stringify(e)}`,"Probable cause is sending illegal data type (e.g. function).")}},this.identifier=function(){return"SharedWorker"};const u=e.transportSettings.SharedWorker&&e.transportSettings.SharedWorker.workerPath?e.transportSettings.SharedWorker.workerPath:`${e.routerDomainRoot}/common/routerSharedWorker.js`;i.default.system.log(`SharedWorker Transport Initializing for ${r} using ${u}`),console.log(`SharedWorker Transport Initializing for ${r} using ${u}`),s=new SharedWorker(u,{name:"Finsemble",credentials:"include"}),s.port.onmessage=function(e){const r=e.data[0],n=e.data[1],o={transportID:a.identifier(),port:r};i.default.system.verbose("SharedWorkerTransport Incoming Transport",o,"Message",n),t(o,n)},s.onerror=function(e){i.default.system.error(`SharedWorkerTransport Transport Error${JSON.stringify(e)}`)},s.port.start(),"RouterService"===r&&s.port.postMessage({data:"connect",source:"RouterService"}),this.close=()=>{s.port.close()},o(this)},u=function(e,t,r,n,s){const{uuid:a}=o.System.Application.getCurrent(),u=this;this.send=function(e,t){let r;1===arguments.length?(r=n,t=arguments[0]):(r=e.name,t=arguments[1]),i.default.system.verbose("IPCTransport Outgoing Transport",a,r,"Message",t),o.System.InterApplicationBus.publish(r,t,(()=>{}),(()=>{}))},this.identifier=function(){return"IPCBus"},i.default.system.log(`IPCBus Transport Initializing for ${r}`),console.log(`IPCBus Transport Initializing for ${r}`);const l=o.System.InterApplicationBus.subscribe("*",r,(function(e,r){const n={transportID:u.identifier(),senderUuid:r,name:e.header.origin};i.default.system.verbose("IPCTransport Incoming Transport",n,"Message",e),t(n,e)}),(()=>{}),(function(e){i.default.system.error(`IPCBus Subscribe Failure: ${e}`)}));this.close=()=>{o.System.InterApplicationBus.unsubscribe(l)},s(this)},l=function(e,t,r,n,o){const s=`${e?.transportSettings?.FinsembleTransport?.serverAddress??e?.transportSettings?.serverAddress??"ws://127.0.0.1:3376"}/router`,a=this;let u;function l(){i.default.system.error(`FinsembleTransport Connection Timeout for ${r}`),o(a)}function c(){i.default.system.log(`FinsembleTransport Transport Initializing for ${r} using ${s}`),console.log(`FinsembleTransport Transport Initializing for ${r} using ${s}`),s.startsWith("ws:")||s.startsWith("wss:")||console.error(`Illegal WebSocket address "${s}" (Missing ws:// or wss:// ?)`),u=new WebSocket(s);const e=setTimeout(l,3e3);u.addEventListener("open",(()=>{clearTimeout(e),i.default.system.log("FinsembleTransport Connected to Server"),console.log("FinsembleTransport Connected to Server"),u.addEventListener("message",(e=>{const n=JSON.parse(e.data);("RouterService"===r&&"ROUTER_SERVICE"==n.dest||r===n.message.client)&&function(e){const r={transportID:a.identifier(),client:e.clientMessage.header.origin};i.default.system.verbose("FinsembleTransport Incoming Transport",r,"Message",e),t(r,e.clientMessage)}(n.message)})),o(a)}))}this.send=function(e,t){let r,n;1===arguments.length?(r="ROUTER_SERVICE",n={clientMessage:t=arguments[0]}):(r="ROUTER_CLIENT",t=arguments[1],n={client:e.client,clientMessage:t}),i.default.system.verbose("FinsembleTransport Outgoing Transport",r,"NewMessage",n),u.readyState===WebSocket.OPEN&&u.send(JSON.stringify({dest:r,message:n})),u.readyState===WebSocket.CONNECTING&&u.addEventListener("open",(()=>{u.send(JSON.stringify({dest:r,message:n}))})),u.readyState===WebSocket.CLOSED&&(c(),u.addEventListener("open",(()=>{u.send(JSON.stringify({dest:r,message:n}))}))),u.readyState===WebSocket.CLOSING&&(u.onclose=()=>{c(),u.addEventListener("open",(()=>{u.send(JSON.stringify({dest:r,message:n}))}))})},this.identifier=function(){return"FinsembleTransport"},this.close=()=>{u.close()},c()};s.addTransport("SharedWorker",a),s.addTransport("IPCBus",u),s.addTransport("FinsembleTransport",l),t.default=s},95834:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SchemaUtilInstance=void 0;const i=n(r(72551)),o=r(33998),s=n(r(98903)),a="%&%",u="%%";t.SchemaUtilInstance=new class{constructor(){this.generatedDocLines=[],this.knownPropertiesMap={},this.previousLevel=0}formatValidationErrors(e){return e.map((e=>`In '${e.dataPath}', error: '${e.message}', with params '${JSON.stringify(e.params)}'`))}schemaValidate(e,t,r,n){let o=!1;try{var s=e.getSchema(r);s(n)?(console.log("JSON Schema Validation: No Errors"),i.default.system.log("JSON Schema Validation: Done With No Errors"),o=!0):i.default.system.error("forceObjectsToLogger","JSON Schema Validation Errors",this.formatValidationErrors(s.errors),"Details",s.errors,"manifest",n,"schema",t)}catch(e){console.log("schemaValidate catch: ",e,t,n),i.default.system.error("forceObjectsToLogger","schemaValidate catch",e,t,n)}return o}async validateConfig(e,t){console.log("JSON Schema Validation: validateConfig",t,e),i.default.system.debug("forceObjectsToLogger","JSON Schema Validation: validateConfig",t,e);let r=null,n=!1,a={allErrors:!0,verbose:!0,useDefaults:!1};if(this.finsembleSchema&&this.ajv)n=!0;else try{this.finsembleSchema=await o.ConfigUtilInstance.getFile(e.finsemble.configSchemaURL,(e=>{e&&console.error(`getFile error: ${e}`)})),this.ajv=new s.default(a),this.ajv.addSchema(this.finsembleSchema,"Finsemble"),n=!0}catch(e){i.default.system.error(`validateConfig: Error thrown reading or adding schema: ${e}`)}return n?(i.default.system.debug("ConfigService: schema read",this.finsembleSchema),this.schemaValidate(this.ajv,this.finsembleSchema,t,e)||(r="Failure validating config against schema")):(i.default.system.error("Failure reading config schema. Confirm the schema URL configured in finsemble.configSchemaURL is correct and the file contains a valid JSON schema."),r="Failure reading config schema"),r}setDefaultForForOneProperty(e,t,r){i.default.system.debug(`setDefaultForForOneProperty: ${t}=${r}`);let n=null,o=e,s=t.split(u);for(let e=1;e<s.length-1;e++){let t=s[e];if(t.includes(a)){let e=t.split(a),r=e[0],n=e[1];o=o[r][n]}else o[t]||(o[t]={}),o=o[t]}let l=s[s.length-1];n=o[l],void 0===n&&(o[l]=r,i.default.system.debug(`config-default-set property: path=${t}, originalPropertyValue=${n} defaultValue=${r},`))}getAdditionalProperties(e,t){i.default.system.debug(`getAdditionalProperties for ${t}`);let r=e,n=t.split(u);for(let e=1;e<n.length;e++){let t=n[e];r[t]||(r[t]={}),r=r[t]}let o=Object.keys(r),s=[];for(let e of o){let r=`${t}%%${e}`;this.knownPropertiesMap[r]||s.push(e)}return i.default.system.debug(`getAdditionalProperties-additionalProperties for ${t}`,s,o),s}getLengthOfArrayInConfig(e,t){i.default.system.debug(`getLengthOfArrayInConfig for ${t}`);let r=0,n=e,o=t.split(u);for(let e=1;e<o.length;e++){let t=o[e];if(t.includes(a)){let e=t.split(a),r=e[0],i=e[1];n=n[r][i]}else n=n[t];if(!n)break}return n&&Array.isArray(n)&&(r=n.length,i.default.system.debug(`getLengthOfArrayInConfig value is ${r} for path=${t}`,n)),r}recursiveWalkerForDefaults(e,t,r,n,o,s){if(i.default.system.verbose(`recursiveWalkerForDefaults: level ${s} path=${o} default=${r}`),r instanceof Object&&"forceDefaults"in r&&(t=r.forceDefaults),r.default&&t&&this.setDefaultForForOneProperty(e,o,r.default),++s>=50)i.default.system.warn(`recursiveWalkerForDefaults stopped due to excessive schema depth although could be a valid circular dependency: level ${s} path=${o} default=${r}`);else{if(r.$ref){let i=r.$ref.replace("#/definitions/","");this.recursiveWalkerForDefaults(e,t,this.finsembleSchema.definitions[i],n,`${o}`,--s)}if(r.items){"array"===r.type||Array.isArray(r.type)||i.default.system.error(`recursiveWalkerForDefaults expected items of type array for ${o}`,r);let a=this.getLengthOfArrayInConfig(e,o);for(let u=0;u<a;u++){let a=`${o}%&%${u}`;i.default.system.debug(`processing items for ${a}`,r.items),this.recursiveWalkerForDefaults(e,t,r.items,n,`${a}`,s)}}if(r.properties){let i=Object.keys(r.properties);for(let a of i){let i=`${o}%%${a}`;a!=n&&"object"==typeof r.properties[a]&&(this.knownPropertiesMap[i]=!0,this.recursiveWalkerForDefaults(e,t,r.properties[a],a,`${i}`,s))}}if(r.additionalProperties){let a=this.getAdditionalProperties(e,o);for(let u=0;u<a.length;u++){let l=`${o}%%${a[u]}`;i.default.system.debug(`processing additionalProperties for ${l}`,r.additionalProperties),this.recursiveWalkerForDefaults(e,t,r.additionalProperties,n,`${l}`,s)}}}--s}async initializeSchema(e){let t=!0;return this.finsembleSchema||(this.finsembleSchema=await o.ConfigUtilInstance.getFile(e)),this.finsembleSchema||(i.default.system.error("Failure reading config schema. Confirm the schema URL configured in finsemble.configSchemaURL is correct and the file contains a valid JSON schema."),t=!1),t}async walkSchemaAndSetConfigDefaults(e){i.default.system.debug("walkSchemaAndSetConfigDefaults Starting"),console.log("walkSchemaAndSetConfigDefaults",e),await this.initializeSchema(e.finsemble.configSchemaURL)?this.recursiveWalkerForDefaults(e,!0,this.finsembleSchema.definitions.ManifestSubschema,"ManifestSubschema","",0):i.default.system.error("Failure to initialize schema so config defaults not initialized."),i.default.system.debug("walkSchemaAndSetConfigDefaults Done")}}},51742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.System=void 0;const n=r(16925);class i{constructor(e,t,r){return new fin.desktop.Window(e,t)}static get getCurrent(){return fin.desktop.Window.getCurrent}static get wrap(){return fin.desktop.Window.wrap}}class o{constructor(e,t,r){t&&t()}static getCurrent(){const{windowName:e}=n.Startup.getInstance().getStartupData();return{name:e,uuid:`${e}-uuid`,getOptions:e=>{e&&e({})},addEventListener:()=>{},updateOptions:()=>{},close:()=>{},startMovingWindow:()=>{},stopMovingWindow:()=>{},isShowing:()=>{},bringToFront:()=>{},show:()=>{},hide:()=>{},setTaskbarIcon:()=>{}}}static wrap(){return{}}}class s{constructor(e,t,r){return new fin.desktop.Application(e,t)}static get getCurrent(){return fin.desktop.Application.getCurrent}static get wrap(){return fin.desktop.Application.wrap}}class a{constructor(e){new fin.desktop.Notification(e)}}class u{constructor(){return new fin.desktop.System.Clipboard}static get writeText(){return fin.desktop.System.Clipboard.writeText}static get writeHTML(){return fin.desktop.System.Clipboard.writeHTML}static get writeRTF(){return fin.desktop.System.Clipboard.writeRTF}static get readText(){return fin.desktop.System.Clipboard.readText}static get readHTML(){return fin.desktop.System.Clipboard.readHTML}static get readRTF(){return fin.desktop.System.Clipboard.readRTF}}class l{static isFreestanding(){return"undefined"==typeof fin}static get Application(){return s}static get Window(){return l.isFreestanding()?o:i}static get Notification(){return a}static get Clipboard(){return u}static async getMousePosition(e=Function.prototype){return new Promise(((t,r)=>{fin.desktop.System.getMousePosition((r=>{(r.left||0===r.left)&&(r.x=r.left),(r.top||0===r.top)&&(r.y=r.top),e(null,r),t(r)}),(t=>{e(t,null),r(t)}))}))}static getSDServerInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getSDServerInfo((r=>{t(r),e(r)}))}))}static getMonitorInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getMonitorInfo((r=>{t(r),e(r)}))}))}static container(){return"undefined"==typeof fin?"freestanding":fin.container?fin.container:"FEA"}static isBrowserView(){return!l.isFreestanding()&&fin.isBrowserView()}static getViewId(){return fin.getViewId()}static hasBrowserView(){return!l.isFreestanding()&&fin.hasBrowserView()}static get fin(){return fin||{}}static ready(e){return new Promise((t=>{fin.desktop.main((()=>{e&&e(),t()}))}))}static getHostSpecs(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getHostSpecs((r=>{t(r),e(r)}))}))}static get InterApplicationBus(){return fin.desktop.InterApplicationBus}static get launchExternalProcess(){return fin.desktop.System.launchExternalProcess}static get terminateExternalProcess(){return fin.desktop.System.terminateExternalProcess}static get getAllApplications(){return fin.desktop.System.getAllApplications}static get exit(){return fin.desktop.System.exit}static get clearCache(){return fin.desktop.System.clearCache}static get showDeveloperTools(){return fin.desktop.System.showDeveloperTools}static get getRuntimeInfo(){return fin.desktop.System.getRuntimeInfo}static get addEventListener(){return l.isFreestanding()?window.addEventListener:fin.desktop.System.addEventListener}static get addSelectClientCertificateListener(){return fin.desktop.System.addSelectClientCertificateListener}static get addCertificateErrorListener(){return fin.desktop.System.addCertificateErrorListener}static get getVersion(){return fin.desktop.System.getVersion}static get getUpdateAvailable(){return fin.desktop.System.getUpdateAvailable}static get openUrlWithBrowser(){return fin.desktop.System.openUrlWithBrowser}static get getAllWindows(){return fin.desktop.System.getAllWindows}static get getProcessList(){return fin.desktop.System.getProcessList}static get getProtocolString(){return fin.desktop.System.getProtocolString}static get hideSplashScreen(){return fin.desktop.System.hideSplashScreen}static startupApplicationHandshake(){fin.desktop.System.startupApplicationHandshake&&fin.desktop.System.startupApplicationHandshake()}static closeApplication(e,t=Function.prototype){return new Promise((r=>{let n,i=!1;const o=()=>{i||(console.log("Attempting to terminate",e.uuid),e.terminate((()=>{t(),r()}),(()=>{i||(i=!0,clearInterval(n),console.log("force closing ",e.uuid),e.terminate())})))};n=setInterval(o,2e3),console.log("closing ",e.uuid),e.close(!1,(()=>{console.log("app.close: successfully closed",e.uuid),i=!0,clearInterval(n),t(),r()}),o)}))}}t.System=l},5020:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(r(39319)),o=n(r(72551)),s=r(56188),a=r(33509),u=r(95269),l=new class{publishBootStatus(e,t,r){console.log("publishStartingStatus",e,r),o.default.system.debug("publishBootStatus",e,t,r),i.default.publish(u.statusChannel(e),{name:e,type:t,state:r})}waitForBootStage(e,t,r=Function.prototype){return new Promise(((n,u)=>{o.default.system.debug("SystemManagerClient.waitForBootStage entry",e,t);const l=s.ALL_BOOT_STAGES.indexOf(e);"microkernel"===e&&"stageEntered"===t&&o.default.system.error("Cannot wait on `stageEntered` for microkernel because router isn't up yet. So will instead wait for microkernal stage complete.");const c=i.default.subscribe(a.STAGE_CHANNEL,((a,d)=>{if(o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data.stage,c),a)o.default.system.error("SystemManagerClient.waitForBootStage subscribe error",a),r(a),u(a);else if(-1===l)a="illegal stage argument",o.default.system.debug("SystemManagerClient.waitForBootStage subscribe error",a,e),r(a),u(a);else{const a=s.ALL_BOOT_STAGES.indexOf(d.data.stage);o.default.system.debug("SystemManagerClient.waitForBootStage new stage",d.data,c),"stageEntered"===t&&a+1>=l?(o.default.system.debug("SystemManagerClient.waitForBootStage stageEntered",e,c,r.name),r(),n(),i.default.unsubscribe(c)):"stageCompleted"===t&&a>=l?(o.default.system.debug("SystemManagerClient.waitForBootStage completed",e,c),r(),n(),i.default.unsubscribe(c)):o.default.system.debug(`SystemManagerClient.waitForBootStage else currentStageIndex=${a} stageIndex=${l} `,a,l,e,c)}}))}))}waitForStartup(e,t=Function.prototype){return new Promise(((r,n)=>{o.default.system.debug(`SystemManagerClient.waitForStartup.${e}`,e);const s=i.default.subscribe(u.statusChannel(e),((a,u)=>{o.default.system.debug("SystemManagerClient.waitForStartup subscribe",e,a,u),a?(o.default.system.error("SystemManagerClient.waitForStartup subscribe error",a),t(a),n()):u.data.name===e&&"completed"===u.data.state&&(o.default.system.debug("SystemManagerClient.waitForStartup completed",e),t(),r(),i.default.unsubscribe(s))}))}))}publishCheckpointState(e,t,r){console.log("publishCheckpoint",e,t,r,u.checkpointChannel(e,t)),o.default.system.debug("publishCheckpoint",e,t,r,u.checkpointChannel(e,t)),i.default.publish(u.checkpointChannel(e,t),{windowName:e,checkpointName:t,state:r})}showSystemLog(){o.default.system.debug("SystemManagerClient.showSystemLog"),i.default.transmit(a.SHOW_SYSLOG_CHANNEL,!0)}systemLog(e,t){o.default.system.debug("SystemManagerClient.systemLog",e,t),i.default.transmit(a.SYSLOG_CHANNEL,{params:e,logMessage:t})}};t.default=l},76420:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.windowNameFromRouterHeader=t.getWindowType=t.isWindows=t.adjustBoundsToBeOnMonitor=t.isOnAMonitor=t.getNewBoundsWhenMovedToMonitor=t.openSharedData=t.injectJS=t.guuid=t.camelCase=t.getMyWindowIdentifier=t.getMonitorByDescriptor=t.windowOnMonitor=t.getMonitorFromCommand=t.getMonitor=t.getWhichMonitor=t.findMonitor=t.getWindowDescriptor=t.getFinWindow=t.getMonitorFromWindow=t.getMonitorFromXY=t.getAllMonitors=t.crossDomain=t.isPercentage=t.castToPromise=t.getContainerVersion=t.clone=t.Monitors=void 0;const i=n(r(36589)),o=r(51742),s=n(r(93802)),a=n(r(72551));function u(e,t={}){if(null===e||"object"!=typeof e)return e;if(e.constructor==Date||e.constructor==RegExp||e.constructor==Function||e.constructor==String||e.constructor==Number||e.constructor==Boolean)return new e.constructor(e);t=t||new e.constructor;for(const r in e)t[r]=void 0===t[r]?u(e[r],null):t[r];return t}function l(e,r){const n=Number.isFinite(e.x)?e.x:e.defaultLeft,i=Number.isFinite(e.y)?e.y:e.defaultTop,o=n+e.defaultWidth,s=i+e.defaultHeight;return new Promise(((e,l)=>{t.Monitors.getMonitorFromScaledXY(n,i,(c=>{if(!c)return a.default.system.debug("getMonitorFromWindow - top-left is off screen, trying bottom right"),void t.Monitors.getMonitorFromScaledXY(o,s,(o=>{if(!o)return a.default.system.debug("getMonitorFromWindow - bottom-right is off screen, getting primary"),void t.Monitors.getAllMonitors((t=>{t[0]?(r&&r(t[0]),e(t[0])):(l(new Error("Cannot find monitor for window.")),r&&r(null))}));o=u(o);const{monitorRect:s}=o;(s.left<n||s.right<i)&&(o.straddling=!0),r&&r(o),e(o)}));c=u(c);const{monitorRect:d}=c;(d.right>o||d.bottom>s)&&(c.straddling=!0),r&&r(c),e(c)}))}))}function c(e,t){return new Promise(((r,n)=>{const i=o.System.Window.getCurrent();i.getOptions((s=>{if(e&&e.windowName){e.uuid||(e.uuid=s.uuid);const i=o.System.Window.wrap(e.uuid,e.windowName);i.getInfo((()=>{t&&t(i),r(i)}),(()=>{t&&t(null),n(`Window ${e.windowName} not found. UUID: ${e.uuid}`),console.debug(`util.getFinWindow: Window ${e.windowName} not found`)}))}else if(e&&e.componentType)if(void 0!==window.LauncherService){const i=window.LauncherService.componentFinder(e);i?(r(i),t&&t(i)):(n(`util.getFinWindow: Component ${e.componentType} not found.`),t&&t(null))}else n("getFinWindow by componentType is currently only operable within LaunchService"),t&&t(null);else t&&t(i),r(i)}))}))}function d(e,t){return new Promise(((r,n)=>{c(e).then((e=>{e.getOptions((e=>{t&&t(e),r(e)}))})).catch((e=>{console.warn(e),t&&t(null),n(e)}))}))}function f(e,t,r){for(let n=0;n<e.length;n++){const i=e[n];if(i[t]===r)return i}return null}function h(e,r){let n;arguments.length>2&&(e={commandMonitor:arguments[0],monitors:arguments[1],launchingMonitorPosition:arguments[2]},r=null);let{commandMonitor:i,monitors:o,launchingMonitorPosition:s}=e;const a=i&&""!==i||0===i;if("primary"===i)n=f(o,"whichMonitor","primary");else if("next"===i){let e=s+1;e>=o.length&&(e=0),n=o[e]}else if("previous"===i){let e=s-1;e<0&&(e=o.length-1),n=o[e]}else if("mine"===i){var u=!0;activeWindows.getWindow(e.windowIdentifier.windowName)._getBounds(((e,i)=>{e?(n=o[0],r(n)):t.Monitors.getMonitorFromScaledXY(i.left,i.top,(e=>{r(e)}))}))}else a?(i>=o.length&&(i=o.length-1),n=o.filter((e=>e.position===i))[0]):s&&(n=o[s]);if(n||(n=o[0]),!u){if(!r)return n;r(n)}}function p(e,t){return new Promise(((r,n)=>{d(e,(e=>{e?l(e,(e=>{t&&t(e),r(e)})):n("util.getMonitor: Can't locate windowDescriptor.")}))}))}t.Monitors=new s.default(Function.prototype,Function.prototype,{System:o.System}),t.clone=u,t.getContainerVersion=function(e=Function.prototype){return new Promise((t=>{o.System.getVersion((r=>{const n=r.split(".").map(Number),i={major:n[0],chromium:n[1],minor:n[2],patch:n[3]};e(i),t({versionObject:i})}))}))},t.castToPromise=function(e){return function(...t){return new Promise(((r,n)=>{const i=e.apply(null,Array.from(t));try{return i.then(r,n)}catch(e){e instanceof TypeError?r(i):n(e)}}))}},t.isPercentage=function(e){return"string"==typeof e&&-1!==e.indexOf("%")},t.crossDomain=function(e){const t=document.createElement("a");t.href=e;const r=window.location.hostname===t.hostname,n=window.location.protocol===t.protocol,i=(void 0!==window.location.port?window.location.port:80)===(void 0!==t.port?t.port:80),o=!(r&&i&&n);return a.default.system.debug(`Launcher crossDomain=${o} (${r}:${n}:${i})`),o},t.getAllMonitors=t.Monitors.getAllMonitors,t.getMonitorFromXY=t.Monitors.getMonitorFromScaledXY,t.getMonitorFromWindow=l,t.getFinWindow=c,t.getWindowDescriptor=d,t.findMonitor=f,t.getWhichMonitor=h,t.getMonitor=p,t.getMonitorFromCommand=function(e,r,n){return new Promise((i=>{p(r,(r=>{t.Monitors.getAllMonitors((t=>{h({commandMonitor:e,monitors:t,launchingMonitorPosition:r.position},(e=>{n&&n(e),i(e)}))}))}))}))},t.windowOnMonitor=function(e,t){return e.left>=t.left&&e.left<t.right||e.right<=t.right&&e.right>t.left},t.getMonitorByDescriptor=function(e,t){return new Promise((r=>{l(e,(e=>{t&&t(e),r(e)}))}))},t.getMyWindowIdentifier=function(e){const t=o.System.Window.getCurrent();return new Promise((r=>{t.getOptions((n=>{let i=null;const{customData:o}=n;o&&o.component&&(i=o.component.type);const s={windowName:t.name,uuid:t.uuid,componentType:i};e&&e(s),r(s)}))}))},t.camelCase=function(...e){let t="";for(let r=0;r<e.length;r++)t=`${t} ${e[r]}`;return t.replace(/\s(.)/g,(e=>e.toUpperCase())).replace(/\s/g,"").replace(/^(.)/,(e=>e.toLowerCase()))},t.guuid=function(){return i.default()},t.injectJS=function(e,t){const r=document.createElement("script");r.onload=t,r.type="text/javascript",r.async=!0,r.src=e;const n=document.getElementsByTagName("head")[0],i=n.getElementsByTagName("script")[0];n.insertBefore(r,i)},t.openSharedData=function(e,t){const r=FSBL.Clients.LauncherClient,n=FSBL.Clients.LinkerClient;e.multipleOpenerHandler||(e.multipleOpenerHandler=function(e){let t,r=0;for(const n of Object.keys(e))e[n].length>r&&(t=n,r=e[n].length);return[t]});const i=[],o={};r.getComponentsThatCanReceiveDataTypes({dataTypes:Object.keys(e.data)},((s,u)=>{for(const e of Object.keys(u))if(u[e].componentTypes.length)for(const t of u[e].componentTypes)o[t]?o[t].push(e):o[t]=[e];else{const t=`No Components Available to Handle the type: ${e}`;i.push(t),a.default.system.error(t)}let l=Object.keys(o);if(l.length){l.length>1&&(l=e.multipleOpenerHandler(o));const s=Object.keys(n.channels);if(s.length)if(n.getLinkedComponents({componentTypes:l,windowIdentifier:n.windowIdentifier()}).length||e.publishOnly)n.publish({dataType:"Finsemble.DragAndDropClient",data:e.data},(()=>{})),t&&t(i.length?i:null,"Data published");else{for(const t of l)r.spawn(t,{data:{sharedData:e.data,linker:{channels:s}},addToWorkspace:!0});t&&t(i.length?i:null,"Linked Window(s) spawned with data")}else if(!e.publishOnly){for(const t of l)r.spawn(t,{data:{sharedData:e.data},addToWorkspace:!0});t&&t(i.length?i:null,"New Window(s) spawned with data")}}else t&&t(i.length?i:null,null)}))},t.getNewBoundsWhenMovedToMonitor=function(e,t,r="availableRect"){const n=e[r]||e.availableRect||e.monitorRect,i=u(t);return t.top<n.top?i.top=n.top:t.top>n.bottom-t.height&&(i.top=n.bottom-t.height),t.left<n.left?i.left=n.left:t.left>n.right-t.width&&(i.left=n.right-t.width),i.bottom=i.top+i.height,i.right=i.left+i.width,i.right>n.right&&(i.right=n.right),i.top<n.top&&(i.top=n.top),i.left<n.left&&(i.left=n.left),i.bottom>n.bottom&&(i.bottom=n.bottom),i.height=i.bottom-i.top,i.width=i.right-i.left,{newBounds:i,distanceMoved:Math.sqrt((t.left-i.left)**2+(t.top-i.top)**2),monitor:e}},t.isOnAMonitor=function(e){return this.Monitors.allMonitors.some((t=>{const{monitorRect:r}=t;return e.left>=r.left&&e.left<=r.right&&e.right>=r.left&&e.right<=r.right&&e.top>=r.top&&e.top<=r.bottom&&e.bottom>=r.top&&e.bottom<=r.bottom}))},t.adjustBoundsToBeOnMonitor=function(e,t="availableRect"){if(this.isOnAMonitor(e))return a.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: on monitor."),e;const r=this.Monitors.allMonitors.map((r=>{let n=r.rawMonitor?r.rawMonitor:r;return this.getNewBoundsWhenMovedToMonitor(n,e,t)})).sort(((e,t)=>e.distanceMoved-t.distanceMoved))[0];return a.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: not on monitor. bounds",e,"monitor name",r.monitor.name,"newBounds",r.newBounds),r.newBounds},t.isWindows=async function(e=Function.prototype){const t=(await o.System.getHostSpecs()).name.toUpperCase().includes("WINDOWS");return e(t),t},t.getWindowType=function(e){const t="WebWindow";if(e.windowType&&!["assimilation","assimilated","native","application","NativeWindow","FinsembleNativeWindow","CompoundWindow","WebWindow","WebApplication","StackedWindow"].includes(e.windowType))return a.default.system.error(`Invalid windowType: ${e.windowType}, defaulting to windowType: WebWindow`),t;let r=e.windowType||t;switch(e.windowType){case"assimilation":case"assimilated":r="NativeWindow";break;case"native":r="FinsembleNativeWindow";break;case"application":r="WebApplication";break;case"Web":r="WebWindow";break;case"StackedWindow":r="StackedWindow"}return e.native&&(r="NativeWindow"),e.compound&&(r="CompoundWindow"),r},t.windowNameFromRouterHeader=e=>{let t,r=/\.(.*)\./s;try{t=e.origin.match(r)[1]}catch(r){t=e.origin.split(".")[1]}return t}},10428:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleView=void 0,t.FinsembleView=class{constructor(e){this.win=e.win,this.id=e.id}async remove(e=Function.prototype){await this.win.removeBrowserView(this,e)}async setBounds(e,t=Function.prototype){await this.win.setViewBounds({view:this,bounds:e},t)}async bringToFront(e=Function.prototype){await this.win.bringViewToFront(this,e)}}},75688:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleWindow=void 0;const a=s(r(39319)),u=s(r(72551)),l=o(r(76420)),c=s(r(57815)),d=o(r(78379)),f=r(24232),h=r(51742),p=s(r(99748)),m=r(10428);window._FSBLCache||(window._FSBLCache={storeClientReady:!1,windows:{},gettingWindow:[],windowAttempts:{}});class g extends c.default{constructor(e){super({name:e.name,sourceType:"Window"}),this.types={},this.wrapState=e.wrapState||"initializing",this.componentState={},this.windowState=g.WINDOWSTATE.NORMAL,this.type=null,this.windowType=null,this.bounds={},this.guid=`${Date.now()}_${Math.random()}`,this.WINDOWSTATE=d.WINDOWSTATE,this.windowOptions={},this.doConstruction(e),this.TITLE_CHANGED_CHANNEL=`Finsemble.${this.name}.titleChanged`,this.componentKey=l.camelCase("activeWorkspace",this.name,this.name),this.windowKey=l.camelCase("activeWorkspace",this.name),g.bindFunctions(this)}standardizeEventName(e){switch(e){case"bounds-set":case"stoppedMoving":return"bounds-change-end";case"startedMoving":return"bounds-change-start";case"bringToFront":return"broughtToFront";case"setParent":return"parent-set";case"clearParent":return"parent-unset";default:return e}}addEventListener(e,t){return e=this.standardizeEventName(e),super.addEventListener(e,t)}removeEventListener(e,t){if("closed"!==e||!window.finsembleWindow||this.name!==finsembleWindow.name)return e=this.standardizeEventName(e),super.removeEventListener(e,t)}windowServiceChannelName(e){return`WindowService-Request-${e}`}eventChannelName(e){return`WindowService-Event-${this.name||this.windowName}-${e}`}doConstruction(e){if(e.setWindowType||e.windowType||(e.windowType="WebWindow"),e.windowType)return e.setWindowType=e.windowType,delete e.windowType,new g(e);if(e)for(const t in e)this[t]=e[t];this.name||(this.name=e.windowName),this.windowType=this.setWindowType}static registerType(e,t){const r=g;r.types||(r.types={}),r.types[e]=t}static bindFunctions(e){e.setParent=e.setParent.bind(e),e.getParent=e.getParent.bind(e),e.eventChannelName=e.eventChannelName.bind(e),e.windowServiceChannelName=e.windowServiceChannelName.bind(e),e.handleWrapRemoveRequest=e.handleWrapRemoveRequest.bind(e),e.reload=e.reload.bind(e)}static getInstance(e,t=Function.prototype){const r=h.System.Window.getCurrent().name;return e&&e.windowName&&(e.name=e.windowName),(e=p.default(e))&&e.name?(e.windowName=e.name,new Promise((async function(n,i){if(window._FSBLCache.windows[e.name]){u.default.system.debug("WRAP LIFECYCLE:",e.name,"Window found in the cache, returning without going to the Launcher");const r=window._FSBLCache.windows[e.name];return n({wrap:r}),t(null,r)}if(e.uuid&&e.name){if(e.windowIdentifier||(e.windowIdentifier={uuid:e.uuid,name:e.name,windowName:e.name,windowType:e.windowType}),!1!==e.waitForReady)try{await g._windowReady(e.windowName),e.wrapState="ready"}catch(e){return i(e),t(e,null)}if(u.default.system.debug("WRAP LIFECYCLE:",e.name,"All information for wrap passed in, creating wrap locally"),window._FSBLCache.windows[e.name]){u.default.system.debug("WRAP LIFECYCLE:",e.name,"Window found in the cache, returning without going to the Launcher");const r=window._FSBLCache.windows[e.name];return n({wrap:r}),t(null,r)}const{wrap:r}=await g._createWrap(e);return n({wrap:r}),t(null,r)}if(!1!==e.waitForReady)try{await g._windowReady(e.windowName),e.wrapState="ready"}catch(e){return i(e),t(e,null)}a.default.query("WindowService-Request-getWindowIdentifier",{windowName:e.name,requester:r},(async(r,o)=>{if(r)return u.default.system.error(r),i(r),t(r,null);if(window._FSBLCache.windows[e.name]){const r=window._FSBLCache.windows[e.name];return u.default.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher, but wrap exists in cache. Returning cached wrap."),n({wrap:r}),t(null,r)}const{identifier:s}=o.data;s.windowName&&(s.name=s.windowName),u.default.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher. Creating wrap."),e.retrievedIdentifier=s;const{wrap:a}=await g._createWrap(e);o.data.descriptor&&(a.descriptor=o.data.descriptor),n({wrap:a}),t(null,a)}))}))):t("name is required")}static _createWrap(e){return new Promise((function(t){const r=e.retrievedIdentifier||e.windowIdentifier;let n=null;void 0===window._FSBLCache.windowAttempts[e.name]&&(window._FSBLCache.windowAttempts[e.name]=0),(e.setWindowType||r.windowType)&&"WebApplication"!==r.windowType||(r.windowType="WebWindow");let i={...r};i=Object.assign(i,e),i.setWindowType=i.windowType,delete i.windowType,u.default.system.debug("WRAP LIFECYCLE: Placing wrap into the local cache.",r.windowName);const o=g;window._FSBLCache.windows[r.windowName]=new o(i),n=window._FSBLCache.windows[r.windowName],n.windowType=r.windowType,n.identifier=r,n.addEventListener("closed",n.handleWrapRemoveRequest),n.addEventListener("maximized",(()=>{n.windowState=g.WINDOWSTATE.MAXIMIZED})),n.addEventListener("minimized",(()=>{n.windowState=g.WINDOWSTATE.MINIMIZED})),n.addEventListener("restored",(()=>{n.windowState=g.WINDOWSTATE.NORMAL}));const s=a.default.subscribe(`Finsemble.Component.State.${r.windowName}`,((e,t)=>{if(e)u.default.system.error("Finsemble component state change error",e);else{const{state:e}=t.data;n.wrapState=e,a.default.unsubscribe(s)}}));n.parentSubscribeID=a.default.subscribe(`Finsemble.parentChange.${r.windowName}`,((e,r)=>{if(e)u.default.system.error("FinsembleWindow parent change notification error",e),t({wrap:n});else{const e=r.data||{};"Added"===e.type?(u.default.system.debug("FinsembleWindow Parent Notification: window.addedToStack listener",e),n.setParent(e.stackedWindowIdentifier,(()=>{t({wrap:n})}))):"Exists"===e.type?(u.default.system.debug("FinsembleWindow Parent Notification: Parent already exists, checking if added to wrap",e),n.setParentOnWrap(e.stackedWindowIdentifier,(()=>{t({wrap:n})}))):"Removed"===e.type?(u.default.system.debug("FinsembleWindow Parent Notification: window.removedFromStack listener",e),n.clearParent(),t({wrap:n})):e.type?(u.default.system.error("FinsembleWindow Parent Notification: unknown type",e),t({wrap:n})):t({wrap:n})}}))}))}static _getRemoveWrapChannel(e){return`${h.System.Window.getCurrent().name}.removeWrap.${e}`}async handleWrapRemoveRequest(e){e&&e.wait(),u.default.system.debug("WRAP Destructor. Removing cached window",this.name,"in ",window.name),this.removeListeners&&this.removeListeners(),this.cleanupRouter(),this.cleanup(),this.name!==window.name&&this.name&&(delete window._FSBLCache.windows[this.name],delete window._FSBLCache.windowAttempts[this.name]),e&&e.done()}cleanupRouter(){const e=g._getRemoveWrapChannel(this.name);a.default.removeResponder(e),this.TITLE_CHANGED_SUBSCRIPTION&&a.default.unsubscribe(this.TITLE_CHANGED_SUBSCRIPTION),a.default.unsubscribe(this.parentSubscribeID)}onReady(e){if("ready"===this.wrapState)return e();this.addEventListener("ready",e)}queryWindowService(e,t,r=Function.prototype){if("close"===e||"setParent"===e||"ready"===this.wrapState)return new Promise((async(n,i)=>{"function"==typeof t&&(r=t,t={}),(t=t||{}).windowIdentifier=this.identifier,u.default.setting().system.Debug&&(t.callstack=u.default.callStack()),u.default.system.debug("FinsembleWindow.queryWindowService",this.windowServiceChannelName(e),t);let o=null;a.default.query(this.windowServiceChannelName(e),t,((t,s)=>{t?(u.default.system.debug(`WindowService.${e}: failed`,t),console.debug(`WindowService.${e}: failed`,t),"getComponentState"!==e&&"Not found"!==t&&i(t)):(o=s.data,u.default.system.debug(`${this.windowServiceChannelName(e)} successful`,o),console.debug(`${this.windowServiceChannelName(e)} successful`,o)),n(o),r(t,o)}))}));this.onReady((()=>{this.wrapState="ready",this.queryWindowService(e,t,r)}))}minimize(e=null,t=Function.prototype){this.queryWindowService("minimize",e,t)}maximize(e=null,t=Function.prototype){this.getBounds(((r,n)=>{r?u.default.system.warn("Error getting bounds, cached bounds will not be set"):this.updateOptions({options:{cachedLeft:n.left,defaultLeft:n.left,cachedTop:n.top,defaultTop:n.top,cachedWidth:n.width,defaultWidth:n.width,cachedHeight:n.height,defaultHeight:n.height}}),this.queryWindowService("maximize",e,t)}))}restore(e=null,t=Function.prototype){this.queryWindowService("restore",e,t)}blur(e=null,t=Function.prototype){this.queryWindowService("blur",e,t)}focus(e=null,t=Function.prototype){this.queryWindowService("focus",e,t)}bringToFront(e=null,t=Function.prototype){this.queryWindowService("bringToFront",e,t)}setAlwaysOnTop(e={alwaysOnTop:!0},t=Function.prototype){this.queryWindowService("setAlwaysOnTop",e,t)}isAlwaysOnTop(e={},t){this.queryWindowService("isAlwaysOnTop",{},t)}isShowing(e={},t){this.queryWindowService("isShowing",e,t)}setIgnoreMouseEvents(e,t,r=Function.prototype){const n={ignore:new Boolean(e).valueOf(),options:new Boolean(t).valueOf()?t:{forward:!1}};this.queryWindowService("setIgnoreMouseEvents",n,r)}setShape(e,t=Function.prototype){this.queryWindowService("setShape",e,t)}async addBrowserView(e,t=Function.prototype){const r=await this.queryWindowService("addBrowserView",e,t);return new m.FinsembleView({id:r,win:this})}async removeBrowserView(e,t=Function.prototype){await this.queryWindowService("removeBrowserView",{viewId:e.id},t)}async bringViewToFront(e,t=Function.prototype){await this.queryWindowService("bringViewToFront",{viewId:e.id},t)}async setViewBounds(e,t=Function.prototype){await this.queryWindowService("setViewBounds",{viewId:e.view.id,bounds:e.bounds},t)}setBounds(e={bounds:{}},t=Function.prototype){"function"==typeof e||e.bounds||(e={bounds:e}),this.queryWindowService("setBounds",e,t)}getBounds(e={},t=Function.prototype){return new Promise((r=>{this.queryWindowService("getBounds",e,((e,n)=>{r({err:e,data:n}),t(e,n)}))}))}updateOptions(e,t=Function.prototype){this.queryWindowService("updateOptions",e,t)}hide(e={},t=Function.prototype){this.queryWindowService("hide",e,t)}reload(e={},t=Function.prototype){this.queryWindowService("reload",e,t)}show(e={},t=Function.prototype){this.queryWindowService("show",e,t)}showAt(e={},t=Function.prototype){this.queryWindowService("showAt",e,t)}close(e={},t=Function.prototype){u.default.system.debug("WRAP CLOSE. Public close initiated for",this.name,e),this.queryWindowService("close",e,(()=>{u.default.system.debug("WRAP CLOSE. Public close initiated for",this.name),t()}))}animate(e={},t=Function.prototype){this.queryWindowService("animate",e,t)}registerWithDocking(e={},t){this.onReady((()=>{a.default.query("DockingService.registerWindow",{type:this.type,windowType:this.windowType,windowMsg:e,name:this.windowName},t)}))}showNativeOpenDialog(e={},t){this.queryWindowService("showNativeOpenDialog",e,t)}unRegisterWithDocking(){a.default.transmit("DockingService.deregisterWindow",{name:this.windowName})}initializeWindow({manageWindowMovement:e,identifier:t},r=Function.prototype){const n=()=>{a.default.publish(`Finsemble.${this.windowName}.componentReady`,{name:this.windowName}),r()};e?this.registerWithDocking(t,n):n()}wrapReady(){a.default.publish(`Finsemble.${this.windowName}.wrapReady`,{name:this.windowName,state:"open"})}setOpacity(e,t=Function.prototype){this.queryWindowService("setOpacity",e,t)}startTabTileMonitoring(e={}){u.default.system.debug("FinsembleWindow.startTabTileMonitoring",e),a.default.transmit("TabTile.startTabTile",{params:e})}stopTabTileMonitoring(e={},t=Function.prototype){u.default.system.debug("FinsembleWindow.stopTabTileMonitoring",e),a.default.query("TabTile.stopTabTile",{params:e},(function(e,r){e?u.default.system.warn("TabTile.stopTabTile: query failed",e):u.default.system.debug("TabTile.stopTabTile results",r.data);const n=r.data;t?t(e,n,this.defaultStopTrackingAction):this.defaultTabTileAction(n)}))}defaultTabTileAction(e){const t=this;switch(u.default.system.debug("FinsembleWindow.defaultTabTileAction",e),e.stoppedLocation){case"OutsideWindow":case"TabSection":break;case"InsideWindow":e.tileGroupId?t.Group.addWindow(this.identifier,e.tileGroupId,e.dropCoordinates):t.Group.createGroup((function(r){t.Group.addWindow(this.identifier,r,e.dropCoordinates,{startingWindowIdentifier:e.droppedOnWindowIdentifier})}));break;default:u.default.system.error("stopTracking returned an unknown stoppedLocation result",e)}}mergeBounds(e){e.right=e.left+e.width;const t={left:e.left,right:e.right,width:e.width,top:e.top,bottom:e.top+e.height,height:e.height},r={defaultLeft:e.left,defaultWidth:e.width,defaultTop:e.top,defaultHeight:e.height};Object.assign(this.windowOptions,t),Object.assign(this.windowOptions,r),this.windowOptions.bounds=t}startMove(e={}){u.default.system.debug("FinsembleWindow.startMove",e),e.windowIdentifier=this.identifier,a.default.transmit(this.eventChannelName("startedMoving"),{})}stopMove(e={}){u.default.system.debug("FinsembleWindow.stopMove",e),e.windowIdentifier=this.identifier,a.default.transmit(this.eventChannelName("stoppedMoving"),{})}getMonitor(e){a.default.query("DockingService.getMonitorForWindow",{windowIdentifier:this.identifier},((t,r)=>r?e(r.data):e()))}getComponentState(e,t){this.queryWindowService("getComponentState",e,t)}getWindowState(e,t){this.queryWindowService("getWindowState",e,t)}setComponentState(e,t=(()=>{})){this.queryWindowService("setComponentState",e,t)}removeComponentState(e,t=(()=>{})){this.queryWindowService("removeComponentState",e,t)}setWindowState(e,t=(()=>{})){this.queryWindowService("setWindowState",e,t)}saveCompleteWindowState(e={},t=Function.prototype){this.queryWindowService("saveCompleteWindowState",e,t)}cancelTabTileMonitoring(e={}){u.default.system.debug("FinsembleWindow.cancelTabTileMonitoring",e),a.default.transmit("TabTile.cancelTabTile",{params:e})}getParent(e){this.settingParent?g.getInstance(this.settingParent,((t,r)=>{e(null,r)})):this.parentWindow?e(null,this.parentWindow):e(null,null)}setParent(e,t){if(this.settingParent)return this.getParent(t);this.settingParent=e,this.parentWindow&&this.parentWindow.name===e.windowName?(u.default.system.debug("FinsembleWindow.setParent already set",e),this.settingParent=!1,t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{u.default.system.debug("FinsembleWindow.setParent",e),g.getInstance(e,((r,n)=>{r?u.default.system.error("FinsembleWindow.setParent error",r):(u.default.system.debug("FinsembleWindow.setParent wrap success",e),this.parentWindow=n,this.parentWindow.windowType.includes("StackedWindow")||u.default.system.error("FinsembleWindow.setParent error",this.parentWindow.name,e.windowName)),a.default.transmit(d.DOCKING.REQUEST_PUBLISH,null),this.settingParent=!1;const i=()=>{this.removeEventListener("parent-set",i),t(r,n)};this.addEventListener("parent-set",i)}))}))}setParentOnWrap(e,t=Function.prototype){this.parentWindow&&this.parentWindow.name===e.windowName?(u.default.system.debug("FinsembleWindow.setParentOnWrap already set",e),t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{u.default.system.debug("FinsembleWindow.setParentOnWrap",e),g.getInstance(e,((r,n)=>{r?u.default.system.error("FinsembleWindow.setParentOnWrap error",r):(u.default.system.debug("FinsembleWindow.setParentOnWrap success getting wrap",e),this.parentWindow=n,!1===this.parentWindow.windowType.includes("StackedWindow")&&u.default.system.error("FinsembleWindow.setParentOnWrap error",this.parentWindow.name,e.windowName)),t(r,n)}))}))}clearParent(){u.default.system.debug("FinsembleWindow.clearParent",this.parentWindow),this.parentWindow=null}setTitle(e){u.default.system.debug("Title change",e),a.default.publish(this.TITLE_CHANGED_CHANNEL,e)}getOptions(e=Function.prototype){this.queryWindowService("getOptions",{},e)}_privateManagementPreface(e,t){return"function"==typeof t&&u.default.system.error("StackedWindowWrapper.wrapPreface bad params",t),(t=t||{}).stackedWindowIdentifier={windowName:this.identifier?.windowName,windowType:this.identifier?.windowType},u.default.system.debug(`StackedWindow.${e} _privateManagementPreface`,t),t}addWindow(e,t=Function.prototype){return e=this._privateManagementPreface("addWindow",e),new Promise((r=>{a.default.query("StackedWindow.addWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.addWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}removeWindow(e,t=Function.prototype){return e=this._privateManagementPreface("removeWindow",e),new Promise((r=>{a.default.query("StackedWindow.removeWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.removeWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}deleteWindow(e,t=Function.prototype){return e=this._privateManagementPreface("deleteWindow",e),new Promise((r=>{a.default.query("StackedWindow.deleteWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.deleteWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}setVisibleWindow(e,t=Function.prototype){return e=this._privateManagementPreface("setVisibleWindow",e),new Promise((r=>{a.default.query("StackedWindow.setVisibleWindow",e,((e,n)=>{u.default.system.debug("StackedWindow.setVisibleWindow callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}reorder(e,t=Function.prototype){return e=this._privateManagementPreface("reorder",e),new Promise((r=>{a.default.query("StackedWindow.reorder",e,((e,n)=>{u.default.system.debug("StackedWindow.reorder callback",e,n),t(e,n.data),r({err:e,data:n.data})}))}))}formGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.default.transmit("DockingService.formGroup",{windowName:e})}ejectFromGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.default.query("DockingService.leaveGroup",{name:e},(()=>{}))}}t.FinsembleWindow=g,g.WINDOWSTATE={NORMAL:0,MINIMIZED:1,MAXIMIZED:2,HIDDEN:3},g.wrap=g.getInstance,g.isStartupApplication=async function(e){let t;const r=await new Promise(((e,t)=>{h.System.Application.getCurrent().getManifest(e,t)})).catch((()=>{t=!1}));return r&&(t=r&&r.startup_app&&r.startup_app.name===e),t},g._windowReady=function(e){let t;u.default.system.debug(`windowServiceReady: ${e} starting`);const r=`Finsemble.Component.State.${e}`;return new Promise((async(n,i)=>{await g.isStartupApplication(e)||f.isServiceInWindow(e)?i("Cannot Wrap Service Manager or Services"):(u.default.system.debug(`windowServiceReady: ${e} waiting`),t=a.default.subscribe(r,((r,i)=>{const{state:o}=i.data;switch(u.default.system.debug(`windowServiceReady: ${e} state change: ${o}`),o){case"ready":case"reloading":case"closing":u.default.system.debug(`windowServiceReady: ${e} ${o}`),a.default.unsubscribe(t),n()}})))}))}},33509:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHECKPOINT_CHANNEL_BASE=t.STAGE_CHANNEL=t.STATUS_CHANNEL_BASE=t.SHOW_SYSLOG_CHANNEL=t.SYSLOG_CHANNEL=t.CRITICAL_BOOT_STAGES=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.CRITICAL_BOOT_STAGES=["microkernel","kernel","authentication"],t.SYSLOG_CHANNEL="systemManager.systemlog",t.SHOW_SYSLOG_CHANNEL="systemManager.showSystemlog",t.STATUS_CHANNEL_BASE="systemManager.boot.status",t.STAGE_CHANNEL="systemManager.boot.stage",t.CHECKPOINT_CHANNEL_BASE="systemManager.checkpoint"},56188:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BootReadyItem=t.BootConfigElement=t.ALL_BOOT_STAGES=void 0,t.ALL_BOOT_STAGES=["microkernel","kernel","authentication","preuser","earlyuser","user"],t.BootConfigElement=class{},t.BootReadyItem=class{constructor(e,t,r){this.name=e,this.type=t,this.config=r}}},79009:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BootCheckpointEngine=t.BootCheckpointResults=void 0;const a=s(r(72551)),u=s(r(39319)),l=r(56188),c=r(87674),d=s(r(72973)),f=o(r(76420)),h=r(95269);class p{constructor(e,t=new c.DGDiagnostics){this.okay=e,this.errorDiag=t}}t.BootCheckpointResults=p,t.BootCheckpointEngine=class{constructor(e,t,r,n){this.checkpointTimers={},this.processStatusCounter=0,this.activeServices=[],this.parentName=e,this.currentStage=t,this.defaultTimeoutInterval=r,this.originalConfig=n,this.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.run()}getResults(e){a.default.system.debug("bootCheckpointEngine.getResults",this.currentStatus,this.checkpointTimers,this.checkpointConfig);let t=new p(!0);const r=[];"error"===this.currentStatus?.graphState&&(t=new p(!1,this.currentStatus.errorDiag));for(const t in this.checkpointTimers)this.findConfigElement(t).postStartupCompletion?"failed"===e&&clearTimeout(this.checkpointTimers[t]):(r.push(`checkpoint ${t} for ${this.parentName} did not complete`),clearTimeout(this.checkpointTimers[t]));if(r.length>0)if(t.okay){const e=new c.DGDiagnostics(void 0,r);t=new p(!1,e)}else t.errorDiag.errorData.push(...r);return t}findConfigElement(e){const t=this.checkpointConfig.findIndex((t=>t.name===e));return this.checkpointConfig[t]}run(){try{this.checkpointConfig=this.getCheckpointConfig(this.originalConfig),this.dependencyGraph=new c.BootDependencyGraph(this.parentName,this.checkpointConfig),a.default.system.log("forceObjectsToLogger","checkpoint BootDependencyGraph.run",this.currentStage,this.checkpointConfig,this.dependencyGraph),console.log("checkpoint BootDependencyGraph.run",this.currentStage,this.checkpointConfig,this.dependencyGraph),this.processWhatIsReady(this.dependencyGraph)}catch(e){this.cleanupStagesOutStandingTimers(),d.default.error({},`"checkpointEngine: ${e}`)}}cleanupStagesOutStandingTimers(){Object.keys(this.checkpointTimers).forEach((e=>{clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]}))}getCheckpoingConfigElement(e,t){const r=f.clone(t),n=new l.BootConfigElement;return n.name=e,n.type="checkpoints",n.stage=this.currentStage,n.dependencies=r.dependencies||[],n.postStartupCompletion=r.postStartupCompletion||!1,n.stopOnFailure=!0,n.autoStart=!0,n.customFailureMessage=r.customFailureMessage||"",n.originalConfig=r,n.timeout=r.timeout||this.defaultTimeoutInterval,Array.isArray(n.dependencies)||(d.default.error({leadingBlankLine:!1},`Checkpoint CONFIG: dependencies for ${e} must be an array`),n.dependencies=[""]),n}getCheckpointConfig(e){const t=[];for(const r in e){const n=this.getCheckpoingConfigElement(r,e[r]);t.push(n)}return t}subscribeToCheckpointStatus(e,t){a.default.system.debug("checkpointEngine subscribe",e,t,h.checkpointChannel(e,t)),u.default.subscribe(h.checkpointChannel(e,t),((e,t)=>{e?a.default.system.error("checkpointEngine subscribe error",e):(a.default.system.debug("checkpointEngine.notification",this.parentName,t.data.checkpointName,t.data.state,t.data.params),this.genericHandlerForStateChange(t.data.checkpointName,t.data.state,t.data.params))}))}genericHandlerForStateChange(e,t,r={}){a.default.system.debug("checkpointEngine.genericHandlerForStateChange",this.parentName,e,t,r),this.checkpointTimers[e]&&(clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]),"completed"===t?(this.dependencyGraph?.setBootDependencyState(e,t),this.processWhatIsReady(this.dependencyGraph)):"failed"===t&&(r.timedOut?d.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} timed out. ${this.findConfigElement(e).customFailureMessage}`):d.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} failed. ${this.findConfigElement(e).customFailureMessage}`),this.dependencyGraph?.setBootDependencyState(e,t),this.processWhatIsReady(this.dependencyGraph))}handleStartTimeout(e){delete this.checkpointTimers[e],this.genericHandlerForStateChange(e,"failed",{timedOut:!0})}startReadyCheckpoint(e){this.checkpointTimers[e.name]=setTimeout((()=>{this.handleStartTimeout(e.name)}),e.config.timeout),this.subscribeToCheckpointStatus(this.parentName,e.name),a.default.system.debug(`checkpointEngine.processReadyList starting checkpoint ${e.name} in ${this.currentStage}`,e)}setStateForList(e,t){for(let r=0;r<e.length;r++){const n=e[r];this.dependencyGraph?.setBootDependencyState(n.name,t)}}processReadyList(e){a.default.system.debug("checkpointEngine.processReadyList",e),this.setStateForList(e,"starting");for(let t=0;t<e.length;t++){const r=e[t];this.startReadyCheckpoint(r)}}processWhatIsReady(e){if(this.currentStatus=e.getCurrentStatus(),a.default.system.debug("checkpointEngine processWhatIsReady",status,e),console.log("processWhatIsReady",status),++this.processStatusCounter>500)a.default.system.error("checkpointEngine.processWhatIsReady is in infinite loop -- breaking out",this.processStatusCounter);else switch(this.currentStatus.graphState){case"error":break;case"notFinished":this.processReadyList(this.currentStatus.readyToStartList)}}}},87674:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BootDependencyGraph=t.DGDiagnostics=t.DGGraphStatus=void 0;const i=r(56188),o=n(r(72551));class s{constructor(e,t,r,n){this.graphState=e,this.bootConfig=t,this.readyToStartList=r,this.graphState=e,this.errorDiag=n}}t.DGGraphStatus=s;class a{constructor(e="",t=[]){this.errorData=[],this.description=e,this.errorData=t}}t.DGDiagnostics=a;class u{constructor(e,t,r,n,i){this.dependencies=[],this.name=e,this.dependencies=t,this.stopOnFailure=n,this.customFailureMessage=i,this.currentState=r?"uninitialized":"disabled"}}class l{constructor(){this.nodes={}}}const c=["uninitialized","waitingOnDependencies","readyToStart"],d=["blockedByDisabled","failed","blockedByFailure"];t.BootDependencyGraph=class{constructor(e,t,r=[]){this.errorDiag=new a,o.default.system.debug("BootDependencyGraph.constructor -- start",e,t);try{this.context=e,this.bootConfig=t,this.allPreviousBootConfig=r,this.graph=this.buildGraph(this.bootConfig),this.checkNodesForValidDependencies(this.bootConfig,this.allPreviousBootConfig),this.checkNodesForCircularDependencies(),this.iterativelySetAllGraphStates(this.graph)}catch(e){"error"!=this.graphState&&(this.graphState="error",this.errorDiag.description=e),o.default.system.error("BootDependencyGraph constructor caught error",this.errorDiag)}}setBootDependencyState(e,t){o.default.system.debug("BootDependencyGraph.setBootDependencyState",e,t);const r=this.graph.nodes[e];r?r.currentState=t:o.default.system.error(`BootDependencyGraph.setBootDependencyState called with unknown dependency name ${e} for this stage (may be a late message). Operation ignored.`,this.graph)}getCurrentStatus(){return this.iterativelySetAllGraphStates(this.graph),new s(this.graphState,this.bootConfig,this.readyToStartList,this.errorDiag)}buildGraph(e){const t=new l;for(let r=0;r<e.length;r++){const n=e[r],i=new u(n.name,n.dependencies,n.autoStart,n.stopOnFailure,n.customFailureMessage);t.nodes[n.name]=i}return o.default.system.debug("BootDependencyGraph.buildGraph -- graph built",this.graph),t}testOneNodeForCircularPath(e,t){o.default.system.debug(`BootDependencyGraph.testOneNodeForCircularPath -- nodeName=${t}`,e);let r=!1;if(e.includes(t))e.push(t),r=!0;else{e.push(t);const n=this.graph.nodes[t];for(const t in n.dependencies)if(r=this.testOneNodeForCircularPath(e,n.dependencies[t]),r)break}return r||e.pop(),o.default.system.debug(`BootDependencyGraph.testOneNodeForCircularPath done for nodeName=${t} with circular=${r}`),r}checkNodesForCircularDependencies(){for(const e in this.graph.nodes){const t=[];if(o.default.system.debug(`BootDependencyGraph.checkNodesForCircularDependencies -- nodeName=${e}`),this.testOneNodeForCircularPath(t,e))throw this.errorDiag=new a(`${this.context} circular dependency`,t),this.graphState="error",this.errorDiag.description}}checkForKnownDependency(e,t){return t.findIndex((t=>t.name==e))>=0}checkNodesForValidDependencies(e,t){let r,n,i;const s=[];for(const a in this.graph.nodes){const u=this.graph.nodes[a];let l=u.dependencies.length;for(;l--;){const c=u.dependencies[l];n=this.checkForKnownDependency(c,e),n||(i=this.checkForKnownDependency(c,t)),!n&&i?(o.default.system.debug(`dependencyGraphy.checkNodesForValidDependencies removing dependency ${u.dependencies[l]} in node ${a}`),u.dependencies.splice(l,1)):n||i||(r=!0,s.push(`${a} dependency "${c}" is unknown in this stage or previous stages`))}}if(r)throw this.errorDiag=new a(`${this.context} illegal boot configuration`,s),this.graphState="error",this.errorDiag.description}setNewNodeState(e){o.default.system.debug(`BootDependencyGraph.setNewNodeState for node=${e.name}`,e);let t=e.currentState;if(c.includes(t)){t="readyToStart";for(const r of e.dependencies)if("completed"===this.graph.nodes[r].currentState);else{if("disabled"===this.graph.nodes[r].currentState||"blockedByDisabled"===this.graph.nodes[r].currentState){t="blockedByDisabled";break}if("failed"===this.graph.nodes[r].currentState||"blockedByFailure"===this.graph.nodes[r].currentState){t="blockedByFailure";break}(c.includes(this.graph.nodes[r].currentState)||"starting"===this.graph.nodes[r].currentState)&&(t="waitingOnDependencies")}}const r=t!==e.currentState;return e.currentState=t,o.default.system.debug(`BootDependencyGraph.setNewNodeState done for node=${e.name}`,r,t),r}getNewReadyList(){const e=[];for(const t in this.graph.nodes)if("readyToStart"===this.graph.nodes[t].currentState){const r=this.bootConfig?.findIndex((e=>e.name==t)),n=this.bootConfig[r];e.push(new i.BootReadyItem(t,n.type,n))}return e}getNewGraphState(e){let t,r=0,n=0,i=0;for(const t in e.nodes){const o=e.nodes[t];d.includes(o.currentState)&&o.stopOnFailure?n++:c.includes(o.currentState)?r++:"starting"===o.currentState&&i++}return t=n>0?"error":r>0||i>0?"notFinished":"finished",o.default.system.debug("BootDependencyGraph.getNewGraphState",t,n,r),t}iterativelySetAllGraphStates(e){let t,r=0;for(;"error"!=this.graphState&&(t||0===r);){o.default.system.debug(`BootDependencyGraph.iterativelySetAllGraphStates pass ${r}`,e),t=!1;for(const e in this.graph.nodes){o.default.system.debug(`BootDependencyGraph.iterativelySetAllGraphStates for nodeName ${e}`);const r=this.graph.nodes[e];this.setNewNodeState(r)&&(o.default.system.debug(`BootDependencyGraph.iterativelySetAllGraphStates BootDependencyState updated for nodeName ${e} so continue iterating`),t=!0)}if(++r>200){o.default.system.error("iterativelySetAllGraphStates was stuck in loop -- breaking out");break}}"error"!=this.graphState&&(this.graphState=this.getNewGraphState(this.graph),this.readyToStartList=this.getNewReadyList()),o.default.system.debug("BootDependencyGraph.iterativelySetAllGraphStates done",this.graphState,this.readyToStartList)}}},63529:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BootEngine=void 0;const a=s(r(72551)),u=s(r(39319)),l=s(r(70010)),c=s(r(9562)),d=r(33998),f=r(56188),h=r(79009),p=r(87674),m=s(r(46460)),g=s(r(72973)),y=o(r(76420)),v=r(33509),w=r(95269),b=s(r(5020)),S=r(10589),_=["bootTasks","services","components"],C=15e3,E={name:"",state:"uninitialized"};t.BootEngine=class{constructor(e,t,r){this.dependencyGraphs={},this.bootConfigs={},this.cumulativePreviousBootConfig=[],this.startTimers={},this.registeredTasks={},this.processStatusCounter=0,this.processingTerminated=!1,this.activeServices=[],this.checkpointEngines={},this.manifest=e,this.finsembleConfig=e.finsemble,this.serviceLauncher=t,this.shutdownManager=r,this.handleTaskResponse=this.handleTaskResponse.bind(this),this.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.startServiceTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startServiceTimeout",C),this.startComponentTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startComponentTimeout",C),this.startTaskTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startTaskTimeout",C),this.setupDependencyBootStatusPubSubs()}helpData(){console.log("2) finsemble.bootConfig timeout values"),console.log("\tstartServiceTimeout value",this.startServiceTimeout),console.log("\tstartComponentTimeout value",this.startComponentTimeout),console.log("\tstartTaskTimeout value",this.startTaskTimeout),console.log(""),console.log("3) Current boot stage:",this.currentStage),console.log(""),console.log(`4) Lastest/current status of dependencyGraph for ${this.currentStage} stage`,this.dependencyGraphs[this.currentStage].getCurrentStatus()),console.log(""),console.log("5) Dependency graphs by stage",this.dependencyGraphs),console.log(""),console.log("6) Boot config data by stage",this.bootConfigs),console.log(""),console.log("7) Active Checkpoint Engines",this.checkpointEngines),console.log(""),console.log("8) Registered tasks",this.registeredTasks),console.log(""),console.log("9) List of outstanding start timers",this.startTimers),console.log(""),console.log("10) Dependency graphs display by stage"),this.outputDependencyGraphs(this.dependencyGraphs),console.log("")}registerBootTask(e,t){"string"==typeof e&&"function"==typeof t?this.registeredTasks[e]=t:g.default.error({},`BootEngine: registerBootTask failed because of illegal input. Task Name = ${e}. Task Function Type = ${typeof t}`)}initializeSplinterAgentPoolTask(e){a.default.system.log("FINSEMBLE CONFIG",this.finsembleConfig);let t=[];if(this.finsembleConfig.splinteringConfig&&this.finsembleConfig.splinteringConfig.splinterAgents&&(t=this.finsembleConfig.splinteringConfig.splinterAgents.filter((e=>e.services&&e.services.length>0))),t.length){const e={manifest:this.manifest,finsembleConfig:this.finsembleConfig,agentList:t,defaultAgentLabel:"defaultServiceAgent"};this.splinterAgentPool=new m.default(e),this.shutdownManager.setSplinterAgentPool(this.splinterAgentPool)}e("testTask_initializeSplinterAgentPool","bootTasks","completed")}async run(){try{for(let e=0;e<v.ALL_BOOT_STAGES.length;e++){const t=e=>{if(this.logDiagnostics(e),v.CRITICAL_BOOT_STAGES.includes(this.currentStage))throw"*** Terminating Boot ***"};this.currentStage=v.ALL_BOOT_STAGES[e],a.default.system.log("BootEngine.run stage entered",this.currentStage),await this.runBootStage(this.currentStage).catch(t);const{data:r}=await l.default.getValue({field:"finsemble"});this.finsembleConfig=r,this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),a.default.system.log("BootEngine.run stage complete",this.currentStage),u.default.publish(v.STAGE_CHANNEL,{stage:this.currentStage})}}catch(e){this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),this.cleanupStagesOutStandingTimers(),this.processingTerminated=!0,g.default.error({},`"BootEngine: ${e}`)}}startService(e){const t=this.manifest.finsembleConfig.services[e];t?(g.default.log({indent:!0},`Starting service ${e}`),a.default.system.debug(`bootEngine.startService starting service ${e} in ${this.currentStage}`),this.serviceLauncher.createService(t,this.splinterAgentPool)):g.default.error({},`"BootEngine.startService failed for ${e} because config not found in "finsemble.services"`)}logDiagnostics(e){g.default.error({leadingBlankLine:!0,indent:!0},`Error in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)g.default.error({doubleIndent:!0},`"${t}: ${e.errorData[t]}`);g.default.error({leadingBlankLine:!0,indent:!0},`"${this.currentStage}" stage failed. See SystemManager console for additional information.`)}checkpointLogDiagnostics(e){if(e.description){g.default.warn({indent:!0},`checkpoint issue in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)g.default.warn({doubleIndent:!0},`${t}: ${e.errorData[t]}`)}else for(let t=0;t<e.errorData.length;t++)g.default.warn({indent:!0},`${e.errorData[t]}`)}findConfigElement(e){const t=this.bootConfigs[this.currentStage].findIndex((t=>t.name===e)),r=this.bootConfigs[this.currentStage][t];return r||a.default.system.error("bootEngine.findConfigElement could not find expected config element",e,this.bootConfigs[this.currentStage]),r}outputDependencyGraphs(e){for(let t=0;t<v.ALL_BOOT_STAGES.length;t++){const r=v.ALL_BOOT_STAGES[t],n=e[r];if(n){console.log("\tStage:",r);for(const e in n.graph.nodes){console.log("\t\tName:",e);for(let t=0;t<n.graph.nodes[e].dependencies.length;t++)console.log("\t\t\tDependency:",n.graph.nodes[e].dependencies[t])}}}}cleanupStagesOutStandingTimers(){Object.keys(this.startTimers).forEach((e=>{clearTimeout(this.startTimers[e]),delete this.startTimers[e]}))}getBootConfigElement(e,t,r,n){const i=y.clone(n);let o=new f.BootConfigElement;return o.name=n.name||t,o.type=r,i.bootParams?v.ALL_BOOT_STAGES.includes(i.bootParams.stage)||((i.bootParams.stage||!1!==i.bootParams.autoStart)&&g.default.error({leadingBlankLine:!1},`BOOT CONFIG: unknown boot stage "${i.bootParams.stage}" for ${t} in ${r} -- assigning default value`),i.bootParams.stage=null):i.bootParams={},"services"===r?(o.stage=i.bootParams.stage||"earlyuser",o.timeout=i.bootParams.timeout||this.startServiceTimeout,i.debugServiceDelay&&o.stage===e&&(o.timeout=o.timeout+i.debugServiceDelay,g.default.warn({leadingBlankLine:!1},`==> timeout value for ${t} will be increased to ${o.timeout} (debugServiceDelay=${i.debugServiceDelay})`))):"bootTasks"===r?(o.stage=i.bootParams.stage||"earlyuser",o.timeout=i.bootParams.timeout||this.startTaskTimeout):"components"===r&&(i.component=i.component||{},o.stage=i.bootParams.stage||"user",!1===i.bootParams.autoStart&&i.component.spawnOnStartup&&o.stage===e&&g.default.error({leadingBlankLine:!1},`BOOT CONFIG: autostart conflicts with spawnOnStartup value for ${t} in ${r} -- using spawnOnStartup value`),n.bootParams,i.bootParams.autoStart=i.component.spawnOnStartup||!1,o.timeout=i.bootParams.timeout||this.startComponentTimeout),i.bootParams.checkpoints&&Object.keys(i.bootParams.checkpoints).length>0&&(o.checkpointsIncluded=!0,o.checkpointConfig=i.bootParams.checkpoints),o.dependencies=i.bootParams.dependencies||[],o.stopOnFailure=!("stopOnFailure"in i.bootParams)||i.bootParams.stopOnFailure,o.autoStart=!("autoStart"in i.bootParams)||i.bootParams.autoStart,o.customFailureMessage=i.bootParams.customFailureMessage||"",o.originalConfig=n,Array.isArray(o.dependencies)||o.stage!==e||(g.default.error({leadingBlankLine:!1},`BOOT CONFIG: bootparams.dependencies for ${t} in ${r} must be an array`),o.dependencies=[""]),o}getBootConfigByType(e,t,r,n){for(const i in r){const o=this.getBootConfigElement(e,i,t,r[i]);o.stage==e&&n.push(o)}}getBootConfig(e,t){const r=[];for(let n=0;n<_.length;n++){const i=_[n];this.getBootConfigByType(e,i,t[i],r),"services"==i&&this.getBootConfigByType(e,i,t.system.requiredServicesConfig,r)}return r}runBootStage(e){return new Promise((async(t,r)=>{try{g.default.log({leadingBlankLine:!1},`BOOT STAGE: ${e}`),this.stageResolver=t,this.stageRejecter=r,this.bootConfigs[e]=this.getBootConfig(e,this.finsembleConfig),this.dependencyGraphs[e]=new p.BootDependencyGraph(e,this.bootConfigs[e],this.cumulativePreviousBootConfig),a.default.system.log("forceObjectsToLogger","BootDependencyGraph.runBootStage",e,this.bootConfigs[e],this.cumulativePreviousBootConfig,this.dependencyGraphs[e]),console.log("BootDependencyGraph.runBootStage",e,this.bootConfigs[e],this.cumulativePreviousBootConfig,this.dependencyGraphs[e]),this.processWhatIsReady(this.dependencyGraphs[e]),this.cumulativePreviousBootConfig=[...this.cumulativePreviousBootConfig,...this.bootConfigs[e]]}catch(e){r(new p.DGDiagnostics(`BootEngine:runBootStage.reject${e}`))}}))}async setupDependencyBootStatusPubSubs(){await(new S.FSBLService).startApp(),u.default.addPubSubResponder(new RegExp(`${v.STATUS_CHANNEL_BASE}.*`),E),u.default.addPubSubResponder(new RegExp(`${v.CHECKPOINT_CHANNEL_BASE}.*`),E),u.default.addPubSubResponder(v.STAGE_CHANNEL,{stage:"uninitialized"})}subscribeToDependencyBootStatus(e){u.default.subscribe(w.statusChannel(e),((e,t)=>{e?a.default.system.error("BootEngine subscribe error",e):this.genericHandlerForStateChange(t.data.name,t.data.type,t.data.state)}))}handleOneDependencyStateChange(e,t,r){if("completed"===r&&"services"===t?this.activeServices.push(e):"completed"===r&&"bootTasks"===t&&b.default.publishBootStatus(e,"bootTasks","completed"),"completed"===r||"failed"===r){const t=this.dependencyGraphs[this.currentStage];this.checkpointEngines[e]&&setTimeout((()=>{const t=this.checkpointEngines[e].getResults(r);t.okay||this.checkpointLogDiagnostics(t.errorDiag),delete this.checkpointEngines[e],a.default.system.debug("bootEngine.genericHandlerForStateChange checkpointEngine results",e,t)}),50),"failed"===r&&g.default.error({doubleIndent:!0},`BootState=${r} for ${e}. ${this.findConfigElement(e).customFailureMessage}`),t.setBootDependencyState(e,r),this.processWhatIsReady(t)}}genericHandlerForStateChange(e,t,r){a.default.system.debug(`bootEngine.genericHandlerForStateChange ${r} for ${t} ${e}`),console.debug("bootEngine.genericHandlerForStateChange",e,t,r),this.startTimers[e]&&(clearTimeout(this.startTimers[e]),delete this.startTimers[e]),this.processingTerminated||this.handleOneDependencyStateChange(e,t,r)}handleTaskResponse(e,t,r){setTimeout((()=>{this.genericHandlerForStateChange(e,t,r)}),0)}handleStartTimeout(e,t){delete this.startTimers[e],g.default.error({indent:!1},`${e} startup failed due to a time out`),this.genericHandlerForStateChange(e,t,"failed")}startBootTaskDependency(e){g.default.log({indent:!0},`starting boot task: ${e.name}`),a.default.system.debug(`bootEngine.startBootTaskDependency starting boot task ${e.name} in ${this.currentStage}`,e),this.registeredTasks[e.name]?this.registeredTasks[e.name](this.handleTaskResponse):(a.default.system.error(`bootEngine.startBootTaskDependency: unknown task ${e.name}`,e),g.default.error({},`bootEngine.startBootTaskDependency: unknown task ${e.name}`))}startServiceDependency(e){g.default.log({indent:!0},`starting service: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.default.system.debug(`bootEngine.startServiceDependency starting service ${e.name} in ${this.currentStage}`,e),this.serviceLauncher.createService(e.config.originalConfig,this.splinterAgentPool)}startComponentDependency(e){"microkernel"===this.currentStage||"kernel"===this.currentStage?g.default.error({indent:!0},`cannot config in bootParams for component ${e.name} to start until after "kernal" stage`):(g.default.log({indent:!0},`starting component: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.default.system.debug(`bootEngine.startComponentDependency starting component ${e.name} in ${this.currentStage}`,e,e.config.originalConfig),c.default.spawn(e.name,{}))}startReadyItem(e){switch(this.startTimers[e.name]=setTimeout((()=>{this.handleStartTimeout(e.name,e.type)}),e.config.timeout),e.type){case"bootTasks":this.startBootTaskDependency(e);break;case"services":this.startServiceDependency(e);break;case"components":this.startComponentDependency(e);break;default:a.default.system.error("bootEngine.startReadyItem: unknown boot type",e)}e.config.checkpointsIncluded&&(a.default.system.debug("bootEngine.startReadyItem new BootCheckpointEngine",e.config.name,e),this.checkpointEngines[e.config.name]=new h.BootCheckpointEngine(e.config.name,this.currentStage,e.config.timeout,e.config.checkpointConfig))}setStateForList(e,t){for(let r=0;r<e.length;r++){const n=e[r];this.dependencyGraphs[this.currentStage].setBootDependencyState(n.name,t)}}processReadyList(e){a.default.system.debug("bootEngine.processReadyList",e),this.setStateForList(e,"starting");for(let t=0;t<e.length;t++){const r=e[t];this.startReadyItem(r)}}processWhatIsReady(e){const t=e.getCurrentStatus();if(a.default.system.debug("bootEngine processWhatIsReady",t,e),console.log("processWhatIsReady",t),++this.processStatusCounter>500)a.default.system.error("bootEngine.processWhatIsReady is in infinite loop -- breaking out",this.processStatusCounter);else switch(t.graphState){case"error":this.stageRejecter&&this.stageRejecter(t.errorDiag);break;case"notFinished":this.processReadyList(t.readyToStartList);break;case"finished":this.stageResolver&&this.stageResolver()}}}},81057:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AddAppDefinitionsToDesktopAgentTask=void 0;const i=n(r(72551)),o=n(r(70010)),s=new(n(r(17703)).default);t.AddAppDefinitionsToDesktopAgentTask=class{async start(e){i.default.system.log("AddAppDefinitionsToDesktopAgentTask startup");let{data:t}=await o.default.getValue({field:"finsemble.appd"});await s.addAppDefinitions(t),e("addAppDefinitionsToDesktopAgentTask","bootTasks","completed")}}},1271:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckForScheduledRestartTask=void 0;const i=n(r(72551)),o=n(r(39319)),s=n(r(70010)),a=n(r(6008));let u=6e4;t.CheckForScheduledRestartTask=class{start(e){i.default.system.debug("checkForScheduledRestartTask start"),this.checkForScheduledRestart(),this.dialogManager=r(87346).default,this.dialogManager.initialize(),e("checkForScheduledRestartTask","bootTasks","completed")}checkForScheduledRestart(){let e=null,t=(t,r)=>{if(i.default.system.log("checkForScheduledRestart scheduleRestart.",t,r),console.log("Scheduling restart.",r),e&&clearTimeout(e),!r.value)return;let n=r.value,l=new Date;l.setHours(n.hour),l.setMinutes(n.minute);let c=+l-Date.now(),d=!1;c<=0&&(d=!0,l.setDate(l.getDate()+1),c=+l-Date.now()),i.default.system.log("checkForScheduledRestart scheduleRestart.",t,r),i.default.system.log(`APPLICATION LIFECYCLE:SCHEDULED RESTART FOR ${d?"TOMORROW":"TODAY"}:`,r.value,"diff",c),e=setTimeout((()=>{i.default.system.log("Scheduling restart"),this.dialogManager.createStore((()=>{i.default.system.log("Scheduling restart: after createStore"),this.dialogManager.open("yesNo",{monitor:"primary",title:"Automatic Restart",question:"The application will restart in one minute. Your workspace will be saved.",showTimer:!0,timerDuration:u,showNegativeButton:!1,affirmativeResponseLabel:"Restart Now"},(async(e,t)=>{"cancel"===t.choice?s.default.getValue({field:"finsemble.scheduledRestart"},((e,t)=>{s.default.setPreference({field:"finsemble.scheduledRestart",value:t})})):(await a.default.save(),o.default.transmit("Application.restart",{}))}))}))}),c)};s.default.getValue({field:"finsemble.scheduledRestart"},((e,r)=>{r&&!isNaN(r.dialogTimeout)&&(u=r.dialogTimeout),i.default.system.log("scheduledRestart initial config",r),t(e,{value:r})})),s.default.addListener({field:"finsemble.scheduledRestart"},((e,r)=>{i.default.system.log("scheduledRestart new config",r),r.value?i.default.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART TIME CHANGED. NEW TIME:",r.value):i.default.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART DISABLED."),t(e,r)}))}}},13810:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HideSplashScreenTask=void 0;const i=n(r(72551)),o=n(r(70010)),s=r(51742);t.HideSplashScreenTask=class{start(e){i.default.system.log("Hide Splash Screen Task Started. If splashScreenTimeout is 0, this hides the splash screen."),o.default.getValue("splashScreenTimeout",((t,r)=>{r||s.System.hideSplashScreen(),e("hideSplashScreenTask","bootTasks","completed")}))}}},82878:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeDeepLinkingTask=void 0;const i=n(r(72551)),o=r(51742);t.InitializeDeepLinkingTask=class{start(e){o.System.getProtocolString().then((e=>{i.default.system.log(`initializeDeepLinkingTask startup ${e}`)})),e("initializeDeepLinkingTask","bootTasks","completed")}}},95:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeFinsemblePubsubTask=void 0;const i=n(r(72551)),o=n(r(39319));t.InitializeFinsemblePubsubTask=class{start(e){i.default.system.debug("initializeFinsemblePubsubTask start"),o.default.addPubSubResponder(/.*Finsemble.*/,{}),e("initializeFinsemblePubsubTask","bootTasks","completed")}}},15691:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeRouterTask=void 0;const i=n(r(39319)),o=n(r(72551));t.InitializeRouterTask=class{constructor(e){this.serviceLauncher=e.serviceLauncher}start(e){const t=this.serviceLauncher.getServiceConfig("router");this.serviceLauncher.createService(t),o.default.system.log("initializeRouterService",t),i.default.onReady((()=>{e("initializeRouterTask","bootTasks","completed")}))}}},77215:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeSystemManagerAPITask=void 0;const a=o(r(78379)),u=s(r(39319)),l=s(r(72551)),c=r(33509);t.InitializeSystemManagerAPITask=class{constructor(e){this.systemLog=e.systemLog,this.bootEngine=e.bootEngine}start(e){l.default.system.debug("initializeSystemManagerAPITask start"),u.default.addListener(c.SYSLOG_CHANNEL,((e,t)=>{t?.data.params.error?this.systemLog.error(t.data.params,t.data.logMessage):t?.data.params.notification?this.systemLog.notification(t.data.params,t.data.logMessage):this.systemLog.log(t?.data.params,t?.data.logMessage)})),u.default.addListener(a.SERVICE_START_CHANNEL,((e,t)=>{this.bootEngine.startService(t?.data.name)})),e("initializeSystemManagerAPITask","bootTasks","completed")}}},98690:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeSystemStateHandersTask=void 0;const a=s(r(39319)),u=s(r(72551)),l=o(r(78379)),c=s(r(5020));t.InitializeSystemStateHandersTask=class{constructor(){this.ServiceStates={}}start(e){u.default.system.debug("initializeSystemStateHandersTask start"),a.default.addPubSubResponder("AuthorizationState",{state:"undefined"}),a.default.addPubSubResponder(/WorkspaceService.*/,{state:"start"}),a.default.addPubSubResponder(l.APPLICATION_STATE_CHANNEL,{state:"initializing"},{publishCallback:(e,t)=>{u.default.system.log("APPLICATION LIFECYCLE: STATE CHANGE",t.data.state),t.sendNotifyToAllSubscribers(null,t.data)}}),a.default.addListener(l.SERVICE_INITIALIZING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.name,state:"initializing"})})),a.default.addListener(l.SERVICE_READY_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.serviceName,state:"ready"})})),a.default.addListener(l.SERVICE_CLOSING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.name,state:"closing"})})),a.default.addListener(l.SERVICE_CLOSED_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:t?.data.name,state:"closed"})})),c.default.waitForStartup("dataStoreService",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"configuring"})})),c.default.waitForBootStage("kernel","stageEntered",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"initializing"})})),c.default.waitForBootStage("authentication","stageEntered",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"authenticating"})})),c.default.waitForBootStage("authentication","stageCompleted",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"authenticated"})})),c.default.waitForBootStage("user","stageEntered",(()=>{a.default.publish(l.APPLICATION_STATE_CHANNEL,{state:"ready"})})),e("initializeSystemStateHandersTask","bootTasks","completed")}handleServiceStateChange(e){const t=e.name,r=e.state;this.ServiceStates[t]={state:r};const n=`SERVICE LIFECYCLE: STATE CHANGE: Service ${r}`;u.default.system.log(n,t),a.default.publish(`Finsemble.Service.State.${t}`,{state:r}),a.default.publish(l.SERVICES_STATE_CHANNEL,this.ServiceStates)}}},49391:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LoadAppDInstalledComponentsTask=void 0;const i=r(57664),o=n(r(72551)),s=n(r(9562)),a=n(r(70010)),u=n(r(43190)),l=n(r(39319)),c=n(r(14291)),d=n(r(18523));let f,h;const p="loadAppDInstalledComponentsTask";t.LoadAppDInstalledComponentsTask=class{start(e){o.default.system.debug("LoadAppDInstalledComponentsTask start"),a.default.getValue({field:"finsemble.appDirectoryEndpoint"},((t,r)=>{null===r?(o.default.system.debug("LoadAppDInstalledComponentsTask appDirectoryEndpoint is not set. No components to load."),e(p,"bootTasks","completed")):l.default.subscribe("distributedStoresLoading",((t,n)=>{t||"done"!==n.data.State||u.default.getStore({store:"Finsemble-AppLauncher-Store",global:!0},((t,n)=>{const a=n||{};let u={};if(t)o.default.system.debug("LoadAppDInstalledComponentsTask error",t),e(p,"bootTasks","completed");else{if(void 0===a.values||void 0===a.values.appDefinitions)return void e(p,"bootTasks","completed");u=a.values.appDefinitions,i.forEach(u,((e,t)=>{this.lazyLoadAppD(r),this.getApp(e.appID,((r,n)=>{r&&(console.error("There was an error loading from FDC3",e,r),t()),s.default.registerComponent({componentType:e.name,manifest:JSON.parse(n.manifest)},(e=>{o.default.system.debug("LoadAppDInstalledComponentsTask err",e),t()}))}))}),(()=>{o.default.system.debug("LoadAppDInstalledComponentsTask done"),e(p,"bootTasks","completed")}))}}))}))}))}getApp(e,t=Function.prototype){h.get(e).then((e=>t(null,e))).catch((e=>t(e)))}lazyLoadAppD(e){f||(f=new d.default({url:e})),h||(h=new c.default(f))}}},6199:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LoadSystemTrayIconTask=void 0;const a=s(r(72551)),u=s(r(9562)),l=r(51742),c=o(r(76420)),d=s(r(70010)),f=s(r(13854));t.LoadSystemTrayIconTask=class{async start(e){a.default.system.debug("loadSystemTrayIconTask start"),f.default.shutdown.waitFor({},this.handleShutdown.bind(this));const{data:t}=await d.default.getValue({field:"finsemble.systemTrayIcon"});let{data:r}=await d.default.getValue({field:"finsemble.systemTrayComponent"});d.default.addListener({field:"finsemble.systemTrayIcon"},((e,t)=>{this.removeSystemTrayIcon();let n=t.value;this.setupSystemTray(n,r)})),t&&this.setupSystemTray(t,r),e("loadSystemTrayIconTask","bootTasks","completed")}setupSystemTray(e,t){const r={clickListener(e){a.default.system.debug("System Tray Icon Clicked"),l.System.getMousePosition(((r,n)=>{switch(e.button){case 0:u.default.getActiveDescriptors(((e,t)=>{if(!e){const e=Object.keys(t);u.default.bringWindowsToFront({windowList:e})}}));break;case 2:l.System.Application.getCurrent().getTrayIconInfo((e=>{c.Monitors.getMonitorFromScaledXY(n.left,n.top,(r=>{const i={spawnIfNotFound:!0,monitor:r.position,left:null,right:null,top:null,bottom:null},o=r.monitorRect,s=e.monitorInfo?e.monitorInfo.taskbar:r.taskbar;n.left-o.left<=o.right-n.left?(i.left=n.left,"left"==s.edge&&i.left<s.right&&(i.left=s.right+1)):("right"==s.edge&&n.left<s.right&&(n.left=s.right-1),i.right=o.right-n.left),n.top-o.top<=o.bottom-n.top?(i.top=n.top,"top"==s.edge&&i.top<s.top&&(i.top=s.top+1)):("bottom"==s.edge&&n.top>s.top&&(n.top=s.top-1),i.bottom=o.bottom-n.top),t&&u.default.showWindow({componentType:t},i,(()=>{}))}))}))}}))}};a.default.system.log("Setting system tray icon"),l.System.Application.getCurrent().setTrayIcon(e,r)}removeSystemTrayIcon(){l.System.Application.getCurrent().removeTrayIcon((()=>{a.default.system.debug("System Tray Icon removed")}),(()=>{a.default.system.error("Unable to remove System Tray Icon")}))}handleShutdown(){this.removeSystemTrayIcon()}}},16453:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LoadUserDefinedComponentsTask=void 0;const i=r(57664),o=n(r(72551)),s=n(r(9562)),a=n(r(63862));t.LoadUserDefinedComponentsTask=class{start(e){o.default.system.debug("loadUserDefinedComponentsTask start"),a.default.onReady((()=>{a.default.get({topic:"finsemble",key:"userDefinedComponents"},((t,r)=>{const n=r||{};if(t)o.default.system.debug("loadUserDefinedComponentsTask error",t),e("loadUserDefinedComponentsTask","bootTasks","failed");else{const t=Object.keys(n);i.forEach(t,((e,t)=>{const r=n[e];s.default.addUserDefinedComponent({name:r.component.type,url:r.window.url},t)}),(()=>{e("loadUserDefinedComponentsTask","bootTasks","completed")}))}}))}))}}},75089:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RegisterHotkeysTask=void 0;const i=n(r(72551)),o=n(r(9562)),s=n(r(68718)),a=n(r(70010));t.RegisterHotkeysTask=class{async start(e){i.default.system.debug("registerHotkeysTask start");const{data:t}=await a.default.getValue({field:"finsemble.components"});Object.keys(t).forEach((e=>{const r=t[e];if(r.component&&r.component.spawnOnHotkey){const t=()=>{o.default.spawn(e,{addToWorkspace:!0,monitor:"primary"},Function.prototype)};s.default.addGlobalHotkey(r.component.spawnOnHotkey,t)}})),e("registerHotkeysTask","bootTasks","completed")}}},65250:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SetupSearchLauncherTask=void 0;const i=n(r(30975)),o=n(r(74602)),s=n(r(72551)),a=n(r(9321)),u=n(r(9562)),l=n(r(39319)),c=n(r(70010));t.SetupSearchLauncherTask=class{constructor(){this.componentArray=[],a.default.initialize(),l.default.subscribe("Launcher.update",((e,t)=>{s.default.debug("SetupSearchLauncherTask component list updated",e,t),e||(this.componentArray=this.getRefinedComponentData(t.data.componentList))}))}getRefinedComponentData(e){const t=[];for(const r in e){const n=e[r];n.foreign||(n.foreign={}),n.component||(n.component={}),n.component.type=r,t.push(n),s.default.system.debug("setupSearchLauncherTask oneConfig",r,n)}return s.default.system.debug("setupSearchLauncherTask refinedComponents",t),t}async start(e){s.default.system.debug("setupSearchLauncherTask start");const{data:t}=await c.default.getValue({field:"finsemble.servicesConfig"}),{data:r}=await c.default.getValue({field:"finsemble.components"});this.componentArray=this.getRefinedComponentData(r),s.default.system.debug("setupSearchLauncherTask config",t,this.componentArray);const n={title:null,providerActionComponent:null};t&&t.launcher&&t.launcher.searchProviderAction&&(n.title=t.launcher.searchProviderAction.title,n.providerActionComponent=t.launcher.searchProviderAction.component),a.default.onReady((()=>{a.default.register({name:"Installed Components",searchCallback:this.searchComponents.bind(this),itemActionCallback:this.searchActions.bind(this),providerActionTitle:n.title,providerActionCallback(e){s.default.system.debug("setupSearchLauncherTask providerActionCallback",e),u.default.spawn(n.providerActionComponent,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:e}},Function.prototype)}},(()=>{e("setupSearchLauncherTask","bootTasks","completed")}))}))}searchComponents(e,t){const r=[];let n,s={shouldSort:!0,includeScore:!0,includeMatches:!0,threshold:.4,location:0,distance:100,minMatchCharLength:1,keys:["component.displayName","component.type"]};c.default.getValue({field:"finsemble.servicesConfig.launcher.search"},((a,u)=>{if(null!=u){if(u.hasOwnProperty("enabled")&&!u.enabled)return void t(null,[]);u.hasOwnProperty("options")&&(s=o.default(s,u.options))}const l=new i.default(this.componentArray,s);n=e.text.length?l.search(e.text):JSON.parse(JSON.stringify(this.componentArray));for(let t=0;t<n.length;t++){const i=n[t];if(i.item||e.text.length||(i.item=i),i.item.foreign&&i.item.foreign.components&&i.item.foreign.components["App Launcher"]&&i.item.foreign.components["App Launcher"].launchableByUser){let e=null;i.item.window.icon&&(e={type:"url",path:i.item.window.icon}),!e&&i.item.foreign&&i.item.foreign.components&&i.item.foreign.components.Toolbar&&(i.item.foreign.components.Toolbar.iconClass?e={type:"fonticon",path:i.item.foreign.components.Toolbar.iconClass}:i.item.foreign.components.Toolbar.iconURL&&(e={type:"url",path:i.item.foreign.components.Toolbar.iconURL})),r.push({name:i.item.component.type,displayName:i.item.component.displayName||i.item.component.type,score:i.score,matches:i.matches,icon:e,type:"Application",description:"",actions:[{name:"Spawn"}],tags:[]})}}t(null,r)}))}searchActions(e,t){e.action&&e.item&&"Spawn"===e.action.name&&u.default.spawn(e.item.name,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:t}},Function.prototype)}}},25929:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StartLoggerTask=void 0;const i=n(r(72551));t.StartLoggerTask=class{start(e){i.default.system.debug("startLoggerTask start"),i.default.start(),e("startLoggerTask","bootTasks","completed")}}},83780:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckpointBadDependencyTestTask=void 0;const i=n(r(5020)),o="checkpointBadDependencyTestTask";t.CheckpointBadDependencyTestTask=class{start(e){i.default.publishCheckpointState(o,"checkpoint1","completed"),i.default.publishCheckpointState(o,"checkpoint2","completed"),i.default.publishCheckpointState(o,"checkpoint3","completed"),i.default.publishCheckpointState(o,"checkpoint4","completed"),i.default.publishCheckpointState(o,"checkpoint5","completed"),i.default.publishCheckpointState(o,"checkpoint6","completed"),i.default.publishCheckpointState(o,"checkpoint7","completed"),i.default.publishCheckpointState(o,"checkpoint8","completed"),setTimeout((()=>{e(o,"bootTasks","completed")}),2e3)}}},65887:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckpointCircularDependencyTestTask=void 0;const i=n(r(5020)),o="checkpointCircularDependencyTestTask";t.CheckpointCircularDependencyTestTask=class{start(e){i.default.publishCheckpointState(o,"checkpoint1","completed"),i.default.publishCheckpointState(o,"checkpoint2","completed"),i.default.publishCheckpointState(o,"checkpoint3","completed"),i.default.publishCheckpointState(o,"checkpoint4","completed"),i.default.publishCheckpointState(o,"checkpoint5","completed"),i.default.publishCheckpointState(o,"checkpoint6","completed"),i.default.publishCheckpointState(o,"checkpoint7","completed"),i.default.publishCheckpointState(o,"checkpoint8","completed"),setTimeout((()=>{e(o,"bootTasks","completed")}),2e3)}}},52973:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CheckpointErrorTestTask=void 0;const i=n(r(5020)),o="checkpointErrorTestTask";t.CheckpointErrorTestTask=class{start(e){i.default.publishCheckpointState(o,"checkpoint1","completed"),i.default.publishCheckpointState(o,"checkpoint2","completed"),i.default.publishCheckpointState(o,"checkpoint3","completed"),i.default.publishCheckpointState(o,"checkpoint4","completed"),i.default.publishCheckpointState(o,"checkpoint5","completed"),i.default.publishCheckpointState(o,"checkpoint6","failed"),setTimeout((()=>{e(o,"bootTasks","completed")}),2e3)}}},9822:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForceErrorTestTask=void 0,t.ForceErrorTestTask=class{start(e){e("forceErrorTestTask","bootTasks","failed")}}},52699:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UpdateServiceLauncherConfigTask=void 0;const i=n(r(70010));t.UpdateServiceLauncherConfigTask=class{constructor(e){this.serviceLauncher=e.serviceLauncher}async start(e){const t=await i.default.getValue({field:"finsemble"});this.serviceLauncher.updateConfig(t.data),e("updateServiceLauncherConfigTask","bootTasks","completed")}}},71075:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForAuthenticatedTask=void 0;const i=n(r(39319)),o=n(r(72551));t.WaitForAuthenticatedTask=class{start(e){o.default.system.debug("waitForAuthenticatedTask start"),i.default.addPubSubResponder("Authorization",{});const t=i.default.subscribe("Authorization",(r=>{r||(i.default.unsubscribe(t),e("waitForAuthenticatedTask","bootTasks","completed"))}))}}},68108:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForUpdateDownloadTask=void 0;const i=n(r(72551)),o=n(r(39319)),s=r(51742),a=n(r(70010)),u=n(r(73699));t.WaitForUpdateDownloadTask=class{async start(e){i.default.system.debug("waitForUpdateDownloadTask start");const{data:t}=await a.default.getValue({field:"finsemble.waitForUpdate"});t?s.System.getUpdateAvailable((t=>{t?(i.default.system.debug("Waiting for update to download"),u.default.alert("alert","ONCE-SINCE-STARTUP","Waiting for download","Update available. Waiting for it to download before starting."),s.System.addEventListener("apply-update-requested",(()=>{i.default.system.debug("Update downloaded... restarting"),o.default.transmit("Application.restart",{})}))):(i.default.system.debug("Update not available... continue startup"),e("waitForUpdateDownloadTask","bootTasks","completed"))})):(i.default.system.debug("Starting without waiting for update to download"),e("waitForUpdateDownloadTask","bootTasks","completed"))}}},95269:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkpointChannel=t.statusChannel=t.killOldApplications=void 0;const n=r(51742),i=r(33509);t.killOldApplications=function(e){return new Promise((async t=>{n.System.getAllApplications((async r=>{if(r)for(let t=0;t<r.length;t++){const i=r[t];if(i.uuid?.endsWith(`-${e}`)){const e=n.System.Application.wrap(i.uuid);await n.System.closeApplication(e)}}console.log("killOldApplications: finished closing old apps"),t()}))}))},t.statusChannel=function(e){return`${i.STATUS_CHANNEL_BASE}.${e}`},t.checkpointChannel=function(e,t){return`${i.CHECKPOINT_CHANNEL_BASE}.${e}.${t}`}},32214:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceLauncher=void 0;const i=n(r(72551)),o=r(51742),s=n(r(35331)),a=n(r(5020)),u=r(80089),l=r(74602);t.ServiceLauncher=class{constructor(e){this.runningServices={},this.workerTop=100,this.workerLeft=100,this.webWorkers={},this.finUUID=e.finUUID,this.manifest=e.manifest,this.finsembleConfig=e.manifest.finsemble,this.shutdownManager=e.shutdownManager}updateConfig(e){this.finsembleConfig=e}updateManifest(e){this.manifest=e}getServiceConfig(e){let t=e;const r=t.indexOf("Service");-1!==r&&(t=t.substring(0,r));const n=`${t}Service`;return this.mergeConfig([{path:"system.requiredServicesConfig",entry:n},{path:"system.requiredServicesConfig",entry:t},{path:"services",entry:n},{path:"services",entry:t},{path:"servicesConfig",entry:n},{path:"servicesConfig",entry:t}])}createService(e,t){if(this.runningServices[e.name])return;this.runningServices[e.name]=!0;const r=this.getServiceConfig(e.name);r.parentUuid=this.finUUID;const n=this.composeWorkerConfig(Object.assign({},e,r));if(i.default.system.debug("createService",n),!n.name){let t="Tried to create a service without a name. Check your config.";return e&&r&&(t+=`\n\t\t\t\tconfig: ${JSON.stringify(e,null,4)}\n\t\t\t\tupdatedConfig: ${JSON.stringify(r,null,4)}`),void a.default.systemLog({error:!0},t)}let{spawnAs:o}=n;switch(!o&&n.isolate&&(o="process"),o||(o="window"),o){case"window":this.launchServiceAsWindow(r,n,t);break;case"process":this.launchServiceAsProcess(r,n);break;case"script":this.launchServiceAsScript(r);break;case"thread":this.launchServiceAsThread(r,n)}this.workerTop=this.workerTop+25,this.workerLeft=this.workerLeft+25}mergeConfig(e){let t={};return e.forEach((e=>{t=l(t,u(this.finsembleConfig,`${e.path}.${e.entry}`,{}))})),t}launchServiceAsScript(e){const t=e.file,r=document.createElement("script");r.setAttribute("src",t),document.head.appendChild(r)}launchServiceAsThread(e,t){const r=e.file;this.webWorkers[t.name]=new Worker(r)}launchServiceAsWindow(e,t,r){new o.System.Window(t,(()=>{const e=o.System.Window.wrap(t.uuid,t.name);this.onServiceCreated(e)}),this.onServiceCreationError)}launchServiceAsProcess(e,t){t.uuid=`${t.name}-${this.finUUID}`,t.parentUUID=this.finUUID,console.info(t.name,t);const r=new o.System.Application(t,(()=>{const e=o.System.Window.wrap(t.uuid,t.name);this.onServiceCreated(e),this.shutdownManager.addAppToShutdownList(r)}))}composeWorkerConfig(e){const t=l(e,{manifest:this.manifest}),r={url:e.external?e.html:e.html||"base.html",name:e.name,defaultTop:this.workerTop,defaultLeft:this.workerLeft,autoShow:e.visible,frame:e.frame,customData:t,alwaysOnTop:!1,fixedPosition:!1,saveWindowState:!1,cornerRounding:!0,waitForPageLoad:!0,isolate:e.isolate,spawnAs:e.spawnAs,affinity:e.affinity,securityPolicy:e.securityPolicy||null,permissions:e.permissions||{},icon:this.manifest.startup_app?this.manifest.startup_app.applicationIcon:null},n=l(r,e.window||{});return this.finsembleConfig.securityPolicies&&(n.securityPolicy=s.default.getSecurityPolicy(n,this.finsembleConfig),n.permissions=s.default.getPermissions(n,this.finsembleConfig)),n}onServiceCreated(e){i.default.system.debug("OnworkerCreated",e.name),e.addEventListener("reloaded",(()=>{i.default.system.debug("Service Reloaded",e.name)}))}onServiceCreationError(e){i.default.system.error("error",e)}}},67610:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ShutdownManager=void 0;const a=r(57664),u=s(r(72551)),l=r(51742),c=s(r(39319)),d=o(r(78379)),f=r(13854);class h{constructor(e){this.quitType="quit",this.servicesLoaded=[],this.servicesResponded=[],this.waitFor=[],this.createdApps=[],this.splinterAgentPool=null,this.finsembleConfig=e.manifest.finsemble,this.finUUID=e.finUUID,this.forceRestart=this.forceRestart.bind(this)}setSplinterAgentPool(e){this.splinterAgentPool=e}async attemptQuit(){await this.waitForMonitorsToBeReleased(),"quit"===this.quitType?this.shutdownFinsemble():"restart"===this.quitType&&this.forceRestart()}forceRestart(){u.default.system.debug("shutdownManager.forceRestart"),l.System.Application.getCurrent().restart()}closeAllApplications(e){console.info("APPLICATION LIFECYCLE:SHUTDOWN:Closing all applications:start"),a.series([e=>{this.splinterAgentPool?this.splinterAgentPool.shutdown(e):e()},async()=>{for(const e of this.createdApps)await l.System.closeApplication(e)}],e)}shutdownFinsemble(){this.closeAllApplications((()=>{l.System.closeApplication(l.System.Application.getCurrent())}))}async transmitShutdownRequest(){l.System.hideSplashScreen();const e="APPLICATION LIFECYCLE:SHUTDOWN:transmitShutdownRequest:Sending out message to shut down.";console.info(e),u.default.system.log(e),c.default.publish(d.APPLICATION_STATE_CHANNEL,{state:"closing"});const t=this.finsembleConfig.shutdownTimeout||1e4;await this.waitForMonitorsToBeReleased(),setTimeout((()=>{l.System.closeApplication(l.System.Application.getCurrent())}),t)}async transmitRestartRequest(e){const t="APPLICATION LIFECYCLE:SHUTDOWN:transmitRestartRequest:Sending out message to shut down.";if(console.info(t),u.default.system.log(t),u.default.system.debug("shutdownManager.transmitRestartRequest"),this.quitType="restart",c.default.publish(d.APPLICATION_STATE_CHANNEL,{state:"closing"}),await this.waitForMonitorsToBeReleased(),e?.forceRestart)this.forceRestart();else{const e=this.finsembleConfig.shutdownTimeout||1e4;setTimeout(this.forceRestart,e)}}async waitForMonitorsToBeReleased(){return u.default.system.debug("shutdownManager.waitForMonitorsToBeReleased"),new Promise((async e=>{let t=0;const r=this.finsembleConfig.shutdownTimeout||1e4;setTimeout(e,r);let n=await this.areAllMonitorsReleased();for(;!n&&t<50;)t+=1,n=await this.areAllMonitorsReleased();n?e():setTimeout(e,2e3)}))}async areAllMonitorsReleased(){u.default.system.verbose("shutdownManager.areAllMonitorsReleased");let e=await l.System.getMonitorInfo();return!e||!!this.isMonitorReleased(e.primaryMonitor)&&(e.nonPrimaryMonitors.forEach((e=>{if(!this.isMonitorReleased(e))return!1})),!0)}isMonitorReleased(e){let{top:t,bottom:r,left:n,right:i}=e.monitorRect;switch(e.taskbar.edge){case"bottom":r-=e.taskbar.height;break;case"top":t+=e.taskbar.height;break;case"left":n+=e.taskbar.width;break;case"right":i-=e.taskbar.width}return e.availableRect.top===t&&e.availableRect.bottom===r&&e.availableRect.left===n&&e.availableRect.right===i}}t.ShutdownManager=class{constructor(e){u.default.system.log("shutdownManager",e),this.manifest=e.manifest,this.finsembleConfig=e.manifest.finsemble,this.shutdown=new h({finUUID:e.finUUID,manifest:e.manifest}),this.shutdownList=[],this.restart=this.restart.bind(this),c.default.onReady((()=>{u.default.system.debug("Adding Listeners for shutdown and restart"),this.dialogManager=r(87346).default,this.dialogManager.initialize(),c.default.addListener("Application.shutdown",(()=>{this.shutdown.transmitShutdownRequest()})),c.default.addListener("Application.restart",((e,t)=>{this.shutdown.transmitRestartRequest(t?.data)}))})),l.System.addEventListener("apply-update-requested",(()=>{u.default.system.log("Apply update requested: after onReady"),this.dialogManager.createStore((()=>{this.dialogManager.open("yesNo",{monitor:"primary",title:"Application Update",question:"A new version has been downloaded. Do you want to restart the application now to apply the updates?",showTimer:!1,showNegativeButton:!1,affirmativeResponseLabel:"Restart Now"},(async(e,t)=>{"cancel"!==t.choice&&c.default.transmit("Application.restart",{})}))}))}))}setSplinterAgentPool(e){this.shutdown.setSplinterAgentPool(e)}addAppToShutdownList(e){this.shutdownList.push(e)}addActiveServicesToDependencyManager(e){const t=e.filter((e=>"routerService"!==e));u.default.system.debug("shutdownManager.addActiveServicesToDependencyManager: Will wait for the following services at shutdown",t),console.log("Will wait for the following services at shutdown",t),(new f.FSBLDependencyManager).shutdown.waitFor({services:t},this.shutdown.attemptQuit.bind(this.shutdown))}restart(){this.shutdown.transmitRestartRequest()}}},72973:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SystemLog=void 0;const i=r(51742),o=n(r(72551)),s=r(33509);class a{constructor(){this.onErrorMakeSystemManagerVisible=!0,this.catastrophicFailure=!1}initialize(e){this.onErrorMakeSystemManagerVisible=e;const t=i.System.Window.getCurrent();setTimeout((()=>{r(39319).default.addListener(s.SHOW_SYSLOG_CHANNEL,(()=>{this.showSystemLog()}))}),2e3),setTimeout((()=>{t.bringToFront()}),15e3),t.addEventListener("close-requested",(()=>{this.catastrophicFailure?i.System.exit():this.hideSystemLog()}))}log(e,t,r=""){o.default.system.debug("SystemLog.log",e,t,r);let n="";console.log("SYSTEM LOG",t,r);const i=document.getElementById("log");e.leadingBlankLine&&(i.innerHTML=`${i.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),i.innerHTML=`${i.innerHTML}<span>${n}${t}<br /></span>`,""!=r&&(i.innerHTML=`${i.innerHTML}${JSON&&JSON.stringify?JSON.stringify(r):r}<br />`)}warn(e,t,r){o.default.system.debug("SystemLog.warn",e,t,r);let n="";this.onErrorMakeSystemManagerVisible&&this.showSystemLog(),r=r||"",console.error("SYSTEM LOG ERROR",t,r);const i=document.getElementById("log");e.leadingBlankLine&&(i.innerHTML=`${i.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),i.innerHTML=`${i.innerHTML}<span style='color: #DC951F;'>${n}${t}<br /></span>`,""!=r&&(i.innerHTML=`${i.innerHTML}<span style='color: #DC951F;'>${n}${JSON&&JSON.stringify?JSON.stringify(r):r}<br /></span>`)}error(e,t,r){o.default.system.debug("SystemLog.error",e,t,r),t.includes("Terminating Boot")&&(this.catastrophicFailure=!0);let n="";this.onErrorMakeSystemManagerVisible?this.showSystemLog():this.catastrophicFailure&&i.System.exit(),r=r||"",console.error("SYSTEM LOG ERROR",t,r);const s=document.getElementById("log");e.leadingBlankLine&&(s.innerHTML=`${s.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),s.innerHTML=`${s.innerHTML}<span style='color: #F26666;'>${n}${t}<br /></span>`,""!=r&&(s.innerHTML=`${s.innerHTML}<span style='color: #F26666;'>${n}${JSON&&JSON.stringify?JSON.stringify(r):r}<br /></span>`)}notification(e,t,r){o.default.system.debug("SystemLog.notification",e,t,r);let n="";r=r||"",console.error("SYSTEM LOG NOTIFICATION",t,r);const i=document.getElementById("notification");e.leadingBlankLine&&(i.innerHTML=`${i.innerHTML}<br />`),e.indent?n="        ":e.doubleIndent&&(n="               "),i.innerHTML=`${i.innerHTML}<span style='color: #0A8CF4;'>${n}${t}<br /></span>`,""!=r&&(i.innerHTML=`${i.innerHTML}<span style='color: #0A8CF4;'>${n}${JSON&&JSON.stringify?JSON.stringify(r):r}<br /></span>`)}showSystemLog(){const e=i.System.Window.getCurrent();e.show(),e.bringToFront(),i.System.hideSplashScreen()}hideSystemLog(){i.System.Window.getCurrent().hide()}}t.SystemLog=a;const u=new a;t.default=u},51001:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SystemManager=void 0;const i=n(r(72551)),o=n(r(72973)),s=r(63529),a=r(95269),u=r(32214),l=r(67610),c=r(51742),d=r(33998),f=r(95834),h=r(58275),p=r(82878),m=r(98690),g=r(15691),y=r(95),v=r(71075),w=r(77215),b=r(25929),S=r(75089),_=r(65250),C=r(16453),E=r(49391),P=r(6199),T=r(9822),k=r(52973),A=r(83780),L=r(65887),O=r(52699),I=r(1271),R=r(13810),D=r(68108),F=r(81057);n(r(63862)).default.initialize(),window.addEventListener("error",(e=>{const t=e.error&&e.error.stack?e.error.stack.substring(e.error.stack.search("at ")):"",r=`System Manager: ${e.message}<br />File: ${e.filename}<br />Line: ${e.lineno}<br />Column: ${e.colno}<br />${t}`;return o.default.error({leadingBlankLine:!0},r),!1}));class M{constructor(e){console.debug("Starting System Manager",e),c.System.startupApplicationHandshake(),this.manifest=e.manifest,this.initialize()}async initialize(){this.onErrorMakeSystemManagerVisible=d.ConfigUtilInstance.getDefault(this.manifest,"manifest.finsemble.bootConfig.onErrorMakeSystemManagerVisible",!1),o.default.initialize(!!this.onErrorMakeSystemManagerVisible),await h.DeprecatedConfigUtilInstance.modifyConfigBasedOnDeprecatedDefinitions("bootConfig",this.manifest),await f.SchemaUtilInstance.walkSchemaAndSetConfigDefaults(this.manifest),this.verifyConfig(this.manifest),this.finUUID=c.System.Application.getCurrent().uuid,console.log("finUUID",this.finUUID),!1!==this.manifest.finsemble.killOrphanApplications&&(console.log("killing applications"),await a.killOldApplications(this.finUUID)),window.mainWindow=c.System.Window.getCurrent(),i.default.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion)}async verifyConfig(e){let t=!0,r=await f.SchemaUtilInstance.validateConfig(e,"#/definitions/BootManifestSubschema");return r&&(o.default.error({},'Boot Config Errors: Ctrl+Shift-I on this window to see "JSON Schema Validation Errors" in System Manager\'s devTool console.'),console.error(r),t=!1),t}helpData(){return console.log("1) finsemble.bootConfig onErrorMakeSystemManagerVisible:",this.onErrorMakeSystemManagerVisible),console.log(""),this.bootEngine?.helpData(),"helpData complete"}reallyBoot(){try{this.shutdownManager=new l.ShutdownManager({finUUID:this.finUUID,manifest:this.manifest}),this.serviceLauncher=new u.ServiceLauncher({finUUID:this.finUUID,manifest:this.manifest,shutdownManager:this.shutdownManager}),window.bootEngine=this.bootEngine=new s.BootEngine(this.manifest,this.serviceLauncher,this.shutdownManager),this.registerBootTasks(this.bootEngine,this.manifest,this.serviceLauncher,this.shutdownManager),this.bootEngine.run()}catch(e){o.default.error({leadingBlankLine:!0},e)}}async boot(){await this.verifyConfig(this.manifest)?(!1!==this.manifest.finsemble.killOrphanApplications&&(console.log("killing applications"),await a.killOldApplications(this.finUUID)),i.default.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion),this.manifest.finsemble.debugSystemManager?c.System.showDeveloperTools(this.finUUID,this.manifest.startup_app.name,null,(()=>{setTimeout((()=>{this.reallyBoot()}),1e3)})):this.reallyBoot()):o.default.error({leadingBlankLine:!0},"FATAL ERROR: Prematurely terminating Finsemble.")}registerBootTasks(e,t,r,n){this.bootEngine?.registerBootTask("initializeDeepLinkingTask",(e=>{(new p.InitializeDeepLinkingTask).start(e)})),this.bootEngine?.registerBootTask("initializeRouterTask",(e=>{new g.InitializeRouterTask({manifest:t,serviceLauncher:r}).start(e)})),this.bootEngine?.registerBootTask("updateServiceLauncherConfigTask",(e=>{new O.UpdateServiceLauncherConfigTask({serviceLauncher:r}).start(e)})),this.bootEngine?.registerBootTask("initializeFinsemblePubsubTask",(e=>{(new y.InitializeFinsemblePubsubTask).start(e)})),this.bootEngine?.registerBootTask("initializeSystemStateHandersTask",(e=>{(new m.InitializeSystemStateHandersTask).start(e)})),this.bootEngine?.registerBootTask("testTask_initializeSplinterAgentPool",(e=>{this.bootEngine?.initializeSplinterAgentPoolTask(e)})),this.bootEngine?.registerBootTask("waitForUpdateDownloadTask",(e=>{(new D.WaitForUpdateDownloadTask).start(e)})),this.bootEngine?.registerBootTask("waitForAuthenticatedTask",(e=>{(new v.WaitForAuthenticatedTask).start(e)})),this.bootEngine?.registerBootTask("initializeSystemManagerAPITask",(t=>{new w.InitializeSystemManagerAPITask({bootEngine:e,systemLog:o.default}).start(t)})),this.bootEngine?.registerBootTask("startLoggerTask",(e=>{(new b.StartLoggerTask).start(e)})),this.bootEngine?.registerBootTask("loadUserDefinedComponentsTask",(e=>{(new C.LoadUserDefinedComponentsTask).start(e)})),this.bootEngine?.registerBootTask("loadAppDInstalledComponentsTask",(e=>{(new E.LoadAppDInstalledComponentsTask).start(e)})),this.bootEngine?.registerBootTask("registerHotkeysTask",(e=>{(new S.RegisterHotkeysTask).start(e)})),this.bootEngine?.registerBootTask("setupSearchLauncherTask",(e=>{(new _.SetupSearchLauncherTask).start(e)})),this.bootEngine?.registerBootTask("loadSystemTrayIconTask",(e=>{(new P.LoadSystemTrayIconTask).start(e)})),this.bootEngine?.registerBootTask("checkForScheduledRestartTask",(e=>{(new I.CheckForScheduledRestartTask).start(e)})),this.bootEngine?.registerBootTask("hideSplashScreenTask",(e=>{(new R.HideSplashScreenTask).start(e)})),this.bootEngine?.registerBootTask("addAppDefinitionsToDesktopAgentTask",(e=>{(new F.AddAppDefinitionsToDesktopAgentTask).start(e)})),this.bootEngine?.registerBootTask("forceErrorTestTask",(new T.ForceErrorTestTask).start),this.bootEngine?.registerBootTask("checkpointErrorTestTask",(new k.CheckpointErrorTestTask).start),this.bootEngine?.registerBootTask("checkpointCircularDependencyTestTask",(new A.CheckpointBadDependencyTestTask).start),this.bootEngine?.registerBootTask("checkpointBadDependencyTestTask",(new L.CheckpointCircularDependencyTestTask).start),this.bootEngine?.registerBootTask("checkpointBadDependencyTestTask",(new L.CheckpointCircularDependencyTestTask).start)}}t.SystemManager=M,c.System.ready((()=>{window.finsembleServices=[{name:"System Manager"}],d.ConfigUtilInstance.getInitialManifest((async e=>{console.log("APPLICATION LIFECYCLE:STARTUP: *** Initial manifest ***",e),i.default.system.log("forceObjectsToLogger","APPLICATION LIFECYCLE:STARTUP: *** Initial manifest ***",e);const t=new M({manifest:e});t.boot(),window.systemManager=t,window.helpData=window.systemManager.helpData.bind(window.systemManager)}))}))},35331:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=o(r(76420)),u=s(r(72551)),l=r(74602);t.default={getSecurityPolicy(e,t){let r=null;if(e.securityPolicy&&(r=t.securityPolicies[e.securityPolicy],r))return e.securityPolicy;const n=!e.url||a.crossDomain(e.url);let i=t.securityPolicyRules.sameDomain;return n&&(i=t.securityPolicyRules.crossDomain),!r&&e.securityPolicy&&u.default.system.error(`Security policy ${e.securityPolicy} not found. Defaulting to ${i}`),i},getPermissions(e,t){let r={System:{},Window:{},Application:{}},n={};if(e.permissions)try{n=JSON.parse(JSON.stringify(e.permissions))}catch(e){u.default.system.error("SpawnUtils:getPermissions: Unexpected JSON parsing error.")}r=l(r,n);const i=t.securityPolicies[e.securityPolicy];if(i){const e=Object.keys(i);for(let t=0;t<e.length;t++){const n=e[t],o=Object.keys(i[n]);r[n]||(r[n]={});for(let e=0;e<o.length;e++){const t=o[e],s=i[n][t];let a=r[n][t];a?!1===s&&(a=!1):void 0===a&&(a=s),r[n][t]=a}}}const o=!1===r.Window.close;return"windowService"===e.name&&o&&(u.default.system.error("Window Service cannot be restricted from closing windows, disabling restriction."),r.Window.close=!0),r}}},88801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},77661:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},80498:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},74215:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},19600:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},89520:(e,t)=>{"use strict";var r,n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelError=t.ResolveError=t.OpenError=void 0,(i=t.OpenError||(t.OpenError={})).AppNotFound="AppNotFound",i.ErrorOnLaunch="ErrorOnLaunch",i.AppTimeout="AppTimeout",i.ResolverUnavailable="ResolverUnavailable",(n=t.ResolveError||(t.ResolveError={})).NoAppsFound="NoAppsFound",n.ResolverUnavailable="ResolverUnavailable",n.ResolverTimeout="ResolverTimeout",(r=t.ChannelError||(t.ChannelError={})).NoChannelFound="NoChannelFound",r.AccessDenied="AccessDenied",r.CreationFailed="CreationFailed"},55182:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},35644:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},66129:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},51854:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},36611:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.versionIsAtLeast=t.compareVersionNumbers=t.getInfo=t.leaveCurrentChannel=t.getCurrentChannel=t.getOrCreateChannel=t.joinChannel=t.getSystemChannels=t.addContextListener=t.addIntentListener=t.raiseIntentForContext=t.raiseIntent=t.broadcast=t.findIntentsByContext=t.findIntent=t.open=t.fdc3Ready=void 0;const r=new Error("FDC3 DesktopAgent not available at `window.fdc3`."),n=new Error("Timed out waiting for `fdc3Ready` event."),i=new Error("`fdc3Ready` event fired, but `window.fdc3` not set to DesktopAgent.");function o(e){return window.fdc3?e():Promise.reject(r)}function s(e){if(!window.fdc3)throw r;return e()}t.fdc3Ready=async(e=5e3)=>new Promise(((t,r)=>{if(window.fdc3)t();else{const o=setTimeout((()=>window.fdc3?t():r(n)),e);window.addEventListener("fdc3Ready",(()=>{clearTimeout(o),window.fdc3?t():r(i)}),{once:!0})}})),t.open=function(e,t){return o((()=>window.fdc3.open(e,t)))},t.findIntent=function(e,t){return o((()=>window.fdc3.findIntent(e,t)))},t.findIntentsByContext=function(e){return o((()=>window.fdc3.findIntentsByContext(e)))},t.broadcast=function(e){s((()=>window.fdc3.broadcast(e)))},t.raiseIntent=function(e,t,r){return o((()=>window.fdc3.raiseIntent(e,t,r)))},t.raiseIntentForContext=function(e,t){return o((()=>window.fdc3.raiseIntentForContext(e,t)))},t.addIntentListener=function(e,t){return s((()=>window.fdc3.addIntentListener(e,t)))},t.addContextListener=function(e,t){return s("function"!=typeof e?()=>window.fdc3.addContextListener(e,t):()=>window.fdc3.addContextListener(e))},t.getSystemChannels=function(){return o((()=>window.fdc3.getSystemChannels()))},t.joinChannel=function(e){return o((()=>window.fdc3.joinChannel(e)))},t.getOrCreateChannel=function(e){return o((()=>window.fdc3.getOrCreateChannel(e)))},t.getCurrentChannel=function(){return o((()=>window.fdc3.getCurrentChannel()))},t.leaveCurrentChannel=function(){return o((()=>window.fdc3.leaveCurrentChannel()))},t.getInfo=function(){return s((()=>window.fdc3.getInfo()))},t.compareVersionNumbers=(e,t)=>{try{let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let e=0;e<Math.max(r.length,n.length);e++){if(e===r.length||r[e]<n[e])return-1;if(e===n.length||r[e]>n[e])return 1}return 0}catch(e){return console.error("Failed to compare version strings",e),null}},t.versionIsAtLeast=(e,r)=>{let n=t.compareVersionNumbers(e.fdc3Version,r);return null===n?null:n>=0}},55972:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},91767:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ContextTypes=void 0,(r=t.ContextTypes||(t.ContextTypes={})).Contact="fdc3.contact",r.ContactList="fdc3.contactList",r.Country="fdc3.country",r.Instrument="fdc3.instrument",r.Organization="fdc3.organization",r.Portfolio="fdc3.portfolio",r.Position="fdc3.position"},91966:(e,t)=>{"use strict";function r(e,t,r=""){if(r)throw Error(`Invalid value for key "${r}". Expected type ${JSON.stringify(e)} but got ${JSON.stringify(t)}`);throw Error(`Invalid value ${JSON.stringify(t)} for type ${JSON.stringify(e)}`)}function n(e){if(void 0===e.jsonToJS){const t={};e.props.forEach((e=>t[e.json]={key:e.js,typ:e.typ})),e.jsonToJS=t}return e.jsonToJS}function i(e){if(void 0===e.jsToJSON){const t={};e.props.forEach((e=>t[e.js]={key:e.json,typ:e.typ})),e.jsToJSON=t}return e.jsToJSON}function o(e,t,n,i=""){if("any"===t)return e;if(null===t)return null===e?e:r(t,e);if(!1===t)return r(t,e);for(;"object"==typeof t&&void 0!==t.ref;)t=h[t.ref];return Array.isArray(t)?function(e,t){return-1!==e.indexOf(t)?t:r(e,t)}(t,e):"object"==typeof t?t.hasOwnProperty("unionMembers")?function(e,t){const i=e.length;for(let r=0;r<i;r++){const i=e[r];try{return o(t,i,n)}catch(e){}}return r(e,t)}(t.unionMembers,e):t.hasOwnProperty("arrayItems")?function(e,t){return Array.isArray(t)?t.map((t=>o(t,e,n))):r("array",t)}(t.arrayItems,e):t.hasOwnProperty("props")?function(e,t,i){if(null===i||"object"!=typeof i||Array.isArray(i))return r("object",i);const s={};return Object.getOwnPropertyNames(e).forEach((t=>{const r=e[t],a=Object.prototype.hasOwnProperty.call(i,t)?i[t]:void 0;s[r.key]=o(a,r.typ,n,r.key)})),Object.getOwnPropertyNames(i).forEach((r=>{Object.prototype.hasOwnProperty.call(e,r)||(s[r]=o(i[r],t,n,r))})),s}(n(t),t.additional,e):r(t,e):t===Date&&"number"!=typeof e?function(e){if(null===e)return null;const t=new Date(e);return isNaN(t.valueOf())?r("Date",e):t}(e):function(e,t){return typeof e==typeof t?t:r(e,t,i)}(t,e)}function s(e,t){return o(e,t,n)}function a(e,t){return o(e,t,i)}function u(e){return{arrayItems:e}}function l(...e){return{unionMembers:e}}function c(e,t){return{props:e,additional:t}}function d(e){return{props:[],additional:e}}function f(e){return{ref:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Convert=void 0,t.Convert=class{static toContext(e){return s(JSON.parse(e),f("Context"))}static contextToJson(e){return JSON.stringify(a(e,f("Context")),null,2)}static toContact(e){return s(JSON.parse(e),f("Contact"))}static contactToJson(e){return JSON.stringify(a(e,f("Contact")),null,2)}static toContactList(e){return s(JSON.parse(e),f("ContactList"))}static contactListToJson(e){return JSON.stringify(a(e,f("ContactList")),null,2)}static toInstrument(e){return s(JSON.parse(e),f("Instrument"))}static instrumentToJson(e){return JSON.stringify(a(e,f("Instrument")),null,2)}static toInstrumentList(e){return s(JSON.parse(e),f("InstrumentList"))}static instrumentListToJson(e){return JSON.stringify(a(e,f("InstrumentList")),null,2)}static toCountry(e){return s(JSON.parse(e),f("Country"))}static countryToJson(e){return JSON.stringify(a(e,f("Country")),null,2)}static toOrganization(e){return s(JSON.parse(e),f("Organization"))}static organizationToJson(e){return JSON.stringify(a(e,f("Organization")),null,2)}static toPortfolio(e){return s(JSON.parse(e),f("Portfolio"))}static portfolioToJson(e){return JSON.stringify(a(e,f("Portfolio")),null,2)}static toPosition(e){return s(JSON.parse(e),f("Position"))}static positionToJson(e){return JSON.stringify(a(e,f("Position")),null,2)}};const h={Context:c([{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")},{json:"type",js:"type",typ:""}],"any"),ContactList:c([{json:"contacts",js:"contacts",typ:u(f("Contact"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any"),Contact:c([{json:"id",js:"id",typ:f("ContactID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),ContactID:c([{json:"email",js:"email",typ:l(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:l(void 0,"")}],""),InstrumentList:c([{json:"instruments",js:"instruments",typ:u(f("Instrument"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any"),Instrument:c([{json:"id",js:"id",typ:f("InstrumentID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),InstrumentID:c([{json:"BBG",js:"BBG",typ:l(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:l(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:l(void 0,"")},{json:"FIGI",js:"FIGI",typ:l(void 0,"")},{json:"ISIN",js:"ISIN",typ:l(void 0,"")},{json:"PERMID",js:"PERMID",typ:l(void 0,"")},{json:"RIC",js:"RIC",typ:l(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:l(void 0,"")},{json:"ticker",js:"ticker",typ:l(void 0,"")}],""),Country:c([{json:"id",js:"id",typ:f("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),CountryID:c([{json:"ISOALPHA2",js:"ISOALPHA2",typ:l(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:l(void 0,"")}],""),Organization:c([{json:"id",js:"id",typ:f("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:l(void 0,"")}],"any"),OrganizationID:c([{json:"FDS_ID",js:"FDS_ID",typ:l(void 0,"")},{json:"LEI",js:"LEI",typ:l(void 0,"")},{json:"PERMID",js:"PERMID",typ:l(void 0,"")}],""),Portfolio:c([{json:"positions",js:"positions",typ:u(f("Position"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any"),Position:c([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:f("Instrument")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:l(void 0,d(""))},{json:"name",js:"name",typ:l(void 0,"")}],"any")}},98832:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(88801),t),i(r(77661),t),i(r(80498),t),i(r(55972),t),i(r(74215),t),i(r(19600),t),i(r(89520),t),i(r(35644),t),i(r(66129),t),i(r(51854),t),i(r(55182),t),i(r(36611),t),i(r(91767),t),i(r(91966),t),i(r(77178),t)},77178:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Intents=void 0,(r=t.Intents||(t.Intents={})).StartCall="StartCall",r.StartChat="StartChat",r.ViewChart="ViewChart",r.ViewContact="ViewContact",r.ViewQuote="ViewQuote",r.ViewNews="ViewNews",r.ViewInstrument="ViewInstrument",r.ViewAnalysis="ViewAnalysis"},60306:e=>{"use strict";e.exports=JSON.parse('{"name":"@finsemble/finsemble-core","main":"dist/index.js","types":"types/index.d.ts","version":"6.1.5","description":"Finsemble is an application framework providing infrastructure, services, and components for quickly building HTML5 multi-window financial desktop applications.","scripts":{"do-audit":" improved-yarn-audit --min-severity high","build":"gulp build --production","build-docs":"gulp --gulpfile gulpfile-docs.js build-docs","clean":"gulp clean","dev":"gulp build --watch","dev:fresh":"gulp build --clean --watch","docs":"set DEBUG=gulp-jsdoc3&&gulp --gulpfile=./gulpfile-docs.js docs-server","lint":"eslint --ext .js,.jsx,.ts,.tsx ./src/**","lint-fix":"eslint --fix --ext .js,.jsx,.ts,.tsx ./src/**","lint-stats":"eslint --format node_modules/eslint-stats/byErrorAndWarning.js --ext .js,.jsx,.ts,.tsx ./src/**","monodev":"yarn dev","obfuscate":"gulp build --production --obfuscate","prod":"gulp build --production","test":"ts-mocha","test-coverage":"nyc ts-mocha && nyc merge .nyc_output ../../.nyc_output/core.json","types":"gulp types"},"author":"Cosaic","license":"SEE LICENSE IN LICENSE","dependencies":{"@babel/core":"7.14.6","@babel/preset-env":"7.14.7","@babel/preset-react":"7.14.5"},"devDependencies":{"@istanbuljs/nyc-config-typescript":"1.0.1","@reduxjs/toolkit":"1.6.1","@types/chai":"4.2.21","@types/deepmerge":"2.2.0","@types/lodash":"4.14.171","@types/mocha":"9.0.0","@types/node":"12.12.7","@typescript-eslint/eslint-plugin":"4.28.3","@typescript-eslint/parser":"4.28.4","ajv":"6.12.2","async":"3.2.0","babel-loader":"8.2.2","browser-sync":"2.27.4","case-sensitive-paths-webpack-plugin":"2.4.0","chai":"4.2.0","chalk":"4.1.1","copy-webpack-plugin":"6.4.1","css-loader":"3.5.3","deepmerge":"1.3.2","del":"6.0.0","esm":"~3.2.25","fast-check":"2.17.0","file-loader":"6.2.0","file-saver":"2.0.5","fs-extra":"2.1.2","fuse.js":"6.4.6","git-rev-sync":"3.0.1","gulp":"4.0.0","gulp-javascript-obfuscator":"^1.1.6","gulp-jsdoc3":"3.0.0","gulp-plumber":"1.2.1","gulp-rename":"1.2.3","gulp-string-replace":"1.1.2","gulp-watch":"5.0.1","immutable":"4.0.0-rc.14","improved-yarn-audit":"^2.3.2","jsdoc":"3.6.6","jszip":"3.6.0","lodash":"4.17.21","mocha":"^8.0.1","mock-socket":"9.0.3","nyc":"15.1.0","p-limit":"3.1.0","p-queue":"7.1.0","pretty-hrtime":"1.0.3","prop-types":"15.7.2","react":"17.0.2","react-dom":"17.0.2","react-redux":"7.2.4","react-virtualized":"9.22.3","redux-devtools":"3.7.0","redux-devtools-chart-monitor":"1.7.2","redux-devtools-log-monitor":"2.1.0","redux-loop":"6.1.0","require-directory":"2.1.1","resize-observer-polyfill":"1.5.1","rimraf":"3.0.2","sass-loader":"12.1.0","searchjs":"1.1.0","shelljs":"0.8.4","sinon":"11.1.1","sinon-chai":"3.7.0","source-map-loader":"3.0.0","style-loader":"3.2.1","superagent":"6.1.0","taffydb":"2.7.3","to-string-loader":"1.1.6","ts-loader":"9.2.3","ts-mocha":"8.0.0","typedoc":"0.17.8","typescript":"4.3.5","url-loader":"4.1.0","uuid":"3.0.1","vinyl-sourcemaps-apply":"0.2.1","webpack":"5.45.1","webpack-glob-entries":"1.0.1","worker-farm":"1.7.0"},"resolutions":{"ts-mocha/ts-node":"^10.1.0","xmlhttprequest-ssl":"1.6.3","underscore":"1.12.1","ua-parser-js":"0.7.24","javascript-obfuscator":"2.15.5"}}')},87063:e=>{"use strict";e.exports=JSON.parse('{"F":{"0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","backspace":"Backspace","bs":"Backspace","bksp":"Backspace","tab":"Tab","escape":"Escape","esc":"Escape","clear":"Clear","enter":"Enter","return":"Enter","shift":"Shift","shft":"Shift","lshift":"Shift","lshft":"Shift","left shift":"Shift","leftshift":"Shift","rshift":"Shift","rshft":"Shift","right shift":"Shift","rightshift":"Shift","control":"Control","ctrl":"Control","commandorcontrol":"CommandOrControl","alt":"Alt","alternate":"Alt","pause":"Pause","caps lock":"Capslock","capslock":"Capslock","spacebar":"Space","space":"Space","space bar":"Space","page up":"PageUp","pgup":"PageUp","pg up":"PageUp","page down":"PageDown","pgdn":"PageDown","pg dn":"PageDown","pgdown":"PageDown","end":"End","home":"Home","left arrow":"Left","left":"Left","up arrow":"Up","up":"Up","right arrow":"Right","right":"Right","down arrow":"Down","down":"Down","select":"Select","slct":"Select","print":"PrintScreen","prnt":"PrintScreen","execute":"Execute","print screen":"PrintScreen","printscreen":"PrintScreen","print scrn":"PrintScreen","printscrn":"PrintScreen","prnt scrn":"PrintScreen","prntscrn":"PrintScreen","prt scrn":"PrintScreen","prtscrn":"PrintScreen","prt scn":"PrintScreen","prtscn":"PrintScreen","prt scr":"PrintScreen","prtscr":"PrintScreen","prt sc":"PrintScreen","prtsc":"PrintScreen","pr sc":"PrintScreen","prsc":"PrintScreen","insert":"Insert","ins":"Insert","delete":"Delete","del":"Delete","a":"A","b":"B","c":"C","d":"D","e":"E","f":"F","g":"G","h":"H","i":"I","j":"J","k":"K","l":"L","m":"M","n":"N","o":"O","p":"P","q":"Q","r":"R","s":"S","t":"T","u":"U","v":"V","w":"W","x":"X","y":"Y","z":"Z","windows":"Super","left windows":"Super","right windows":"Super","numpad 0":"num0","numpad 1":"num1","numpad 2":"num2","numpad 3":"num3","numpad 4":"num4","numpad 5":"num5","numpad 6":"num6","numpad 7":"num7","numpad 8":"num8","numpad 9":"num9","f1":"F1","fn1":"F1","function 1":"F1","f2":"F2","fn2":"F2","function 2":"F2","f3":"F3","fn3":"F3","function 3":"F3","f4":"F4","fn4":"F4","function 4":"F4","f5":"F5","fn5":"F5","function 5":"F5","f6":"F6","fn6":"F6","function 6":"F6","f7":"F7","fn7":"F7","function 7":"F7","f8":"F8","fn8":"F8","function 8":"F8","f9":"F9","fn9":"F9","function 9":"F9","f10":"F10","fn10":"F10","function 10":"F10","f11":"F11","fn11":"F11","function 11":"F11","f12":"F12","fn12":"F12","function 12":"F12","f13":"F13","fn":"F13","function 13":"F13","f14":"F14","fn14":"F14","function 14":"F14","f15":"F15","fn15":"F15","function 15":"F15","f16":"F16","fn16":"F16","function 16":"F16","num lock":"Numlock","numlock":"Numlock","number lock":"Numlock","numeric lock":"Numlock","scroll lock":"Scrolllock","sclk":"Scrolllock","scrlk":"Scrolllock","slk":"Scrolllock","*":"*","+":"+","-":"-","/":"/",";":";","=":"=",",":",","_":"-",".":".","`":"`","[":"[","]":"]","\'":"\'"}}')}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i=r(51001);return i.default})()}));
|