@finsemble/finsemble-core 7.3.0-beta.1 → 7.3.2
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/configs/core/config.json +3 -3
- package/configs/schemas/finsemble.schema.json +0 -45
- package/dist/configs/core/config.json +3 -3
- package/dist/configs/schemas/finsemble.schema.json +0 -45
- package/dist/services/Interop/InteropService.js +1 -1
- package/dist/services/logger/LoggerServiceUI.js +1 -1
- package/dist/services/logger/LoggerServiceUI.js.map +1 -1
- package/dist/services/logger/loggerService.js +1 -1
- package/dist/services/logger/loggerService.js.map +1 -1
- package/dist/services/logger/src/components/TopCollar.tsx +0 -14
- package/dist/services/logger/src/components/Views/Logs/rightPanel/LogLevelFilters.tsx +43 -16
- package/dist/services/router/routerService.js +1 -1
- package/dist/services/systemManager/systemManager.js +1 -1
- package/dist/services/systemManager/systemManager.js.map +1 -1
- package/dist/services/window/windowService.js +1 -1
- package/package.json +3 -3
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
|| ${a} === "boolean" || ${i} === null`).assign(l,s._`[${i}]`)}}n.else(),h(e),n.endIf(),n.if(s._`${l} !== undefined`,(()=>{n.assign(i,l),function({gen:e,parentData:t,parentDataProperty:r},n){e.if(s._`${t} !== undefined`,(()=>e.assign(s._`${t}[${r}]`,n)))}(e,l)}))}(e,t,a):h(e)}))}return c};const u=new Set(["string","number","integer","boolean","null"]);function d(e,t,r,n=l.Correct){const i=n===l.Correct?s.operators.EQ:s.operators.NEQ;let o;switch(e){case"null":return s._`${t} ${i} null`;case"array":o=s._`Array.isArray(${t})`;break;case"object":o=s._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=a(s._`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=a();break;default:return s._`typeof ${t} ${i} ${e}`}return n===l.Correct?o:(0,s.not)(o);function a(e=s.nil){return(0,s.and)(s._`typeof ${t} == "number"`,e,r?s._`isFinite(${t})`:s.nil)}}function f(e,t,r,n){if(1===e.length)return d(e[0],t,r,n);let i;const o=(0,a.toHash)(e);if(o.array&&o.object){const e=s._`typeof ${t} != "object"`;i=o.null?e:s._`!${t} || ${e}`,delete o.null,delete o.array,delete o.object}else i=s.nil;o.number&&delete o.integer;for(const e in o)i=(0,s.and)(i,d(e,t,r,n));return i}t.checkDataType=d,t.checkDataTypes=f;const p={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?s._`{type: ${e}}`:s._`{type: ${t}}`};function h(e){const t=function(e){const{gen:t,data:r,schema:n}=e,i=(0,a.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}(e);(0,o.reportError)(t,p)}t.reportTypeError=h},90313:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assignDefaults=void 0;const n=r(93487),i=r(76776);function o(e,t,r){const{gen:o,compositeRule:s,data:a,opts:l}=e;if(void 0===r)return;const c=n._`${a}${(0,n.getProperty)(t)}`;if(s)return void(0,i.checkStrictMode)(e,`default is ignored for: ${c}`);let u=n._`${c} === undefined`;"empty"===l.useDefaults&&(u=n._`${u} || ${c} === null || ${c} === ""`),o.if(u,n._`${c} = ${(0,n.stringify)(r)}`)}t.assignDefaults=function(e,t){const{properties:r,items:n}=e.schema;if("object"===t&&r)for(const t in r)o(e,t,r[t].default);else"array"===t&&Array.isArray(n)&&n.forEach(((t,r)=>o(e,r,t.default)))}},74815:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=r(55667),i=r(50453),o=r(58876),s=r(50453),a=r(90313),l=r(95005),c=r(13099),u=r(93487),d=r(22141),f=r(32531),p=r(76776),h=r(4181);function g({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},o){i.code.es5?e.func(t,u._`${d.default.data}, ${d.default.valCxt}`,n.$async,(()=>{e.code(u._`"use strict"; ${m(r,i)}`),function(e,t){e.if(d.default.valCxt,(()=>{e.var(d.default.instancePath,u._`${d.default.valCxt}.${d.default.instancePath}`),e.var(d.default.parentData,u._`${d.default.valCxt}.${d.default.parentData}`),e.var(d.default.parentDataProperty,u._`${d.default.valCxt}.${d.default.parentDataProperty}`),e.var(d.default.rootData,u._`${d.default.valCxt}.${d.default.rootData}`),t.dynamicRef&&e.var(d.default.dynamicAnchors,u._`${d.default.valCxt}.${d.default.dynamicAnchors}`)}),(()=>{e.var(d.default.instancePath,u._`""`),e.var(d.default.parentData,u._`undefined`),e.var(d.default.parentDataProperty,u._`undefined`),e.var(d.default.rootData,d.default.data),t.dynamicRef&&e.var(d.default.dynamicAnchors,u._`{}`)}))}(e,i),e.code(o)})):e.func(t,u._`${d.default.data}, ${function(e){return u._`{${d.default.instancePath}="", ${d.default.parentData}, ${d.default.parentDataProperty}, ${d.default.rootData}=${d.default.data}${e.dynamicRef?u._`, ${d.default.dynamicAnchors}={}`:u.nil}}={}`}(i)}`,n.$async,(()=>e.code(m(r,i)).code(o)))}function m(e,t){const r="object"==typeof e&&e[t.schemaId];return r&&(t.code.source||t.code.process)?u._`/*# sourceURL=${r} */`:u.nil}function y({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function v(e){return"boolean"!=typeof e.schema}function w(e){(0,p.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,p.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}(e)}function b(e,t){if(e.opts.jtd)return C(e,[],!1,t);const r=(0,i.getSchemaTypes)(e.schema);C(e,r,!(0,i.coerceAndCheckDataType)(e,r),t)}function S({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){const o=r.$comment;if(!0===i.$comment)e.code(u._`${d.default.self}.logger.log(${o})`);else if("function"==typeof i.$comment){const r=u.str`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code(u._`${d.default.self}.opts.$comment(${o}, ${r}, ${i}.schema)`)}}function C(e,t,r,n){const{gen:i,schema:a,data:l,allErrors:c,opts:f,self:h}=e,{RULES:g}=h;function m(p){(0,o.shouldUseGroup)(a,p)&&(p.type?(i.if((0,s.checkDataType)(p.type,l,f.strictNumbers)),_(e,p),1===t.length&&t[0]===p.type&&r&&(i.else(),(0,s.reportTypeError)(e)),i.endIf()):_(e,p),c||i.if(u._`${d.default.errors} === ${n||0}`))}!a.$ref||!f.ignoreKeywordsWithRef&&(0,p.schemaHasRulesButRef)(a,g)?(f.jtd||function(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(function(e,t){t.length&&(e.dataTypes.length?(t.forEach((t=>{k(e.dataTypes,t)||E(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),e.dataTypes=e.dataTypes.filter((e=>k(t,e)))):e.dataTypes=t)}(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&E(e,"use allowUnionTypes to allow union type keyword")}(e,t),function(e,t){const r=e.self.RULES.all;for(const n in r){const i=r[n];if("object"==typeof i&&(0,o.shouldUseRule)(e.schema,i)){const{type:r}=i.definition;r.length&&!r.some((e=>{return n=e,(r=t).includes(n)||"number"===n&&r.includes("integer");var r,n}))&&E(e,`missing type "${r.join(",")}" for keyword "${n}"`)}}}(e,e.dataTypes))}(e,t),i.block((()=>{for(const e of g.rules)m(e);m(g.post)}))):i.block((()=>T(e,"$ref",g.all.$ref.definition)))}function _(e,t){const{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,a.assignDefaults)(e,t.type),r.block((()=>{for(const r of t.rules)(0,o.shouldUseRule)(n,r)&&T(e,r.keyword,r.definition,t.type)}))}function k(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function E(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,p.checkStrictMode)(e,t,e.opts.strictTypes)}t.validateFunctionCode=function(e){v(e)&&(w(e),y(e))?function(e){const{schema:t,opts:r,gen:n}=e;g(e,(()=>{r.$comment&&t.$comment&&S(e),function(e){const{schema:t,opts:r}=e;void 0!==t.default&&r.useDefaults&&r.strictSchema&&(0,p.checkStrictMode)(e,"default is ignored in the schema root")}(e),n.let(d.default.vErrors,null),n.let(d.default.errors,0),r.unevaluated&&function(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",u._`${r}.evaluated`),t.if(u._`${e.evaluated}.dynamicProps`,(()=>t.assign(u._`${e.evaluated}.props`,u._`undefined`))),t.if(u._`${e.evaluated}.dynamicItems`,(()=>t.assign(u._`${e.evaluated}.items`,u._`undefined`)))}(e),b(e),function(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:o}=e;r.$async?t.if(u._`${d.default.errors} === 0`,(()=>t.return(d.default.data)),(()=>t.throw(u._`new ${i}(${d.default.vErrors})`))):(t.assign(u._`${n}.errors`,d.default.vErrors),o.unevaluated&&function({gen:e,evaluated:t,props:r,items:n}){r instanceof u.Name&&e.assign(u._`${t}.props`,r),n instanceof u.Name&&e.assign(u._`${t}.items`,n)}(e),t.return(u._`${d.default.errors} === 0`))}(e)}))}(e):g(e,(()=>(0,n.topBoolOrEmptySchema)(e)))};class L{constructor(e,t,r){if((0,l.validateKeywordUsage)(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,p.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",P(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,l.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",d.default.errors))}result(e,t,r){this.failResult((0,u.not)(e),t,r)}failResult(e,t,r){this.gen.if(e),r?r():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,u.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(u._`${t} !== undefined && (${(0,u.or)(this.invalid$data(),e)})`)}error(e,t,r){if(t)return this.setParams(t),this._error(e,r),void this.setParams({});this._error(e,r)}_error(e,t){(e?h.reportExtraError:h.reportError)(this,this.def.error,t)}$dataError(){(0,h.reportError)(this,this.def.$dataError||h.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,h.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,r=u.nil){this.gen.block((()=>{this.check$data(e,r),t()}))}check$data(e=u.nil,t=u.nil){if(!this.$data)return;const{gen:r,schemaCode:n,schemaType:i,def:o}=this;r.if((0,u.or)(u._`${n} === undefined`,t)),e!==u.nil&&r.assign(e,!0),(i.length||o.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==u.nil&&r.assign(e,!1)),r.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:r,def:n,it:i}=this;return(0,u.or)(function(){if(r.length){if(!(t instanceof u.Name))throw new Error("ajv implementation error");const e=Array.isArray(r)?r:[r];return u._`${(0,s.checkDataTypes)(e,t,i.opts.strictNumbers,s.DataType.Wrong)}`}return u.nil}(),function(){if(n.validateSchema){const r=e.scopeValue("validate$data",{ref:n.validateSchema});return u._`!${r}(${t})`}return u.nil}())}subschema(e,t){const r=(0,c.getSubschema)(this.it,e);(0,c.extendSubschemaData)(r,this.it,e),(0,c.extendSubschemaMode)(r,e);const i={...this.it,...r,items:void 0,props:void 0};return function(e,t){v(e)&&(w(e),y(e))?function(e,t){const{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&S(e),function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,f.resolveUrl)(e.opts.uriResolver,e.baseId,t))}(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const o=n.const("_errs",d.default.errors);b(e,o),n.var(t,u._`${o} === ${d.default.errors}`)}(e,t):(0,n.boolOrEmptySchema)(e,t)}(i,t),i}mergeEvaluated(e,t){const{it:r,gen:n}=this;r.opts.unevaluated&&(!0!==r.props&&void 0!==e.props&&(r.props=p.mergeEvaluated.props(n,e.props,r.props,t)),!0!==r.items&&void 0!==e.items&&(r.items=p.mergeEvaluated.items(n,e.items,r.items,t)))}mergeValidEvaluated(e,t){const{it:r,gen:n}=this;if(r.opts.unevaluated&&(!0!==r.props||!0!==r.items))return n.if(t,(()=>this.mergeEvaluated(e,u.Name))),!0}}function T(e,t,r,n){const i=new L(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,l.funcKeywordCode)(i,r):"macro"in r?(0,l.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,l.funcKeywordCode)(i,r)}t.KeywordCxt=L;const A=/^\/(?:[^~]|~0|~1)*$/,O=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function P(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,o;if(""===e)return d.default.rootData;if("/"===e[0]){if(!A.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,o=d.default.rootData}else{const s=O.exec(e);if(!s)throw new Error(`Invalid JSON-pointer: ${e}`);const a=+s[1];if(i=s[2],"#"===i){if(a>=t)throw new Error(l("property/index",a));return n[t-a]}if(a>t)throw new Error(l("data",a));if(o=r[t-a],!i)return o}let s=o;const a=i.split("/");for(const e of a)e&&(o=u._`${o}${(0,u.getProperty)((0,p.unescapeJsonPointer)(e))}`,s=u._`${s} && ${o}`);return s;function l(e,r){return`Cannot access ${e} ${r} levels up, current level is ${t}`}}t.getData=P},95005:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=r(93487),i=r(22141),o=r(10412),s=r(4181);function a(e){const{gen:t,data:r,it:i}=e;t.if(i.parentData,(()=>t.assign(r,n._`${i.parentData}[${i.parentDataProperty}]`)))}function l(e,t,r){if(void 0===r)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof r?{ref:r}:{ref:r,code:(0,n.stringify)(r)})}t.macroKeywordCode=function(e,t){const{gen:r,keyword:i,schema:o,parentSchema:s,it:a}=e,c=t.macro.call(a.self,o,s,a),u=l(r,i,c);!1!==a.opts.validateSchema&&a.self.validateSchema(c,!0);const d=r.name("valid");e.subschema({schema:c,schemaPath:n.nil,errSchemaPath:`${a.errSchemaPath}/${i}`,topSchemaRef:u,compositeRule:!0},d),e.pass(d,(()=>e.error(!0)))},t.funcKeywordCode=function(e,t){var r;const{gen:c,keyword:u,schema:d,parentSchema:f,$data:p,it:h}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(h,t);const g=!p&&t.compile?t.compile.call(h.self,d,f,h):t.validate,m=l(c,u,g),y=c.let("valid");function v(r=(t.async?n._`await `:n.nil)){const s=h.opts.passContext?i.default.this:i.default.self,a=!("compile"in t&&!p||!1===t.schema);c.assign(y,n._`${r}${(0,o.callValidateCode)(e,m,s,a)}`,t.modifying)}function w(e){var r;c.if((0,n.not)(null!==(r=t.valid)&&void 0!==r?r:y),e)}e.block$data(y,(function(){if(!1===t.errors)v(),t.modifying&&a(e),w((()=>e.error()));else{const r=t.async?function(){const e=c.let("ruleErrs",null);return c.try((()=>v(n._`await `)),(t=>c.assign(y,!1).if(n._`${t} instanceof ${h.ValidationError}`,(()=>c.assign(e,n._`${t}.errors`)),(()=>c.throw(t))))),e}():function(){const e=n._`${m}.errors`;return c.assign(e,null),v(n.nil),e}();t.modifying&&a(e),w((()=>function(e,t){const{gen:r}=e;r.if(n._`Array.isArray(${t})`,(()=>{r.assign(i.default.vErrors,n._`${i.default.vErrors} === null ? ${t} : ${i.default.vErrors}.concat(${t})`).assign(i.default.errors,n._`${i.default.vErrors}.length`),(0,s.extendErrors)(e)}),(()=>e.error()))}(e,r)))}})),e.ok(null!==(r=t.valid)&&void 0!==r?r:y)},t.validSchemaType=function(e,t,r=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||r&&void 0===e))},t.validateKeywordUsage=function({schema:e,opts:t,self:r,errSchemaPath:n},i,o){if(Array.isArray(i.keyword)?!i.keyword.includes(o):i.keyword!==o)throw new Error("ajv implementation error");const s=i.dependencies;if(null==s?void 0:s.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${o}: ${s.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[o])){const e=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);r.logger.error(e)}}},13099:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=r(93487),i=r(76776);t.getSubschema=function(e,{keyword:t,schemaProp:r,schema:o,schemaPath:s,errSchemaPath:a,topSchemaRef:l}){if(void 0!==t&&void 0!==o)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const o=e.schema[t];return void 0===r?{schema:o,schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:o[r],schemaPath:n._`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,i.escapeFragment)(r)}`}}if(void 0!==o){if(void 0===s||void 0===a||void 0===l)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:s,topSchemaRef:l,errSchemaPath:a}}throw new Error('either "keyword" or "schema" must be passed')},t.extendSubschemaData=function(e,t,{dataProp:r,dataPropType:o,data:s,dataTypes:a,propertyName:l}){if(void 0!==s&&void 0!==r)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:c}=t;if(void 0!==r){const{errorPath:s,dataPathArr:a,opts:l}=t;u(c.let("data",n._`${t.data}${(0,n.getProperty)(r)}`,!0)),e.errorPath=n.str`${s}${(0,i.getErrorPath)(r,o,l.jsPropertySyntax)}`,e.parentDataProperty=n._`${r}`,e.dataPathArr=[...a,e.parentDataProperty]}function u(r){e.data=r,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,r]}void 0!==s&&(u(s instanceof n.Name?s:c.let("data",s,!0)),void 0!==l&&(e.propertyName=l)),a&&(e.dataTypes=a)},t.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:o}){void 0!==n&&(e.compositeRule=n),void 0!==i&&(e.createErrors=i),void 0!==o&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r}},27159:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=r(74815);Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return n.KeywordCxt}});var i=r(93487);Object.defineProperty(t,"_",{enumerable:!0,get:function(){return i._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return i.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return i.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return i.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return i.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return i.CodeGen}});const o=r(67426),s=r(6646),a=r(13141),l=r(25173),c=r(93487),u=r(32531),d=r(50453),f=r(76776),p=r(64775),h=r(43589),g=(e,t)=>new RegExp(e,t);g.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],y=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},w={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function b(e){var t,r,n,i,o,s,a,l,c,u,d,f,p,m,y,v,w,b,S,C,_,k,E,L,T;const A=e.strict,O=null===(t=e.code)||void 0===t?void 0:t.optimize,P=!0===O||void 0===O?1:O||0,I=null!==(n=null===(r=e.code)||void 0===r?void 0:r.regExp)&&void 0!==n?n:g,R=null!==(i=e.uriResolver)&&void 0!==i?i:h.default;return{strictSchema:null===(s=null!==(o=e.strictSchema)&&void 0!==o?o:A)||void 0===s||s,strictNumbers:null===(l=null!==(a=e.strictNumbers)&&void 0!==a?a:A)||void 0===l||l,strictTypes:null!==(u=null!==(c=e.strictTypes)&&void 0!==c?c:A)&&void 0!==u?u:"log",strictTuples:null!==(f=null!==(d=e.strictTuples)&&void 0!==d?d:A)&&void 0!==f?f:"log",strictRequired:null!==(m=null!==(p=e.strictRequired)&&void 0!==p?p:A)&&void 0!==m&&m,code:e.code?{...e.code,optimize:P,regExp:I}:{optimize:P,regExp:I},loopRequired:null!==(y=e.loopRequired)&&void 0!==y?y:200,loopEnum:null!==(v=e.loopEnum)&&void 0!==v?v:200,meta:null===(w=e.meta)||void 0===w||w,messages:null===(b=e.messages)||void 0===b||b,inlineRefs:null===(S=e.inlineRefs)||void 0===S||S,schemaId:null!==(C=e.schemaId)&&void 0!==C?C:"$id",addUsedSchema:null===(_=e.addUsedSchema)||void 0===_||_,validateSchema:null===(k=e.validateSchema)||void 0===k||k,validateFormats:null===(E=e.validateFormats)||void 0===E||E,unicodeRegExp:null===(L=e.unicodeRegExp)||void 0===L||L,int32range:null===(T=e.int32range)||void 0===T||T,uriResolver:R}}class S{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...b(e)};const{es5:t,lines:r}=this.opts.code;this.scope=new c.ValueScope({scope:{},prefixes:y,es5:t,lines:r}),this.logger=function(e){if(!1===e)return A;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const n=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),C.call(this,v,e,"NOT SUPPORTED"),C.call(this,w,e,"DEPRECATED","warn"),this._metaOpts=T.call(this),e.formats&&E.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&L.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),k.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:r}=this.opts;let n=p;"id"===r&&(n={...p},n.id=n.$id,delete n.$id),t&&e&&this.addMetaSchema(n,n[r],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let r;if("string"==typeof e){if(r=this.getSchema(e),!r)throw new Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);const n=r(t);return"$async"in r||(this.errors=r.errors),n}compile(e,t){const r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:r}=this.opts;return n.call(this,e,t);async function n(e,t){await i.call(this,e.$schema);const r=this._addSchema(e,t);return r.validate||o.call(this,r)}async function i(e){e&&!this.getSchema(e)&&await n.call(this,{$ref:e},!0)}async function o(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof s.default))throw t;return a.call(this,t),await l.call(this,t.missingSchema),o.call(this,e)}}function a({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function l(e){const r=await c.call(this,e);this.refs[e]||await i.call(this,r.$schema),this.refs[e]||this.addSchema(r,e,t)}async function c(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=r(e))}finally{delete this._loading[e]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,r,n);return this}let i;if("object"==typeof e){const{schemaId:t}=this.opts;if(i=e[t],void 0!==i&&"string"!=typeof i)throw new Error(`schema ${t} must be string`)}return t=(0,u.normalizeId)(t||i),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,n,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let r;if(r=e.$schema,void 0!==r&&"string"!=typeof r)throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const n=this.validate(r,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return n}getSchema(e){let t;for(;"string"==typeof(t=_.call(this,e));)e=t;if(void 0===t){const{schemaId:r}=this.opts,n=new l.SchemaEnv({schema:{},schemaId:r});if(t=l.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=_.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let r=e[this.opts.schemaId];return r&&(r=(0,u.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if("string"==typeof e)r=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(r=(t=e).keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(P.call(this,r,t),!t)return(0,f.eachItem)(r,(e=>I.call(this,e))),this;$.call(this,t);const n={...t,type:(0,d.getJSONTypes)(t.type),schemaType:(0,d.getJSONTypes)(t.schemaType)};return(0,f.eachItem)(r,0===n.type.length?e=>I.call(this,e,n):e=>n.type.forEach((t=>I.call(this,e,n,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const r of t.rules){const t=r.rules.findIndex((t=>t.keyword===e));t>=0&&r.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){return e&&0!==e.length?e.map((e=>`${r}${e.instancePath} ${e.message}`)).reduce(((e,r)=>e+t+r)):"No errors"}$dataMetaSchema(e,t){const r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let i=e;for(const e of t)i=i[e];for(const e in r){const t=r[e];if("object"!=typeof t)continue;const{$data:n}=t.definition,o=i[e];n&&o&&(i[e]=D(o))}}return e}_removeAllSchemas(e,t){for(const r in e){const n=e[r];t&&!t.test(r)||("string"==typeof n?delete e[r]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[r]))}}_addSchema(e,t,r,n=this.opts.validateSchema,i=this.opts.addUsedSchema){let o;const{schemaId:s}=this.opts;if("object"==typeof e)o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let a=this._cache.get(e);if(void 0!==a)return a;r=(0,u.normalizeId)(o||r);const c=u.getSchemaRefs.call(this,e,r);return a=new l.SchemaEnv({schema:e,schemaId:s,meta:t,baseId:r,localRefs:c}),this._cache.set(a.schema,a),i&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=a),n&&this.validateSchema(e,!0),a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):l.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{l.compileSchema.call(this,e)}finally{this.opts=t}}}function C(e,t,r,n="error"){for(const i in e){const o=i;o in t&&this.logger[n](`${r}: option ${i}. ${e[o]}`)}}function _(e){return e=(0,u.normalizeId)(e),this.schemas[e]||this.refs[e]}function k(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function E(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function L(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}}function T(){const e={...this.opts};for(const t of m)delete e[t];return e}t.default=S,S.ValidationError=o.default,S.MissingRefError=s.default;const A={log(){},warn(){},error(){}},O=/^[a-z_$][a-z0-9_$:-]*$/i;function P(e,t){const{RULES:r}=this;if((0,f.eachItem)(e,(e=>{if(r.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!O.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,r){var n;const i=null==t?void 0:t.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:o}=this;let s=i?o.post:o.rules.find((({type:e})=>e===r));if(s||(s={type:r,rules:[]},o.rules.push(s)),o.keywords[e]=!0,!t)return;const a={keyword:e,definition:{...t,type:(0,d.getJSONTypes)(t.type),schemaType:(0,d.getJSONTypes)(t.schemaType)}};t.before?R.call(this,s,a,t.before):s.rules.push(a),o.all[e]=a,null===(n=t.implements)||void 0===n||n.forEach((e=>this.addKeyword(e)))}function R(e,t,r){const n=e.rules.findIndex((e=>e.keyword===r));n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function $(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=D(t)),e.validateSchema=this.compile(t,!0))}const N={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function D(e){return{anyOf:[e,N]}}},43510:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(64063);n.code='require("ajv/dist/runtime/equal").default',t.default=n},74499:(e,t)=>{"use strict";function r(e){const t=e.length;let r,n=0,i=0;for(;i<t;)n++,r=e.charCodeAt(i++),r>=55296&&r<=56319&&i<t&&(r=e.charCodeAt(i),56320==(64512&r)&&i++);return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r,r.code='require("ajv/dist/runtime/ucs2length").default'},43589:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(60540);n.code='require("ajv/dist/runtime/uri").default',t.default=n},67426:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}t.default=r},4783:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateAdditionalItems=void 0;const n=r(93487),i=r(76776),o={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{parentSchema:t,it:r}=e,{items:n}=t;Array.isArray(n)?s(e,n):(0,i.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas')}};function s(e,t){const{gen:r,schema:o,data:s,keyword:a,it:l}=e;l.items=!0;const c=r.const("len",n._`${s}.length`);if(!1===o)e.setParams({len:t.length}),e.pass(n._`${c} <= ${t.length}`);else if("object"==typeof o&&!(0,i.alwaysValidSchema)(l,o)){const o=r.var("valid",n._`${c} <= ${t.length}`);r.if((0,n.not)(o),(()=>function(o){r.forRange("i",t.length,c,(t=>{e.subschema({keyword:a,dataProp:t,dataPropType:i.Type.Num},o),l.allErrors||r.if((0,n.not)(o),(()=>r.break()))}))}(o))),e.ok(o)}}t.validateAdditionalItems=s,t.default=o},69351:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o=r(22141),s=r(76776),a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>i._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:r,parentSchema:a,data:l,errsCount:c,it:u}=e;if(!c)throw new Error("ajv implementation error");const{allErrors:d,opts:f}=u;if(u.props=!0,"all"!==f.removeAdditional&&(0,s.alwaysValidSchema)(u,r))return;const p=(0,n.allSchemaProperties)(a.properties),h=(0,n.allSchemaProperties)(a.patternProperties);function g(e){t.code(i._`delete ${l}[${e}]`)}function m(n){if("all"===f.removeAdditional||f.removeAdditional&&!1===r)g(n);else{if(!1===r)return e.setParams({additionalProperty:n}),e.error(),void(d||t.break());if("object"==typeof r&&!(0,s.alwaysValidSchema)(u,r)){const r=t.name("valid");"failing"===f.removeAdditional?(y(n,r,!1),t.if((0,i.not)(r),(()=>{e.reset(),g(n)}))):(y(n,r),d||t.if((0,i.not)(r),(()=>t.break())))}}}function y(t,r,n){const i={keyword:"additionalProperties",dataProp:t,dataPropType:s.Type.Str};!1===n&&Object.assign(i,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(i,r)}t.forIn("key",l,(r=>{p.length||h.length?t.if(function(r){let o;if(p.length>8){const e=(0,s.schemaRefOrVal)(u,a.properties,"properties");o=(0,n.isOwnProperty)(t,e,r)}else o=p.length?(0,i.or)(...p.map((e=>i._`${r} === ${e}`))):i.nil;return h.length&&(o=(0,i.or)(o,...h.map((t=>i._`${(0,n.usePattern)(e,t)}.test(${r})`)))),(0,i.not)(o)}(r),(()=>m(r))):m(r)})),e.ok(i._`${c} === ${o.default.errors}`)}};t.default=a},71125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(76776),i={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const o=t.name("valid");r.forEach(((t,r)=>{if((0,n.alwaysValidSchema)(i,t))return;const s=e.subschema({keyword:"allOf",schemaProp:r},o);e.ok(o),e.mergeEvaluated(s)}))}};t.default=i},50019:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:r(10412).validateUnion,error:{message:"must match a schema in anyOf"}};t.default=n},79864:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?n.str`must contain at least ${e} valid item(s)`:n.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?n._`{minContains: ${e}}`:n._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:r,parentSchema:o,data:s,it:a}=e;let l,c;const{minContains:u,maxContains:d}=o;a.opts.next?(l=void 0===u?1:u,c=d):l=1;const f=t.const("len",n._`${s}.length`);if(e.setParams({min:l,max:c}),void 0===c&&0===l)return void(0,i.checkStrictMode)(a,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==c&&l>c)return(0,i.checkStrictMode)(a,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,i.alwaysValidSchema)(a,r)){let t=n._`${f} >= ${l}`;return void 0!==c&&(t=n._`${t} && ${f} <= ${c}`),void e.pass(t)}a.items=!0;const p=t.name("valid");function h(){const e=t.name("_valid"),r=t.let("count",0);g(e,(()=>t.if(e,(()=>function(e){t.code(n._`${e}++`),void 0===c?t.if(n._`${e} >= ${l}`,(()=>t.assign(p,!0).break())):(t.if(n._`${e} > ${c}`,(()=>t.assign(p,!1).break())),1===l?t.assign(p,!0):t.if(n._`${e} >= ${l}`,(()=>t.assign(p,!0))))}(r)))))}function g(r,n){t.forRange("i",0,f,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:i.Type.Num,compositeRule:!0},r),n()}))}void 0===c&&1===l?g(p,(()=>t.if(p,(()=>t.break())))):0===l?(t.let(p,!0),void 0!==c&&t.if(n._`${s}.length > 0`,h)):(t.let(p,!1),h()),e.result(p,(()=>e.reset()))}};t.default=o},67772:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=r(93487),i=r(76776),o=r(10412);t.error={message:({params:{property:e,depsCount:t,deps:r}})=>{const i=1===t?"property":"properties";return n.str`must have ${i} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:i}})=>n._`{property: ${e},
|
|
6
6
|
missingProperty: ${i},
|
|
7
7
|
depsCount: ${t},
|
|
8
|
-
deps: ${r}}`};const s={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,r]=function({schema:e}){const t={},r={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:r)[n]=e[n]);return[t,r]}(e);a(e,t),l(e,r)}};function a(e,t=e.schema){const{gen:r,data:i,it:s}=e;if(0===Object.keys(t).length)return;const a=r.let("missing");for(const l in t){const c=t[l];if(0===c.length)continue;const u=(0,o.propertyInData)(r,i,l,s.opts.ownProperties);e.setParams({property:l,depsCount:c.length,deps:c.join(", ")}),s.allErrors?r.if(u,(()=>{for(const t of c)(0,o.checkReportMissingProp)(e,t)})):(r.if(n._`${u} && (${(0,o.checkMissingProp)(e,c,a)})`),(0,o.reportMissingProp)(e,a),r.else())}}function l(e,t=e.schema){const{gen:r,data:n,keyword:s,it:a}=e,l=r.name("valid");for(const c in t)(0,i.alwaysValidSchema)(a,t[c])||(r.if((0,o.propertyInData)(r,n,c,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:s,schemaProp:c},l);e.mergeValidEvaluated(t,l)}),(()=>r.var(l,!0))),e.ok(l))}t.validatePropertyDeps=a,t.validateSchemaDeps=l,t.default=s},89434:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:r,it:o}=e;void 0===r.then&&void 0===r.else&&(0,i.checkStrictMode)(o,'"if" without "then" and "else" is ignored');const a=s(o,"then"),l=s(o,"else");if(!a&&!l)return;const c=t.let("valid",!0),u=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},u);e.mergeEvaluated(t)}(),e.reset(),a&&l){const r=t.let("ifClause");e.setParams({ifClause:r}),t.if(u,d("then",r),d("else",r))}else a?t.if(u,d("then")):t.if((0,n.not)(u),d("else"));function d(r,i){return()=>{const o=e.subschema({keyword:r},u);t.assign(c,u),e.mergeValidEvaluated(o,c),i?t.assign(i,n._`${r}`):e.setParams({ifClause:r})}}e.pass(c,(()=>e.error(!0)))}};function s(e,t){const r=e.schema[t];return void 0!==r&&!(0,i.alwaysValidSchema)(e,r)}t.default=o},8200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(4783),i=r(72924),o=r(64665),s=r(1119),a=r(79864),l=r(67772),c=r(33708),u=r(69351),d=r(76239),f=r(12296),p=r(15697),h=r(50019),g=r(14200),m=r(71125),y=r(89434),v=r(66552);t.default=function(e=!1){const t=[p.default,h.default,g.default,m.default,y.default,v.default,c.default,u.default,l.default,d.default,f.default];return e?t.push(i.default,s.default):t.push(n.default,o.default),t.push(a.default),t}},64665:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=r(93487),i=r(76776),o=r(10412),s={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return a(e,"additionalItems",t);r.items=!0,(0,i.alwaysValidSchema)(r,t)||e.ok((0,o.validateArray)(e))}};function a(e,t,r=e.schema){const{gen:o,parentSchema:s,data:a,keyword:l,it:c}=e;!function(e){const{opts:n,errSchemaPath:o}=c,s=r.length,a=s===e.minItems&&(s===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${l}" is ${s}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,i.checkStrictMode)(c,e,n.strictTuples)}}(s),c.opts.unevaluated&&r.length&&!0!==c.items&&(c.items=i.mergeEvaluated.items(o,r.length,c.items));const u=o.name("valid"),d=o.const("len",n._`${a}.length`);r.forEach(((t,r)=>{(0,i.alwaysValidSchema)(c,t)||(o.if(n._`${d} > ${r}`,(()=>e.subschema({keyword:l,schemaProp:r,dataProp:r},u))),e.ok(u))}))}t.validateTuple=a,t.default=s},1119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(10412),s=r(4783),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:a}=r;n.items=!0,(0,i.alwaysValidSchema)(n,t)||(a?(0,s.validateAdditionalItems)(e,a):e.ok((0,o.validateArray)(e)))}};t.default=a},15697:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(76776),i={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:i}=e;if((0,n.alwaysValidSchema)(i,r))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=i},14200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:r,parentSchema:o,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&o.discriminator)return;const a=r,l=t.let("valid",!1),c=t.let("passing",null),u=t.name("_valid");e.setParams({passing:c}),t.block((function(){a.forEach(((r,o)=>{let a;(0,i.alwaysValidSchema)(s,r)?t.var(u,!0):a=e.subschema({keyword:"oneOf",schemaProp:o,compositeRule:!0},u),o>0&&t.if(n._`${u} && ${l}`).assign(l,!1).assign(c,n._`[${c}, ${o}]`).else(),t.if(u,(()=>{t.assign(l,!0),t.assign(c,o),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(l,(()=>e.reset()),(()=>e.error(!0)))}};t.default=o},12296:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o=r(76776),s=r(76776),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:a,parentSchema:l,it:c}=e,{opts:u}=c,d=(0,n.allSchemaProperties)(r),f=d.filter((e=>(0,o.alwaysValidSchema)(c,r[e])));if(0===d.length||f.length===d.length&&(!c.opts.unevaluated||!0===c.props))return;const p=u.strictSchema&&!u.allowMatchingProperties&&l.properties,h=t.name("valid");!0===c.props||c.props instanceof i.Name||(c.props=(0,s.evaluatedPropsToName)(t,c.props));const{props:g}=c;function m(e){for(const t in p)new RegExp(e).test(t)&&(0,o.checkStrictMode)(c,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function y(r){t.forIn("key",a,(o=>{t.if(i._`${(0,n.usePattern)(e,r)}.test(${o})`,(()=>{const n=f.includes(r);n||e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:o,dataPropType:s.Type.Str},h),c.opts.unevaluated&&!0!==g?t.assign(i._`${g}[${o}]`,!0):n||c.allErrors||t.if((0,i.not)(h),(()=>t.break()))}))}))}!function(){for(const e of d)p&&m(e),c.allErrors?y(e):(t.var(h,!0),y(e),t.if(h))}()}};t.default=a},72924:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(64665),i={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=i},76239:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(74815),i=r(10412),o=r(76776),s=r(69351),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:a,data:l,it:c}=e;"all"===c.opts.removeAdditional&&void 0===a.additionalProperties&&s.default.code(new n.KeywordCxt(c,s.default,"additionalProperties"));const u=(0,i.allSchemaProperties)(r);for(const e of u)c.definedProperties.add(e);c.opts.unevaluated&&u.length&&!0!==c.props&&(c.props=o.mergeEvaluated.props(t,(0,o.toHash)(u),c.props));const d=u.filter((e=>!(0,o.alwaysValidSchema)(c,r[e])));if(0===d.length)return;const f=t.name("valid");for(const r of d)p(r)?h(r):(t.if((0,i.propertyInData)(t,l,r,c.opts.ownProperties)),h(r),c.allErrors||t.else().var(f,!0),t.endIf()),e.it.definedProperties.add(r),e.ok(f);function p(e){return c.opts.useDefaults&&!c.compositeRule&&void 0!==r[e].default}function h(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},f)}}};t.default=a},33708:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:r,data:o,it:s}=e;if((0,i.alwaysValidSchema)(s,r))return;const a=t.name("valid");t.forIn("key",o,(r=>{e.setParams({propertyName:r}),e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),s.allErrors||t.break()}))})),e.ok(a)}};t.default=o},66552:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(76776),i={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){void 0===t.if&&(0,n.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};t.default=i},10412:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=r(93487),i=r(76776),o=r(22141),s=r(76776);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function l(e,t,r){return n._`${a(e)}.call(${t}, ${r})`}function c(e,t,r,i){const o=n._`${t}${(0,n.getProperty)(r)} === undefined`;return i?(0,n.or)(o,(0,n.not)(l(e,t,r))):o}function u(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:r,data:i,it:o}=e;r.if(c(r,i,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:r}},i,o){return(0,n.or)(...i.map((i=>(0,n.and)(c(e,t,i,r.ownProperties),n._`${o} = ${i}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=l,t.propertyInData=function(e,t,r,i){const o=n._`${t}${(0,n.getProperty)(r)} !== undefined`;return i?n._`${o} && ${l(e,t,r)}`:o},t.noPropertyInData=c,t.allSchemaProperties=u,t.schemaProperties=function(e,t){return u(t).filter((r=>!(0,i.alwaysValidSchema)(e,t[r])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:r,topSchemaRef:i,schemaPath:s,errorPath:a},it:l},c,u,d){const f=d?n._`${e}, ${t}, ${i}${s}`:t,p=[[o.default.instancePath,(0,n.strConcat)(o.default.instancePath,a)],[o.default.parentData,l.parentData],[o.default.parentDataProperty,l.parentDataProperty],[o.default.rootData,o.default.rootData]];l.opts.dynamicRef&&p.push([o.default.dynamicAnchors,o.default.dynamicAnchors]);const h=n._`${f}, ${r.object(...p)}`;return u!==n.nil?n._`${c}.call(${u}, ${h})`:n._`${c}(${h})`};const d=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},r){const i=t.unicodeRegExp?"u":"",{regExp:o}=t.code,a=o(r,i);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===o.code?d:(0,s.useFunc)(e,o)}(${r}, ${i})`})},t.validateArray=function(e){const{gen:t,data:r,keyword:o,it:s}=e,a=t.name("valid");if(s.allErrors){const e=t.let("valid",!0);return l((()=>t.assign(e,!1))),e}return t.var(a,!0),l((()=>t.break())),a;function l(s){const l=t.const("len",n._`${r}.length`);t.forRange("i",0,l,(r=>{e.subschema({keyword:o,dataProp:r,dataPropType:i.Type.Num},a),t.if((0,n.not)(a),s)}))}},t.validateUnion=function(e){const{gen:t,schema:r,keyword:o,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some((e=>(0,i.alwaysValidSchema)(s,e)))&&!s.opts.unevaluated)return;const a=t.let("valid",!1),l=t.name("_valid");t.block((()=>r.forEach(((r,i)=>{const s=e.subschema({keyword:o,schemaProp:i,compositeRule:!0},l);t.assign(a,n._`${a} || ${l}`),e.mergeValidEvaluated(s,l)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},78386:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=r},95684:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(78386),i=r(28280),o=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,i.default];t.default=o},28280:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=r(6646),i=r(10412),o=r(93487),s=r(22141),a=r(25173),l=r(76776),c={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:i}=e,{baseId:s,schemaEnv:l,validateName:c,opts:f,self:p}=i,{root:h}=l;if(("#"===r||"#/"===r)&&s===h.baseId)return function(){if(l===h)return d(e,c,l,l.$async);const r=t.scopeValue("root",{ref:h});return d(e,o._`${r}.validate`,h,h.$async)}();const g=a.resolveRef.call(p,h,s,r);if(void 0===g)throw new n.default(i.opts.uriResolver,s,r);return g instanceof a.SchemaEnv?function(t){const r=u(e,t);d(e,r,t,t.$async)}(g):function(n){const i=t.scopeValue("schema",!0===f.code.source?{ref:n,code:(0,o.stringify)(n)}:{ref:n}),s=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:o.nil,topSchemaRef:i,errSchemaPath:r},s);e.mergeEvaluated(a),e.ok(s)}(g)}};function u(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):o._`${r.scopeValue("wrapper",{ref:t})}.validate`}function d(e,t,r,n){const{gen:a,it:c}=e,{allErrors:u,schemaEnv:d,opts:f}=c,p=f.passContext?s.default.this:o.nil;function h(e){const t=o._`${e}.errors`;a.assign(s.default.vErrors,o._`${s.default.vErrors} === null ? ${t} : ${s.default.vErrors}.concat(${t})`),a.assign(s.default.errors,o._`${s.default.vErrors}.length`)}function g(e){var t;if(!c.opts.unevaluated)return;const n=null===(t=null==r?void 0:r.validate)||void 0===t?void 0:t.evaluated;if(!0!==c.props)if(n&&!n.dynamicProps)void 0!==n.props&&(c.props=l.mergeEvaluated.props(a,n.props,c.props));else{const t=a.var("props",o._`${e}.evaluated.props`);c.props=l.mergeEvaluated.props(a,t,c.props,o.Name)}if(!0!==c.items)if(n&&!n.dynamicItems)void 0!==n.items&&(c.items=l.mergeEvaluated.items(a,n.items,c.items));else{const t=a.var("items",o._`${e}.evaluated.items`);c.items=l.mergeEvaluated.items(a,t,c.items,o.Name)}}n?function(){if(!d.$async)throw new Error("async schema referenced by sync schema");const r=a.let("valid");a.try((()=>{a.code(o._`await ${(0,i.callValidateCode)(e,t,p)}`),g(t),u||a.assign(r,!0)}),(e=>{a.if(o._`!(${e} instanceof ${c.ValidationError})`,(()=>a.throw(e))),h(e),u||a.assign(r,!1)})),e.ok(r)}():e.result((0,i.callValidateCode)(e,t,p),(()=>g(t)),(()=>h(t)))}t.getValidate=u,t.callRef=d,t.default=c},1240:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(89306),o=r(25173),s=r(76776),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===i.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>n._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},code(e){const{gen:t,data:r,schema:a,parentSchema:l,it:c}=e,{oneOf:u}=l;if(!c.opts.discriminator)throw new Error("discriminator: requires discriminator option");const d=a.propertyName;if("string"!=typeof d)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!u)throw new Error("discriminator: requires oneOf keyword");const f=t.let("valid",!1),p=t.const("tag",n._`${r}${(0,n.getProperty)(d)}`);function h(r){const i=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:r},i);return e.mergeEvaluated(o,n.Name),i}t.if(n._`typeof ${p} == "string"`,(()=>function(){const r=function(){var e;const t={},r=i(l);let n=!0;for(let t=0;t<u.length;t++){let l=u[t];(null==l?void 0:l.$ref)&&!(0,s.schemaHasRulesButRef)(l,c.self.RULES)&&(l=o.resolveRef.call(c.self,c.schemaEnv.root,c.baseId,null==l?void 0:l.$ref),l instanceof o.SchemaEnv&&(l=l.schema));const f=null===(e=null==l?void 0:l.properties)||void 0===e?void 0:e[d];if("object"!=typeof f)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${d}"`);n=n&&(r||i(l)),a(f,t)}if(!n)throw new Error(`discriminator: "${d}" must be required`);return t;function i({required:e}){return Array.isArray(e)&&e.includes(d)}function a(e,t){if(e.const)f(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${d}" must have "const" or "enum"`);for(const r of e.enum)f(r,t)}}function f(e,r){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${d}" values must be unique strings`);t[e]=r}}();t.if(!1);for(const e in r)t.elseIf(n._`${p} === ${e}`),t.assign(f,h(r[e]));t.else(),e.error(!1,{discrError:i.DiscrError.Mapping,tag:p,tagName:d}),t.endIf()}()),(()=>e.error(!1,{discrError:i.DiscrError.Tag,tag:p,tagName:d}))),e.ok(f)}};t.default=a},89306:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(r=t.DiscrError||(t.DiscrError={})).Tag="tag",r.Mapping="mapping"},93924:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(95684),i=r(62649),o=r(8200),s=r(39502),a=r(66167),l=[n.default,i.default,(0,o.default)(),s.default,a.metadataVocabulary,a.contentVocabulary];t.default=l},89651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:r,data:i,$data:o,schema:s,schemaCode:a,it:l}=e,{opts:c,errSchemaPath:u,schemaEnv:d,self:f}=l;c.validateFormats&&(o?function(){const o=r.scopeValue("formats",{ref:f.formats,code:c.code.formats}),s=r.const("fDef",n._`${o}[${a}]`),l=r.let("fType"),u=r.let("format");r.if(n._`typeof ${s} == "object" && !(${s} instanceof RegExp)`,(()=>r.assign(l,n._`${s}.type || "string"`).assign(u,n._`${s}.validate`)),(()=>r.assign(l,n._`"string"`).assign(u,s))),e.fail$data((0,n.or)(!1===c.strictSchema?n.nil:n._`${a} && !${u}`,function(){const e=d.$async?n._`(${s}.async ? await ${u}(${i}) : ${u}(${i}))`:n._`${u}(${i})`,r=n._`(typeof ${u} == "function" ? ${e} : ${u}.test(${i}))`;return n._`${u} && ${u} !== true && ${l} === ${t} && !${r}`}()))}():function(){const o=f.formats[s];if(!o)return void function(){if(!1!==c.strictSchema)throw new Error(e());function e(){return`unknown format "${s}" ignored in schema at path "${u}"`}f.logger.warn(e())}();if(!0===o)return;const[a,l,p]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):c.code.formats?n._`${c.code.formats}${(0,n.getProperty)(s)}`:void 0,i=r.scopeValue("formats",{key:s,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,i]:[e.type||"string",e.validate,n._`${i}.validate`]}(o);a===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!d.$async)throw new Error("async format in sync schema");return n._`await ${p}(${i})`}return"function"==typeof l?n._`${p}(${i})`:n._`${p}.test(${i})`}())}())}};t.default=i},39502:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[r(89651).default];t.default=n},66167:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},64693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(43510),s={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:r,$data:s,schemaCode:a,schema:l}=e;s||l&&"object"==typeof l?e.fail$data(n._`!${(0,i.useFunc)(t,o.default)}(${r}, ${a})`):e.fail(n._`${l} !== ${r}`)}};t.default=s},30966:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(43510),s={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:r,$data:s,schema:a,schemaCode:l,it:c}=e;if(!s&&0===a.length)throw new Error("enum must have non-empty array");const u=a.length>=c.opts.loopEnum;let d;const f=()=>null!=d?d:d=(0,i.useFunc)(t,o.default);let p;if(u||s)p=t.let("valid"),e.block$data(p,(function(){t.assign(p,!1),t.forOf("v",l,(e=>t.if(n._`${f()}(${r}, ${e})`,(()=>t.assign(p,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",l);p=(0,n.or)(...a.map(((t,i)=>function(e,t){const i=a[t];return"object"==typeof i&&null!==i?n._`${f()}(${r}, ${e}[${t}])`:n._`${r} === ${i}`}(e,i))))}e.pass(p)}};t.default=s},62649:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(83983),i=r(90430),o=r(93229),s=r(74336),a=r(90498),l=r(33301),c=r(31687),u=r(82958),d=r(64693),f=r(30966),p=[n.default,i.default,o.default,s.default,a.default,l.default,c.default,u.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},d.default,f.default];t.default=p},31687:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const r="maxItems"===e?"more":"fewer";return n.str`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:r,schemaCode:i}=e,o="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${r}.length ${o} ${i}`)}};t.default=i},93229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(74499),s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const r="maxLength"===e?"more":"fewer";return n.str`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:r,schemaCode:s,it:a}=e,l="maxLength"===t?n.operators.GT:n.operators.LT,c=!1===a.opts.unicode?n._`${r}.length`:n._`${(0,i.useFunc)(e.gen,o.default)}(${r})`;e.fail$data(n._`${c} ${l} ${s}`)}};t.default=s},83983:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=n.operators,o={maximum:{okStr:"<=",ok:i.LTE,fail:i.GT},minimum:{okStr:">=",ok:i.GTE,fail:i.LT},exclusiveMaximum:{okStr:"<",ok:i.LT,fail:i.GTE},exclusiveMinimum:{okStr:">",ok:i.GT,fail:i.LTE}},s={message:({keyword:e,schemaCode:t})=>n.str`must be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${o[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(o),type:"number",schemaType:"number",$data:!0,error:s,code(e){const{keyword:t,data:r,schemaCode:i}=e;e.fail$data(n._`${r} ${o[t].fail} ${i} || isNaN(${r})`)}};t.default=a},90498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const r="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:r,schemaCode:i}=e,o="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${r}).length ${o} ${i}`)}};t.default=i},90430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:r,schemaCode:i,it:o}=e,s=o.opts.multipleOfPrecision,a=t.let("res"),l=s?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${i} === 0 || (${a} = ${r}/${i}, ${l}))`)}};t.default=i},74336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>i.str`must match pattern "${e}"`,params:({schemaCode:e})=>i._`{pattern: ${e}}`},code(e){const{data:t,$data:r,schema:o,schemaCode:s,it:a}=e,l=a.opts.unicodeRegExp?"u":"",c=r?i._`(new RegExp(${s}, ${l}))`:(0,n.usePattern)(e,o);e.fail$data(i._`!${c}.test(${t})`)}};t.default=o},33301:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o=r(76776),s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>i.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>i._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:r,schemaCode:s,data:a,$data:l,it:c}=e,{opts:u}=c;if(!l&&0===r.length)return;const d=r.length>=u.loopRequired;if(c.allErrors?function(){if(d||l)e.block$data(i.nil,f);else for(const t of r)(0,n.checkReportMissingProp)(e,t)}():function(){const o=t.let("missing");if(d||l){const r=t.let("valid",!0);e.block$data(r,(()=>function(r,o){e.setParams({missingProperty:r}),t.forOf(r,s,(()=>{t.assign(o,(0,n.propertyInData)(t,a,r,u.ownProperties)),t.if((0,i.not)(o),(()=>{e.error(),t.break()}))}),i.nil)}(o,r))),e.ok(r)}else t.if((0,n.checkMissingProp)(e,r,o)),(0,n.reportMissingProp)(e,o),t.else()}(),u.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of r)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${c.schemaEnv.baseId+c.errSchemaPath}" (strictRequired)`;(0,o.checkStrictMode)(c,t,c.opts.strictRequired)}}function f(){t.forOf("prop",s,(r=>{e.setParams({missingProperty:r}),t.if((0,n.noPropertyInData)(t,a,r,u.ownProperties),(()=>e.error()))}))}}};t.default=s},82958:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(50453),i=r(93487),o=r(76776),s=r(43510),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>i.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>i._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:r,$data:a,schema:l,parentSchema:c,schemaCode:u,it:d}=e;if(!a&&!l)return;const f=t.let("valid"),p=c.items?(0,n.getSchemaTypes)(c.items):[];function h(o,s){const a=t.name("item"),l=(0,n.checkDataTypes)(p,a,d.opts.strictNumbers,n.DataType.Wrong),c=t.const("indices",i._`{}`);t.for(i._`;${o}--;`,(()=>{t.let(a,i._`${r}[${o}]`),t.if(l,i._`continue`),p.length>1&&t.if(i._`typeof ${a} == "string"`,i._`${a} += "_"`),t.if(i._`typeof ${c}[${a}] == "number"`,(()=>{t.assign(s,i._`${c}[${a}]`),e.error(),t.assign(f,!1).break()})).code(i._`${c}[${a}] = ${o}`)}))}function g(n,a){const l=(0,o.useFunc)(t,s.default),c=t.name("outer");t.label(c).for(i._`;${n}--;`,(()=>t.for(i._`${a} = ${n}; ${a}--;`,(()=>t.if(i._`${l}(${r}[${n}], ${r}[${a}])`,(()=>{e.error(),t.assign(f,!1).break(c)}))))))}e.block$data(f,(function(){const n=t.let("i",i._`${r}.length`),o=t.let("j");e.setParams({i:n,j:o}),t.assign(f,!0),t.if(i._`${n} > 1`,(()=>(p.length>0&&!p.some((e=>"object"===e||"array"===e))?h:g)(n,o)))}),i._`${u} === false`),e.ok(f)}};t.default=a},9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function i(e,t,r){return e.concat(t).map((function(e){return n(e,r)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function s(e,t){try{return t in e}catch(e){return!1}}function a(e,r,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(r);return c===Array.isArray(e)?c?l.arrayMerge(e,r,l):function(e,t,r){var i={};return r.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=n(e[t],r)})),o(t).forEach((function(o){(function(e,t){return s(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(s(e,o)&&r.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return a;var r=t.customMerge(e);return"function"==typeof r?r:a}(o,r)(e[o],t[o],r):i[o]=n(t[o],r))})),i}(e,r,l):n(r,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return a(e,r,t)}),{})};var l=a;e.exports=l},17187: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))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&g(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 l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,r,n){var i,o,s,c;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=l(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){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=u.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):h(i,i.length)}function p(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 h(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function g(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 l(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 l=o[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var c=l.length,u=h(l,c);for(r=0;r<c;++r)n(u[r],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(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):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},64063: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}},74221:(e,t,r)=>{"use strict";function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(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 l(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}r.r(t),r.d(t,{default:()=>F});const u=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,a=null;if(i(e)||n(e))o=e,t=p(e),r=h(e);else{if(!u.call(e,"name"))throw new Error("Missing name property in key");const n=e.name;if(o=n,u.call(e,"weight")&&(s=e.weight,s<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(n));t=p(n),r=h(n),a=e.getFn}return{path:t,id:r,weight:s,src:o,getFn:a}}function p(e){return n(e)?e:e.split(".")}function h(e){return n(e)?e.join("."):e}var g={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=[],l=!1;const u=(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]"==c(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)){l=!0;for(let e=0,r=f.length;e<r;e+=1)u(f[e],t,d+1)}else t.length&&u(f,t,d+1)}else r.push(e)};return u(e,i(t)?t.split("."):t,0),l?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};const m=/[^ ]+/g;class y{constructor({getFn:e=g.getFn,fieldNormWeight:t=g.fieldNormWeight}={}){this.norm=function(e=1,t=3){const r=new Map,n=Math.pow(10,t);return{get(t){const i=t.match(m).length;if(r.has(i))return r.get(i);const o=1/Math.pow(i,.5*e),s=parseFloat(Math.round(o*n)/n);return r.set(i,s),s},clear(){r.clear()}}}(t,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)||l(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=t.getFn?t.getFn(e):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)&&!l(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(i(s)&&!l(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=g.getFn,fieldNormWeight:n=g.fieldNormWeight}={}){const i=new y({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(f)),i.setSources(t),i.create(),i}function w(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=g.distance,ignoreLocation:o=g.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 C{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:n=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:S(e),startIndex:t})},u=this.pattern.length;if(u>b){let e=0;const t=u%b,r=u-t;for(;e<r;)c(this.pattern.substr(e,b),e),e+=b;if(t){const e=u-b;c(this.pattern.substr(e),e)}}else c(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:l}=this.options;let c=[],u=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:p})=>{const{isMatch:h,score:m,indices:y}=function(e,t,r,{location:n=g.location,distance:i=g.distance,threshold:o=g.threshold,findAllMatches:s=g.findAllMatches,minMatchCharLength:a=g.minMatchCharLength,includeMatches:l=g.includeMatches,ignoreLocation:c=g.ignoreLocation}={}){if(t.length>b)throw new Error("Pattern length exceeds max of 32.");const u=t.length,d=e.length,f=Math.max(0,Math.min(n,d));let p=o,h=f;const m=a>1||l,y=m?Array(d):[];let v;for(;(v=e.indexOf(t,h))>-1;){let e=w(t,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(e,p),h=v+u,m){let e=0;for(;e<u;)y[v+e]=1,e+=1}}h=-1;let S=[],C=1,_=u+d;const k=1<<u-1;for(let n=0;n<u;n+=1){let o=0,a=_;for(;o<a;)w(t,{errors:n,currentLocation:f+a,expectedLocation:f,distance:i,ignoreLocation:c})<=p?o=a:_=a,a=Math.floor((_-o)/2+o);_=a;let l=Math.max(1,f-a+1),g=s?d:Math.min(f+a,d)+u,v=Array(g+2);v[g+1]=(1<<n)-1;for(let o=g;o>=l;o-=1){let s=o-1,a=r[e.charAt(s)];if(m&&(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]&k&&(C=w(t,{errors:n,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:c}),C<=p)){if(p=C,h=s,h<=f)break;l=Math.max(1,2*f-h)}}if(w(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;S=v}const E={isMatch:h>=0,score:Math.max(.001,C)};if(m){const e=function(e=[],t=g.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?l&&(E.indices=e):E.isMatch=!1}return E}(e,t,f,{location:n+p,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,includeMatches:r,ignoreLocation:l});h&&(d=!0),u+=m,h&&y&&(c=[...c,...y])}));let f={isMatch:d,score:d?u/this.chunks.length:1};return d&&r&&(f.indices=c),f}}class _{constructor(e){this.pattern=e}static isMultiMatch(e){return k(e,this.multiRegex)}static isSingleMatch(e){return k(e,this.singleRegex)}search(){}}function k(e,t){const r=e.match(t);return r?r[1]:null}class E extends _{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:n=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){super(e),this._bitapSearch=new C(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class L extends _{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 T=[class extends _{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]}}},L,class extends _{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 _{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 _{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 _{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 _{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]}}},E],A=T.length,O=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,P=new Set([E.type,L.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 C(e,t)}const $="$and",N=e=>!(!e.$and&&!e.$or),D=e=>({[$]:Object.keys(e).map((t=>({[t]:e[t]})))});function W(e,t,{auto:r=!0}={}){const o=e=>{let a=Object.keys(e);const l=(e=>!!e.$path)(e);if(!l&&a.length>1&&!N(e))return o(D(e));if((e=>!n(e)&&s(e)&&!N(e))(e)){const n=l?e.$path:a[0],o=l?e.$val:e[n];if(!i(o))throw new Error((e=>`Invalid value for key ${e}`)(n));const s={keyId:h(n),pattern:o};return r&&(s.searcher=R(o,t)),s}let c={children:[],operator:a[0]};return a.forEach((t=>{const r=e[t];n(r)&&r.forEach((e=>{c.children.push(o(e))}))})),c};return N(e)||(e=D(e)),o(e)}function M(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 F{constructor(e,t={},r){this.options={...g,...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,fieldNormWeight:this.options.fieldNormWeight})}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:l}=this.options;let c=i(e)?i(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=g.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}))}(c,{ignoreFieldNorm:l}),s&&c.sort(a),o(t)&&t>-1&&(c=c.slice(0,t)),function(e,t,{includeMatches:r=g.includeMatches,includeScore:n=g.includeScore}={}){const i=[];return r&&i.push(M),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}))}(c,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:l}=t.searchIn(e);o&&n.push({item:e,idx:r,matches:[{score:s,value:e,norm:i,indices:l}]})})),n}_searchLogical(e){const t=W(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}]:[]}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);else if(e.operator===$)return[]}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:l,indices:c}=r.searchIn(t);s&&i.push({score:l,key:e,value:t,idx:n,norm:o,indices:c})}));else{const{v:n,n:o}=t,{isMatch:s,score:a,indices:l}=r.searchIn(n);s&&i.push({score:a,key:e,value:n,norm:o,indices:l})}return i}}F.version="6.6.2",F.createIndex=v,F.parseIndex=function(e,{getFn:t=g.getFn,fieldNormWeight:r=g.fieldNormWeight}={}){const{keys:n,records:i}=e,o=new y({getFn:t,fieldNormWeight:r});return o.setKeys(n),o.setIndexRecords(i),o},F.config=g,F.parseQuery=W,function(...e){I.push(...e)}(class{constructor(e,{isCaseSensitive:t=g.isCaseSensitive,includeMatches:r=g.includeMatches,minMatchCharLength:n=g.minMatchCharLength,ignoreLocation:i=g.ignoreLocation,findAllMatches:o=g.findAllMatches,location:s=g.location,threshold:a=g.threshold,distance:l=g.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:r,minMatchCharLength:n,findAllMatches:o,ignoreLocation:i,location:s,threshold:a,distance:l},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let r=e.trim().split(O).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=T[s];let r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),o=!0)}if(!o)for(s=-1;++s<A;){const e=T[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:l,indices:c,score:u}=n.search(e);if(!l){s=0,i=0,o.length=0;break}if(i+=1,s+=u,r){const e=n.constructor.type;P.has(e)?o=[...o,...c]:o.push(c)}}if(i){let e={isMatch:!0,score:s/i};return r&&(e.indices=o),e}}return{isMatch:!1,score:1}}})},49461: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,l,c,u,d){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in n(o,s,a,l,c,u,d),o){var p=o[f];if(Array.isArray(p)){if(f in t.arrayKeywords)for(var h=0;h<p.length;h++)r(e,n,i,p[h],s+"/"+f+"/"+h,a,s,f,o,h)}else if(f in t.propsKeywords){if(p&&"object"==typeof p)for(var g in p)r(e,n,i,p[g],s+"/"+f+"/"+g.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,f,o,g)}else(f in t.keywords||e.allKeys&&!(f in t.skipKeywords))&&r(e,n,i,p,s+"/"+f,a,s,f,o)}i(o,s,a,l,c,u,d)}}t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={$defs:!0,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}},18552:(e,t,r)=>{var n=r(10852)(r(55639),"DataView");e.exports=n},1989:(e,t,r)=>{var n=r(51789),i=r(80401),o=r(57667),s=r(21327),a=r(81866);function l(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])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},38407:(e,t,r)=>{var n=r(27040),i=r(14125),o=r(82117),s=r(67518),a=r(54705);function l(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])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},57071:(e,t,r)=>{var n=r(10852)(r(55639),"Map");e.exports=n},83369:(e,t,r)=>{var n=r(24785),i=r(11285),o=r(96e3),s=r(49916),a=r(95265);function l(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])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},53818:(e,t,r)=>{var n=r(10852)(r(55639),"Promise");e.exports=n},58525:(e,t,r)=>{var n=r(10852)(r(55639),"Set");e.exports=n},88668:(e,t,r)=>{var n=r(83369),i=r(90619),o=r(72385);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},46384:(e,t,r)=>{var n=r(38407),i=r(37465),o=r(63779),s=r(67599),a=r(44758),l=r(34309);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=a,c.prototype.set=l,e.exports=c},62705:(e,t,r)=>{var n=r(55639).Symbol;e.exports=n},11149:(e,t,r)=>{var n=r(55639).Uint8Array;e.exports=n},70577:(e,t,r)=>{var n=r(10852)(r(55639),"WeakMap");e.exports=n},96874: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)}},77412: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}},34963: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}},14636:(e,t,r)=>{var n=r(22545),i=r(35694),o=r(1469),s=r(44144),a=r(65776),l=r(36719),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=o(e),u=!r&&i(e),d=!r&&!u&&s(e),f=!r&&!u&&!d&&l(e),p=r||u||d||f,h=p?n(e.length,String):[],g=h.length;for(var m in e)!t&&!c.call(e,m)||p&&("length"==m||d&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||a(m,g))||h.push(m);return h}},29932: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}},62488: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}},82908: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}},34865:(e,t,r)=>{var n=r(89465),i=r(77813),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)}},18470:(e,t,r)=>{var n=r(77813);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},44037:(e,t,r)=>{var n=r(98363),i=r(3674);e.exports=function(e,t){return e&&n(t,i(t),e)}},63886:(e,t,r)=>{var n=r(98363),i=r(81704);e.exports=function(e,t){return e&&n(t,i(t),e)}},89465:(e,t,r)=>{var n=r(38777);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},85990:(e,t,r)=>{var n=r(46384),i=r(77412),o=r(34865),s=r(44037),a=r(63886),l=r(64626),c=r(278),u=r(18805),d=r(1911),f=r(58234),p=r(46904),h=r(64160),g=r(43824),m=r(29148),y=r(38517),v=r(1469),w=r(44144),b=r(56688),S=r(13218),C=r(72928),_=r(3674),k=r(81704),E="[object Arguments]",L="[object Function]",T="[object Object]",A={};A[E]=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[T]=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[L]=A["[object WeakMap]"]=!1,e.exports=function e(t,r,O,P,I,R){var $,N=1&r,D=2&r,W=4&r;if(O&&($=I?O(t,P,I,R):O(t)),void 0!==$)return $;if(!S(t))return t;var M=v(t);if(M){if($=g(t),!N)return c(t,$)}else{var j=h(t),F=j==L||"[object GeneratorFunction]"==j;if(w(t))return l(t,N);if(j==T||j==E||F&&!I){if($=D||F?{}:y(t),!N)return D?d(t,a($,t)):u(t,s($,t))}else{if(!A[j])return I?t:{};$=m(t,j,N)}}R||(R=new n);var x=R.get(t);if(x)return x;R.set(t,$),C(t)?t.forEach((function(n){$.add(e(n,r,O,n,t,R))})):b(t)&&t.forEach((function(n,i){$.set(i,e(n,r,O,i,t,R))}));var B=M?void 0:(W?D?p:f:D?k:_)(t);return i(B||t,(function(n,i){B&&(n=t[i=n]),o($,i,e(n,r,O,i,t,R))})),$}},3118:(e,t,r)=>{var n=r(13218),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},21078:(e,t,r)=>{var n=r(62488),i=r(37285);e.exports=function e(t,r,o,s,a){var l=-1,c=t.length;for(o||(o=i),a||(a=[]);++l<c;){var u=t[l];r>0&&o(u)?r>1?e(u,r-1,o,s,a):n(a,u):s||(a[a.length]=u)}return a}},97786:(e,t,r)=>{var n=r(71811),i=r(40327);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}},68866:(e,t,r)=>{var n=r(62488),i=r(1469);e.exports=function(e,t,r){var o=t(e);return i(e)?o:n(o,r(e))}},44239:(e,t,r)=>{var n=r(62705),i=r(89607),o=r(2333),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)}},13:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},9454:(e,t,r)=>{var n=r(44239),i=r(37005);e.exports=function(e){return i(e)&&"[object Arguments]"==n(e)}},90939:(e,t,r)=>{var n=r(2492),i=r(37005);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))}},2492:(e,t,r)=>{var n=r(46384),i=r(67114),o=r(18351),s=r(16096),a=r(64160),l=r(1469),c=r(44144),u=r(36719),d="[object Arguments]",f="[object Array]",p="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,g,m,y){var v=l(e),w=l(t),b=v?f:a(e),S=w?f:a(t),C=(b=b==d?p:b)==p,_=(S=S==d?p:S)==p,k=b==S;if(k&&c(e)){if(!c(t))return!1;v=!0,C=!1}if(k&&!C)return y||(y=new n),v||u(e)?i(e,t,r,g,m,y):o(e,t,b,r,g,m,y);if(!(1&r)){var E=C&&h.call(e,"__wrapped__"),L=_&&h.call(t,"__wrapped__");if(E||L){var T=E?e.value():e,A=L?t.value():t;return y||(y=new n),m(T,A,r,g,y)}}return!!k&&(y||(y=new n),s(e,t,r,g,m,y))}},25588:(e,t,r)=>{var n=r(64160),i=r(37005);e.exports=function(e){return i(e)&&"[object Map]"==n(e)}},28458:(e,t,r)=>{var n=r(23560),i=r(15346),o=r(13218),s=r(80346),a=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.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))}},29221:(e,t,r)=>{var n=r(64160),i=r(37005);e.exports=function(e){return i(e)&&"[object Set]"==n(e)}},38749:(e,t,r)=>{var n=r(44239),i=r(41780),o=r(37005),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)]}},280:(e,t,r)=>{var n=r(25726),i=r(86916),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}},10313:(e,t,r)=>{var n=r(13218),i=r(25726),o=r(33498),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}},25970:(e,t,r)=>{var n=r(63012),i=r(79095);e.exports=function(e,t){return n(e,t,(function(t,r){return i(e,r)}))}},63012:(e,t,r)=>{var n=r(97786),i=r(10611),o=r(71811);e.exports=function(e,t,r){for(var s=-1,a=t.length,l={};++s<a;){var c=t[s],u=n(e,c);r(u,c)&&i(l,o(c,e),u)}return l}},10611:(e,t,r)=>{var n=r(34865),i=r(71811),o=r(65776),s=r(13218),a=r(40327);e.exports=function(e,t,r,l){if(!s(e))return e;for(var c=-1,u=(t=i(t,e)).length,d=u-1,f=e;null!=f&&++c<u;){var p=a(t[c]),h=r;if("__proto__"===p||"constructor"===p||"prototype"===p)return e;if(c!=d){var g=f[p];void 0===(h=l?l(g,p,f):void 0)&&(h=s(g)?g:o(t[c+1])?[]:{})}n(f,p,h),f=f[p]}return e}},56560:(e,t,r)=>{var n=r(75703),i=r(38777),o=r(6557),s=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:o;e.exports=s},22545:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},80531:(e,t,r)=>{var n=r(62705),i=r(29932),o=r(1469),s=r(33448),a=n?n.prototype:void 0,l=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 l?l.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},27561:(e,t,r)=>{var n=r(67990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,""):e}},7518:e=>{e.exports=function(e){return function(t){return e(t)}}},74757:e=>{e.exports=function(e,t){return e.has(t)}},71811:(e,t,r)=>{var n=r(1469),i=r(15403),o=r(55514),s=r(79833);e.exports=function(e,t){return n(e)?e:i(e,t)?[e]:o(s(e))}},74318:(e,t,r)=>{var n=r(11149);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},64626:(e,t,r)=>{e=r.nmd(e);var n=r(55639),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}},57157:(e,t,r)=>{var n=r(74318);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},93147:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},40419:(e,t,r)=>{var n=r(62705),i=n?n.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},77133:(e,t,r)=>{var n=r(74318);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},278: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}},98363:(e,t,r)=>{var n=r(34865),i=r(89465);e.exports=function(e,t,r,o){var s=!r;r||(r={});for(var a=-1,l=t.length;++a<l;){var c=t[a],u=o?o(r[c],e[c],c,r,e):void 0;void 0===u&&(u=e[c]),s?i(r,c,u):n(r,c,u)}return r}},18805:(e,t,r)=>{var n=r(98363),i=r(99551);e.exports=function(e,t){return n(e,i(e),t)}},1911:(e,t,r)=>{var n=r(98363),i=r(51442);e.exports=function(e,t){return n(e,i(e),t)}},14429:(e,t,r)=>{var n=r(55639)["__core-js_shared__"];e.exports=n},38777:(e,t,r)=>{var n=r(10852),i=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},67114:(e,t,r)=>{var n=r(88668),i=r(82908),o=r(74757);e.exports=function(e,t,r,s,a,l){var c=1&r,u=e.length,d=t.length;if(u!=d&&!(c&&d>u))return!1;var f=l.get(e),p=l.get(t);if(f&&p)return f==t&&p==e;var h=-1,g=!0,m=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++h<u;){var y=e[h],v=t[h];if(s)var w=c?s(v,y,h,t,e,l):s(y,v,h,e,t,l);if(void 0!==w){if(w)continue;g=!1;break}if(m){if(!i(t,(function(e,t){if(!o(m,t)&&(y===e||a(y,e,r,s,l)))return m.push(t)}))){g=!1;break}}else if(y!==v&&!a(y,v,r,s,l)){g=!1;break}}return l.delete(e),l.delete(t),g}},18351:(e,t,r)=>{var n=r(62705),i=r(11149),o=r(77813),s=r(67114),a=r(68776),l=r(21814),c=n?n.prototype:void 0,u=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,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 p=a;case"[object Set]":var h=1&n;if(p||(p=l),e.size!=t.size&&!h)return!1;var g=f.get(e);if(g)return g==t;n|=2,f.set(e,t);var m=s(p(e),p(t),n,c,d,f);return f.delete(e),m;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},16096:(e,t,r)=>{var n=r(58234),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,o,s,a){var l=1&r,c=n(e),u=c.length;if(u!=n(t).length&&!l)return!1;for(var d=u;d--;){var f=c[d];if(!(l?f in t:i.call(t,f)))return!1}var p=a.get(e),h=a.get(t);if(p&&h)return p==t&&h==e;var g=!0;a.set(e,t),a.set(t,e);for(var m=l;++d<u;){var y=e[f=c[d]],v=t[f];if(o)var w=l?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)){g=!1;break}m||(m="constructor"==f)}if(g&&!m){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||(g=!1)}return a.delete(e),a.delete(t),g}},99021:(e,t,r)=>{var n=r(85564),i=r(45357),o=r(30061);e.exports=function(e){return o(i(e,void 0,n),e+"")}},31957:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},58234:(e,t,r)=>{var n=r(68866),i=r(99551),o=r(3674);e.exports=function(e){return n(e,o,i)}},46904:(e,t,r)=>{var n=r(68866),i=r(51442),o=r(81704);e.exports=function(e){return n(e,o,i)}},45050:(e,t,r)=>{var n=r(37019);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},10852:(e,t,r)=>{var n=r(28458),i=r(47801);e.exports=function(e,t){var r=i(e,t);return n(r)?r:void 0}},85924:(e,t,r)=>{var n=r(5569)(Object.getPrototypeOf,Object);e.exports=n},89607:(e,t,r)=>{var n=r(62705),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}},99551:(e,t,r)=>{var n=r(34963),i=r(70479),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},51442:(e,t,r)=>{var n=r(62488),i=r(85924),o=r(99551),s=r(70479),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,o(e)),e=i(e);return t}:s;e.exports=a},64160:(e,t,r)=>{var n=r(18552),i=r(57071),o=r(53818),s=r(58525),a=r(70577),l=r(44239),c=r(80346),u="[object Map]",d="[object Promise]",f="[object Set]",p="[object WeakMap]",h="[object DataView]",g=c(n),m=c(i),y=c(o),v=c(s),w=c(a),b=l;(n&&b(new n(new ArrayBuffer(1)))!=h||i&&b(new i)!=u||o&&b(o.resolve())!=d||s&&b(new s)!=f||a&&b(new a)!=p)&&(b=function(e){var t=l(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case g:return h;case m:return u;case y:return d;case v:return f;case w:return p}return t}),e.exports=b},47801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},222:(e,t,r)=>{var n=r(71811),i=r(35694),o=r(1469),s=r(65776),a=r(41780),l=r(40327);e.exports=function(e,t,r){for(var c=-1,u=(t=n(t,e)).length,d=!1;++c<u;){var f=l(t[c]);if(!(d=null!=e&&r(e,f)))break;e=e[f]}return d||++c!=u?d:!!(u=null==e?0:e.length)&&a(u)&&s(f,u)&&(o(e)||i(e))}},51789:(e,t,r)=>{var n=r(94536);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},80401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},57667:(e,t,r)=>{var n=r(94536),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}},21327:(e,t,r)=>{var n=r(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:i.call(t,e)}},81866:(e,t,r)=>{var n=r(94536);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}},43824: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}},29148:(e,t,r)=>{var n=r(74318),i=r(57157),o=r(93147),s=r(40419),a=r(77133);e.exports=function(e,t,r){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new l(+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]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return o(e);case"[object Symbol]":return s(e)}}},38517:(e,t,r)=>{var n=r(3118),i=r(85924),o=r(25726);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:n(i(e))}},37285:(e,t,r)=>{var n=r(62705),i=r(35694),o=r(1469),s=n?n.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(s&&e&&e[s])}},65776: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}},15403:(e,t,r)=>{var n=r(1469),i=r(33448),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)}},37019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},15346:(e,t,r)=>{var n,i=r(14429),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!o&&o in e}},25726:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},27040:e=>{e.exports=function(){this.__data__=[],this.size=0}},14125:(e,t,r)=>{var n=r(18470),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))}},82117:(e,t,r)=>{var n=r(18470);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},67518:(e,t,r)=>{var n=r(18470);e.exports=function(e){return n(this.__data__,e)>-1}},54705:(e,t,r)=>{var n=r(18470);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}},24785:(e,t,r)=>{var n=r(1989),i=r(38407),o=r(57071);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},11285:(e,t,r)=>{var n=r(45050);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},96e3:(e,t,r)=>{var n=r(45050);e.exports=function(e){return n(this,e).get(e)}},49916:(e,t,r)=>{var n=r(45050);e.exports=function(e){return n(this,e).has(e)}},95265:(e,t,r)=>{var n=r(45050);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}},68776:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},24523:(e,t,r)=>{var n=r(88306);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},94536:(e,t,r)=>{var n=r(10852)(Object,"create");e.exports=n},86916:(e,t,r)=>{var n=r(5569)(Object.keys,Object);e.exports=n},33498:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},31167:(e,t,r)=>{e=r.nmd(e);var n=r(31957),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},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5569:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},45357:(e,t,r)=>{var n=r(96874),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),l=Array(a);++s<a;)l[s]=o[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=o[s];return c[t]=r(l),n(e,this,c)}}},55639:(e,t,r)=>{var n=r(31957),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();e.exports=o},90619:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},72385:e=>{e.exports=function(e){return this.__data__.has(e)}},21814:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},30061:(e,t,r)=>{var n=r(56560),i=r(21275)(n);e.exports=i},21275: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)}}},37465:(e,t,r)=>{var n=r(38407);e.exports=function(){this.__data__=new n,this.size=0}},63779:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},67599:e=>{e.exports=function(e){return this.__data__.get(e)}},44758:e=>{e.exports=function(e){return this.__data__.has(e)}},34309:(e,t,r)=>{var n=r(38407),i=r(57071),o=r(83369);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}},55514:(e,t,r)=>{var n=r(24523),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},40327:(e,t,r)=>{var n=r(33448);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},80346: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""}},67990:e=>{var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},50361:(e,t,r)=>{var n=r(85990);e.exports=function(e){return n(e,5)}},75703:e=>{e.exports=function(e){return function(){return e}}},23279:(e,t,r)=>{var n=r(13218),i=r(7771),o=r(14841),s=Math.max,a=Math.min;e.exports=function(e,t,r){var l,c,u,d,f,p,h=0,g=!1,m=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var r=l,n=c;return l=c=void 0,h=t,d=e.apply(n,r)}function w(e){return h=e,f=setTimeout(S,t),g?v(e):d}function b(e){var r=e-p;return void 0===p||r>=t||r<0||m&&e-h>=u}function S(){var e=i();if(b(e))return C(e);f=setTimeout(S,function(e){var r=t-(e-p);return m?a(r,u-(e-h)):r}(e))}function C(e){return f=void 0,y&&l?v(e):(l=c=void 0,d)}function _(){var e=i(),r=b(e);if(l=arguments,c=this,p=e,r){if(void 0===f)return w(p);if(m)return clearTimeout(f),f=setTimeout(S,t),v(p)}return void 0===f&&(f=setTimeout(S,t)),d}return t=o(t)||0,n(r)&&(g=!!r.leading,u=(m="maxWait"in r)?s(o(r.maxWait)||0,t):u,y="trailing"in r?!!r.trailing:y),_.cancel=function(){void 0!==f&&clearTimeout(f),h=0,l=p=c=f=void 0},_.flush=function(){return void 0===f?d:C(i())},_}},77813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},85564:(e,t,r)=>{var n=r(21078);e.exports=function(e){return null!=e&&e.length?n(e,1):[]}},27361:(e,t,r)=>{var n=r(97786);e.exports=function(e,t,r){var i=null==e?void 0:n(e,t);return void 0===i?r:i}},79095:(e,t,r)=>{var n=r(13),i=r(222);e.exports=function(e,t){return null!=e&&i(e,t,n)}},6557:e=>{e.exports=function(e){return e}},35694:(e,t,r)=>{var n=r(9454),i=r(37005),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=l},1469:e=>{var t=Array.isArray;e.exports=t},98612:(e,t,r)=>{var n=r(23560),i=r(41780);e.exports=function(e){return null!=e&&i(e.length)&&!n(e)}},44144:(e,t,r)=>{e=r.nmd(e);var n=r(55639),i=r(95062),o=t&&!t.nodeType&&t,s=o&&e&&!e.nodeType&&e,a=s&&s.exports===o?n.Buffer:void 0,l=(a?a.isBuffer:void 0)||i;e.exports=l},18446:(e,t,r)=>{var n=r(90939);e.exports=function(e,t){return n(e,t)}},28368:(e,t,r)=>{var n=r(90939);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}},23560:(e,t,r)=>{var n=r(44239),i=r(13218);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}},41780:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},56688:(e,t,r)=>{var n=r(25588),i=r(7518),o=r(31167),s=o&&o.isMap,a=s?i(s):n;e.exports=a},13218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},37005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},72928:(e,t,r)=>{var n=r(29221),i=r(7518),o=r(31167),s=o&&o.isSet,a=s?i(s):n;e.exports=a},33448:(e,t,r)=>{var n=r(44239),i=r(37005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==n(e)}},36719:(e,t,r)=>{var n=r(38749),i=r(7518),o=r(31167),s=o&&o.isTypedArray,a=s?i(s):n;e.exports=a},3674:(e,t,r)=>{var n=r(14636),i=r(280),o=r(98612);e.exports=function(e){return o(e)?n(e):i(e)}},81704:(e,t,r)=>{var n=r(14636),i=r(10313),o=r(98612);e.exports=function(e){return o(e)?n(e,!0):i(e)}},96486:function(e,t,r){var n;e=r.nmd(e),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,f=NaN,p=4294967295,h=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],g="[object Arguments]",m="[object Array]",y="[object Boolean]",v="[object Date]",w="[object Error]",b="[object Function]",S="[object GeneratorFunction]",C="[object Map]",_="[object Number]",k="[object Object]",E="[object Promise]",L="[object RegExp]",T="[object Set]",A="[object String]",O="[object Symbol]",P="[object WeakMap]",I="[object ArrayBuffer]",R="[object DataView]",$="[object Float32Array]",N="[object Float64Array]",D="[object Int8Array]",W="[object Int16Array]",M="[object Int32Array]",j="[object Uint8Array]",F="[object Uint8ClampedArray]",x="[object Uint16Array]",B="[object Uint32Array]",G=/\b__p \+= '';/g,U=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,z=/[&<>"']/g,q=RegExp(H.source),K=RegExp(z.source),Y=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,Q=/<%=([\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=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^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",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",_e="A-Z\\xc0-\\xd6\\xd8-\\xde",ke="\\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",Ee="["+ke+"]",Le="["+Se+"]",Te="\\d+",Ae="["+Ce+"]",Oe="[^\\ud800-\\udfff"+ke+Te+"\\u2700-\\u27bf"+Ce+_e+"]",Pe="\\ud83c[\\udffb-\\udfff]",Ie="[^\\ud800-\\udfff]",Re="(?:\\ud83c[\\udde6-\\uddff]){2}",$e="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+_e+"]",De="(?:"+Ae+"|"+Oe+")",We="(?:"+Ne+"|"+Oe+")",Me="(?:['’](?:d|ll|m|re|s|t|ve))?",je="(?:['’](?:D|LL|M|RE|S|T|VE))?",Fe="(?:"+Le+"|"+Pe+")?",xe="[\\ufe0e\\ufe0f]?",Be=xe+Fe+"(?:\\u200d(?:"+[Ie,Re,$e].join("|")+")"+xe+Fe+")*",Ge="(?:"+["[\\u2700-\\u27bf]",Re,$e].join("|")+")"+Be,Ue="(?:"+[Ie+Le+"?",Le,Re,$e,"[\\ud800-\\udfff]"].join("|")+")",Ve=RegExp("['’]","g"),He=RegExp(Le,"g"),ze=RegExp(Pe+"(?="+Pe+")|"+Ue+Be,"g"),qe=RegExp([Ne+"?"+Ae+"+"+Me+"(?="+[Ee,Ne,"$"].join("|")+")",We+"+"+je+"(?="+[Ee,Ne+De,"$"].join("|")+")",Ne+"?"+De+"+"+Me,Ne+"+"+je,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Te,Ge].join("|"),"g"),Ke=RegExp("[\\u200d\\ud800-\\udfff"+Se+"\\ufe0e\\ufe0f]"),Ye=/[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"],Qe=-1,Ze={};Ze[$]=Ze[N]=Ze[D]=Ze[W]=Ze[M]=Ze[j]=Ze[F]=Ze[x]=Ze[B]=!0,Ze[g]=Ze[m]=Ze[I]=Ze[y]=Ze[R]=Ze[v]=Ze[w]=Ze[b]=Ze[C]=Ze[_]=Ze[k]=Ze[L]=Ze[T]=Ze[A]=Ze[P]=!1;var Xe={};Xe[g]=Xe[m]=Xe[I]=Xe[R]=Xe[y]=Xe[v]=Xe[$]=Xe[N]=Xe[D]=Xe[W]=Xe[M]=Xe[C]=Xe[_]=Xe[k]=Xe[L]=Xe[T]=Xe[A]=Xe[O]=Xe[j]=Xe[F]=Xe[x]=Xe[B]=!0,Xe[w]=Xe[b]=Xe[P]=!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,lt=at&&at.exports===st,ct=lt&&nt.process,ut=function(){try{return at&&at.require&&at.require("util").types||ct&&ct.binding&&ct.binding("util")}catch(e){}}(),dt=ut&&ut.isArrayBuffer,ft=ut&&ut.isDate,pt=ut&&ut.isMap,ht=ut&&ut.isRegExp,gt=ut&&ut.isSet,mt=ut&&ut.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 Ct(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 _t(e,t){return!(null==e||!e.length)&&$t(e,t,0)>-1}function kt(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 Et(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 Lt(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function Tt(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 Ot(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 Pt=Mt("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 $t(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,Dt,r)}function Nt(e,t,r,n){for(var i=r-1,o=e.length;++i<o;)if(n(e[i],t))return i;return-1}function Dt(e){return e!=e}function Wt(e,t){var r=null==e?0:e.length;return r?xt(e,t)/r:f}function Mt(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function Ft(e,t,r,n,i){return i(e,(function(e,i,o){r=n?(n=!1,e):t(r,e,i,o)})),r}function xt(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 Gt(e){return e?e.slice(0,sr(e)+1).replace(ne,""):e}function Ut(e){return function(t){return e(t)}}function Vt(e,t){return Et(t,(function(t){return e[t]}))}function Ht(e,t){return e.has(t)}function zt(e,t){for(var r=-1,n=e.length;++r<n&&$t(t,e[r],0)>-1;);return r}function qt(e,t){for(var r=e.length;r--&&$t(t,e[r],0)>-1;);return r}function Kt(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var Yt=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 Qt(e){return"\\"+et[e]}function Zt(e){return Ke.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):Pt(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({"&":"&","<":"<",">":">",""":'"',"'":"'"}),lr=function e(t){var r,n=(t=null==t?ot:lr.defaults(ot.Object(),t,lr.pick(ot,Je))).Array,ie=t.Date,Se=t.Error,Ce=t.Function,_e=t.Math,ke=t.Object,Ee=t.RegExp,Le=t.String,Te=t.TypeError,Ae=n.prototype,Oe=Ce.prototype,Pe=ke.prototype,Ie=t["__core-js_shared__"],Re=Oe.toString,$e=Pe.hasOwnProperty,Ne=0,De=(r=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",We=Pe.toString,Me=Re.call(ke),je=ot._,Fe=Ee("^"+Re.call($e).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),xe=lt?t.Buffer:i,Be=t.Symbol,Ge=t.Uint8Array,Ue=xe?xe.allocUnsafe:i,ze=er(ke.getPrototypeOf,ke),Ke=ke.create,et=Pe.propertyIsEnumerable,nt=Ae.splice,it=Be?Be.isConcatSpreadable:i,st=Be?Be.iterator:i,at=Be?Be.toStringTag:i,ct=function(){try{var e=co(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ut=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Pt=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,cr=_e.ceil,ur=_e.floor,dr=ke.getOwnPropertySymbols,fr=xe?xe.isBuffer:i,pr=t.isFinite,hr=Ae.join,gr=er(ke.keys,ke),mr=_e.max,yr=_e.min,vr=ie.now,wr=t.parseInt,br=_e.random,Sr=Ae.reverse,Cr=co(t,"DataView"),_r=co(t,"Map"),kr=co(t,"Promise"),Er=co(t,"Set"),Lr=co(t,"WeakMap"),Tr=co(ke,"create"),Ar=Lr&&new Lr,Or={},Pr=Fo(Cr),Ir=Fo(_r),Rr=Fo(kr),$r=Fo(Er),Nr=Fo(Lr),Dr=Be?Be.prototype:i,Wr=Dr?Dr.valueOf:i,Mr=Dr?Dr.toString:i;function jr(e){if(ra(e)&&!Hs(e)&&!(e instanceof Gr)){if(e instanceof Br)return e;if($e.call(e,"__wrapped__"))return xo(e)}return new Br(e)}var Fr=function(){function e(){}return function(t){if(!ta(t))return{};if(Ke)return Ke(t);e.prototype=t;var r=new e;return e.prototype=i,r}}();function xr(){}function Br(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Gr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Ur(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 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 zr(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new Hr;++t<r;)this.add(e[t])}function qr(e){var t=this.__data__=new Vr(e);this.size=t.size}function Kr(e,t){var r=Hs(e),n=!r&&Vs(e),i=!r&&!n&&Ys(e),o=!r&&!n&&!i&&ua(e),s=r||n||i||o,a=s?Bt(e.length,Le):[],l=a.length;for(var c in e)!t&&!$e.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||yo(c,l))||a.push(c);return a}function Yr(e){var t=e.length;return t?e[zn(0,t-1)]:i}function Jr(e,t){return No(Ti(e),sn(t,0,e.length))}function Qr(e){return No(Ti(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];$e.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&&ct?ct(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:Ta(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,l=1&t,c=2&t,u=4&t;if(r&&(a=o?r(e,n,o,s):r(e)),a!==i)return a;if(!ta(e))return e;var d=Hs(e);if(d){if(a=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&$e.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!l)return Ti(e,a)}else{var f=po(e),p=f==b||f==S;if(Ys(e))return Si(e,l);if(f==k||f==g||p&&!o){if(a=c||p?{}:go(e),!l)return c?function(e,t){return Ai(e,fo(e),t)}(e,function(e,t){return e&&Ai(t,$a(t),e)}(a,e)):function(e,t){return Ai(e,uo(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 Ci(e);case y:case v:return new i(+e);case R:return function(e,t){var r=t?Ci(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case $:case N:case D:case W:case M:case j:case F:case x:case B:return _i(e,r);case C:case T:return new i;case _:case A:return new i(e);case L:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return n=e,Wr?ke(Wr.call(n)):{}}}(e,f,l)}}s||(s=new qr);var h=s.get(e);if(h)return h;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 m=d?i:(u?c?ro:to:c?$a:Ra)(e);return wt(m||e,(function(n,i){m&&(n=e[i=n]),Xr(a,i,an(n,t,r,i,e,s))})),a}function ln(e,t,r){var n=r.length;if(null==e)return!n;for(e=ke(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 cn(e,t,r){if("function"!=typeof e)throw new Te(o);return Po((function(){e.apply(i,r)}),t)}function un(e,t,r,n){var i=-1,o=_t,s=!0,a=e.length,l=[],c=t.length;if(!a)return l;r&&(t=Et(t,Ut(r))),n?(o=kt,s=!1):t.length>=200&&(o=Ht,s=!1,t=new zr(t));e:for(;++i<a;){var u=e[i],d=null==r?u:r(u);if(u=n||0!==u?u:0,s&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;l.push(u)}else o(t,d,n)||l.push(u)}return l}jr.templateSettings={escape:Y,evaluate:J,interpolate:Q,variable:"",imports:{_:jr}},jr.prototype=xr.prototype,jr.prototype.constructor=jr,Br.prototype=Fr(xr.prototype),Br.prototype.constructor=Br,Gr.prototype=Fr(xr.prototype),Gr.prototype.constructor=Gr,Ur.prototype.clear=function(){this.__data__=Tr?Tr(null):{},this.size=0},Ur.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ur.prototype.get=function(e){var t=this.__data__;if(Tr){var r=t[e];return r===s?i:r}return $e.call(t,e)?t[e]:i},Ur.prototype.has=function(e){var t=this.__data__;return Tr?t[e]!==i:$e.call(t,e)},Ur.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Tr&&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},Hr.prototype.clear=function(){this.size=0,this.__data__={hash:new Ur,map:new(_r||Vr),string:new Ur}},Hr.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Hr.prototype.get=function(e){return ao(this,e).get(e)},Hr.prototype.has=function(e){return ao(this,e).has(e)},Hr.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)},qr.prototype.clear=function(){this.__data__=new Vr,this.size=0},qr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},qr.prototype.get=function(e){return this.__data__.get(e)},qr.prototype.has=function(e){return this.__data__.has(e)},qr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Vr){var n=r.__data__;if(!_r||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hr(n)}return r.set(e,t),this.size=r.size,this};var dn=Ii(wn),fn=Ii(bn,!0);function pn(e,t){var r=!0;return dn(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function hn(e,t,r){for(var n=-1,o=e.length;++n<o;){var s=e[n],a=t(s);if(null!=a&&(l===i?a==a&&!ca(a):r(a,l)))var l=a,c=s}return c}function gn(e,t){var r=[];return dn(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function mn(e,t,r,n,i){var o=-1,s=e.length;for(r||(r=mo),i||(i=[]);++o<s;){var a=e[o];t>0&&r(a)?t>1?mn(a,t-1,r,n,i):Lt(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 Ct(t,(function(t){return Zs(e[t])}))}function Cn(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 _n(e,t,r){var n=t(e);return Hs(e)?n:Lt(n,r(e))}function kn(e){return null==e?e===i?"[object Undefined]":"[object Null]":at&&at in ke(e)?function(e){var t=$e.call(e,at),r=e[at];try{e[at]=i;var n=!0}catch(e){}var o=We.call(e);return n&&(t?e[at]=r:delete e[at]),o}(e):function(e){return We.call(e)}(e)}function En(e,t){return e>t}function Ln(e,t){return null!=e&&$e.call(e,t)}function Tn(e,t){return null!=e&&t in ke(e)}function An(e,t,r){for(var o=r?kt:_t,s=e[0].length,a=e.length,l=a,c=n(a),u=1/0,d=[];l--;){var f=e[l];l&&t&&(f=Et(f,Ut(t))),u=yr(f.length,u),c[l]=!r&&(t||s>=120&&f.length>=120)?new zr(l&&f):i}f=e[0];var p=-1,h=c[0];e:for(;++p<s&&d.length<u;){var g=f[p],m=t?t(g):g;if(g=r||0!==g?g:0,!(h?Ht(h,m):o(d,m,r))){for(l=a;--l;){var y=c[l];if(!(y?Ht(y,m):o(e[l],m,r)))continue e}h&&h.push(m),d.push(g)}}return d}function On(e,t,r){var n=null==(e=Lo(e,t=yi(t,e)))?e:e[jo(Qo(t))];return null==n?i:yt(n,e,r)}function Pn(e){return ra(e)&&kn(e)==g}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=Hs(e),l=Hs(t),c=a?m:po(e),u=l?m:po(t),d=(c=c==g?k:c)==k,f=(u=u==g?k:u)==k,p=c==u;if(p&&Ys(e)){if(!Ys(t))return!1;a=!0,d=!1}if(p&&!d)return s||(s=new qr),a||ua(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 Ge(e),new Ge(t)));case y:case v:case _:return Bs(+e,+t);case w:return e.name==t.name&&e.message==t.message;case L:case A:return e==t+"";case C:var a=Xt;case T:var l=1&n;if(a||(a=rr),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;n|=2,s.set(e,t);var u=Xi(a(e),a(t),n,i,o,s);return s.delete(e),u;case O:if(Wr)return Wr.call(e)==Wr.call(t)}return!1}(e,t,c,r,n,o,s);if(!(1&r)){var h=d&&$e.call(e,"__wrapped__"),b=f&&$e.call(t,"__wrapped__");if(h||b){var S=h?e.value():e,E=b?t.value():t;return s||(s=new qr),o(S,E,r,n,s)}}return!!p&&(s||(s=new qr),function(e,t,r,n,o,s){var a=1&r,l=to(e),c=l.length;if(c!=to(t).length&&!a)return!1;for(var u=c;u--;){var d=l[u];if(!(a?d in t:$e.call(t,d)))return!1}var f=s.get(e),p=s.get(t);if(f&&p)return f==t&&p==e;var h=!0;s.set(e,t),s.set(t,e);for(var g=a;++u<c;){var m=e[d=l[u]],y=t[d];if(n)var v=a?n(y,m,d,t,e,s):n(m,y,d,e,t,s);if(!(v===i?m===y||o(m,y,r,n,s):v)){h=!1;break}g||(g="constructor"==d)}if(h&&!g){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||(h=!1)}return s.delete(e),s.delete(t),h}(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=ke(e);o--;){var l=r[o];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<s;){var c=(l=r[o])[0],u=e[c],d=l[1];if(a&&l[2]){if(u===i&&!(c in e))return!1}else{var f=new qr;if(n)var p=n(u,d,c,e,t,f);if(!(p===i?In(d,u,3,n,f):p))return!1}}return!0}function $n(e){return!(!ta(e)||(t=e,De&&De in t))&&(Zs(e)?Fe:ge).test(Fo(e));var t}function Nn(e){return"function"==typeof e?e:null==e?il:"object"==typeof e?Hs(e)?Fn(e[0],e[1]):jn(e):pl(e)}function Dn(e){if(!Co(e))return gr(e);var t=[];for(var r in ke(e))$e.call(e,r)&&"constructor"!=r&&t.push(r);return t}function Wn(e,t){return e<t}function Mn(e,t){var r=-1,i=qs(e)?n(e.length):[];return dn(e,(function(e,n,o){i[++r]=t(e,n,o)})),i}function jn(e){var t=lo(e);return 1==t.length&&t[0][2]?ko(t[0][0],t[0][1]):function(r){return r===e||Rn(r,e,t)}}function Fn(e,t){return wo(e)&&_o(t)?ko(jo(e),t):function(r){var n=Ta(r,e);return n===i&&n===t?Aa(r,e):In(t,n,3)}}function xn(e,t,r,n,o){e!==t&&yn(t,(function(s,a){if(o||(o=new qr),ta(s))!function(e,t,r,n,o,s,a){var l=Ao(e,r),c=Ao(t,r),u=a.get(c);if(u)Zr(e,r,u);else{var d=s?s(l,c,r+"",e,t,a):i,f=d===i;if(f){var p=Hs(c),h=!p&&Ys(c),g=!p&&!h&&ua(c);d=c,p||h||g?Hs(l)?d=l:Ks(l)?d=Ti(l):h?(f=!1,d=Si(c,!0)):g?(f=!1,d=_i(c,!0)):d=[]:oa(c)||Vs(c)?(d=l,Vs(l)?d=va(l):ta(l)&&!Zs(l)||(d=go(c))):f=!1}f&&(a.set(c,d),o(d,c,n,s,a),a.delete(c)),Zr(e,r,d)}}(e,t,a,r,xn,n,o);else{var l=n?n(Ao(e,a),s,a+"",e,t,o):i;l===i&&(l=s),Zr(e,a,l)}}),$a)}function Bn(e,t){var r=e.length;if(r)return yo(t+=t<0?r:0,r)?e[t]:i}function Gn(e,t,r){t=t.length?Et(t,(function(e){return Hs(e)?function(t){return Cn(t,1===e.length?e[0]:e)}:e})):[il];var n=-1;t=Et(t,Ut(so()));var i=Mn(e,(function(e,r,i){var o=Et(t,(function(t){return t(e)}));return{criteria:o,index:++n,value:e}}));return 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 l=ki(i[n],o[n]);if(l)return n>=a?l:l*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}));n--;)e[n]=e[n].value;return e}(i)}function Un(e,t,r){for(var n=-1,i=t.length,o={};++n<i;){var s=t[n],a=Cn(e,s);r(a,s)&&Qn(o,yi(s,e),a)}return o}function Vn(e,t,r,n){var i=n?Nt:$t,o=-1,s=t.length,a=e;for(e===t&&(t=Ti(t)),r&&(a=Et(e,Ut(r)));++o<s;)for(var l=0,c=t[o],u=r?r(c):c;(l=i(a,u,l,n))>-1;)a!==e&&nt.call(a,l,1),nt.call(e,l,1);return e}function Hn(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):ci(e,i)}}return e}function zn(e,t){return e+ur(br()*(t-e+1))}function qn(e,t){var r="";if(!e||t<1||t>d)return r;do{t%2&&(r+=e),(t=ur(t/2))&&(e+=e)}while(t);return r}function Kn(e,t){return Io(Eo(e,t,il),e+"")}function Yn(e){return Yr(Ba(e))}function Jn(e,t){var r=Ba(e);return No(r,sn(t,0,r.length))}function Qn(e,t,r,n){if(!ta(e))return e;for(var o=-1,s=(t=yi(t,e)).length,a=s-1,l=e;null!=l&&++o<s;){var c=jo(t[o]),u=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=a){var d=l[c];(u=n?n(d,c,l):i)===i&&(u=ta(d)?d:yo(t[o+1])?[]:{})}Xr(l,c,u),l=l[c]}return e}var Zn=Ar?function(e,t){return Ar.set(e,t),e}:il,Xn=ct?function(e,t){return ct(e,"toString",{configurable:!0,enumerable:!1,value:tl(t),writable:!0})}:il;function ei(e){return No(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&&!ca(s)&&(r?s<=t:s<t)?n=o+1:i=o}return i}return ii(e,t,il,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,l=null===t,c=ca(t),u=t===i;o<s;){var d=ur((o+s)/2),f=r(e[d]),p=f!==i,h=null===f,g=f==f,m=ca(f);if(a)var y=n||g;else y=u?g&&(n||p):l?g&&p&&(n||!h):c?g&&p&&!h&&(n||!m):!h&&!m&&(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,l)){var l=a;o[i++]=0===s?0:s}}return o}function si(e){return"number"==typeof e?e:ca(e)?f:+e}function ai(e){if("string"==typeof e)return e;if(Hs(e))return Et(e,ai)+"";if(ca(e))return Mr?Mr.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function li(e,t,r){var n=-1,i=_t,o=e.length,s=!0,a=[],l=a;if(r)s=!1,i=kt;else if(o>=200){var c=t?null:qi(e);if(c)return rr(c);s=!1,i=Ht,l=new zr}else l=t?[]:a;e:for(;++n<o;){var u=e[n],d=t?t(u):u;if(u=r||0!==u?u:0,s&&d==d){for(var f=l.length;f--;)if(l[f]===d)continue e;t&&l.push(d),a.push(u)}else i(l,d,r)||(l!==a&&l.push(d),a.push(u))}return a}function ci(e,t){return null==(e=Lo(e,t=yi(t,e)))||delete e[jo(Qo(t))]}function ui(e,t,r,n){return Qn(e,t,r(Cn(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 Gr&&(r=r.value()),Tt(t,(function(e,t){return t.func.apply(t.thisArg,Lt([e],t.args))}),r)}function pi(e,t,r){var i=e.length;if(i<2)return i?li(e[0]):[];for(var o=-1,s=n(i);++o<i;)for(var a=e[o],l=-1;++l<i;)l!=o&&(s[o]=un(s[o]||a,e[l],t,r));return li(mn(s,1),t,r)}function hi(e,t,r){for(var n=-1,o=e.length,s=t.length,a={};++n<o;){var l=n<s?t[n]:i;r(a,e[n],l)}return a}function gi(e){return Ks(e)?e:[]}function mi(e){return"function"==typeof e?e:il}function yi(e,t){return Hs(e)?e:wo(e,t)?[e]:Mo(wa(e))}var vi=Kn;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=ut||function(e){return ot.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var r=e.length,n=Ue?Ue(r):new e.constructor(r);return e.copy(n),n}function Ci(e){var t=new e.constructor(e.byteLength);return new Ge(t).set(new Ge(e)),t}function _i(e,t){var r=t?Ci(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function ki(e,t){if(e!==t){var r=e!==i,n=null===e,o=e==e,s=ca(e),a=t!==i,l=null===t,c=t==t,u=ca(t);if(!l&&!u&&!s&&e>t||s&&a&&c&&!l&&!u||n&&a&&c||!r&&c||!o)return 1;if(!n&&!s&&!u&&e<t||u&&r&&o&&!n&&!s||l&&r&&o||!a&&o||!c)return-1}return 0}function Ei(e,t,r,i){for(var o=-1,s=e.length,a=r.length,l=-1,c=t.length,u=mr(s-a,0),d=n(c+u),f=!i;++l<c;)d[l]=t[l];for(;++o<a;)(f||o<s)&&(d[r[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Li(e,t,r,i){for(var o=-1,s=e.length,a=-1,l=r.length,c=-1,u=t.length,d=mr(s-l,0),f=n(d+u),p=!i;++o<d;)f[o]=e[o];for(var h=o;++c<u;)f[h+c]=t[c];for(;++a<l;)(p||o<s)&&(f[h+r[a]]=e[o++]);return f}function Ti(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 l=t[s],c=n?n(r[l],e[l],l,r,e):i;c===i&&(c=e[l]),o?nn(r,l,c):Xr(r,l,c)}return r}function Oi(e,t){return function(r,n){var i=Hs(r)?vt:tn,o=t?t():{};return i(r,e,so(n,2),o)}}function Pi(e){return Kn((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=ke(t);++n<o;){var l=r[n];l&&e(t,l,n,s)}return t}))}function Ii(e,t){return function(r,n){if(null==r)return r;if(!qs(r))return e(r,n);for(var i=r.length,o=t?i:-1,s=ke(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=ke(t),s=n(t),a=s.length;a--;){var l=s[e?a:++i];if(!1===r(o[l],l,o))break}return t}}function $i(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 Ni(e){return function(t){return Tt(Za(Va(t).replace(Ve,"")),e,"")}}function Di(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=Fr(e.prototype),n=e.apply(r,t);return ta(n)?n:r}}function Wi(e){return function(t,r,n){var o=ke(t);if(!qs(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 Mi(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 Te(o);if(s&&!l&&"wrapper"==io(a))var l=new Br([],!0)}for(n=l?n:r;++n<r;){var c=io(a=t[n]),u="wrapper"==c?no(a):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[io(u[0])].apply(l,u[3]):1==a.length&&bo(a)?l[c]():l.thru(a)}return function(){var e=arguments,n=e[0];if(l&&1==e.length&&Hs(n))return l.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,l,u,d,f){var p=t&c,h=1&t,g=2&t,m=24&t,y=512&t,v=g?i:Di(e);return function i(){for(var c=arguments.length,w=n(c),b=c;b--;)w[b]=arguments[b];if(m)var S=oo(i),C=Kt(w,S);if(o&&(w=Ei(w,o,s,m)),a&&(w=Li(w,a,l,m)),c-=C,m&&c<f){var _=tr(w,S);return Hi(e,t,ji,i.placeholder,r,w,_,u,d,f-c)}var k=h?r:this,E=g?k[e]:e;return c=w.length,u?w=To(w,u):y&&c>1&&w.reverse(),p&&d<c&&(w.length=d),this&&this!==ot&&this instanceof i&&(E=v||Di(E)),E.apply(k,w)}}function Fi(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 xi(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=Et(t,Ut(so())),Kn((function(r){var n=this;return e(t,(function(e){return yt(e,n,r)}))}))}))}function Gi(e,t){var r=(t=t===i?" ":ai(t)).length;if(r<2)return r?qn(t,e):t;var n=qn(t,cr(e/ir(t)));return Zt(t)?wi(or(n),0,e).join(""):n.slice(0,e)}function Ui(e){return function(t,r,o){return o&&"number"!=typeof o&&vo(t,r,o)&&(r=o=i),t=ha(t),r===i?(r=t,t=0):r=ha(r),function(e,t,r,i){for(var o=-1,s=mr(cr((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:ha(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 Hi(e,t,r,n,o,s,a,c,u,d){var f=8&t;t|=f?l:64,4&(t&=~(f?64:l))||(t&=-4);var p=[e,t,o,f?s:i,f?a:i,f?i:s,f?i:a,c,u,d],h=r.apply(i,p);return bo(e)&&Oo(h,p),h.placeholder=n,Ro(h,e,t)}function zi(e){var t=_e[e];return function(e,r){if(e=ya(e),(r=null==r?0:yr(ga(r),292))&&pr(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 qi=Er&&1/rr(new Er([,-0]))[1]==u?function(e){return new Er(e)}:cl;function Ki(e){return function(t){var r=po(t);return r==C?Xt(t):r==T?nr(t):function(e,t){return Et(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Yi(e,t,r,s,u,d,f,p){var h=2&t;if(!h&&"function"!=typeof e)throw new Te(o);var g=s?s.length:0;if(g||(t&=-97,s=u=i),f=f===i?f:mr(ga(f),0),p=p===i?p:ga(p),g-=u?u.length:0,64&t){var m=s,y=u;s=u=i}var v=h?i:no(e),w=[e,t,r,s,u,m,y,d,f,p];if(v&&function(e,t){var r=e[1],n=t[1],i=r|n,o=i<131,s=n==c&&8==r||n==c&&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 l=t[3];if(l){var u=e[3];e[3]=u?Ei(u,l,t[4]):l,e[4]=u?tr(e[3],a):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Li(u,l,t[6]):l,e[6]=u?tr(e[5],a):t[6]),(l=t[7])&&(e[7]=l),n&c&&(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],u=w[4],!(p=w[9]=w[9]===i?h?0:e.length:mr(w[9]-g,0))&&24&t&&(t&=-25),t&&1!=t)b=8==t||16==t?function(e,t,r){var o=Di(e);return function s(){for(var a=arguments.length,l=n(a),c=a,u=oo(s);c--;)l[c]=arguments[c];var d=a<3&&l[0]!==u&&l[a-1]!==u?[]:tr(l,u);return(a-=d.length)<r?Hi(e,t,ji,s.placeholder,i,l,d,i,i,r-a):yt(this&&this!==ot&&this instanceof s?o:e,this,l)}}(e,t,p):t!=l&&33!=t||u.length?ji.apply(i,w):function(e,t,r,i){var o=1&t,s=Di(e);return function t(){for(var a=-1,l=arguments.length,c=-1,u=i.length,d=n(u+l),f=this&&this!==ot&&this instanceof t?s:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=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=Di(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:Oo)(b,w),e,t)}function Ji(e,t,r,n){return e===i||Bs(e,Pe[r])&&!$e.call(n,r)?t:e}function Qi(e,t,r,n,o,s){return ta(e)&&ta(t)&&(s.set(t,e),xn(e,t,i,Qi,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,l=e.length,c=t.length;if(l!=c&&!(a&&c>l))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,h=2&r?new zr:i;for(s.set(e,t),s.set(t,e);++f<l;){var g=e[f],m=t[f];if(n)var y=a?n(m,g,f,t,e,s):n(g,m,f,e,t,s);if(y!==i){if(y)continue;p=!1;break}if(h){if(!Ot(t,(function(e,t){if(!Ht(h,t)&&(g===e||o(g,e,r,n,s)))return h.push(t)}))){p=!1;break}}else if(g!==m&&!o(g,m,r,n,s)){p=!1;break}}return s.delete(e),s.delete(t),p}function eo(e){return Io(Eo(e,i,zo),e+"")}function to(e){return _n(e,Ra,uo)}function ro(e){return _n(e,$a,fo)}var no=Ar?function(e){return Ar.get(e)}:cl;function io(e){for(var t=e.name+"",r=Or[t],n=$e.call(Or,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($e.call(jr,"placeholder")?jr:e).placeholder}function so(){var e=jr.iteratee||ol;return e=e===ol?Nn: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 lo(e){for(var t=Ra(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,_o(i)]}return t}function co(e,t){var r=function(e,t){return null==e?i:e[t]}(e,t);return $n(r)?r:i}var uo=dr?function(e){return null==e?[]:(e=ke(e),Ct(dr(e),(function(t){return et.call(e,t)})))}:ml,fo=dr?function(e){for(var t=[];e;)Lt(t,uo(e)),e=ze(e);return t}:ml,po=kn;function ho(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)&&(Hs(e)||Vs(e))}function go(e){return"function"!=typeof e.constructor||Co(e)?{}:Fr(ze(e))}function mo(e){return Hs(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?qs(r)&&yo(t,r.length):"string"==n&&t in r)&&Bs(r[t],e)}function wo(e,t){if(Hs(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!ca(e))||X.test(e)||!Z.test(e)||null!=t&&e in ke(t)}function bo(e){var t=io(e),r=jr[t];if("function"!=typeof r||!(t in Gr.prototype))return!1;if(e===r)return!0;var n=no(r);return!!n&&e===n[0]}(Cr&&po(new Cr(new ArrayBuffer(1)))!=R||_r&&po(new _r)!=C||kr&&po(kr.resolve())!=E||Er&&po(new Er)!=T||Lr&&po(new Lr)!=P)&&(po=function(e){var t=kn(e),r=t==k?e.constructor:i,n=r?Fo(r):"";if(n)switch(n){case Pr:return R;case Ir:return C;case Rr:return E;case $r:return T;case Nr:return P}return t});var So=Ie?Zs:yl;function Co(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Pe)}function _o(e){return e==e&&!ta(e)}function ko(e,t){return function(r){return null!=r&&r[e]===t&&(t!==i||e in ke(r))}}function Eo(e,t,r){return t=mr(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=mr(i.length-t,0),a=n(s);++o<s;)a[o]=i[t+o];o=-1;for(var l=n(t+1);++o<t;)l[o]=i[o];return l[t]=r(a),yt(e,this,l)}}function Lo(e,t){return t.length<2?e:Cn(e,ti(t,0,-1))}function To(e,t){for(var r=e.length,n=yr(t.length,r),o=Ti(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 Oo=$o(Zn),Po=jt||function(e,t){return ot.setTimeout(e,t)},Io=$o(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(h,(function(r){var n="_."+r[0];t&r[1]&&!_t(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(n),r)))}function $o(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 No(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 Do,Wo,Mo=(Do=Ds((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,r,n,i){t.push(n?i.replace(ue,"$1"):r||e)})),t}),(function(e){return 500===Wo.size&&Wo.clear(),e})),Wo=Do.cache,Do);function jo(e){if("string"==typeof e||ca(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Fo(e){if(null!=e){try{return Re.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function xo(e){if(e instanceof Gr)return e.clone();var t=new Br(e.__wrapped__,e.__chain__);return t.__actions__=Ti(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Kn((function(e,t){return Ks(e)?un(e,mn(t,1,Ks,!0)):[]})),Go=Kn((function(e,t){var r=Qo(t);return Ks(r)&&(r=i),Ks(e)?un(e,mn(t,1,Ks,!0),so(r,2)):[]})),Uo=Kn((function(e,t){var r=Qo(t);return Ks(r)&&(r=i),Ks(e)?un(e,mn(t,1,Ks,!0),i,r):[]}));function Vo(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ga(r);return i<0&&(i=mr(n+i,0)),Rt(e,so(t,3),i)}function Ho(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n-1;return r!==i&&(o=ga(r),o=r<0?mr(n+o,0):yr(o,n-1)),Rt(e,so(t,3),o,!0)}function zo(e){return null!=e&&e.length?mn(e,1):[]}function qo(e){return e&&e.length?e[0]:i}var Ko=Kn((function(e){var t=Et(e,gi);return t.length&&t[0]===e[0]?An(t):[]})),Yo=Kn((function(e){var t=Qo(e),r=Et(e,gi);return t===Qo(r)?t=i:r.pop(),r.length&&r[0]===e[0]?An(r,so(t,2)):[]})),Jo=Kn((function(e){var t=Qo(e),r=Et(e,gi);return(t="function"==typeof t?t:i)&&r.pop(),r.length&&r[0]===e[0]?An(r,i,t):[]}));function Qo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Zo=Kn(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 Hn(e,Et(t,(function(e){return yo(e,r)?+e:e})).sort(ki)),n}));function ts(e){return null==e?e:Sr.call(e)}var rs=Kn((function(e){return li(mn(e,1,Ks,!0))})),ns=Kn((function(e){var t=Qo(e);return Ks(t)&&(t=i),li(mn(e,1,Ks,!0),so(t,2))})),is=Kn((function(e){var t=Qo(e);return t="function"==typeof t?t:i,li(mn(e,1,Ks,!0),i,t)}));function os(e){if(!e||!e.length)return[];var t=0;return e=Ct(e,(function(e){if(Ks(e))return t=mr(e.length,t),!0})),Bt(t,(function(t){return Et(e,Mt(t))}))}function ss(e,t){if(!e||!e.length)return[];var r=os(e);return null==t?r:Et(r,(function(e){return yt(t,i,e)}))}var as=Kn((function(e,t){return Ks(e)?un(e,t):[]})),ls=Kn((function(e){return pi(Ct(e,Ks))})),cs=Kn((function(e){var t=Qo(e);return Ks(t)&&(t=i),pi(Ct(e,Ks),so(t,2))})),us=Kn((function(e){var t=Qo(e);return t="function"==typeof t?t:i,pi(Ct(e,Ks),i,t)})),ds=Kn(os),fs=Kn((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 ps(e){var t=jr(e);return t.__chain__=!0,t}function hs(e,t){return t(e)}var gs=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 Gr&&yo(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:hs,args:[o],thisArg:i}),new Br(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ms=Oi((function(e,t,r){$e.call(e,r)?++e[r]:nn(e,r,1)})),ys=Wi(Vo),vs=Wi(Ho);function ws(e,t){return(Hs(e)?wt:dn)(e,so(t,3))}function bs(e,t){return(Hs(e)?bt:fn)(e,so(t,3))}var Ss=Oi((function(e,t,r){$e.call(e,r)?e[r].push(t):nn(e,r,[t])})),Cs=Kn((function(e,t,r){var i=-1,o="function"==typeof t,s=qs(e)?n(e.length):[];return dn(e,(function(e){s[++i]=o?yt(t,e,r):On(e,t,r)})),s})),_s=Oi((function(e,t,r){nn(e,r,t)}));function ks(e,t){return(Hs(e)?Et:Mn)(e,so(t,3))}var Es=Oi((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]})),Ls=Kn((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]]),Gn(e,mn(t,1),[])})),Ts=Pt||function(){return ot.Date.now()};function As(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,Yi(e,c,i,i,i,i,t)}function Os(e,t){var r;if("function"!=typeof t)throw new Te(o);return e=ga(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Ps=Kn((function(e,t,r){var n=1;if(r.length){var i=tr(r,oo(Ps));n|=l}return Yi(e,n,t,r,i)})),Is=Kn((function(e,t,r){var n=3;if(r.length){var i=tr(r,oo(Is));n|=l}return Yi(t,n,e,r,i)}));function Rs(e,t,r){var n,s,a,l,c,u,d=0,f=!1,p=!1,h=!0;if("function"!=typeof e)throw new Te(o);function g(t){var r=n,o=s;return n=s=i,d=t,l=e.apply(o,r)}function m(e){return d=e,c=Po(v,t),f?g(e):l}function y(e){var r=e-u;return u===i||r>=t||r<0||p&&e-d>=a}function v(){var e=Ts();if(y(e))return w(e);c=Po(v,function(e){var r=t-(e-u);return p?yr(r,a-(e-d)):r}(e))}function w(e){return c=i,h&&n?g(e):(n=s=i,l)}function b(){var e=Ts(),r=y(e);if(n=arguments,s=this,u=e,r){if(c===i)return m(u);if(p)return bi(c),c=Po(v,t),g(u)}return c===i&&(c=Po(v,t)),l}return t=ya(t)||0,ta(r)&&(f=!!r.leading,a=(p="maxWait"in r)?mr(ya(r.maxWait)||0,t):a,h="trailing"in r?!!r.trailing:h),b.cancel=function(){c!==i&&bi(c),d=0,n=u=s=c=i},b.flush=function(){return c===i?l:w(Ts())},b}var $s=Kn((function(e,t){return cn(e,1,t)})),Ns=Kn((function(e,t,r){return cn(e,ya(t)||0,r)}));function Ds(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(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(Ds.Cache||Hr),r}function Ws(e){if("function"!=typeof e)throw new Te(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)}}Ds.Cache=Hr;var Ms=vi((function(e,t){var r=(t=1==t.length&&Hs(t[0])?Et(t[0],Ut(so())):Et(mn(t,1),Ut(so()))).length;return Kn((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=Kn((function(e,t){var r=tr(t,oo(js));return Yi(e,l,i,t,r)})),Fs=Kn((function(e,t){var r=tr(t,oo(Fs));return Yi(e,64,i,t,r)})),xs=eo((function(e,t){return Yi(e,256,i,i,i,t)}));function Bs(e,t){return e===t||e!=e&&t!=t}var Gs=Vi(En),Us=Vi((function(e,t){return e>=t})),Vs=Pn(function(){return arguments}())?Pn:function(e){return ra(e)&&$e.call(e,"callee")&&!et.call(e,"callee")},Hs=n.isArray,zs=dt?Ut(dt):function(e){return ra(e)&&kn(e)==I};function qs(e){return null!=e&&ea(e.length)&&!Zs(e)}function Ks(e){return ra(e)&&qs(e)}var Ys=fr||yl,Js=ft?Ut(ft):function(e){return ra(e)&&kn(e)==v};function Qs(e){if(!ra(e))return!1;var t=kn(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=kn(e);return t==b||t==S||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xs(e){return"number"==typeof e&&e==ga(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=pt?Ut(pt):function(e){return ra(e)&&po(e)==C};function ia(e){return"number"==typeof e||ra(e)&&kn(e)==_}function oa(e){if(!ra(e)||kn(e)!=k)return!1;var t=ze(e);if(null===t)return!0;var r=$e.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Re.call(r)==Me}var sa=ht?Ut(ht):function(e){return ra(e)&&kn(e)==L},aa=gt?Ut(gt):function(e){return ra(e)&&po(e)==T};function la(e){return"string"==typeof e||!Hs(e)&&ra(e)&&kn(e)==A}function ca(e){return"symbol"==typeof e||ra(e)&&kn(e)==O}var ua=mt?Ut(mt):function(e){return ra(e)&&ea(e.length)&&!!Ze[kn(e)]},da=Vi(Wn),fa=Vi((function(e,t){return e<=t}));function pa(e){if(!e)return[];if(qs(e))return la(e)?or(e):Ti(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=po(e);return(t==C?Xt:t==T?rr:Ba)(e)}function ha(e){return e?(e=ya(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ga(e){var t=ha(e),r=t%1;return t==t?r?t-r:t:0}function ma(e){return e?sn(ga(e),0,p):0}function ya(e){if("number"==typeof e)return e;if(ca(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=Gt(e);var r=he.test(e);return r||me.test(e)?rt(e.slice(2),r?2:8):pe.test(e)?f:+e}function va(e){return Ai(e,$a(e))}function wa(e){return null==e?"":ai(e)}var ba=Pi((function(e,t){if(Co(t)||qs(t))Ai(t,Ra(t),e);else for(var r in t)$e.call(t,r)&&Xr(e,r,t[r])})),Sa=Pi((function(e,t){Ai(t,$a(t),e)})),Ca=Pi((function(e,t,r,n){Ai(t,$a(t),e,n)})),_a=Pi((function(e,t,r,n){Ai(t,Ra(t),e,n)})),ka=eo(on),Ea=Kn((function(e,t){e=ke(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=$a(s),l=-1,c=a.length;++l<c;){var u=a[l],d=e[u];(d===i||Bs(d,Pe[u])&&!$e.call(e,u))&&(e[u]=s[u])}return e})),La=Kn((function(e){return e.push(i,Qi),yt(Da,i,e)}));function Ta(e,t,r){var n=null==e?i:Cn(e,t);return n===i?r:n}function Aa(e,t){return null!=e&&ho(e,t,Tn)}var Oa=Fi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=We.call(t)),e[t]=r}),tl(il)),Pa=Fi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=We.call(t)),$e.call(e,t)?e[t].push(r):e[t]=[r]}),so),Ia=Kn(On);function Ra(e){return qs(e)?Kr(e):Dn(e)}function $a(e){return qs(e)?Kr(e,!0):function(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var r in ke(e))t.push(r);return t}(e);var t=Co(e),r=[];for(var n in e)("constructor"!=n||!t&&$e.call(e,n))&&r.push(n);return r}(e)}var Na=Pi((function(e,t,r){xn(e,t,r)})),Da=Pi((function(e,t,r,n){xn(e,t,r,n)})),Wa=eo((function(e,t){var r={};if(null==e)return r;var n=!1;t=Et(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--;)ci(r,t[i]);return r})),Ma=eo((function(e,t){return null==e?{}:function(e,t){return Un(e,t,(function(t,r){return Aa(e,r)}))}(e,t)}));function ja(e,t){if(null==e)return{};var r=Et(ro(e),(function(e){return[e]}));return t=so(t),Un(e,r,(function(e,r){return t(e,r[0])}))}var Fa=Ki(Ra),xa=Ki($a);function Ba(e){return null==e?[]:Vt(e,Ra(e))}var Ga=Ni((function(e,t,r){return t=t.toLowerCase(),e+(r?Ua(t):t)}));function Ua(e){return Qa(wa(e).toLowerCase())}function Va(e){return(e=wa(e))&&e.replace(ve,Yt).replace(He,"")}var Ha=Ni((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),za=Ni((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),qa=$i("toLowerCase"),Ka=Ni((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()})),Ya=Ni((function(e,t,r){return e+(r?" ":"")+Qa(t)})),Ja=Ni((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Qa=$i("toUpperCase");function Za(e,t,r){return e=wa(e),(t=r?i:t)===i?function(e){return Ye.test(e)}(e)?function(e){return e.match(qe)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Xa=Kn((function(e,t){try{return yt(e,i,t)}catch(e){return Qs(e)?e:new Se(e)}})),el=eo((function(e,t){return wt(t,(function(t){t=jo(t),nn(e,t,Ps(e[t],e))})),e}));function tl(e){return function(){return e}}var rl=Mi(),nl=Mi(!0);function il(e){return e}function ol(e){return Nn("function"==typeof e?e:an(e,1))}var sl=Kn((function(e,t){return function(r){return On(r,e,t)}})),al=Kn((function(e,t){return function(r){return On(e,r,t)}}));function ll(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__=Ti(this.__actions__);return i.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,Lt([this.value()],arguments))})})),e}function cl(){}var ul=Bi(Et),dl=Bi(St),fl=Bi(Ot);function pl(e){return wo(e)?Mt(jo(e)):function(e){return function(t){return Cn(t,e)}}(e)}var hl=Ui(),gl=Ui(!0);function ml(){return[]}function yl(){return!1}var vl,wl=xi((function(e,t){return e+t}),0),bl=zi("ceil"),Sl=xi((function(e,t){return e/t}),1),Cl=zi("floor"),_l=xi((function(e,t){return e*t}),1),kl=zi("round"),El=xi((function(e,t){return e-t}),0);return jr.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ga(e),function(){if(--e<1)return t.apply(this,arguments)}},jr.ary=As,jr.assign=ba,jr.assignIn=Sa,jr.assignInWith=Ca,jr.assignWith=_a,jr.at=ka,jr.before=Os,jr.bind=Ps,jr.bindAll=el,jr.bindKey=Is,jr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Hs(e)?e:[e]},jr.chain=ps,jr.chunk=function(e,t,r){t=(r?vo(e,t,r):t===i)?1:mr(ga(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,l=n(cr(o/t));s<o;)l[a++]=ti(e,s,s+=t);return l},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 Lt(Hs(r)?Ti(r):[r],mn(t,1))},jr.cond=function(e){var t=null==e?0:e.length,r=so();return e=t?Et(e,(function(e){if("function"!=typeof e[1])throw new Te(o);return[r(e[0]),e[1]]})):[],Kn((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 ln(r,e,t)}}(an(e,1))},jr.constant=tl,jr.countBy=ms,jr.create=function(e,t){var r=Fr(e);return null==t?r:rn(r,t)},jr.curry=function e(t,r,n){var o=Yi(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=Yi(t,16,i,i,i,i,i,r=n?i:r);return o.placeholder=e.placeholder,o},jr.debounce=Rs,jr.defaults=Ea,jr.defaultsDeep=La,jr.defer=$s,jr.delay=Ns,jr.difference=Bo,jr.differenceBy=Go,jr.differenceWith=Uo,jr.drop=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,(t=r||t===i?1:ga(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:ga(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=ga(r))<0&&(r=-r>o?0:o+r),(n=n===i||n>o?o:ga(n))<0&&(n+=o),n=r>n?0:ma(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},jr.filter=function(e,t){return(Hs(e)?Ct:gn)(e,so(t,3))},jr.flatMap=function(e,t){return mn(ks(e,t),1)},jr.flatMapDeep=function(e,t){return mn(ks(e,t),u)},jr.flatMapDepth=function(e,t,r){return r=r===i?1:ga(r),mn(ks(e,t),r)},jr.flatten=zo,jr.flattenDeep=function(e){return null!=e&&e.length?mn(e,u):[]},jr.flattenDepth=function(e,t){return null!=e&&e.length?mn(e,t=t===i?1:ga(t)):[]},jr.flip=function(e){return Yi(e,512)},jr.flow=rl,jr.flowRight=nl,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,$a(e))},jr.groupBy=Ss,jr.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},jr.intersection=Ko,jr.intersectionBy=Yo,jr.intersectionWith=Jo,jr.invert=Oa,jr.invertBy=Pa,jr.invokeMap=Cs,jr.iteratee=ol,jr.keyBy=_s,jr.keys=Ra,jr.keysIn=$a,jr.map=ks,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 Fn(e,an(t,1))},jr.memoize=Ds,jr.merge=Na,jr.mergeWith=Da,jr.method=sl,jr.methodOf=al,jr.mixin=ll,jr.negate=Ws,jr.nthArg=function(e){return e=ga(e),Kn((function(t){return Bn(t,e)}))},jr.omit=Wa,jr.omitBy=function(e,t){return ja(e,Ws(so(t)))},jr.once=function(e){return Os(2,e)},jr.orderBy=function(e,t,r,n){return null==e?[]:(Hs(t)||(t=null==t?[]:[t]),Hs(r=n?i:r)||(r=null==r?[]:[r]),Gn(e,t,r))},jr.over=ul,jr.overArgs=Ms,jr.overEvery=dl,jr.overSome=fl,jr.partial=js,jr.partialRight=Fs,jr.partition=Es,jr.pick=Ma,jr.pickBy=ja,jr.property=pl,jr.propertyOf=function(e){return function(t){return null==e?i:Cn(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=hl,jr.rangeRight=gl,jr.rearg=xs,jr.reject=function(e,t){return(Hs(e)?Ct:gn)(e,Ws(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 Hn(e,i),r},jr.rest=function(e,t){if("function"!=typeof e)throw new Te(o);return Kn(e,t=t===i?t:ga(t))},jr.reverse=ts,jr.sampleSize=function(e,t,r){return t=(r?vo(e,t,r):t===i)?1:ga(t),(Hs(e)?Jr:Jn)(e,t)},jr.set=function(e,t,r){return null==e?e:Qn(e,t,r)},jr.setWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:Qn(e,t,r,n)},jr.shuffle=function(e){return(Hs(e)?Qr: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:ga(t),r=r===i?n:ga(r)),ti(e,t,r)):[]},jr.sortBy=Ls,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?p: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 Te(o);return t=null==t?0:mr(ga(t),0),Kn((function(r){var n=r[t],i=wi(r,0,t);return n&&Lt(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:ga(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:ga(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 Te(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=hs,jr.toArray=pa,jr.toPairs=Fa,jr.toPairsIn=xa,jr.toPath=function(e){return Hs(e)?Et(e,jo):ca(e)?[e]:Ti(Mo(wa(e)))},jr.toPlainObject=va,jr.transform=function(e,t,r){var n=Hs(e),i=n||Ys(e)||ua(e);if(t=so(t,4),null==r){var o=e&&e.constructor;r=i?n?new o:[]:ta(e)&&Zs(o)?Fr(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?li(e):[]},jr.uniqBy=function(e,t){return e&&e.length?li(e,so(t,2)):[]},jr.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?li(e,i,t):[]},jr.unset=function(e,t){return null==e||ci(e,t)},jr.unzip=os,jr.unzipWith=ss,jr.update=function(e,t,r){return null==e?e:ui(e,t,mi(r))},jr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:ui(e,t,mi(r),n)},jr.values=Ba,jr.valuesIn=function(e){return null==e?[]:Vt(e,$a(e))},jr.without=as,jr.words=Za,jr.wrap=function(e,t){return js(mi(t),e)},jr.xor=ls,jr.xorBy=cs,jr.xorWith=us,jr.zip=ds,jr.zipObject=function(e,t){return hi(e||[],t||[],Xr)},jr.zipObjectDeep=function(e,t){return hi(e||[],t||[],Qn)},jr.zipWith=fs,jr.entries=Fa,jr.entriesIn=xa,jr.extend=Sa,jr.extendWith=Ca,ll(jr,jr),jr.add=wl,jr.attempt=Xa,jr.camelCase=Ga,jr.capitalize=Ua,jr.ceil=bl,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||ln(e,t,Ra(t))},jr.deburr=Va,jr.defaultTo=function(e,t){return null==e||e!=e?t:e},jr.divide=Sl,jr.endsWith=function(e,t,r){e=wa(e),t=ai(t);var n=e.length,o=r=r===i?n:sn(ga(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},jr.eq=Bs,jr.escape=function(e){return(e=wa(e))&&K.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=Hs(e)?St:pn;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=Ho,jr.findLastKey=function(e,t){return It(e,so(t,3),bn)},jr.floor=Cl,jr.forEach=ws,jr.forEachRight=bs,jr.forIn=function(e,t){return null==e?e:yn(e,so(t,3),$a)},jr.forInRight=function(e,t){return null==e?e:vn(e,so(t,3),$a)},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=Ta,jr.gt=Gs,jr.gte=Us,jr.has=function(e,t){return null!=e&&ho(e,t,Ln)},jr.hasIn=Aa,jr.head=qo,jr.identity=il,jr.includes=function(e,t,r,n){e=qs(e)?e:Ba(e),r=r&&!n?ga(r):0;var i=e.length;return r<0&&(r=mr(i+r,0)),la(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&$t(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:ga(r);return i<0&&(i=mr(n+i,0)),$t(e,t,i)},jr.inRange=function(e,t,r){return t=ha(t),r===i?(r=t,t=0):r=ha(r),function(e,t,r){return e>=yr(t,r)&&e<mr(t,r)}(e=ya(e),t,r)},jr.invoke=Ia,jr.isArguments=Vs,jr.isArray=Hs,jr.isArrayBuffer=zs,jr.isArrayLike=qs,jr.isArrayLikeObject=Ks,jr.isBoolean=function(e){return!0===e||!1===e||ra(e)&&kn(e)==y},jr.isBuffer=Ys,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(qs(e)&&(Hs(e)||"string"==typeof e||"function"==typeof e.splice||Ys(e)||ua(e)||Vs(e)))return!e.length;var t=po(e);if(t==C||t==T)return!e.size;if(Co(e))return!Dn(e).length;for(var r in e)if($e.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=Qs,jr.isFinite=function(e){return"number"==typeof e&&pr(e)},jr.isFunction=Zs,jr.isInteger=Xs,jr.isLength=ea,jr.isMap=na,jr.isMatch=function(e,t){return e===t||Rn(e,t,lo(t))},jr.isMatchWith=function(e,t,r){return r="function"==typeof r?r:i,Rn(e,t,lo(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 $n(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=la,jr.isSymbol=ca,jr.isTypedArray=ua,jr.isUndefined=function(e){return e===i},jr.isWeakMap=function(e){return ra(e)&&po(e)==P},jr.isWeakSet=function(e){return ra(e)&&"[object WeakSet]"==kn(e)},jr.join=function(e,t){return null==e?"":hr.call(e,t)},jr.kebabCase=Ha,jr.last=Qo,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=ga(r))<0?mr(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,Dt,o,!0)},jr.lowerCase=za,jr.lowerFirst=qa,jr.lt=da,jr.lte=fa,jr.max=function(e){return e&&e.length?hn(e,il,En):i},jr.maxBy=function(e,t){return e&&e.length?hn(e,so(t,2),En):i},jr.mean=function(e){return Wt(e,il)},jr.meanBy=function(e,t){return Wt(e,so(t,2))},jr.min=function(e){return e&&e.length?hn(e,il,Wn):i},jr.minBy=function(e,t){return e&&e.length?hn(e,so(t,2),Wn):i},jr.stubArray=ml,jr.stubFalse=yl,jr.stubObject=function(){return{}},jr.stubString=function(){return""},jr.stubTrue=function(){return!0},jr.multiply=_l,jr.nth=function(e,t){return e&&e.length?Bn(e,ga(t)):i},jr.noConflict=function(){return ot._===this&&(ot._=je),this},jr.noop=cl,jr.now=Ts,jr.pad=function(e,t,r){e=wa(e);var n=(t=ga(t))?ir(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return Gi(ur(i),r)+e+Gi(cr(i),r)},jr.padEnd=function(e,t,r){e=wa(e);var n=(t=ga(t))?ir(e):0;return t&&n<t?e+Gi(t-n,r):e},jr.padStart=function(e,t,r){e=wa(e);var n=(t=ga(t))?ir(e):0;return t&&n<t?Gi(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=ha(e),t===i?(t=e,e=0):t=ha(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=Hs(e)?Tt:Ft,i=arguments.length<3;return n(e,so(t,4),r,i,dn)},jr.reduceRight=function(e,t,r){var n=Hs(e)?At:Ft,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:ga(t),qn(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=kl,jr.runInContext=e,jr.sample=function(e){return(Hs(e)?Yr:Yn)(e)},jr.size=function(e){if(null==e)return 0;if(qs(e))return la(e)?ir(e):e.length;var t=po(e);return t==C||t==T?e.size:Dn(e).length},jr.snakeCase=Ka,jr.some=function(e,t,r){var n=Hs(e)?Ot: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=Ya,jr.startsWith=function(e,t,r){return e=wa(e),r=null==r?0:sn(ga(r),0,e.length),t=ai(t),e.slice(r,r+t.length)==t},jr.subtract=El,jr.sum=function(e){return e&&e.length?xt(e,il):0},jr.sumBy=function(e,t){return e&&e.length?xt(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=Ca({},t,n,Ji);var o,s,a=Ca({},t.imports,n.imports,Ji),l=Ra(a),c=Vt(a,l),u=0,d=t.interpolate||we,f="__p += '",p=Ee((t.escape||we).source+"|"+d.source+"|"+(d===Q?de:we).source+"|"+(t.evaluate||we).source+"|$","g"),h="//# sourceURL="+($e.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Qe+"]")+"\n";e.replace(p,(function(t,r,n,i,a,l){return n||(n=i),f+=e.slice(u,l).replace(be,Qt),r&&(o=!0,f+="' +\n__e("+r+") +\n'"),a&&(s=!0,f+="';\n"+a+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),f+="';\n";var g=$e.call(t,"variable")&&t.variable;if(g){if(ce.test(g))throw new Se("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(G,""):f).replace(U,"$1").replace(V,"$1;"),f="function("+(g||"obj")+") {\n"+(g?"":"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 m=Xa((function(){return Ce(l,h+"return "+f).apply(i,c)}));if(m.source=f,Qs(m))throw m;return m},jr.times=function(e,t){if((e=ga(e))<1||e>d)return[];var r=p,n=yr(e,p);t=so(t),e-=p;for(var i=Bt(n,t);++r<e;)t(r);return i},jr.toFinite=ha,jr.toInteger=ga,jr.toLength=ma,jr.toLower=function(e){return wa(e).toLowerCase()},jr.toNumber=ya,jr.toSafeInteger=function(e){return e?sn(ga(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 Gt(e);if(!e||!(t=ai(t)))return e;var n=or(e),o=or(t);return wi(n,zt(n,o),qt(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,qt(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?ga(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 l=r-ir(n);if(l<1)return n;var c=a?wi(a,0,l).join(""):e.slice(0,l);if(o===i)return c+n;if(a&&(l+=c.length-l),sa(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=Ee(o.source,wa(fe.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var f=u.index;c=c.slice(0,f===i?l:f)}}else if(e.indexOf(ai(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+n},jr.unescape=function(e){return(e=wa(e))&&q.test(e)?e.replace(H,ar):e},jr.uniqueId=function(e){var t=++Ne;return wa(e)+t},jr.upperCase=Ja,jr.upperFirst=Qa,jr.each=ws,jr.eachRight=bs,jr.first=qo,ll(jr,(vl={},wn(jr,(function(e,t){$e.call(jr.prototype,t)||(vl[t]=e)})),vl),{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){Gr.prototype[e]=function(r){r=r===i?1:mr(ga(r),0);var n=this.__filtered__&&!t?new Gr(this):this.clone();return n.__filtered__?n.__takeCount__=yr(r,n.__takeCount__):n.__views__.push({size:yr(r,p),type:e+(n.__dir__<0?"Right":"")}),n},Gr.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;Gr.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":"");Gr.prototype[e]=function(){return this[r](1).value()[0]}})),wt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Gr.prototype[e]=function(){return this.__filtered__?new Gr(this):this[r](1)}})),Gr.prototype.compact=function(){return this.filter(il)},Gr.prototype.find=function(e){return this.filter(e).head()},Gr.prototype.findLast=function(e){return this.reverse().find(e)},Gr.prototype.invokeMap=Kn((function(e,t){return"function"==typeof e?new Gr(this):this.map((function(r){return On(r,e,t)}))})),Gr.prototype.reject=function(e){return this.filter(Ws(so(e)))},Gr.prototype.slice=function(e,t){e=ga(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Gr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=ga(t))<0?r.dropRight(-t):r.take(t-e)),r)},Gr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Gr.prototype.toArray=function(){return this.take(p)},wn(Gr.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,l=t instanceof Gr,c=a[0],u=l||Hs(t),d=function(e){var t=o.apply(jr,Lt([e],a));return n&&f?t[0]:t};u&&r&&"function"==typeof c&&1!=c.length&&(l=u=!1);var f=this.__chain__,p=!!this.__actions__.length,h=s&&!f,g=l&&!p;if(!s&&u){t=g?t:new Gr(this);var m=e.apply(t,a);return m.__actions__.push({func:hs,args:[d],thisArg:i}),new Br(m,f)}return h&&g?e.apply(this,a):(m=this.thru(d),h?n?m.value()[0]:m.value():m)})})),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(Hs(i)?i:[],e)}return this[r]((function(r){return t.apply(Hs(r)?r:[],e)}))}})),wn(Gr.prototype,(function(e,t){var r=jr[t];if(r){var n=r.name+"";$e.call(Or,n)||(Or[n]=[]),Or[n].push({name:t,func:r})}})),Or[ji(i,2).name]=[{name:"wrapper",func:i}],Gr.prototype.clone=function(){var e=new Gr(this.__wrapped__);return e.__actions__=Ti(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ti(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ti(this.__views__),e},Gr.prototype.reverse=function(){if(this.__filtered__){var e=new Gr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Gr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=Hs(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=mr(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,l=a-s,c=n?a:s-1,u=this.__iteratees__,d=u.length,f=0,p=yr(l,this.__takeCount__);if(!r||!n&&i==l&&p==l)return fi(e,this.__actions__);var h=[];e:for(;l--&&f<p;){for(var g=-1,m=e[c+=t];++g<d;){var y=u[g],v=y.iteratee,w=y.type,b=v(m);if(2==w)m=b;else if(!b){if(1==w)continue e;break e}}h[f++]=m}return h},jr.prototype.at=gs,jr.prototype.chain=function(){return ps(this)},jr.prototype.commit=function(){return new Br(this.value(),this.__chain__)},jr.prototype.next=function(){this.__values__===i&&(this.__values__=pa(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 xr;){var n=xo(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 Gr){var t=e;return this.__actions__.length&&(t=new Gr(this)),(t=t.reverse()).__actions__.push({func:hs,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._=lr,(n=function(){return lr}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},88306:(e,t,r)=>{var n=r(83369);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},7771:(e,t,r)=>{var n=r(55639);e.exports=function(){return n.Date.now()}},78718:(e,t,r)=>{var n=r(25970),i=r(99021)((function(e,t){return null==e?{}:n(e,t)}));e.exports=i},70479:e=>{e.exports=function(){return[]}},95062:e=>{e.exports=function(){return!1}},23493:(e,t,r)=>{var n=r(23279),i=r(13218);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})}},14841:(e,t,r)=>{var n=r(27561),i=r(13218),o=r(33448),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=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||l.test(e)?c(e.slice(2),r?2:8):s.test(e)?NaN:+e}},79833:(e,t,r)=>{var n=r(80531);e.exports=function(e){return null==e?"":n(e)}},16107:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});class n{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)}))}))}}},95495:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});class n{constructor(e){return e}}},79684:function(e,t,r){"use strict";var n,i,o,s,a,l,c,u,d,f,p,h,g,m,y,v=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)},w=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},b=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleDesktopAgent=void 0;const S=b(r(62043)),C=r(63250),_=b(r(2518)),k=b(r(9381)),E=b(r(84795)),L=r(44137),T=r(87406),A=r(87406);class O{constructor(){n.set(this,12e4),i.set(this,null),o.set(this,[])}start(){this.registerHeartbeat()}registerHeartbeat(){clearTimeout(v(this,i,"f")),_.default.system.debug("FinsembleDesktopAgent: heartbeat received"),w(this,i,setTimeout((()=>{_.default.system.warn(`FinsembleDesktopAgent: No heartbeat received within ${v(this,n,"f")} milliseconds`),this.notifyDisconnect()}),v(this,n,"f")),"f")}notifyDisconnect(){console.warn("fdc3 has lost connectivity to the interop service. You may need to restart this app."),v(this,o,"f").forEach((e=>{e(`No heartbeat received from interop service within ${v(this,n,"f")} milliseconds`)}))}onDisconnect(e){w(this,o,v(this,o,"f").concat(e),"f")}stop(){clearTimeout(v(this,i,"f"))}}n=new WeakMap,i=new WeakMap,o=new WeakMap;class P{constructor(e,t,r="app"){s.set(this,void 0),w(this,s,e,"f"),this.id=t,this.type=r}broadcast(e){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");v(this,s,"f").channelBroadcast(this.id,e)}getCurrentContext(e){return v(this,s,"f").channelGetCurrentContext(this.id,e)}addContextListener(e,t){if(void 0===e)throw new Error("Invalid arguments. The contextTypeOrHandler parameter shouldn't be undefined.");if("function"!=typeof e&&!t)throw new Error("Invalid arguments. The required handler parameter is missing.");return v(this,s,"f").channelAddContextListener(this.id,e,t)}}s=new WeakMap,t.FinsembleDesktopAgent=class{constructor({routerClient:e,startup:t}){if(a.set(this,!1),l.set(this,new O),c.set(this,!1),u.set(this,""),d.set(this,`FSBL.FDC3.Client.${(0,S.default)()}`),f.set(this,{}),p.set(this,{}),h.set(this,[]),g.set(this,void 0),m.set(this,void 0),y.set(this,""),w(this,g,e,"f"),w(this,m,t,"f"),this.cacheFSBLVersion(),L.Globals.Event&&L.Globals.dispatchEvent){const e=new Event("fdc3Ready");L.Globals.dispatchEvent(e)}}async cacheFSBLVersion(){""==v(this,y,"f")&&w(this,y,"6.6.0","f");const{err:e,data:t}=await k.default.getValue({field:"finsemble.system.FSBLVersion"});e||w(this,y,t,"f")}fdc3Error(e){return new Error(e)}meta(){return{uuid:v(this,u,"f"),href:window.document?document.location.href:""}}handleHeartbeat(){v(this,l,"f").registerHeartbeat()}triggerContextListeners(e){var t,r;const{context:n}=e.payload;let i;if(e.meta.targetSubscriberId){let t;Object.values(v(this,p,"f")).every((r=>(t=r.find((t=>t.targetSubscriberId===e.meta.targetSubscriberId)),void 0===t))),i=t?[t]:[]}else i=(null!==(t=v(this,p,"f")[null==n?void 0:n.type])&&void 0!==t?t:[]).concat(null!==(r=v(this,p,"f")["*"])&&void 0!==r?r:[]);i.forEach((({handler:t,channel:r})=>{e.meta.channel===r||!e.meta.channel&&!r?(_.default.system.debug(`FDC3 Client: triggerContextListeners for all on ${null!=r?r:"default"} channel`,e.type,e),t(n)):_.default.system.debug(`FDC3 Client: triggerContextListeners skipped for all on ${null!=r?r:"default"} channel`,e.type,e)}))}triggerIntentListeners(e){const{intent:t,context:r}=e.payload,n=v(this,f,"f")[t];r&&(n||[]).forEach((e=>e(r)))}handleIncoming(e){switch(_.default.system.debug("FDC3 Client: handleIncoming",e.type,e),e.type){case"broadcast":this.triggerContextListeners(e);break;case"intent":this.triggerIntentListeners(e);break;case"heartbeat":this.handleHeartbeat()}}releaseQueue(){const e=e=>{var t;return void 0!==(null===(t=null==e?void 0:e.meta)||void 0===t?void 0:t.uuid)&&(e.meta.uuid=v(this,u,"f")),e};v(this,h,"f").forEach((async t=>{const{message:r,handler:n,resolve:i}=t,{err:o,receiveMessage:s}=await this.exchange(e(r),n);i({err:o,receiveMessage:s})})),w(this,h,[],"f")}exchange(e,t=(()=>{})){return new Promise((async r=>{if(v(this,a,"f")){const{err:n,response:i}=await v(this,g,"f").query(T.SERVER_CHANNEL,e,t);r({err:n,receiveMessage:null==i?void 0:i.data})}else v(this,h,"f").push({message:e,handler:t,resolve:r}),this.start()}))}async connect(){var e;const t=v(this,m,"f").getStartupData(),{windowName:r="Unknown window",authenticationToken:n}=t;_.default.system.log(`fdc3.connect StartupData for ${r}`,t),w(this,u,`fdc3-${null===(e=null==n?void 0:n.meta)||void 0===e?void 0:e.name}-${(0,S.default)()}`,"f");const i={type:"register",meta:this.meta(),payload:{clientChannel:v(this,d,"f"),windowName:r,authenticationToken:n}};E.default.waitForBootStage("kernel","stageCompleted",(e=>{e?_.default.system.error("connect error waitingForBootStage",e):v(this,g,"f").query(T.SERVER_CHANNEL,i,(e=>{e?_.default.system.error("connect error",e):(v(this,g,"f").addResponder(v(this,d,"f"),((e,t)=>{if(e||!t){const t=(0,A.errorAsString)(null!=e?e:"No request received on responder");_.default.system.error(`FinsembleDesktopAgent can't listen on channel ${v(this,d,"f")} : ${t}`)}else t.data&&this.handleIncoming(t.data),t.sendQueryResponse(null)})),w(this,a,!0,"f"),_.default.system.log(`FDC3 client connected for window ${r}`),this.releaseQueue(),v(this,l,"f").start())}))}))}async start(){v(this,c,"f")||(w(this,c,!0,"f"),await v(this,m,"f").onReady(),this.connect())}async stop(){v(this,l,"f").stop();const e={type:"unregister",meta:this.meta()};await this.exchange(e),w(this,c,!1,"f"),v(this,g,"f").removeResponder(v(this,d,"f")),w(this,a,!1,"f")}onDisconnect(e){v(this,l,"f").onDisconnect(e)}async channelGetCurrentContext(e,t){const r={type:"currentContextRequest",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{contextType:t}},{err:n,receiveMessage:i}=await this.exchange(r);return n?null:"currentContext"===(null==i?void 0:i.type)?i.payload.context:null}broadcast(e){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");const t={type:"broadcast",meta:this.meta(),payload:{context:e}};this.exchange(t)}channelBroadcast(e,t){const r={type:"broadcast",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{context:t}};this.exchange(r)}async getSystemChannels(){var e;const t={type:"systemChannelRequest",meta:this.meta()},{err:r,receiveMessage:n}=await this.exchange(t);return r?[]:("systemChannels"===(null==n?void 0:n.type)?null===(e=null==n?void 0:n.payload)||void 0===e?void 0:e.channels:[]).map((e=>new P(this,e,"system")))}async open(e,t){if(!e)throw new Error("Invalid arguments. The required target parameter is missing.");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 this.fdc3Error(C.OpenError.ResolverUnavailable);if(o.payload.error)throw this.fdc3Error(o.payload.error)}async findIntent(e,t){if(!e)throw new Error("Invalid arguments. The required intent parameter is missing.");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 this.fdc3Error(C.ResolveError.ResolverUnavailable);if(o.payload.error)throw this.fdc3Error(o.payload.error);if(!o.payload.appIntent)throw this.fdc3Error("Invalid response returned from InteropService for findIntent. No appIntent and no error.");return o.payload.appIntent}async findIntentsByContext(e){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");const t={type:"findIntentsByContext",meta:this.meta(),payload:{context:e}},{receiveMessage:r}=await this.exchange(t),n=r;if(n.payload.error)throw this.fdc3Error(n.payload.error);return n.payload.intents||[]}async raiseIntent(e,t,r){if(!e)throw new Error("Invalid arguments. The required intent parameter is missing.");if(!t)throw new Error("Invalid arguments. The required context parameter is missing.");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 this.fdc3Error(C.ResolveError.ResolverUnavailable);if(s.payload.error)throw this.fdc3Error(s.payload.error);if(!s.payload.data)throw this.fdc3Error("Invalid response returned from InteropService for raiseIntent. No data.");return s.payload.data}async raiseIntentForContext(e,t){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");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 this.fdc3Error(C.ResolveError.ResolverUnavailable);if(o.payload.error)throw this.fdc3Error(o.payload.error);if(!o.payload.data)throw this.fdc3Error("Invalid response returned from InteropService for raiseIntentForContext. No data.");return o.payload.data}addIntentListener(e,t){if(!t)throw new Error("Invalid arguments. The required intent parameter is missing.");if(!t)throw new Error("Invalid arguments. The required handler parameter is missing.");v(this,f,"f")[e]=(0,A.mmAdd)(v(this,f,"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),v(this,f,"f")[e]=(0,A.mmRemove)(v(this,f,"f"),e,t)}}}channelAddContextListener(e,t,r){const n=r&&t||"*";r||(r=t);const i=`subscriberId.${Date.now()}_${Math.random()}`,o={handler:r,channel:e,targetSubscriberId:i};v(this,p,"f")[n]=(0,A.mmAdd)(v(this,p,"f"),n,o);let s={type:"subscribeContext",meta:Object.assign(Object.assign({},this.meta()),{targetSubscriberId:i}),payload:{contextType:n}};return e&&(s.meta.channel=e),this.exchange(s),{unsubscribe:()=>{let t={type:"unsubscribeContext",meta:this.meta(),payload:{contextType:n}};e&&(t.meta.channel=e),v(this,p,"f")[n]=(0,A.mmRemove)(v(this,p,"f"),n,o),this.exchange(t)}}}addContextListener(e,t){if(void 0===e)throw new Error("Invalid arguments. The contextTypeOrHandler parameter shouldn't be undefined.");if("function"!=typeof e&&!t)throw new Error("Invalid arguments. The required handler parameter is missing.");return this.channelAddContextListener(null,e,t)}async joinChannel(e){if(!e)throw new Error("Invalid arguments. The required channelId parameter is missing.");const t={type:"joinChannels",meta:this.meta(),payload:{channels:[e]}};await this.exchange(t)}async getOrCreateChannel(e){if(!e)throw new Error("Invalid arguments. The required channelId parameter is missing.");return new P(this,e)}async getCurrentChannels(){const e={type:"getCurrentChannels",meta:this.meta()},{err:t,receiveMessage:r}=await this.exchange(e),n=r;if(t)throw this.fdc3Error(t);if(n.payload.error)throw this.fdc3Error(n.payload.error);if(!n.payload.data)throw this.fdc3Error("Invalid response returned from InteropService for getCurrentChannels. No data.");return n.payload.data.map((e=>new P(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:v(this,y,"f")}}},a=new WeakMap,l=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,p=new WeakMap,h=new WeakMap,g=new WeakMap,m=new WeakMap,y=new WeakMap},92161: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(51848)),a=o(r(2518)),l=r(87406),c=r(63250);class u{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(l.SERVER_CHANNEL,t)}async removeAppDefinitions(e){const t={type:"removeAppDefinitions",meta:{uuid:i(this,n,"f")},payload:{apps:e}};await s.default.query(l.SERVER_CHANNEL,t)}async setInteropRegistrationData(e){const t={type:"setInteropRegistrationData",meta:{uuid:i(this,n,"f")},payload:{windowDescriptor:e}};await s.default.query(l.SERVER_CHANNEL,t)}async registerUIResolverListener(e){s.default.addResponder(l.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=null==r?void 0:r.data;try{n=await e(t)}catch(e){a.default.log(`registerUIResolverListener IntentResolution rejected ${e}`),i={error:c.ResolveError.ResolverUnavailable}}null==r||r.sendQueryResponse(null,i||n)}}));const t={type:"registerUIResolver",meta:{uuid:i(this,n,"f")}};await s.default.query(l.SERVER_CHANNEL,t)}}t.InteropAdmin=u,n=new WeakMap,t.default=u},87406:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousAuthenticationToken=t.INTENT_RESOLVER_CHANNEL=t.SERVER_CHANNEL=t.GLOBAL_CHANNEL=t.errorAsString=t.mmRemove=t.concatNoDups=t.mmAdd=void 0,t.mmAdd=(e,t,r)=>(e[t]||[]).concat([r]),t.concatNoDups=(e,t)=>{const r=Array.isArray(t)?t:[t],n=e?r.concat(e):r;return Array.from(new Set(n))},t.mmRemove=(e,t,r)=>(e[t]||[]).filter((e=>e!==r)),t.errorAsString=e=>{var t,r;return null!==(r=null!==(t=null==e?void 0:e.message)&&void 0!==t?t:e)&&void 0!==r?r:null},t.GLOBAL_CHANNEL="global",t.SERVER_CHANNEL="FSBL.FDC3.Interop.Server",t.INTENT_RESOLVER_CHANNEL="FSBL.FDC3.intent.resolver",t.AnonymousAuthenticationToken={signatureString:"",signatureStringType:"unauthenticated",meta:{name:"Anonymous app",appId:"Anonymous appId"}}},51806: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=r(51848),o=r(47107),s=r(91374),a=r(10166),l=r(44137),c=r(79684),u=n(r(62043));t.FSBLService=class{async startApp(){var e,t,r,n,d,f,p,h;const g=await(0,o.getSystemStartupData)(),m=s.System.Window.getCurrent(),y=null!==(r=null!==(e=m.name)&&void 0!==e?e:null===(t=null===document||void 0===document?void 0:document.location)||void 0===t?void 0:t.href)&&void 0!==r?r:"Unknown App",v=null!==(f=null!==(n=m.name)&&void 0!==n?n:null===(d=null===document||void 0===document?void 0:document.location)||void 0===d?void 0:d.href)&&void 0!==f?f:`Unknown window-${(0,u.default)()}`,w=null!==(p=m.webContentsName)&&void 0!==p?p:v,b=null!==(h=(0,o.getManifestFromStartupData)(g))&&void 0!==h?h:{},S=(0,o.getRouterConfig)({windowName:v,systemManifest:b});await i.RouterController.start(S);const C=a.Startup.getInstance();C.setStartupData({windowName:v,webContentsName:w,authenticationToken:{signatureString:"",signatureStringType:"unauthenticated",meta:{name:y}}}),l.Globals.fdc3=new c.FinsembleDesktopAgent({routerClient:i.RouterClient,startup:C}),C.setReady()}async stopApp(){i.RouterController.stop()}}},47107:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getManifestFromStartupData=t.getSystemStartupData=t.getRouterConfig=t.getRecommendedTransport=void 0;const n=r(2518),i=r(91374),o=r(64324),s={sameDomainTransport:"FinsembleTransport",crossDomainTransport:"FinsembleTransport",transportSettings:{FinsembleTransport:{serverAddress:"ws://127.0.0.1:3376"}},transportName:"FinsembleTransport"},a=e=>{if(!e)return n.Logger.system.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,i=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&&i;return n.Logger.system.debug(`Transport crossDomain=${a} (${r}:${i}:${o})`),!s};t.getRecommendedTransport=e=>{const{moduleRoot:t,router:r}=null==e?void 0:e.finsemble,{sameDomainTransport:n="SharedWorker",crossDomainTransport:i="IPCBus"}=null!=r?r:{};return a(t)?i:n},t.getRouterConfig=({windowName:e,systemManifest:r,transportSettings:i})=>r?((e,r)=>{var i,o,a;if(n.Logger.system.info("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest"),e&&"string"!=typeof e){const n=e.finsemble,s=null!==(a=null!==(o=null===(i=null==n?void 0:n.router)||void 0===i?void 0:i.transportSettings)&&void 0!==o?o:null==n?void 0:n.IAC)&&void 0!==a?a:{};return{windowName:r,routerDomainRoot:n.moduleRoot,transportName:(0,t.getRecommendedTransport)(e),transportSettings:s}}return n.Logger.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest failed -- fatal error. No manifest found.",e),Object.assign(Object.assign({},s),{windowName:r})})(r,e):Object.assign(Object.assign({},s),{windowName:e,transportSettings:null!=i?i:{}}),t.getSystemStartupData=async()=>new Promise((e=>{i.System.Window.getCurrent().getOptions((t=>{e(t)}))})),t.getManifestFromStartupData=e=>{let t=null==e?void 0:e.manifest;return(null==t?void 0:t.finsemble)&&o.ConfigUtilInstance.resolveManifestMacros(t,t.finsemble),t}},10166: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.Startup=void 0;const i=r(87406),o=r(44137),s=n(r(62043)),a=r(7860),l=`Unknown window-${(0,s.default)()}`;class c{constructor(){this.isReady=!1,this.onReadyListeners=[],this.currentStartupData={authenticationToken:i.AnonymousAuthenticationToken,windowName:l,webContentsName:l}}static getInstance(){return c.instance?c.instance:c.instance=(0,a.singleton)("Startup",c)}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()}))}))}setReady(){this.isReady=!0,this.onReadyListeners.forEach((e=>{e()})),o.Globals.dispatchEvent&&o.Globals.dispatchEvent(new Event("FSBLReady"))}}t.Startup=c,c.instance=null},59273: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.windowStartup=t.cacheInitialBounds=void 0;const i=r(91374),o=r(44137),s=r(51848),a=r(97525),l=r(9381),c=r(49136),u=r(2518),d=n(r(84795)),f=r(5395);let p=!1,h=!1;const g=async()=>{p&&(h=!0);const{name:e}=o.FEAGlobals.finsembleWindow;s.RouterClient.transmit("DockingService.deregisterWindow",{name:e})};t.cacheInitialBounds=async()=>{var e,t,r,n,s;if(i.System.isTitlebarWindow())return;const{err:a,data:l}=await o.FEAGlobals.finsembleWindow.getBounds();if(a||!l)return void console.warn("Get bounds error.",a,"Window may not be registered with the window service");const{persistWindowState:c=!1}=null===(n=null===(r=null===(t=null===(e=o.FEAGlobals.finsembleWindow.windowOptions)||void 0===e?void 0:e.customData)||void 0===t?void 0:t.foreign)||void 0===r?void 0:r.components)||void 0===n?void 0:n["Window Manager"],u=c?(null!==(s=window.top)&&void 0!==s?s:window).location.toString():void 0;await o.FEAGlobals.finsembleWindow.updateOptions({options:{defaultLeft:l.left,defaultTop:l.top,defaultWidth:l.width,defaultHeight:l.height,url:u}})},t.windowStartup=async({windowName:e,componentType:r,finsembleWindow:n,systemStartupData:m})=>{(e=>{setInterval((()=>{s.RouterClient.transmit("Finsemble.heartbeat",{type:"component",windowName:e,componentType:"finsemble",isBrowserView:i.System.isBrowserView()})}),1e3)})(e),(e=>{if(e){const t=async()=>{await d.default.waitForStartup("windowService"),s.RouterClient.subscribe(`Finsemble.LauncherService.updateGroups.${e.name}`,((t,r)=>{Array.isArray(r.data)&&e.setComponentState({field:"finsemble:windowGroups",value:r.data})}))};e.getComponentState({field:"finsemble:windowGroups"},((e,r)=>{if(!e&&r)return c.LauncherClient.addToGroups({groupNames:r},t);t()}))}})(n),i.System.isTitlebarWindow()||((null===document||void 0===document?void 0:document.title)&&a.WindowClient.setWindowTitlePrivate(document.title),setInterval((()=>{(null===document||void 0===document?void 0:document.title)&&a.WindowClient.getWindowTitle()!==document.title&&a.WindowClient.setWindowTitlePrivate(document.title)}),200)),(()=>{var e;if(i.System.isTitlebarWindow())return;const t=null!==(e=window.top)&&void 0!==e?e:window,r=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:r}),function(e){const{pushState:r}=e;e.pushState=function(n){"function"==typeof e.onpushstate&&e.onpushstate({state:n}),r.apply(e,arguments);const i=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:i})};const{replaceState:n}=e;e.replaceState=function(r){"function"==typeof e.onreplacestate&&e.onreplacestate({state:r}),n.apply(e,arguments);const i=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:i})}}(window.history),window.addEventListener("hashchange",(()=>{const e=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:e})}))})(),(()=>{const e=e=>{e.preventDefault()};window.addEventListener("dragover",e,!1),window.addEventListener("drop",e,!1)})(),(async()=>{var e,t;const{err:r,data:n}=await l.ConfigClient.getValue("finsemble");!r&&n||u.Logger.system.error("maybeRejectWindowsKeyResizes(): Error fetching config",r);const{enableWindowsAeroSnap:a=!1}=null===(t=null===(e=null==n?void 0:n.services)||void 0===e?void 0:e.windowService)||void 0===t?void 0:t.config;let c=!1;o.FEAGlobals.finsembleWindow.addEventListener("minimized",(()=>{c&&(i.System.Window.getCurrent().updateOptions({resizable:!0}),c=!1)})),window.addEventListener("keyup",(async e=>{a?"Meta"===e.key&&s.RouterClient.transmit("Finsemble.WindowService.WindowsKey","up"):"Meta"===e.key&&c&&(c=!1,i.System.Window.getCurrent().updateOptions({resizable:!0}))})),window.addEventListener("keydown",(e=>{a?"Meta"===e.key&&s.RouterClient.transmit("Finsemble.WindowService.WindowsKey","down"):"Meta"===e.key&&(c=!0,i.System.Window.getCurrent().updateOptions({resizable:!1}))}))})(),i.System.isTitlebarWindow()&&document.addEventListener("keydown",(e=>{e.ctrlKey&&"r"===e.key.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),o.FEAGlobals.finsembleWindow.reload())})),(e=>{o.FEAGlobals.finsembleWindow.windowOptions=null!=e?e:{},(0,a.getControllerInstance)().setStartupData(e)})(m),o.FEAGlobals.finsembleWindow.addEventListener("minimized",(()=>{const e=()=>{s.RouterClient.transmit("DockingService.windowRestored",o.FEAGlobals.finsembleWindow.name),o.FEAGlobals.finsembleWindow.removeEventListener("restored",e)};s.RouterClient.query("DockingService.windowMinimized",{windowName:o.FEAGlobals.finsembleWindow.name}),o.FEAGlobals.finsembleWindow.addEventListener("restored",e)})),(async(e,t,r)=>{var n,i,o;const{data:s}=await l.ConfigClient.getValue("finsemble.servicesConfig.notifications.applyNotificationOverrides");if(!s)return;const a=null!==(o=null!==(i=null===(n=null==t?void 0:t.component)||void 0===n?void 0:n.displayName)&&void 0!==i?i:r)&&void 0!==o?o:e,c=(e,t)=>{t.finsembleSource=a,f.NotificationClient.notify(JSON.parse(JSON.stringify({title:e,options:t})))},u=window.Notification;c.requestPermission=u.requestPermission.bind(u),Object.defineProperty(c,"permission",{get:function(){return u.permission}}),window.Notification=c})(e,m.customData,r),await(async e=>{var t,r,n,a,l,c,d,f,m,y,v,w,b,S,C,_,k,E,L,T,A,O,P,I,R;if(i.System.isBrowserView()||!(null==e?void 0:e.component))return;const $=null===(r=null===(t=null==e?void 0:e.foreign)||void 0===t?void 0:t.services)||void 0===r?void 0:r.windowService,N=(null==$?void 0:$.allowSnapping)||(null==$?void 0:$.allowGrouping)||(null==$?void 0:$.allowAutoArrange)||(null==$?void 0:$.allowTabbing)||(null==$?void 0:$.allowTiling)||(null==$?void 0:$.allowMinimize)||(null==$?void 0:$.allowMaximize),D=null===(n=null==$?void 0:$.manageWindowMovement)||void 0===n||n,W=null===(a=null==e?void 0:e.window)||void 0===a?void 0:a.dockable,M=null===(d=null===(c=null===(l=null==e?void 0:e.foreign)||void 0===l?void 0:l.components)||void 0===c?void 0:c["Window Manager"])||void 0===d?void 0:d.FSBLHeader;if(N||D||W||M){const t=null===(m=null!==(f=null==$?void 0:$.manageWindowMovement)&&void 0!==f?f:M||W)||void 0===m||m,r={allowAutoArrange:null!==(y=null==$?void 0:$.allowAutoArrange)&&void 0!==y?y:t,snapping:!(null===(v=null==e?void 0:e.window)||void 0===v?void 0:v.ephemeral)&&(null!==(w=null==$?void 0:$.allowSnapping)&&void 0!==w?w:t),tiling:null!==(b=null==$?void 0:$.allowTiling)&&void 0!==b?b:t,tabbing:null!==(S=null==$?void 0:$.allowTabbing)&&void 0!==S?S:t,canGroup:null!==(C=null==$?void 0:$.allowGrouping)&&void 0!==C?C:t,canMinimize:null!==(E=null!==(_=null==$?void 0:$.allowMinimize)&&void 0!==_?_:null===(k=null==e?void 0:e.component)||void 0===k?void 0:k.canMinimize)&&void 0!==E?E:t,canMaximize:null!==(A=null!==(L=null==$?void 0:$.allowMaximize)&&void 0!==L?L:null===(T=null==e?void 0:e.component)||void 0===T?void 0:T.canMaximize)&&void 0!==A?A:t,overwriteStartDocked:null!==(R=null===(I=null===(P=null===(O=null==e?void 0:e.foreign)||void 0===O?void 0:O.services)||void 0===P?void 0:P.workspaceService)||void 0===I?void 0:I.global)&&void 0!==R&&R};await(async e=>{if(o.FEAGlobals.finsembleWindow.parentWindow)return void u.Logger.system.debug("registerWithDockingManager ignore registration request if has a parent");const{uuid:t,name:r}=o.FEAGlobals.finsembleWindow;p=!0,await s.RouterClient.query("DockingService.registerWindow",{name:r,uuid:t,options:e,windowType:"WebWindow"}),p=!1,h&&(g(),h=!1),u.Logger.system.debug("WINDOW LIFECYCLE: Docking Registration complete.")})(Object.assign(Object.assign({},e.window),r)),o.FEAGlobals.finsembleWindow.addListener("setParent",(()=>{u.Logger.system.info("finsembleWindow setParent event: deregisterWithDockingManager"),g()}))}})(m.customData),await(0,t.cacheInitialBounds)()}},27917:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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.StoreModel=void 0;const a=r(1641),l=o(r(32466)),c=s(r(2518));class u{constructor(e,t,r){var n,i;this.isGlobal=!1,this.values={},this.listeners={},this.registeredDispatchListeners=[],this.mapping={},this.subs={},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)c.default.system.error("DistributedStoreClient",e);else{const{store:e,field:r,storeData:n,value:i}=t.data;if(e){const e=r?`.${r}`:"",t=`${this.name}${e}`,o=n||i;this.triggerListeners(t,o)}}},this.routerClient=t,this.removeStoreCallback=r,this.isGlobal=!!e.global,this.name=null!==(i=null!==(n=e.name)&&void 0!==n?n:e.store)&&void 0!==i?i:"StoreModel() invariant. store.name not provided.",e.values&&(this.values=e.values),l.initObject(this.values,null,this.mapping),this.isGlobal&&this.routerClient.addListener(`storeService.dispatch.${this.name}`,((e,t)=>{this.handleDispatchedMessages(e,t)}))}handleDispatchedMessages(e,t){(null==t?void 0:t.data)&&this.registeredDispatchListeners.forEach((e=>{e(t.data)}))}setValue(e,t){if(e.field||c.default.system.error("DistributedStore.setValue:no field provided",e),e.hasOwnProperty("value")||c.default.system.error("DistributedStore.setValue:no value provided",e),this.isGlobal){const r={store:this.name,field:e.field,value:e.value};this.routerClient.query("storeService.setValue",r,(e=>{t&&t(e)}))}else{const r=l.checkForObjectChange(this.values,e.field,this.mapping);l.setPath(this.values,e.field,e.value),l.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)}}publishObjectUpdates(e,t){const r=t;for(;e;)this.triggerListeners(`${this.name}.${e}`,l.byString(this.values,e)),e=r[e]}sendRemovals(e){for(let t in e)this.triggerListeners(`${this.name}.${t}`,l.byString(this.values,t))}setValues(e,t){return e?Array.isArray(e)?void(0,a.each)(e,((e,t)=>{this.setValue(e,t)}),(e=>t?t(e):null)):c.default.system.error("DistributedStore.setValues:params must be an array"):c.default.system.error("DistributedStore.setValues:no params given")}getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field)return null==t||t("no field provided"),"no field provided";if(!this.isGlobal){const r=l.byString(this.values,e.field);return void 0!==r?(null==t||t(null,r),r):(null==t||t("couldn't find a value"),null)}return this.getGlobalValue(e.field,t),null}getAll(e){if(!this.isGlobal)return e&&e(null,this.values),this.values;this.getGlobalValues(null,e)}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{[e]: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=l.byString(this.values,i);r[i]=o}return t?t(null,r):r}async getGlobalValue(e,t){const{err:r,response:n}=await this.routerClient.query("storeService.getValue",{store:this.name,field:e});return null==t||t(r,n.data),{err:r,data:n.data}}getGlobalValues(e,t){this.routerClient.query("storeService.getValues",{store:this.name,fields:e},((e,r)=>{t&&t(e,r.data)}))}removeValue(e,t){const r={field:"string"==typeof e?e:e.field,value:null};return this.setValue(r,t)}removeValues(e,t){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");(0,a.map)(e,this.removeValue,((e,r)=>t(e,r)))}destroy(e){const t={store:this.name,global:this.isGlobal};this.removeStoreCallback(t,(t=>{t?e&&e(t):e&&e(null,!0)}))}changeSub(e){this.subs[e]||(this.isGlobal&&this.routerClient.subscribe(`storeService${e}`,this.handleChanges),this.subs[e]=!0)}addListener(e,t,r){var n;"function"==typeof e&&(t=e,e={});const{field:i}=e,o=i?`.${i}`:"",s=`${this.name}${o}`;this.listeners[s]=[t].concat(null!==(n=this.listeners[s])&&void 0!==n?n:[]),this.changeSub(s),null==r||r()}addListeners(e,t,r){var n;if(!Array.isArray(e))return c.default.deprecated("distributedStoreClient StoreModel - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),void this.addListener(e,t,r);const i="function"==typeof t?t:null;for(let t=0;t<e.length;t++){const r=e[t];let o="string"==typeof r?r:r.field;const s="string"!=typeof r?r.listener:i;if(s){const e=o?`.${o}`:"",t=`${this.name}${e}`;this.listeners[t]=[s].concat(null!==(n=this.listeners[t])&&void 0!==n?n:[]),this.changeSub(t)}}null==r||r()}removeListener(e,t,r){const{field:n}=e,i=n?`.${n}`:"",o=`${this.name}${i}`;if(this.listeners[o])for(let e=0;e<this.listeners[o].length;e++)if(this.listeners[o][e]===t)return this.listeners[o].splice(e,1),void(null==r||r(null,!0));null==r||r(null,!1)}removeListeners(e,t,r){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,r):e.field&&t&&this.removeListener(e,t,r),null==r?void 0:r(null,!0);const n="function"==typeof t?t:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,r="string"!=typeof e?e.listener:n,i=t?`.${t}`:"",o=`${this.name}${i}`;this.listeners[o]=this.listeners[o].filter((e=>e!==r))})),null==r||r(null,!0)}triggerListeners(e,t){var r;(null!==(r=this.listeners[e])&&void 0!==r?r:[]).forEach((r=>{c.default.system.debug("DistributedStore.triggerListeners",e,t),r(null,{field:e,value:t})}))}}t.StoreModel=u,t.default=u},9381: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.ConfigClient=t.unsetPreference=t.getPreferences=t.setPreference=t.processAndSet=t.removeListeners=t.removeListener=t.addListeners=t.addListener=t.removeValues=t.removeValue=t.setValues=t.setValue=t.getValues=t.getValue=t.getManifest=void 0;const i=r(51848),o=n(r(84795)),s=n(r(2518)),a=r(7860);class l{constructor(){this.listeners={},this.subs={}}}const c=()=>(0,a.singleton)("ConfigClient",l),u=(e,t)=>{var r;(null!==(r=c().listeners[e])&&void 0!==r?r:[]).forEach((r=>{s.default.system.debug("ConfigClient.triggerListeners",e,t),r(null,{field:e,value:t})}))},d=(e,t)=>{if(e)s.default.system.error("ConfigClient handleChanges() error",e);else{t.data.field||(t.data.field=null);const{field:e,storeData:r,value:n}=t.data;u(e||"configService",r||n)}},f=async e=>{const t=c();if(t.subs||(t.subs={}),!t.subs[e]){t.subs[e]=!0,await o.default.waitForStartup("configService");const{err:r}=await i.RouterClient.query("configService.addListener",e);r&&s.default.system.error("Error adding listener to config service",r),await i.RouterClient.subscribe(e,d)}};t.getManifest=async e=>{await o.default.waitForStartup("configService");const{err:t,response:r}=await i.RouterClient.query("configService.getValues",{fields:null});return null==e||e(t,r.data),{err:t,data:r.data}},t.getValue=async(e,t)=>{if("string"==typeof e&&(e={field:e}),!e.field){const e="no field provided";return null==t||t(e),{err:e}}await o.default.waitForStartup("configService");const{err:r,response:n}=await i.RouterClient.query("configService.getValue",{field:e.field});return null==t||t(r,n.data),{err:r,data:n.data}},t.getValues=async(e,r)=>{if("function"==typeof e&&(r=e,e=null),e&&!Array.isArray(e))return(0,t.getValue)(e,r);await o.default.waitForStartup("configService");const{err:n,response:s}=await i.RouterClient.query("configService.getValues",{fields:e});return null==r||r(n,s.data),{err:n,data:s.data}},t.setValue=async(e,t)=>{const r={field:e.field,value:e.value};await o.default.waitForStartup("configService");const{err:n}=await i.RouterClient.query("configService.setValue",r);return null==t||t(n),{err:n}},t.setValues=async(e,t)=>{if(!e){const e="ConfigClient.SetValues. No params given";return s.default.system.error(e),null==t||t(e),{err:e}}if(!Array.isArray(e)){const e="ConfigClient.SetValues. Params must be an array";return s.default.system.error(e),null==t||t(e),{err:e}}await o.default.waitForStartup("configService");const{err:r}=await i.RouterClient.query("configService.setValues",e);return null==t||t(r),{err:r}},t.removeValue=async(e,r)=>{let n={};if("string"!=typeof e){const e="No field provided";return null==r||r(e),{err:e}}return n.field=e,n.value=null,await(0,t.setValue)(n,r)},t.removeValues=(e,r)=>new Promise((n=>{if(!Array.isArray(e)){const e="The passed in parameter must be an array";return null==r||r(e),n({err:e})}const i=e.map((e=>(0,t.removeValue)(e)));Promise.all(i).then((e=>{const t=e.some((e=>e.err))?"Some values couldn't be removed. Check central logger.":null;null==r||r(t),n({err:t})}))})),t.addListener=async(e,t,r)=>{var n;const i=c();let o=null;"function"==typeof e&&(t=e,e={field:null}),({field:o}=e);const s="configService"+(o?`.${o}`:"");i.listeners[s]=[t].concat(null!==(n=i.listeners[s])&&void 0!==n?n:[]),f(s),null==r||r()},t.addListeners=(e,r,n)=>{var i;const o=c();if(!Array.isArray(e))return s.default.deprecated("configClient - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),(0,t.addListener)(e,r,n);const a="function"==typeof r?r:null;for(let t=0;t<e.length;t++){const r=e[t],n="string"==typeof r?r:r.field,s="string"!=typeof r?r.listener:a;if(s){const e="configService"+(n?`.${n}`:"");o.listeners[e]=[s].concat(null!==(i=o.listeners[e])&&void 0!==i?i:[]),f(e)}}null==n||n()},t.removeListener=(e,t,r)=>{const n=c();let i=null;"function"==typeof e&&(r=t,t=e,e={field:i}),({field:i}=e);const o="configService"+(i?`.${i}`:"");if(n.listeners[o])for(let e=0;e<n.listeners[o].length;e++)if(n.listeners[o][e]===t)return n.listeners[o].splice(e,1),void(null==r||r(null,!0));null==r||r(null,!1)},t.removeListeners=(e,r,n)=>{const i=c();if(!Array.isArray(e))return"function"==typeof e?(0,t.removeListener)({},e,n):e.field&&r&&(0,t.removeListener)(e,r,n),null==n?void 0:n(null,!0);const o="function"==typeof r?r:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,r="string"!=typeof e?e.listener:o,n="configService"+(t?`.${t}`:"");i.listeners[n]=i.listeners[n].filter((e=>e!==r))})),null==n||n(null,!0)},t.processAndSet=async(e,t)=>{if(s.default.system.debug("ConfigClient.processAndSet",e),!e.overwrite&&e.replace){const e="cannot use replace option unless overwrite is also true";return s.default.system.warn("ConfigClient.processAndSet:",e),null==t||t(e),{err:e}}{await o.default.waitForStartup("configService");const{err:r,response:n}=await i.RouterClient.query("configService.processAndSet",e);return null==t||t(r,n),{err:r,data:n.data}}},t.setPreference=async(e,t)=>{const{err:r,response:n}=await i.RouterClient.query("PreferencesService.setPreference",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.getPreferences=async e=>{await o.default.waitForStartup("preferencesService");const{err:t,response:r}=await i.RouterClient.query("PreferencesService.getPreferences",{});return s.default.system.debug("PreferencesService.getPreferences response",r),null==e||e(t,r.data),{err:t,data:r.data}},t.unsetPreference=async(e,t)=>{s.default.system.debug("ConfigClient.unsetPreference",e);const{err:r,response:n}=await i.RouterClient.query("PreferencesService.unsetPreference",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.ConfigClient={initialize(){s.default.deprecated("There is no need to call ConfigClient.initialize() anymore.")},onReady:e=>{s.default.system.deprecated("It is no longer necessary to call ConfigClient.onReady()"),null==e||e()},triggerListeners(e,t){s.default.deprecated("Calling ConfigClient.triggerListeners() directly is not legal."),u(e,t)},handleChanges(e,t){s.default.deprecated("It is illegal to call ConfigClient.handleChanges() directly."),d(e,t)},async changeSub(e){s.default.deprecated("Calling ConfigClient.changeSub() directly is not legal."),f(e)},addListener:t.addListener,addListeners:t.addListeners,getManifest:t.getManifest,getPreferences:t.getPreferences,getValue:t.getValue,getValues:t.getValues,processAndSet:t.processAndSet,removeListener:t.removeListener,removeListeners:t.removeListeners,removeValue:t.removeValue,removeValues:t.removeValues,setPreference:t.setPreference,setValue:t.setValue,setValues:t.setValues,unsetPreference:t.unsetPreference},t.default=t.ConfigClient},60434: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.DialogManagerClient=t.respondToOpener=t.registerDialogCallback=t.showDialog=t.respondAndExitFromInDialog=t.getParametersFromInDialog=t.open=t.spawnDialog=t.hideModal=t.showModal=t.registerModal=t.DialogManagerClientController=void 0;const i=r(49136),o=r(47913),s=r(83823),a=r(2518),l=r(91374),c=r(23099),u=r(51848),d=r(44137),f=r(7860),p=n(r(84795)),h=r(1641),g=n(r(62043));class m{constructor(){this.initialized=!1,this.userInputTimeout=null,this.DialogStore=null,this.isDialog=!1,this.RESPONDER_CHANNEL=null,this.openerMessage=null,this.finsembleWindow=null,this.spawnData={}}async checkIfWindowIsDialog(e){var t,r,n,i,o,s;if(d.Globals.finsembleWindow){const{err:a,data:l}=await d.Globals.finsembleWindow.getOptions();this.spawnData=null!==(r=null===(t=null==l?void 0:l.customData)||void 0===t?void 0:t.spawnData)&&void 0!==r?r:{},this.isDialog=null===(s=null===(o=null===(i=null===(n=null==l?void 0:l.customData)||void 0===n?void 0:n.foreign)||void 0===i?void 0:i.clients)||void 0===o?void 0:o.dialogManager)||void 0===s?void 0:s.isDialog,null==e||e(a)}else this.isDialog=!1,null==e||e("Freestanding apps cannot be dialogs")}async registerWithStore(e){var t;if(this.isDialog){const e=await(0,c.getMyWindowIdentifier)();this.RESPONDER_CHANNEL=`Dialog.${e.windowName}.Show`,await(null===(t=this.DialogStore)||void 0===t?void 0:t.setValue({field:`dialogs.available.${e.windowName}`,value:e}))}null==e||e()}initializeOnce(){return new Promise((async e=>{this.initialized?e():(this.initialized=!0,await p.default.waitForStartup("windowService"),await this.checkIfWindowIsDialog(),(0,h.series)([this.createStore.bind(this),this.registerWithStore.bind(this),this.getFinsembleWindow.bind(this),e=>{e()}],(()=>{e()})))}))}async createStore(e){const{err:t,data:r}=await o.DistributedStoreClient.createStore({store:"DialogStore",values:{dialogs:{opened:{},available:{}}},global:!0});t||!r?a.Logger.error('DialogManagerClient could not create store "DialogStore"',t):this.DialogStore=r,null==e||e()}async getFinsembleWindow(e){if(this.isDialog){const{wrap:e}=await s.FinsembleWindow.getInstance({name:l.System.Window.getCurrent().name});this.finsembleWindow=e}null==e||e()}async getAvailableDialog(e,t){if(!this.DialogStore){const e="DialogMangerClient.getAvailableDialogs() store not yet initialized}";return a.Logger.system.error(e),null==t||t(null),null}const{err:r,data:n}=await this.DialogStore.getGlobalValue("dialogs.available");if(r){const e=`DialogMangerClient.getAvailableDialogs() store error ${r}`;return a.Logger.system.error(e),null==t||t(null),null}for(const r in n){const i=n[r];if(i.componentType===e)return null==t||t(i),i}return null==t||t(null),null}async moveDialogFromOpenedToAvailable(e){var t,r;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromOpenedToAvailable() store not yet initialized}";return a.Logger.system.error(e),e}const{err:n,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(n||!i){const e='DialogManagerClient.moveDialogFromOpenedToAvailable() no "dialogs" object returned from store';return a.Logger.system.error(e),e}const o=i.opened,s=i.available;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.opened",value:o}),null===(r=this.DialogStore)||void 0===r||r.setValue({field:"dialogs.available",value:s}),null}async moveDialogFromAvailableToOpened(e){var t,r;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromAvailableToOpened() store not yet initialized}";return a.Logger.system.error(e),e}const{err:n,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(n||!i){const e='DialogManagerClient.moveDialogFromAvailableToOpened no "dialogs" object returned from store';return a.Logger.system.error(e),e}const o=i.available,s=i.opened;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.available",value:o}),null===(r=this.DialogStore)||void 0===r||r.setValue({field:"dialogs.opened",value:s}),null}}t.DialogManagerClientController=m;const y=async()=>{const e=(0,f.singleton)("DialogManagerClient",m);return await e.initializeOnce(),e},v=e=>`Dialog.${e.windowName}.ready`;t.registerModal=async()=>{var e,t;const r=await y(),n=await l.System.getMonitorInfo(),{virtualScreen:i}=n;null===(e=r.finsembleWindow)||void 0===e||e.setBounds({bounds:Object.assign(Object.assign({},i),{width:i.right-i.left,height:i.bottom-i.top})});const o=await(0,c.getMyWindowIdentifier)();return null===(t=r.DialogStore)||void 0===t||t.setValue({field:"modalIdentifier",value:o}),null},t.showModal=async e=>{const t=await y();if(!t.DialogStore){const t="DialogMangerClient.showModal() store not yet initialized}";return a.Logger.system.error(t),null==e||e(t),t}const{err:r,data:n}=await t.DialogStore.getGlobalValue("modalIdentifier");if(r||!n){const t=`DialogManagerClient.showModal() error from store: ${r}`;return a.Logger.system.debug(t),null==e||e(t),t}const{wrap:i}=await s.FinsembleWindow.getInstance({uuid:n.uuid,name:n.windowName});return i.updateOptions({options:{opacity:.4}},(()=>{i.show((()=>{i.bringToFront((()=>{var r;null===(r=t.finsembleWindow)||void 0===r||r.focus((()=>{var r;null===(r=t.finsembleWindow)||void 0===r||r.bringToFront(),e&&"function"==typeof e&&e()}))}))}))})),null},t.hideModal=async()=>{const e=await y();if(!e.DialogStore){const e="DialogMangerClient.hideModal() store not yet initialized}";return a.Logger.system.error(e),e}const{err:t,data:r}=await e.DialogStore.getGlobalValue("modalIdentifier");if(t||!r){const e=`DialogManagerClient.hideModal() error from store: ${t}`;return a.Logger.system.debug(e),e}const{wrap:n}=await s.FinsembleWindow.getInstance({uuid:r.uuid,name:r.windowName});return n.hide(),null};const w=async(e,t,r)=>{const n=t=>{console.warn(`No response from dialog ${e.windowName} after ${t/1e3} seconds. Check to make sure your dialog is sending back data.`)},o=await y();o.moveDialogFromAvailableToOpened(e);const l=`Dialog.${e.windowName}.Show`,c=v(e);let d;const f=u.RouterClient.addListener(c,(async(r,o)=>{d=setTimeout(n.bind(null,o.data.userInputTimeout),o.data.userInputTimeout);const{err:l,data:c}=await i.LauncherClient.showWindow(e,{monitor:t.monitor||"mine",left:"center",top:"center"});if(l||!c){const t=`DialogManagerClient.sendQueryToDialog error showing window ${e.windowName} ${l}`;return a.Logger.system.error(t),void n(t)}const{name:u}=c.finWindow;s.FinsembleWindow.getInstance({name:u},((e,t)=>{t.bringToFront(),t.focus()})),f()})),{err:p,response:h}=await u.RouterClient.query(l,t);clearTimeout(d),o.moveDialogFromOpenedToAvailable(e),r(p,h.data)};t.spawnDialog=async(e,t,r,n)=>{const o=`DialogChannel-${(0,g.default)()}`;e.data={inputParams:t,responseChannel:o},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");const s=u.RouterClient.addListener(o,((e,t)=>{r(e,t.data),s()})),{error:l,response:c}=await i.LauncherClient.spawn("dialogTemplate",e);return l&&(a.Logger.system.error("DialogMangerClient.spawnDialog error spawning",l),r(l,c)),null==n||n(l,c),{err:l,data:c}},t.open=async(e,t,r)=>{const n=()=>new Promise((async n=>{(await y()).getAvailableDialog(e,(e=>{e?(w(e,t,r),n(!0)):n(!1)}))}));if(await n())return null;const o=e=>new Promise((t=>setTimeout(t,e))),{error:s}=await i.LauncherClient.spawn(e,{options:{customData:{foreign:{clients:{dialogManager:{isDialog:!0}}}}}});if(s){const t=`DialogManagerClient.open launching dialog "${e}" error ${s}`;return a.Logger.system.error(t),t}{const t=3e4;for(let e=0;e<15;e++){if(await n())return null;await o(t/15)}const r=`DialogManagerClient.open error opening dialog "${e}. The dialog launched but didn't register within ${t} ms`;return a.Logger.system.error(r),r}},t.getParametersFromInDialog=async()=>{const e=await y(),{inputParams:t}=e.spawnData;return a.Logger.system.debug(`DialogManagerClient:getParametersFromInDialog: ${JSON.stringify(t)}`),t},t.respondAndExitFromInDialog=async e=>{const t=await y();a.Logger.system.debug(`DialogManagerClient:respondAndExitFromInDialog: ${JSON.stringify(e)}`);const{responseChannel:r}=t.spawnData;u.RouterClient.transmit(r,e)},t.showDialog=async()=>{var e;const t=await y(),r=await(0,c.getMyWindowIdentifier)(),n=v(r);u.RouterClient.transmit(n,{userInputTimeout:null!==(e=t.userInputTimeout)&&void 0!==e?e:1e4})},t.registerDialogCallback=async e=>{const t=await y();t.RESPONDER_CHANNEL&&u.RouterClient.addResponder(t.RESPONDER_CHANNEL,((r,n)=>{n&&(t.openerMessage=n),null==e||e(r,n)}))},t.respondToOpener=async e=>{var r,n;const i=await y();a.Logger.system.info("DialogManagerClient:RespondToOpener:",e),null===(r=i.openerMessage)||void 0===r||r.sendQueryResponse(null,e),!1!==(null==e?void 0:e.hideModalOnClose)&&(0,t.hideModal)(),null===(n=i.finsembleWindow)||void 0===n||n.hide(),i.openerMessage=null},t.DialogManagerClient={set userInputTimeout(e){(0,f.singleton)("DialogManagerClient",m).userInputTimeout=e},get openerMessage(){return(0,f.singleton)("DialogManagerClient",m).openerMessage},initialize:()=>{a.Logger.system.deprecated("It is no longer necessary to call DialogManager.initialize()")},onReady:e=>{a.Logger.system.deprecated("It is no longer necessary to call DialogManager.onReady()"),null==e||e()},createStore:e=>(a.Logger.system.deprecated("DialogManager.createStore() is an internal function. It has been deprecated and will be removed in a future release."),(0,f.singleton)("DialogManagerClient",m).createStore(e)),getAvailableDialog:(e,t)=>(a.Logger.system.deprecated("DialogManager.getAvailableDialog() is an internal function. It has been deprecated and will be removed in a future release."),(0,f.singleton)("DialogManagerClient",m).getAvailableDialog(e,t)),sendQueryToDialog:(e,t,r)=>(a.Logger.system.deprecated("DialogManager.sendQueryToDialog() is an internal function. It has been deprecated and will be removed in a future release."),w(e,t,r)),open:t.open,spawnDialog:t.spawnDialog,registerDialogCallback:t.registerDialogCallback,getParametersFromInDialog:t.getParametersFromInDialog,respondAndExitFromInDialog:t.respondAndExitFromInDialog,showDialog:t.showDialog,registerModal:t.registerModal,showModal:t.showModal,hideModal:t.hideModal,respondToOpener:t.respondToOpener},t.default=t.DialogManagerClient},47913: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.DistributedStoreClient=t.createStore=t.createGlobalStore=t.getStore=t.removeStore=void 0;const i=r(2518),o=n(r(27917)),s=n(r(84795)),a=r(51848),l=()=>new Promise((e=>{a.RouterClient.subscribe("distributedStoresLoading",((t,r)=>{if(t||!r.data){const r=`Error waiting for persistent stores ${t}`;i.Logger.system.error(r),e(r)}"done"===r.data.State&&e(null)}))}));let c={};t.removeStore=async(e,t)=>e.global?(async(e,t)=>{const{err:r}=await a.RouterClient.query("storeService.removeStore",e);return t&&t(r,!!r),{err:r,data:!!r}})(e,t):c[e.store]?(delete c[e.store],t&&t(null,!0),{data:!0}):{err:`Local store named ${e.store} not found`};const u=async(e,r)=>{if(i.Logger.system.info("DistributedStoreClient:getGlobalStore()",e),e.waitForPersistentStoreToLoad){const e=await l();if(e)return null==r||r(e),{err:e}}else await s.default.waitForStartup("dataStoreService");const{err:n,response:c}=await a.RouterClient.query("storeService.getStore",e);if(c.data){const e=new o.default(c.data,a.RouterClient,t.removeStore);return r&&r(n,e),{err:n,data:e}}return i.Logger.system.error("DistributedStoreClient:getGlobalStore() Failed to get a global store",e.store,n),r&&r(n),{err:n}};t.getStore=async(e,t)=>{if(e.global)return u(e,t);{const r=e.store?c[e.store]:null;return r?(t&&t(null,r),{data:r}):u(e,t)}},t.createGlobalStore=async(e,r)=>{if(e.persist){const e=await l();if(e)return null==r||r(e),{err:e}}else await s.default.waitForStartup("dataStoreService");const{err:n,response:c}=await a.RouterClient.query("storeService.createStore",e);if(n)return i.Logger.system.error("DistributedStoreClient:createStore() Failed to create a global store",e.store,n),null==r||r(n),{err:n};const u=new o.default(c.data,a.RouterClient,t.removeStore);return null==r||r(n,u),{err:n,data:u}},t.createStore=async(e,r)=>(i.Logger.system.info("DistributedStoreClient:createStore()",e),e.global?(0,t.createGlobalStore)(e,r):(async(e,r)=>{const n=c[e.store];if(n)return r&&r(null,n),{data:n};const i=new o.default(Object.assign(Object.assign({},e),{name:e.store}),a.RouterClient,t.removeStore);return c[i.name]=i,r&&r(null,i),{data:i}})(e,r)),t.DistributedStoreClient={initialize:()=>{i.Logger.system.deprecated("It is no longer necessary to call DistributedStoreClient.initialize()")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call DistributedStoreClient.onReady()"),null==e||e()},createStore:t.createStore,getStore:t.getStore,createGlobalStore:t.createGlobalStore,removeStore:t.removeStore},t.default=t.DistributedStoreClient},80752:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HotkeyClient=t.onClose=t.removeAllHotkeys=t.removeGlobalHotkey=t.addGlobalHotkey=t.removeLocalHotkey=t.addLocalHotkey=t.addBrowserHotkey=void 0;const n=r(2518),i=r(51848),o=r(10166),s=r(7860),a=r(17187),l={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",0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",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","*":"*","+":"+","-":"-","/":"/",";":";","=":"=",",":",",_:"-",".":".","`":"`","[":"[","]":"]","'":"'"},c=e=>{const t=[];return e.keys.forEach((e=>{if("string"!=typeof e)return n.Logger.system.error("FSBL.Clients.HotkeyClient - one of the keys passed into a function was not a string: ",e);e=e.toLowerCase();const r=l[e];if(!r)return n.Logger.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}`);t.push(r)})),t};class u{constructor(){this.keyStrokeHandlers=[],this.key=null,this.shift=!1,this.ctrl=!1,this.alt=!1,this.cmd=!1,this.capsLock=!1,this.noKeyCapture=!1,this.downValue=null}registerKeyHandler(e){this.keyStrokeHandlers.push(e)}unregisterKeyHandler(e){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((t=>t.keyString!==e.keyString||t.handler!==e.handler))}unregisterAllUsersKeyHandlers(){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((e=>!0!==e.addedByUser))}keyup(e){switch(e.key){case"Shift":return this.shift=!1,void this.gotKeyStroke(e.key);case"Control":case"Alt":return this.ctrl=!1,void this.gotKeyStroke(e.key);case"Meta":case"Win":return this.cmd=!1,void this.gotKeyStroke(e.key)}this.key&&this.gotKeyStroke(this.key)}keydown(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.gotKeyStroke(e.key)}}keypress(e){if(this.noKeyCapture)return;const t=e.which;t<32||t>222||(this.key=e.key)}gotKeyStroke(e){const t=[e];this.ctrl&&t.push("control"),this.shift&&t.push("shift"),this.alt&&t.push("alt"),this.cmd&&t.push("command");const r=t.sort().toString();this.keyStrokeHandlers.forEach((e=>{const t=e.keyString.toUpperCase(),n=r.toUpperCase();n!==t&&n.replace(/(CONTROL|COMMAND)/,"COMMANDORCONTROL")!==t||e.handler()}))}initialize(){document.addEventListener("keyup",(e=>{this.keyup(e)})),document.addEventListener("keydown",(e=>{this.downValue=e.key,this.keydown(e)})),document.addEventListener("keypress",(e=>{this.keypress(e)})),window.addEventListener("blur",(()=>{this.ctrl=!1,this.gotKeyStroke("Control")}))}}class d{constructor(){this.localListeners={},this.keyStrokes=null,this.eventEmitter=new a.EventEmitter,this.initialize()}async initialize(){const{windowName:e}=await o.Startup.getInstance().getStartupData();i.RouterClient.addListener("HotkeyTriggered",((t,r)=>{t?console.error(`Hotkey Channel Error: ${JSON.stringify(t)}`):(null==r?void 0:r.data.windows.includes(e))&&this.eventEmitter.emit(r.data.keys)}))}}const f=()=>(0,s.singleton)("HotkeyClient",d);t.addBrowserHotkey=(e,t,r)=>{const n=f();n.keyStrokes||(n.keyStrokes=new u,n.keyStrokes.initialize());const i=c({keys:e}).sort().toString();n.keyStrokes.registerKeyHandler({keyString:i,handler:t,addedByUser:r})},t.addLocalHotkey=async(e,r,i)=>(n.Logger.system.info("HotkeyClient.addLocalHotkey"),n.Logger.system.debug("HotkeyClient.addLocalHotkey, keyArr: ",e),(0,t.addBrowserHotkey)(e,r,!0),null==i||i(null),{err:null}),t.removeLocalHotkey=async(e,t,r)=>(n.Logger.system.info("HotkeyClient.removeLocalHotkey"),n.Logger.system.debug("HotkeyClient.removeLocalHotkey, keyArr: ",e),((e,t)=>{var r;const i=f();n.Logger.system.info("HotkeyClient.removeBrowserHotkey"),n.Logger.system.debug("HotkeyClient.removeBrowserHotkey, keyArr: ",e);const o=c({keys:e}).sort().toString();null===(r=i.keyStrokes)||void 0===r||r.unregisterKeyHandler({keyString:o,handler:t})})(e,t),null==r||r(null),{err:null}),t.addGlobalHotkey=async(e,t,r)=>{const s=f();n.Logger.system.info("HotkeyClient.addGlobalHotkey"),n.Logger.system.debug("HotkeyClient.addGlobalHotkey, keyArr: ",e);const a=c({keys:e}).sort().join("+");s.eventEmitter.addListener(a,t);const{windowName:l}=await o.Startup.getInstance().getStartupData(),{err:u}=await i.RouterClient.query("hotkeysService.registerGlobalHotkey",{keys:a,windowName:l});return null==r||r(u),{err:u}},t.removeGlobalHotkey=async(e,t,r)=>{const s=f();n.Logger.system.info("HotkeyClient.removeGlobalHotkey"),n.Logger.system.debug("HotkeyClient.removeGlobalHotkey, keyArr: ",e);const a=c({keys:e}).sort().join("+");s.eventEmitter.removeListener(a,t);const{windowName:l}=await o.Startup.getInstance().getStartupData(),{err:u}=await i.RouterClient.query("hotkeysService.unregisterGlobalHotkey",{keys:a,windowName:l});return null==r||r(u),{err:u}},t.removeAllHotkeys=async e=>{var t;const r=f();r.eventEmitter.removeAllListeners();const{windowName:n}=await o.Startup.getInstance().getStartupData(),{err:s}=await i.RouterClient.query("hotkeysService.removeAllHotkeysForWindow",{windowName:n});return null===(t=r.keyStrokes)||void 0===t||t.unregisterAllUsersKeyHandlers(),null==e||e(s),{err:s}},t.onClose=e=>{(0,t.removeAllHotkeys)(e)},t.HotkeyClient={initialize:()=>{n.Logger.system.deprecated("It is no longer necessary to call HotkeyClient.initialize()")},onReady:e=>{n.Logger.system.deprecated("It is no longer necessary to call HotkeyClient.onReady()"),null==e||e()},onClose:t.onClose,addGlobalHotkey:t.addGlobalHotkey,removeAllHotkeys:t.removeAllHotkeys,removeGlobalHotkey:t.removeGlobalHotkey,addLocalHotkey:t.addLocalHotkey,removeLocalHotkey:t.removeLocalHotkey,addBrowserHotkey:t.addBrowserHotkey},t.default=t.HotkeyClient},49136: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.LauncherClient=t.removeUserDefinedComponent=t.addUserDefinedComponent=t.getActiveDescriptors=t.getMyWindowIdentifier=t.spawn=t.toggleWindowOnClick=t.showWindow=t.getMonitorInfo=t.getMonitorInfoAll=t.getComponentDefaultConfig=t.getComponentList=void 0;const i=r(23099),o=n(r(2518)),s=r(83823),a=r(51848),l=n(r(84795)),c=r(94017),u=r(96512),d=r(31755),f=r(23099),p={},h=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};t.getComponentList=async e=>{await l.default.waitForStartup("windowService");const{err:t,response:r}=await a.RouterClient.query("Launcher.componentList",{});return null==e||e(t,r.data),{err:t,data:r.data}},t.getComponentDefaultConfig=async(e,r)=>{const{err:n,data:i}=await(0,t.getComponentList)(),o=null==i?void 0:i[e];return null==r||r(n,o),{err:n,data:o}},t.getMonitorInfoAll=async e=>(o.default.system.debug("LauncherClient.getMonitorInfoAll()"),(0,c.getAllMonitorsClientSide)(a.RouterClient,e)),t.getMonitorInfo=async(e={},r)=>(o.default.system.debug("LauncherClient.getMonitorInfo()"),"all"===e.monitor?(o.default.deprecated('Use of type "all" in LauncherClient.getMonitorInfo() is deprecated. Pleae use LauncherClient.getMonitorInfoAll()'),(0,t.getMonitorInfoAll)(r)):(0,c.getWhichMonitorClientSide)(a.RouterClient,e,r)),t.showWindow=async(e,t,r)=>{t||(t={}),(t=(0,i.clone)(t)).staggerPixels||0===t.staggerPixels||(t.staggerPixels=100),t.windowIdentifier=h(e);const n=await(0,i.getMyWindowIdentifier)();t.relativeWindow||(t.relativeWindow=n),await l.default.waitForStartup("windowService");const{err:o,response:c}=await a.RouterClient.query("Launcher.showWindow",t);if(o)return null==r||r(o),{err:o};{const e=c.data.windowIdentifier.windowName,{wrap:t}=await s.FinsembleWindow.getInstance({name:e}),n=Object.assign(Object.assign({},c.data),{windowIdentifier:Object.assign(Object.assign({},c.data.windowIdentifier),{name:e}),finWindow:t});return null==r||r(o,n),{err:o,data:n}}},t.toggleWindowOnClick=(e,r,n)=>{var i,o;const s=h(r),a=null!==(o=null!==(i=s.windowName)&&void 0!==i?i:s.componentType)&&void 0!==o?o:"";!1!==p[a]?(n.position||(n.position="absolute"),(0,t.showWindow)(r,n,((t,r)=>{if(!r)return;const{finWindow:n}=r,i=()=>{p[a]=!0,(0,f.isMouseOverDOMElement)(e,(e=>{p[a]=!e})),n.removeEventListener("blurred",i)};n.addEventListener("blurred",i)}))):p[a]=!0};t.spawn=async(e,t,r)=>{t||(t={}),(t=(0,i.clone)(t)).component=e,t.options||(t.options={}),t.options.customData||(t.options.customData={}),t.staggerPixels||0===t.staggerPixels||(t.staggerPixels=50),o.default.system.debug(`LauncherClient.spawn starting for componentType:${e}`),await l.default.waitForStartup("windowService");const n=await(0,i.getMyWindowIdentifier)();t.launchingWindow=n;const{err:c,result:u}=await(async e=>{const{err:t,response:r}=await a.RouterClient.query("Launcher.spawn",e);if(o.default.system.debug("CallSpawn","Initial launcher callback params",t,r),t||!r)return{err:null!=t?t:'Internal error: callSpawn(): No data returned from service for "Launcher.spawn"'};{const{data:e}=r;let t,n=[];Array.isArray(e)?(n=e.reduce(((e,t)=>(e.push(t.windowIdentifier.windowName),e)),[]),t=e[0]):t=e;const i=t.windowIdentifier.windowName,{wrap:l}=await s.FinsembleWindow.getInstance({name:i}),c=Object.assign(Object.assign({},t),{windowIdentifier:Object.assign(Object.assign({},t.windowIdentifier),{name:i}),finWindow:l});n.length>0&&(c.launchGroupWindows=n),o.default.system.debug("CallSpawn","Waiting for ready signal",i);const u=await(e=>new Promise((t=>{const r=a.RouterClient.subscribe(`Finsemble.${e}.componentReady`,((e,n)=>{e||!n.data?(o.default.system.error(`RouterClient.waitForReadySignal() Error subscribing for component ready state ${e}`),t(e)):Object.keys(n.data).length&&(a.RouterClient.unsubscribe(r),t(null))}))})))(i);return o.default.system.debug("CallSpawn","Got ready signal",i),{err:u,result:c}}})(t);return o.default.system.debug(`LauncherClient.spawn completing for componentType:${e}`,c),null==r||r(c,u),{error:c,response:u}},t.getMyWindowIdentifier=async e=>{const t=await(0,i.getMyWindowIdentifier)();return null==e||e(t),t},t.getActiveDescriptors=async e=>{await l.default.waitForStartup("windowService");const{err:t,response:r}=await a.RouterClient.query("Launcher.getActiveDescriptors",{});return t&&o.default.system.error(t),null==e||e(t,r.data),{err:t,data:r.data}},t.addUserDefinedComponent=async(e,t)=>{await l.default.waitForStartup("windowService");const{err:r}=await a.RouterClient.query("Launcher.userDefinedComponentUpdate",{type:"add",name:e.name,url:e.url});return r&&o.default.system.error(r),null==t||t(r),{err:r}},t.removeUserDefinedComponent=async(e,t)=>{await l.default.waitForStartup("windowService");const{err:r}=await a.RouterClient.query("Launcher.userDefinedComponentUpdate",{type:"remove",name:e.name,url:e.url});return r&&o.default.system.error(r),null==t||t(r),{err:r}},t.LauncherClient={initialize:()=>{o.default.system.deprecated("It is no longer necessary to call LauncherClient.initialized()")},onReady:e=>{o.default.system.deprecated("It is no longer necessary to call LauncherClient.onReady()"),null==e||e()},addToGroups:u.addToGroups,getGroupsForWindow:u.getGroupsForWindow,removeWindowsFromGroup:u.removeWindowsFromGroup,addWindowsToGroup:u.addWindowsToGroup,createWindowGroup:u.createWindowGroup,minimizeWindows:d.minimizeWindows,hyperFocus:u.hyperFocus,bringWindowsToFront:d.bringWindowsToFront,getComponentsThatCanReceiveDataTypes:u.getComponentsThatCanReceiveDataTypes,removeUserDefinedComponent:t.removeUserDefinedComponent,addUserDefinedComponent:t.addUserDefinedComponent,getPendingWindows:u.getPendingWindows,getActiveAndPendingWindowNames:u.getActiveAndPendingWindowNames,getActiveDescriptors:t.getActiveDescriptors,getMyWindowIdentifier:t.getMyWindowIdentifier,getMonitor:u.getMonitor,spawn:t.spawn,toggleWindowOnClick:t.toggleWindowOnClick,showWindow:t.showWindow,unRegisterComponent:u.unRegisterComponent,registerComponent:u.registerComponent,getMonitorInfo:t.getMonitorInfo,getMonitorInfoAll:t.getMonitorInfoAll,getComponentDefaultConfig:t.getComponentDefaultConfig,getComponentList:t.getComponentList},t.default=t.LauncherClient},2518: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.Logger=t.LoggerClient=t.LocalLogger=t.deprecated=t.verbose=t.debug=t.log=t.info=t.warn=t.error=t.LoggerConnection=void 0;const i=r(91374),o=r(10166),s=r(31219),a=n(r(51848)),l=n(r(9381)),c=r(7860),u=n(r(23493)),d=r(96486),f=r(44137),p={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!1,LocalOnly:!1};let h=5e4;const g=`NOTE: LOG ARG STRIPPED since greater than ${h/1e3}KB. Check origin's local Console to see output of the complete object.`,m={console:{Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!0,LocalOnly:!1},dev:p,system:p,perf:p},y=()=>{const{stack:e}=function(){try{throw Error("")}catch(e){return e}}();let t=6;e.includes("console.error")&&t++;const r=("\n",n=t,e.split("\n",n).join("\n").length);var n;return`Log Stack: \n${e.substring(r).substr(1)}`},v=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},w=(e,t,r=0,n=1)=>{const i=t/2,o=i/2,s="*STRIPPED*",a=e=>{let t=v(e);e.length>0&&t>o&&(e[0]=w(e[0],i,r,n+1),e[1]=`*STRIPPED* from size ${e.length}`,e.length=2)};let l=(0,d.cloneDeep)(e);if("object"!=typeof l)l=s,r+=v(l);else if(Array.isArray(l))a(l),r+=v(l);else{let e=Object.getOwnPropertyNames(l);for(let c=0;c<e.length;c++){let u=v(l[e[c]]);r>i&&u>100&&n>=3&&c>=1||r>h&&u>=10?l[e[c]]=s:u>o&&(Array.isArray(l[e[c]])?a(l[e[c]]):l[e[c]]=w(l[e[c]],t/1.2,r,n+1)),r+=v(l[e[c]])}}return l},b=e=>"logger.service.logMessages"===e||"Finsemble.heartbeat"===e,S=console.error.bind(f.Globals.console);console.standardError=console.error;class C{constructor(){this.routerClient=null,this.viewId=null,this.isRegistering=!1,this.isRegistered=!1,this.calibratedTimeStampOffset=0,this.newCalibratedTimeStampOffset=0,this.filteredMessagesCounter=0,this.startupTime=0,this.loggerQueue=[],this.loggerClientName=i.System.Window.getCurrent().name,this.onLogStateChangeCallback=[],this.currentLogState=m,this.skipLargeObjects=!0,this.setRouterClient=e=>{this.routerClient=e},this.system={error:(...e)=>{this.logIt("system","Error",e)},warn:(...e)=>{this.logIt("system","Warn",e)},info:(...e)=>{this.logIt("system","Info",e)},log:(...e)=>{this.logIt("system","Log",e)},debug:(...e)=>{this.logIt("system","Debug",e)},verbose:(...e)=>{this.logIt("system","Verbose",e)},deprecated:(...e)=>{this.logIt("system","Error",e)}},this.perf={error:(...e)=>{this.logIt("perf","Error",e)},warn:(...e)=>{this.logIt("perf","Warn",e)},info:(...e)=>{this.logIt("perf","Info",e)},log:(...e)=>{this.logIt("perf","Log",e)},debug:(...e)=>{this.logIt("perf","Debug",e)},verbose:(...e)=>{this.logIt("perf","Verbose",e)},deprecated:(...e)=>{this.logIt("perf","Error",e)}},this.console={error:(...e)=>{this.logIt("console","Error",e)},warn:(...e)=>{this.logIt("console","Warn",e)},info:(...e)=>{this.logIt("console","Info",e)},log:(...e)=>{this.logIt("console","Log",e)},debug:(...e)=>{this.logIt("console","Debug",e)},verbose:(...e)=>{this.logIt("console","Verbose",e)},deprecated:(...e)=>{this.logIt("console","Error",e)}};const e="routerService"===this.loggerClientName?100:250;this.transmitAndClearQueue=(0,u.default)((()=>{var e;this.loggerQueue.length>0&&(null===(e=this.routerClient)||void 0===e||e.transmit("logger.service.logMessages",this.loggerQueue),this.loggerQueue=[])}),e,{leading:!1})}updateQueueBasedOnState(e){const{loggerQueue:t,currentLogState:r,calibratedTimeStampOffset:n}=this;this.system.debug("Logger updateQueueBasedOnState",e,n,"QUEUE LENGTH",t.length,r),this.loggerQueue=t.flatMap((t=>{if(r[t.category][t.logType]){if(!r[t.category].LocalOnly)return e&&(t.logTimestamp=t.logTimestamp+n),[t];console.log(t.category,t.logType,t.logTimestamp-s.Performance.timing.navigationStart,t.logData,"(Previously queued!)")}return[]}))}onStateChanged(e){-1===this.onLogStateChangeCallback.indexOf(e)&&this.onLogStateChangeCallback.push(e)}setLogState(e,t){e&&e.dev&&(this.currentLogState=e,this.onLogStateChangeCallback.forEach((t=>{t(e)}))),this.updateQueueBasedOnState(t)}addToQueue(e){const{loggerQueue:t}=this;if(t.length<2e4)t.push(e);else{console.error("Logging Queue Overflowed! Dumping queue here then continuing",t.length);let e,r=0;for(;e=t.shift();)console.log("Message "+r++,e);this.system.error("Logging Queue Overflowed! Dumping queue in client then continuing.")}}callStack(){return y()}setting(){return this.currentLogState}outputToConsole(e,t){const r={Debug:console.debug,Info:console.info,Warn:console.warn,Error:S,Log:console.log,Verbose:console.log};try{r[e](...t)}catch(e){S("Error outputting log to console",e,y())}}formatAndQueueMessage(e,t,r){var n;const o="forceObjectsToLogger"===r[0],a=r.flatMap((e=>{const t=v(e);if(!o&&t>h){if(this.outputToConsole("Warn",[`Message too large to send to the logger. Max message size:${h/1e3}KB`,`Approx message size: ${t/1e3}KB`,...r]),this.skipLargeObjects)return[`Log argument greater than ${h/1e3}KB. Check local Console to see output of the object.`];{let t=w(e,h);return[g,`OldSize=${v(e)} NewSize=${v(t)}`,t]}}return e instanceof Error?[e.toString()]:"forceObjectsToLogger"===e?[]:[e]}));let l=null;try{l=JSON.stringify(a)}catch(e){l=`*** Logger error can't JSON.stringify: ${y()}`}"Error"!==t&&"Warn"!==t&&"console"!==e||this.outputToConsole(t,r);const c=null!==(n=this.viewId)&&void 0!==n?n:i.System.isBrowserView()&&i.System.getWebContentsId(),u={category:"console"===e?"system":e,logType:t,logClientName:c?`${this.loggerClientName}: view-${c}`:this.loggerClientName,logData:l,logTimestamp:s.Performance.timing.navigationStart+s.Performance.now()+this.calibratedTimeStampOffset};c&&(u.viewId=c),this.addToQueue(u),this.isRegistered&&this.transmitAndClearQueue()}logIt(e,t,r){if(this.currentLogState[e][t])if("Warn"!==t&&"Error"!==t||r.push(y()),this.currentLogState[e].LocalOnly){const n=t.toLowerCase();r.unshift(`${e} ${n} (${s.Performance.now()}):`),this.outputToConsole(t,r)}else this.formatAndQueueMessage(e,t,r)}error(...e){this.logIt("dev","Error",e)}warn(...e){this.logIt("dev","Warn",e)}info(...e){this.logIt("dev","Info",e)}log(...e){this.logIt("dev","Log",e)}debug(...e){this.logIt("dev","Debug",e)}verbose(...e){this.logIt("dev","Verbose",e)}deprecated(...e){this.logIt("dev","Error",e)}completeRegistration(e){l.default.getValue({field:"finsemble.servicesConfig.logger"},((e,t)=>{var r,n;e||(this.skipLargeObjects=null!==(r=null==t?void 0:t.skipLargeObjects)&&void 0!==r?r:this.skipLargeObjects,h=null!==(n=null==t?void 0:t.maxLogMessageSize)&&void 0!==n?n:h)})),this.loggerQueue.forEach((e=>{this.viewId&&(e.viewId=this.viewId)})),this.isRegistered=!0,e?"routerService"!==this.loggerClientName?(this.calibratedTimeStampOffset=this.newCalibratedTimeStampOffset,this.setLogState(e,!0)):this.setLogState(e,!1):console.error("Logger.startLogger() Initial state not received from logger service"),this.formatAndQueueMessage("system","Debug",["Logger Registered"]),this.transmitAndClearQueue()}registerWithLoggerService(){var e;const{windowName:t,webContentsName:r}=o.Startup.getInstance().getStartupData();this.loggerClientName="undefined"!=typeof window&&window.top!==window?`${t}.Frame`:t;const n=`finsemble.logger.client.${this.loggerClientName}`;!this.viewId&&i.System.isBrowserView()&&(this.viewId=i.System.getWebContentsId()),this.system.debug("logger.service.registering",this.loggerClientName),i.System.Window.getCurrent().getOptions((async e=>{var i,o;const s=null===(o=null===(i=null==e?void 0:e.customData)||void 0===i?void 0:i.component)||void 0===o?void 0:o.centralLoggerNamePrefix;if(!this.routerClient)return;const{err:a,response:l}=await this.routerClient.query("logger.service.register",{clientName:this.loggerClientName,clientChannel:n,displayName:null!=r?r:t,windowName:t,viewId:this.viewId,centralLoggerNamePrefix:s});a?(console.warn("Logger service not available. Trying to connect again in 750ms.",a),setTimeout((()=>{this.registerWithLoggerService()}),750)):this.completeRegistration(l.data)})),null===(e=this.routerClient)||void 0===e||e.addListener(n,((e,t)=>{this.system.debug("logger.client.setLogState",t.data),this.setLogState(t.data,!1)}))}unregisterClient(e,t){var r;this.system.debug("logger.service.unregister",this.loggerClientName,e,this.viewId),this.transmitAndClearQueue();const n=e||{clientName:this.loggerClientName,viewId:this.viewId};null===(r=this.routerClient)||void 0===r||r.query("logger.service.unregister",n,t)}waitForServiceAndCalibrate(){var e;const t=null===(e=this.routerClient)||void 0===e?void 0:e.subscribe("Finsemble.Service.State.loggerService",((e,r)=>{var n,i;"ready"===r.data.state&&(this.system.debug("Logger onReady",this.loggerClientName),null===(n=this.routerClient)||void 0===n||n.calibrateTimeWithRouterService((e=>{this.newCalibratedTimeStampOffset=e,this.isRegistering||(this.isRegistering=!0,this.startupTime=performance.now()-this.startupTime,this.registerWithLoggerService())})),t&&(null===(i=this.routerClient)||void 0===i||i.unsubscribe(t)))}))}async start(e){if(this.routerClient=null!=e?e:a.default,this.startupTime=performance.now(),"routerService"===f.Globals.name){const{err:e}=await this.routerClient.query("logger.service.register",{});e?setTimeout((()=>{this.waitForServiceAndCalibrate()}),750):this.waitForServiceAndCalibrate()}else this.waitForServiceAndCalibrate();i.System.isBrowserView()&&f.Globals.addEventListener&&f.Globals.addEventListener("beforeunload",(()=>{this.unregisterClient()}))}}t.LoggerConnection=C,t.error=(...e)=>(0,c.singleton)("LoggerClient",C).error(...e),t.warn=(...e)=>(0,c.singleton)("LoggerClient",C).warn(...e),t.info=(...e)=>(0,c.singleton)("LoggerClient",C).info(...e),t.log=(...e)=>(0,c.singleton)("LoggerClient",C).log(...e),t.debug=(...e)=>(0,c.singleton)("LoggerClient",C).debug(...e),t.verbose=(...e)=>(0,c.singleton)("LoggerClient",C).verbose(...e),t.deprecated=(...e)=>(0,c.singleton)("LoggerClient",C).deprecated(...e);const _={error:t.error,warn:t.warn,info:t.info,log:t.log,debug:t.debug,verbose:t.verbose,deprecated:t.deprecated,start:e=>{(0,c.singleton)("LoggerClient",C).start(e)},channelFilter:e=>b(e),setting:()=>(0,c.singleton)("LoggerClient",C).setting(),callStack:()=>(0,c.singleton)("LoggerClient",C).callStack(),unregisterClient:(e,t)=>{(0,c.singleton)("LoggerClient",C).unregisterClient(e,t)},setRouterClient:e=>{(0,c.singleton)("LoggerClient",C).setRouterClient(e)},onStateChanged(e){(0,c.singleton)("LoggerClient",C).onStateChanged(e)},system:{error:(...e)=>(0,c.singleton)("LoggerClient",C).system.error(...e),warn:(...e)=>(0,c.singleton)("LoggerClient",C).system.warn(...e),info:(...e)=>(0,c.singleton)("LoggerClient",C).system.info(...e),log:(...e)=>(0,c.singleton)("LoggerClient",C).system.log(...e),debug:(...e)=>(0,c.singleton)("LoggerClient",C).system.debug(...e),verbose:(...e)=>(0,c.singleton)("LoggerClient",C).system.verbose(...e),deprecated:(...e)=>(0,c.singleton)("LoggerClient",C).system.deprecated(...e)},perf:{error:(...e)=>(0,c.singleton)("LoggerClient",C).perf.error(...e),warn:(...e)=>(0,c.singleton)("LoggerClient",C).perf.warn(...e),info:(...e)=>(0,c.singleton)("LoggerClient",C).perf.info(...e),log:(...e)=>(0,c.singleton)("LoggerClient",C).perf.log(...e),debug:(...e)=>(0,c.singleton)("LoggerClient",C).perf.debug(...e),verbose:(...e)=>(0,c.singleton)("LoggerClient",C).perf.verbose(...e),deprecated:(...e)=>(0,c.singleton)("LoggerClient",C).perf.deprecated(...e)},console:{error:(...e)=>(0,c.singleton)("LoggerClient",C).console.error(...e),warn:(...e)=>(0,c.singleton)("LoggerClient",C).console.warn(...e),info:(...e)=>(0,c.singleton)("LoggerClient",C).console.info(...e),log:(...e)=>(0,c.singleton)("LoggerClient",C).console.log(...e),debug:(...e)=>(0,c.singleton)("LoggerClient",C).console.debug(...e),verbose:(...e)=>(0,c.singleton)("LoggerClient",C).console.verbose(...e),deprecated:(...e)=>(0,c.singleton)("LoggerClient",C).console.deprecated(...e)}};i.System.isBrowserView()?_.console.log("Logger client console.error is not wrapped to capture logs."):(_.console.log("Logger client console.error is wrapped to capture logs."),console.error=function(...e){let t;e.push("(console error)");try{t=JSON.parse(JSON.stringify(e))}catch(r){t="console.error: arguments could not be serialized for logging",e.push("arguments could not be serialized to send to Central Logger"),S(...e)}_.console.error(...t)}),f.Globals.addEventListener&&f.Globals.addEventListener("error",(e=>{(null==e?void 0:e.message)&&(null==e?void 0:e.filename)?_.console.error(`Logger client caught ErrorEvent. Error: ${e.message}`,`File: ${e.filename}`,`Line number: ${e.lineno}`):(_.console.warn(`Logger client caught what is likely a DOM error event where type=${null==e?void 0:e.type} and target=${null==e?void 0:e.target}. Probably due to <img> or <script> failing to load. See component's browserView window for more details.`),console.warn("Event Details (for above message)",e))}),!0),f.Globals.addEventListener&&f.Globals.addEventListener("unhandledrejection",(e=>{_.console.error("Logger client caught Unhandled rejection","reason",e.reason,JSON.stringify(e))}),!0),t.LocalLogger={start:()=>{},channelFilter:b,setting:()=>m,callStack:()=>y(),unregisterClient:()=>{},setRouterClient:()=>{},onStateChanged:()=>{},warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error,system:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},perf:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},console:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error}};const k="undefined"==typeof window;t.LoggerClient=k?t.LocalLogger:_,t.Logger=t.LoggerClient,t.default=t.LoggerClient},5395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotificationClient=t.onClose=t.getPreferences=t.getMuteFilters=t.unmute=t.mute=t.unsubscribeAll=t.unsubscribe=t.subscribe=t.notify=t.deleteNotifications=t.markUnread=t.markRead=t.performAction=t.getLastIssuedAt=t.fetchHistory=t.ActionTypes=t.Filter=t.Action=t.Subscription=t.Notification=void 0;const n=r(46215);Object.defineProperty(t,"Action",{enumerable:!0,get:function(){return n.Action}}),Object.defineProperty(t,"ActionTypes",{enumerable:!0,get:function(){return n.ActionTypes}}),Object.defineProperty(t,"Filter",{enumerable:!0,get:function(){return n.Filter}}),Object.defineProperty(t,"Notification",{enumerable:!0,get:function(){return n.Notification}}),Object.defineProperty(t,"Subscription",{enumerable:!0,get:function(){return n.Subscription}});const i=r(23099),o=r(2518),s=r(51848),a=r(7860),l="notification.",c="unsubscribe";class u{constructor(){this.subscriptions=[]}}const d=()=>(0,a.singleton)("NotificationClient",u),f=(e,t,r,n)=>new Promise((async(i,a)=>{try{null==r&&(r=l),o.Logger.system.info(`sending message on ${r+e} channel`,t);const c=await s.RouterClient.query(r+e,t);c.err?(o.Logger.system.error("Error: ",c.err),a(c.err)):(o.Logger.system.log(`${e} raw response: `,c),n&&n(null,c.response.data.data),i(c.response.data.data))}catch(e){o.Logger.system.error("Error: ",e),n&&n(e),a(e)}}));t.fetchHistory=async(e,t)=>(o.Logger.system.info("FetchHistory() called with params: ",e,t),await f("fetch_history",{options:e,filter:t})),t.getLastIssuedAt=async e=>(o.Logger.system.info("getLastIssued called with params: ",e),await f("last_issued",e)),t.performAction=async(e,t)=>(o.Logger.system.info("performAction() called with params: ",e,t),Array.isArray(e)||(e=[e]),await f("perform_action",{notifications:e,action:t})),t.markRead=async e=>{o.Logger.system.info("markRead() called with params: ",e),Array.isArray(e)||(e=[e]),await f("mark_read",{notifications:e,isRead:!0})},t.markUnread=async e=>{o.Logger.system.info("markUnread() called with params: ",e),Array.isArray(e)||(e=[e]),await f("mark_unread",{notifications:e,isRead:!1})},t.deleteNotifications=e=>(o.Logger.system.info("deleteNotifications() called with params: ",e),new Promise((async(t,r)=>{try{t(f("delete",e))}catch(e){r(e)}}))),t.notify=async e=>{o.Logger.system.info("notify() called with params: ",e);try{await f("notify",Array.isArray(e)?e:[e])}catch(r){if(!r.includes("No responder"))throw r;await(0,i.sleep)(500),await(0,t.notify)(e)}};const p=(e,t)=>new Promise((r=>{o.Logger.system.info("Listening for messages on channel",e),((e,r,n)=>{null==n&&(n=l),o.Logger.system.info(`Adding responder for endpoint: ${n+e}`),s.RouterClient.addResponder(n+e,((r,n)=>{if(o.Logger.system.info(`Message received on ${e}: `,n),!r&&n)try{o.Logger.system.info(`Processing message on channel ${e}: `,n);const r=(e=>{o.Logger.system.info("Notification received: ",e.id);try{t(e)}catch(e){o.Logger.system.error("Error thrown in the subscription.onNotification()",e)}return{message:"success"}})(n.data);o.Logger.system.info(`Message response on ${e}: `,r),n.sendQueryResponse(null,{status:"success",data:r})}catch(e){o.Logger.system.error("Failed to process query",e),n.sendQueryResponse(e)}else o.Logger.system.error(`Failed to setup ${e} responder`,r)}))})(e),r()}));t.subscribe=async(e,t)=>{const r=d();o.Logger.system.info("subscribe() called with params: ",e,t);const n=await f("subscribe",JSON.parse(JSON.stringify(e)));return o.Logger.system.info("Got a return value containing a channel",n),await p(n.channel,t),r.subscriptions.push(n),n};const h=(e,t)=>{null==t&&(t=l),s.RouterClient.removeResponder(t+e)};t.unsubscribe=async e=>{o.Logger.system.info("unsubscribe() called with params: ",e),await f(c,e),(e=>{const t=d(),r=t.subscriptions.findIndex((t=>t.id===e));r>-1&&(h(t.subscriptions[r].channel),t.subscriptions.splice(r,1))})(e)},t.unsubscribeAll=()=>{const e=d();o.Logger.system.info("unsubscribeAll() called"),e.subscriptions.forEach((e=>{f(c,e.id).then(),h(e.id)})),e.subscriptions=[]},t.mute=async e=>(o.Logger.system.info("mute() called with params: ",e),await f("mute",{filter:e})),t.unmute=async e=>(o.Logger.system.info("unmute() called with params: ",e),await f("unmute",{filter:e})),t.getMuteFilters=async()=>(o.Logger.system.info("getMuteFilters() called"),await f("mute_filters",{})),t.getPreferences=async()=>(o.Logger.system.info("getPreferences() called"),await f("preferences",{})),t.onClose=e=>{(0,t.unsubscribeAll)(),null==e||e()},t.NotificationClient={initialize:()=>{o.Logger.system.deprecated("It is no longer necessary to call NotificationClient.initialize()")},onReady:e=>{o.Logger.system.deprecated("It is no longer necessary to call NotificationClient.onReady()"),null==e||e()},fetchHistory:t.fetchHistory,getLastIssuedAt:t.getLastIssuedAt,performAction:t.performAction,markRead:t.markRead,markUnread:t.markUnread,deleteNotifications:t.deleteNotifications,notify:t.notify,subscribe:t.subscribe,unsubscribe:t.unsubscribe,unsubscribeAll:t.unsubscribeAll,mute:t.mute,unmute:t.unmute,getPreferences:t.getPreferences,getMuteFilters:t.getMuteFilters,getSources:async()=>(o.Logger.system.info("getSources() called"),await f("sources",{})),onClose:t.onClose,Notification:n.Notification,ActionTypes:n.ActionTypes,Subscription:n.Subscription,Action:n.Action,Filter:n.Filter,actionTypes:n.ActionTypes},t.default=t.NotificationClient},51848: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.RouterClient=t.calibrateTimeWithRouterService=t.disconnectAll=t.trustedMessage=t.unsubscribe=t.publish=t.subscribe=t.removePubSubResponder=t.addPubSubResponder=t.removeResponder=t.query=t.addResponder=t.removeListener=t.transmit=t.addListener=t.onReady=t.RouterController=t.RouterConnection=void 0;const i=n(r(87132)),o=r(44343),s=r(2518),a=r(44137),l=r(31219),c=r(7860),u=n(r(62043));function d(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]?d(e[r],null):t[r];return t}class f{constructor(){this.queue=[],this.started=!1,this.clientName="RouterClient.clientName not yet set",this.transport=null,this.isRouterReady=!1,this.parentReadyCallbackQueue=[],this.mapListeners={},this.mapQueryResponders={},this.mapPubSubResponders={},this.mapPubSubResponderState={},this.mapPubSubResponderRegEx={},this.pubsubListOfSubscribers={},this.mapSubscribersID={},this.mapSubscribersTopic={},this.mapQueryResponses={},this.mapQueryResponseTimeOut={}}onReadyCallBack(){for(s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient Ready"),this.isRouterReady=!0;this.parentReadyCallbackQueue.length>0;){s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient parentReady invoked");const e=this.parentReadyCallbackQueue.shift();null==e||e()}}sendToRouterService(e){this.transport?this.transport.send(e):(s.LoggerClient.system.info("RouterClient: Queuing message since router initialization not complete",e),this.queue.push(e))}originatedHere(e){return e.header.origin===this.clientName}invokeListeners(e){const{channel:t,origin:r}=e.header,n=this.mapListeners[t]||[];Array.isArray(n)&&0!==n.length?(e.originatedHere=()=>this.originatedHere(e),n.forEach((n=>{s.LoggerClient.channelFilter(t)||s.LoggerClient.system.info("RouterClient: incoming transmit","CHANNEL",t,"FROM",r,"MESSAGE",e),n(null,e)}))):s.LoggerClient.system.log(`RouterClient: no listener for incoming transmit on channel ${t} from ${r}. Possibly the listener was removed while this message was in transit.`,e)}invokeResponder(e){const{channel:t,origin:r,queryID:n,error:i}=e.header;s.LoggerClient.system.info("RouterClient: incoming query","CHANNEL",t,"FROM",r,"QUERY MESSAGE",e);const o=(e,r)=>{s.LoggerClient.system.info("RouterClient: outgoing query response","CHANNEL",t,"RESPONSE DATA",r,"QUERY ID",n);let i={header:{origin:this.clientName,queryID:n,type:"queryResponse"},data:r};i.header.error=e?e.toString():null,this.sendToRouterService(i)},a=this.mapQueryResponders[t];void 0===a?e.header.logWhenNoResponder&&s.LoggerClient.system.warn(`RouterClient: No query responder defined on channel ${t} for incoming from ${r}.`,e):i?(s.LoggerClient.system.warn("RouterClient: queryResponder error",e),a(i),delete this.mapQueryResponders[t]):a(null,Object.assign(Object.assign({},e),{originatedHere:()=>this.originatedHere(e),sendQueryResponse:(e,t)=>{o(e,t)}}))}invokeQueryResponse(e){var t;s.LoggerClient.system.info("RouterClient: incoming query response","CHANNEL",e.header.channel,"QUERY ID",e.header.queryID,"message",e);const{queryID:r}=e.header,n=this.mapQueryResponseTimeOut[r];delete this.mapQueryResponseTimeOut[r],n&&clearTimeout(n);const i=this.mapQueryResponses[r];i?(delete this.mapQueryResponses[r],i(null!==(t=e.header.error)&&void 0!==t?t:null,e)):s.LoggerClient.system.warn("Invariant: RouterClient: no handler found for incoming query response.",e)}invokeNotifyCallback(e){const{subscribeID:t,error:r}=e.header,n=this.mapSubscribersID[t];n?r?(s.LoggerClient.system.info("RouterClient: incoming PubSub notify error for subscriberID","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),n(r,e)):(e.originatedHere=()=>this.originatedHere(e),s.LoggerClient.system.info("RouterClient: incoming PubSub notify","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),n(null,e)):s.LoggerClient.system.info("RouterClient: no subscription handler defined for incoming notify for subscriberID. Possibly the subscription was removed while this publish was in transit.",t,e)}findResponder(e){const t=this.mapPubSubResponders[e];if(t)return t;for(const t in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[t].test(e))return this.mapPubSubResponders[t]}invokePublishEvent(e){const{topic:t}=e.header;let r=this.findResponder(t);if(r){const n=(e,r,n)=>{var i;r?s.LoggerClient.system.warn("RouterClient: incoming publish rejected by pubsub responder",r,n):(this.mapPubSubResponderState[t]=n,(null!==(i=this.pubsubListOfSubscribers[t])&&void 0!==i?i:[]).forEach((e=>{s.LoggerClient.system.info("RouterClient: sending pubsub notify","TOPIC",t,"NOTIFY DATA",n);const r={header:{origin:this.clientName,type:"notify",topic:t,subscribeID:e},data:n};this.sendToRouterService(r)})))};if(s.LoggerClient.system.info("RouterClient: incoming PubSub publish "+(r.publishCallback?"(publishCallback hook invoked)":""),"TOPIC",t,"PUBLISH MESSAGE",e),r.publishCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToAllSubscribers:(t,r)=>{n(e,t,r)}});r.publishCallback(null,t)}else n(e,null,e.data)}else s.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming publish","TOPIC",t,"PUBLISH MESSAGE",e)}invokeSubscribeEvent(e){var t;const{topic:r,error:n}=e.header;s.LoggerClient.system.info("RouterClient: PubSub subscribe","TOPIC",r);let i=this.mapPubSubResponders[r];if(!i)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(r)){i=this.mapPubSubResponders[e],this.mapPubSubResponderState[r]=null!==(t=this.mapPubSubResponderState[r])&&void 0!==t?t:this.mapPubSubResponderState[e];break}if(i)if(n)s.LoggerClient.system.warn(`RouterClient: pubsub error received from router service: ${n}`,e);else if(i.subscribeCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToSubscriber:(t,r)=>{this.sendNotifyToSubscriber(e,t,r)}});e.data=this.mapPubSubResponderState[r],i.subscribeCallback(null,t)}else this.sendNotifyToSubscriber(e,null,this.mapPubSubResponderState[r]);else s.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming subscribe event",e)}invokeUnsubscribeEvent(e){const{topic:t,subscribeID:r}=e.header;let n=this.findResponder(t);if(!n)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(t)){n=this.mapPubSubResponders[e];break}if(n)if(s.LoggerClient.system.info("RouterClient: incoming unsubscribe "+(n.unsubscribeCallback?"with unsubscribeCallback hook":""),"TOPIC",t,"UNSUBSCRIBE MESSAGE",e),n.unsubscribeCallback){const i=Object.assign(Object.assign({},e),{removeSubscriber:()=>{this.removeSubscribers(t,r)}});n.unsubscribeCallback(null,i)}else this.removeSubscribers(t,r);else s.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming unsubscribe event","TOPIC",t,"UNSUBSCRIBE MESSAGE",e)}sendNotifyToSubscriber(e,t,r){const{topic:n,subscribeID:i}=e.header;if(void 0!==r){let e={header:{origin:this.clientName,type:"notify",topic:n,subscribeID:i},data:r};t&&(e.header.error=t),this.sendToRouterService(e)}t?s.LoggerClient.system.warn("RouterClient: incoming subscription rejected by pubsub responder","TOPIC",n,"MESSAGE",this):(n in this.pubsubListOfSubscribers?this.pubsubListOfSubscribers[n].push(i):this.pubsubListOfSubscribers[n]=[i],s.LoggerClient.system.info("RouterClient: incoming subscription added","TOPIC",n,"MESSAGE"))}removeSubscribers(e,t){let r=!1;if(e in this.pubsubListOfSubscribers){const n=this.pubsubListOfSubscribers[e];for(let i=0;i<n.length;i++)if(t===n[i]){n.splice(i,1),0===n.length&&delete this.pubsubListOfSubscribers[e],r=!0,s.LoggerClient.system.info("RouterClient: PubSub removeListener","TOPIC",e,"FROM",t);break}}r||s.LoggerClient.system.warn(`RouterClient: tried to remove non-existent listener on ${e} from ${t}`)}routeIncomingMessage(e){const t=()=>{this.timeCalibrationHandler?this.timeCalibrationHandler(e):setTimeout((()=>{t()}),10)};switch(s.LoggerClient.system.verbose("Incoming Message Type",e.header.type,e),e.header.type){case"transmit":this.invokeListeners(e);break;case"query":this.invokeResponder(e);break;case"queryResponse":this.invokeQueryResponse(e);break;case"notify":this.invokeNotifyCallback(e);break;case"publish":this.invokePublishEvent(e);break;case"subscribe":this.invokeSubscribeEvent(e);break;case"unsubscribe":this.invokeUnsubscribeEvent(e);break;case"timeCalibration":t();break;case"initialHandshakeResponse":this.handshakeHandler()}}asyncConnectToEventRouter(e,t,r){s.LoggerClient.system.debug(`Name of transport to establish: ${t}`);let n=null,a=0,l=!1,c=0,u=null;const d=()=>{s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient: sendHandshake",a);const t={header:{origin:this.clientName,type:"initialHandshake"}};this.sendToRouterService(t),a++>50&&(()=>{if(clearInterval(n),c++,c<=3)s.LoggerClient.console.error("WINDOW LIFECYCLE:STARTUP:RouterClient: failure to connect to router service. Retrying...",c,e),null==u||u();else{const t="A cross domain transport has failed to connect. Cross domain components may not work. Please contact your administrator.";s.LoggerClient.console.error(t,e),(0,o.toast)("dev","ONCE-SINCE-STARTUP","FSBL-Internal-Transport-Failure",t)}})()},f=()=>{if(!l){s.LoggerClient.system.debug(`WINDOW LIFECYCLE:STARTUP:RouterClient connected: Starting ${this.clientName} with transport ${this.transport.identifier()}`),l=!0,clearInterval(n);for(let e=0;e<this.queue.length;e++){s.LoggerClient.system.debug("RouterClient: releasing queued msg");const t=this.queue[e];this.transport.send(Object.assign(Object.assign({},t),{header:Object.assign(Object.assign({},t.header),{origin:this.clientName})}))}null==r||r()}},p=e=>{a=0,s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:transport ready","TRANSPORT OBJECT",e),this.transport=e,this.handshakeHandler=f,d(),n=setInterval(d,200)};u=()=>{s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:getClientTransport","ROUTER PARAMS:",e),i.default.getTransport(e,t,((e,t)=>{t.header.lastClient=this.clientName,t.header.incomingTransportInfo=e,this.routeIncomingMessage(t)}),this.clientName,"RouterService").then(p).catch((e=>{s.LoggerClient.console.error("RouterClient getTransport error",e)}))},u()}addPubSubResponderCallBack(e,t,r,n){const i=e.toString();return!this.mapPubSubResponders[i]&&(e instanceof RegExp&&(this.mapPubSubResponderRegEx[i]=e,s.LoggerClient.system.info(`RouterClient: PubSub RegEx added for topic ${i}`)),this.mapPubSubResponders[i]={subscribeCallback:t,publishCallback:r,unsubscribeCallback:n},!0)}calibrateTimeWithRouterService(e){let t=0,r=0,n=1/0;const i={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:[],serviceBaseTime:[]};this.timeCalibrationHandler=i=>{if(t++,t>5)(t=>{const{clientBaseTime:i,serviceBaseTime:o}=t;let a=0;for(let e=1;e<5;e++){const t=i[e-1],l=i[e]-t,c=o[e-1]-(t+l/2);l<n&&(n=l,r=c),a+=c,s.LoggerClient.system.debug("calibrationCalculation Intermediate Values","lastRRT",l,"lastOffset",c,"fastestOffset",r,"fastestRRT",n)}a/=4,s.LoggerClient.system.debug("RouterClient calibrationCalculation","Average Offset",a,"Chosen FastestOffset",r,t),e(r)})(i);else{i.clientBaseTime.push(l.Performance.timing.navigationStart+l.Performance.now());const e={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:i.clientBaseTime,serviceBaseTime:i.serviceBaseTime};this.sendToRouterService(e)}},this.timeCalibrationHandler(i)}start(e){return new Promise((async t=>{if(this.started){const e="RouterClient.start() called twice. Ignoring second call.";return s.LoggerClient.system.warn(e),t(e)}this.started=!0,this.clientName=`RouterClient.${e.windowName}.${(0,u.default)()}`;const r=`"RouterClient Check: connecting new client for ${this.clientName}`;s.LoggerClient.system.debug(r),console.debug(r),i.default.setTransports(),this.asyncConnectToEventRouter(e,e.transportName,(()=>{this.onReadyCallBack(),t(null)}))}))}disconnectFromService(){s.LoggerClient.system.info("RouterClient.disconnectFromService");const e={header:{origin:this.clientName,type:"disconnectFromService"}};this.sendToRouterService(e)}stop(){this.disconnectAll(),i.default.close(),this.started=!1,this.disconnectFromService()}onReady(e){return new Promise((t=>{const r=()=>{e&&e(),t()};this.isRouterReady?r():this.parentReadyCallbackQueue.push(r)}))}addListener(e,t){s.LoggerClient.system.info("RouterClient.addListener","CHANNEL",e);const r=this.mapListeners[e];if(r&&0!==r.length)r.some((e=>t===e))?s.LoggerClient.debug("RouterClient.addListener() Ignoring duplicate listener with identical callback",e,t):r.push(t);else{this.mapListeners[e]=[t];const r={header:{origin:this.clientName,type:"addListener",channel:e}};this.sendToRouterService(r)}return()=>{this.removeListener(e,t)}}transmit(e,t,r){s.LoggerClient.channelFilter(e)||s.LoggerClient.system.info("RouterClient.transmit","TO CHANNEL",e,"DATA",t);const n={header:{origin:this.clientName,type:"transmit",channel:e},data:t,options:r};this.sendToRouterService(n)}removeListener(e,t){if(s.LoggerClient.system.info("RouterClient.removeListener","CHANNEL",e,"EVENT HANDLER",t),!this.mapListeners[e])return s.LoggerClient.system.debug("Attempt to remove non existent listener",e,t),void console.log("Attempt to remove non existent listener",e,t);if(this.mapListeners[e]=this.mapListeners[e].flatMap((e=>e===t?[]:[e])),!this.mapListeners[e].length){delete this.mapListeners[e];const t={header:{origin:this.clientName,type:"removeListener",channel:e}};this.sendToRouterService(t)}}addResponder(e,t){if(s.LoggerClient.system.info("RouterClient.addResponder","CHANNEL",e),this.mapQueryResponders[e]){const r=`RouterClient.addResponder: Responder already locally defined for channel ${e}`;s.LoggerClient.system.warn(r),t(r)}else{this.mapQueryResponders[e]=t;const r={header:{origin:this.clientName,type:"addResponder",channel:e}};this.sendToRouterService(r)}}query(e,t,r,n){var i,o;const c=`${this.clientName}.${(0,u.default)()}.${e}`,d=l.Performance.timing.navigationStart+l.Performance.now(),f=l.Performance.timing.navigationStart,p=l.Performance.now();s.LoggerClient.system.info("RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",r,"QUERY ID",c,{timestamp:d,navstart:f,timenow:p});const h=null!=n?n:"function"==typeof r?r:null,g=null!==(i=null==r?void 0:r.timeout)&&void 0!==i?i:2e4,m=null===(o=null==r?void 0:r.logWhenNoResponder)||void 0===o||o;return new Promise((r=>{this.mapQueryResponses[c]=(e,t)=>{null==h||h(e,t),r({err:e,response:t})},!a.Globals.runningInFSBLUnitTest&&g>0&&(this.mapQueryResponseTimeOut[c]=setTimeout((()=>{s.LoggerClient.system.warn(`RouterClient: timeout after ${g} ms waiting on query response on channel ${e} for queryID ${c}`),delete this.mapQueryResponseTimeOut[c]}),g));const n={header:{origin:this.clientName,type:"query",queryID:c,channel:e,logWhenNoResponder:m},data:t};this.sendToRouterService(n)}))}removeResponder(e){if(s.LoggerClient.system.info("RouterClient.removeResponder","RESPONDER CHANNEL",e),this.mapQueryResponders[e]){delete this.mapQueryResponders[e];const t={header:{origin:this.clientName,type:"removeResponder",channel:e}};this.sendToRouterService(t)}}addPubSubResponder(e,t,r,n){let i,o;if(s.LoggerClient.system.info("RouterClient.addPubSubResponder","TOPIC",e,"INITIAL STATE",t,"PARAMS",r),void 0===(r=r||{}).subscribeCallback&&void 0===r.publishCallback&&void 0===r.unsubscribeCallback){t=t||{};const r={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!0},data:t};this.sendToRouterService(r),o="success"}else if(this.addPubSubResponderCallBack(e,r.subscribeCallback,r.publishCallback,r.unsubscribeCallback)){t=t||{},this.mapPubSubResponderState[e.toString()]=d(t);const r={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!1},data:t};this.sendToRouterService(r),o="success"}else i=`RouterClient.addPubSubResponder: Responder already locally defined for topic ${e}`,s.LoggerClient.system.error(i);n&&n(i,o)}removePubSubResponder(e){s.LoggerClient.system.info("RouterClient.removePubSubResponder","TOPIC",e);const t=e.toString();if(this.mapPubSubResponders[t]){delete this.mapPubSubResponders[t],delete this.mapPubSubResponderState[t],delete this.mapPubSubResponderRegEx[t];const r={header:{origin:this.clientName,type:"removePubSubResponder",topic:e}};this.sendToRouterService(r)}else s.LoggerClient.system.warn(`RouterClient.removePubSubResponder failed: Could not find responder for topic ${e}`)}subscribe(e,t){s.LoggerClient.system.info("RouterClient.subscribe","TOPIC",e);const r=`${this.clientName}.${(0,u.default)()}`;this.mapSubscribersID[r]=t,this.mapSubscribersTopic[r]=e;const n={header:{origin:this.clientName,type:"subscribe",subscribeID:r,topic:e}};return this.sendToRouterService(n),{subscribeID:r,topic:e}}publish(e,t){s.LoggerClient.system.info("RouterClient.publish","TOPIC",e,"EVENT",t);const r={header:{origin:this.clientName,type:"publish",topic:e},data:t};this.sendToRouterService(r)}unsubscribe(e){s.LoggerClient.system.info("RouterClient.unsubscribe","SUBSCRIBE ID",e);const{subscribeID:t}=e;if(this.mapSubscribersID[t]){delete this.mapSubscribersID[t],delete this.mapSubscribersTopic[t];const r={header:{origin:this.clientName,type:"unsubscribe",subscribeID:e.subscribeID,topic:e.topic}};this.sendToRouterService(r)}else s.LoggerClient.system.warn(`RouterClient.unsubscribe: Could not find subscribeID for topic ${e.topic}`)}trustedMessage(e){let t=!1;return s.LoggerClient.system.debug("RouterClient.trustedMessage header",e.header),"SharedWorker"===e.header.originIncomingTransportInfo.transportID&&(t=!0),t}disconnectAll(){s.LoggerClient.system.info("RouterClient.disconnectAll"),Object.keys(this.mapListeners).forEach((e=>{Array.from(new Set(this.mapListeners[e])).forEach((t=>{this.removeListener(e,t)}))})),Object.keys(this.mapQueryResponders).forEach((e=>{this.removeResponder(e)})),Object.keys(this.mapPubSubResponders).forEach((e=>{this.removePubSubResponder(e)})),Object.keys(this.mapSubscribersID).forEach((e=>{const t=this.mapSubscribersTopic[e];this.unsubscribe({topic:t,subscribeID:e})}))}}t.RouterConnection=f,t.RouterController={start:e=>{const t=(0,c.singleton)("RouterClient",f);return s.LoggerClient.setRouterClient(t),t.start(e)},stop:()=>{(0,c.singleton)("RouterClient",f).stop()},calibrateTimeWithRouterService(e){(0,c.singleton)("RouterClient",f).calibrateTimeWithRouterService(e)}},t.onReady=e=>(0,c.singleton)("RouterClient",f).onReady(e),t.addListener=(e,t)=>(0,c.singleton)("RouterClient",f).addListener(e,t),t.transmit=(e,t,r)=>{(0,c.singleton)("RouterClient",f).transmit(e,t,r)},t.removeListener=(e,t)=>{(0,c.singleton)("RouterClient",f).removeListener(e,t)},t.addResponder=(e,t)=>{(0,c.singleton)("RouterClient",f).addResponder(e,t)},t.query=(e,t,r,n)=>(0,c.singleton)("RouterClient",f).query(e,t,r,n),t.removeResponder=e=>{(0,c.singleton)("RouterClient",f).removeResponder(e)},t.addPubSubResponder=(e,t,r,n)=>{(0,c.singleton)("RouterClient",f).addPubSubResponder(e,t,r,n)},t.removePubSubResponder=e=>{(0,c.singleton)("RouterClient",f).removePubSubResponder(e)},t.subscribe=(e,t)=>(0,c.singleton)("RouterClient",f).subscribe(e,t),t.publish=(e,t)=>{(0,c.singleton)("RouterClient",f).publish(e,t)},t.unsubscribe=e=>{(0,c.singleton)("RouterClient",f).unsubscribe(e)},t.trustedMessage=e=>(0,c.singleton)("RouterClient",f).trustedMessage(e),t.disconnectAll=()=>{(0,c.singleton)("RouterClient",f).disconnectAll()},t.calibrateTimeWithRouterService=e=>{(0,c.singleton)("RouterClient",f).calibrateTimeWithRouterService(e)},t.RouterClient={onReady:t.onReady,addListener:t.addListener,transmit:t.transmit,removeListener:t.removeListener,addResponder:t.addResponder,query:t.query,removeResponder:t.removeResponder,addPubSubResponder:t.addPubSubResponder,removePubSubResponder:t.removePubSubResponder,subscribe:t.subscribe,publish:t.publish,unsubscribe:t.unsubscribe,trustedMessage:t.trustedMessage,disconnectAll:t.disconnectAll,calibrateTimeWithRouterService:t.calibrateTimeWithRouterService},t.default=t.RouterClient},10449: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.SearchClient=t.invokeProviderAction=t.invokeItemAction=t.search=t.unregister=t.register=void 0;const i=r(2518),o=r(10166),s=r(51848),a=r(7860),l=n(r(84795));i.Logger.system.debug("Starting searchClient");class c{constructor(){this.searchId=null,this.resultsCallback=null,this.providers={},this.resultProviders={},this.searchResultsList=[],this.isSearching=!1}}const u=()=>(0,a.singleton)("SearchClient",c),d=(e,t)=>{var r;const n=u();t.data.searchId&&t.data.searchId==n.searchId&&(n.resultProviders[t.data.provider.channel]=t.data,n.searchResultsList.push(t.data),null===(r=n.resultsCallback)||void 0===r||r.call(n,null,n.searchResultsList))};t.register=async(e,t)=>{if(!e.name){const e='"name" is required in params';return null==t||t(e),{err:e}}if(!e.searchCallback){const e='"searchCallback" is required in params';return null==t||t(e),{err:e}}await l.default.waitForStartup("searchService");const{windowName:r}=o.Startup.getInstance().getStartupData(),n=u(),{name:a,providerActionCallback:c,itemActionCallback:d,searchCallback:f}=e,p=`${r}.${a}`,{err:h,response:g}=await s.RouterClient.query("Search.register",{name:a,channel:p,providerActionTitle:e.providerActionTitle,providerActionCallback:!!e.providerActionCallback});if(h)return null==t||t(h),{err:h};n.providers[a]=a,s.RouterClient.addResponder(`Search.Provider.${p}`,((e,t)=>{!e&&t&&f(t.data,((e,r)=>{t.sendQueryResponse(e,r)}))})),d&&((e,t)=>{s.RouterClient.addResponder(`Search.Provider.ItemAction.${e}`,((r,n)=>{!r&&n?t(n.data,n.data.windowName,((e,t)=>{n.sendQueryResponse(e,t)})):i.Logger.system.error(`SearchClient error registering responder for "Search.Provider.ItemAction.${e}"`,r)}))})(p,d),c&&((e,t)=>{s.RouterClient.addResponder(`Search.Provider.Action.${e}`,((r,n)=>{!r&&n?t(n.data.windowName,((e,t)=>{n.sendQueryResponse(e,t)})):i.Logger.system.error(`SearchClient error registering responder for "Search.Provider.Action.${e}"`,r)}))})(p,c);const{data:m}=g;return null==t||t(null,m),{data:m}},t.unregister=async(e,t)=>{if(!e.name)return null==t?void 0:t("Provider name was not provided");const{windowName:r}=o.Startup.getInstance().getStartupData(),n=`${r}.${e.name}`;await s.RouterClient.query("Search.unregister",{channel:n});const i=u();s.RouterClient.removeResponder(`Search.Provider.${n}`),s.RouterClient.removeResponder(`Search.Provider.ItemAction.${n}`),s.RouterClient.removeResponder(`Search.Provider.Action.${n}`),delete i.providers[e.name],null==t||t()},t.search=async(e,t)=>{await l.default.waitForStartup("searchService");const r=u(),{windowName:n}=o.Startup.getInstance().getStartupData();r.isSearching||(s.RouterClient.addPubSubResponder(`Search.${n}`),s.RouterClient.subscribe(`Search.${n}`,d),r.isSearching=!0),r.searchResultsList=[],e.windowName=n;const{err:i,response:a}=await s.RouterClient.query("Search.search",e);if(i)return t(i);r.resultsCallback=t,r.searchId=a.data.searchId},t.invokeItemAction=(e,t)=>{s.RouterClient.query(`Search.Provider.ItemAction.${e.provider}`,{item:e,action:t,windowName:o.Startup.getInstance().currentStartupData.windowName})},t.invokeProviderAction=e=>{s.RouterClient.query(`Search.Provider.Action.${e.channel}`,{windowName:o.Startup.getInstance().currentStartupData.windowName})},t.SearchClient={initialize:()=>{i.Logger.system.deprecated("It is no longer necessary to call SearchClient.initialize()")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call SearchClient.onReady()"),null==e||e()},invokeProviderAction:t.invokeProviderAction,invokeItemAction:t.invokeItemAction,search:t.search,unregister:t.unregister,register:t.register},t.default=t.SearchClient},95085: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=t.clearCache=t.deleteInner=t.remove=t.getMultiple=t.keys=t.get=t.getStandardized=t.save=t.setStore=t.setUser=void 0;const i=r(2518),o=r(23099),s=r(51848),a=n(r(84795)),l=(0,n(r(83027)).default)(1),c=(e,...t)=>{(e?i.Logger.system.error:i.Logger.system.info)(...t,e)};t.setUser=async(e,t)=>{await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.setUser",{user:e.user});return c(r,"APPLICATION LIFECYCLE:StorageClient.setUser",e,r,n.data),null==t||t(r),{err:r}},t.setStore=async(e,t)=>{i.Logger.deprecated("StorageClient.setStore() has been deprecated and will be removed in a future release"),i.Logger.system.log("APPLICATION LIFECYCLE:StorageClient.setStore",e,t),await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.setStore",e);return c(r,"Storage.setStore",n),null==t||t(r,n.data),{err:r,data:n.data}},t.save=async(e,t)=>{if("string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.save",e);if(c(r,"Storage.save",n.data),null==t||t(r,n.data),r)throw r;return{err:r,data:n.data}},t.getStandardized=async(e,t)=>{if("string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.get",e);return c(r,"Storage.get",n.data),null==t||t(r,n.data),{err:r,data:n.data}},t.get=async(e,r)=>{const{err:n,data:i}=await(0,t.getStandardized)(e);if(null==r||r(n,i),n)throw n;return i},t.keys=async(e,t)=>{i.Logger.system.debug("StorageClient.keys",e,t),await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.keys",e);return c(r,"Storage.keys",n.data),null==t||t(r,n.data),{err:r,data:n.data}},t.getMultiple=async(e,t)=>{i.Logger.deprecated("StorageClient.getMultiple() is deprecated and will be removed in a future release"),i.Logger.system.info("StorageClient.getMultiple",e,t),await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.getMultiple",e);return c(r,"StorageClient.getMultiple:",e,n),null==t||t(r,n),{err:r,data:n.data}},t.remove=async(e,t)=>{await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.delete",e);if(c(r,"StorageClient.delete",n.data),null==t||t(r,n.data),r)throw r;return{err:r,data:n.data}},t.deleteInner=(...e)=>{i.Logger.deprecated("StorageClient.delete() is deprecated and will be removed in a future release"),t.remove.apply(e)},t.clearCache=async e=>{i.Logger.system.log("StorageClient.clearCache",e),await a.default.waitForStartup("storageService");const{err:t,response:r}=await s.RouterClient.query("Storage.clearCache",null);return c(t,"StorageClient.clearCache",r.data),null==e||e(t,r.data),{err:t,data:r.data}},t.StorageClient={initialize:()=>{i.Logger.system.deprecated("It is no longer necessary to call StorageClient.initialized()")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call StorageClient.onReady()"),null==e||e()},clearCache:t.clearCache,remove:t.remove,getMultiple:t.getMultiple,keys:t.keys,getStandardized:t.getStandardized,get:t.get,save:t.save,setStore:t.setStore,setUser:t.setUser,delete:t.deleteInner,remove1:e=>{i.Logger.deprecated("StorageClient.remove1() is deprecated and will be removed in a future release"),l((()=>(0,t.remove)(e)))},get1:(e,r)=>(i.Logger.deprecated("StorageClient.get1() is deprecated and will be removed in a future release"),l((()=>(0,t.get)(e,r)))),save1:e=>{i.Logger.deprecated("StorageClient.save1() is deprecated and will be removed in a future release"),l((()=>(0,t.save)(e)))},keys1:e=>(i.Logger.deprecated("StorageClient.keys1() is deprecated and will be removed in a future release"),l((()=>(0,o.promisify)(t.keys)(e))))},t.default=t.StorageClient},97525: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.WindowClient=t.fitToDOM=t.showAtMousePosition=t.stopTilingOrTabbing=t.sendIdentifierForTilingOrTabbing=t.cancelTilingOrTabbing=t.stopMovingWindow=t.startMovingWindow=t.startTilingOrTabbing=t.setShape=t.getBounds=t.getWindowIdentifier=t.getCurrentWindow=t.getSpawnData=t.ejectFromGroup=t.formGroup=t.getWindowNameForDocking=t.removeComponentState=t.setComponentState=t.getComponentState=t.setTaskbarIconOverlay=t.restore=t.setAlwaysOnTop=t.bringWindowToFront=t.bringToFront=t.minimize=t.maximize=t.getWindowTitle=t.close=t.getControllerInstance=void 0;const i=r(49136),o=r(91374),s=r(2518),a=r(51848),l=r(44137),c=r(23099),u=r(94017),d=r(24137),f=r(59273),p=r(7860),h=n(r(84795)),g=r(83823);class m{constructor(){this.options={},this.title=null,this.windowGroups=[],this.commandChannel=void 0}groupUpdateHandler(e,t){e?s.Logger.error(e):t.data&&t.data.groupData&&(this.windowGroups=Object.values(t.data.groupData).filter((e=>e.windowNames.includes((0,d.deprecatedGetWindowNameForDocking)(l.FEAGlobals.finsembleWindow)))))}updateHeaderState(e,t){var r;null===(r=this.commandChannel)||void 0===r||r.call(this,e,t)}setStartupData(e){this.options=e}async start(){await h.default.waitForStartup("windowService"),a.RouterClient.subscribe("Finsemble.WorkspaceService.groupUpdate",((e,t)=>this.groupUpdateHandler(e,t))),l.FEAGlobals.finsembleWindow.addEventListener("maximized",(()=>{this.updateHeaderState("Maximize",{hide:!0})})),l.FEAGlobals.finsembleWindow.addEventListener("restored",(()=>{this.updateHeaderState("Maximize",{hide:!1})})),l.FEAGlobals.finsembleWindow.addEventListener("blurred",(()=>{(0,d.deprecatedSetActive)(!1)})),l.FEAGlobals.finsembleWindow.addEventListener("focused",(()=>{(0,d.deprecatedSetActive)(!0)}))}}t.getControllerInstance=()=>(0,p.singleton)("WindowClient",m),t.close=(e,t)=>{e||(e={removeFromWorkspace:!0,closeWindow:!0});const{parentWindow:r}=l.FEAGlobals.finsembleWindow;return e.userInitiated&&r?r.close(e,t):l.FEAGlobals.finsembleWindow.close(e,t)},t.getWindowTitle=()=>(0,t.getControllerInstance)().title,t.maximize=e=>l.FEAGlobals.finsembleWindow.maximize(null,e),t.minimize=e=>l.FEAGlobals.finsembleWindow.minimize(null,e),t.bringToFront=e=>l.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e),t.bringWindowToFront=e=>{s.Logger.system.deprecated("WindowClient.bringWindowToFront() has been deprecated. Please use WindowClient.bringToFront() which returns a promise."),l.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e)},t.setAlwaysOnTop=(e,t)=>l.FEAGlobals.finsembleWindow.setAlwaysOnTop({alwaysOnTop:e},t),t.restore=e=>l.FEAGlobals.finsembleWindow.restore(null,e),t.setTaskbarIconOverlay=e=>{l.FEAGlobals.fin.desktop.Window.setTaskbarIconOverlay({iconURL:e})};const y=async e=>{if((null==e?void 0:e.windowName)&&(null==e?void 0:e.windowName.length)>0){const{wrap:t}=await g.FinsembleWindow.getInstance({name:e.windowName});return t}return l.FEAGlobals.finsembleWindow};t.getComponentState=async(e,t)=>new Promise((async r=>{e||(e={}),e.fields&&!Array.isArray(e.fields)&&(e.fields=[e.fields]),(await y(e)).getComponentState(e,((e,n)=>{null==t||t(e,n),r({err:e,data:n})}))})),t.setComponentState=async(e,t)=>new Promise((async r=>{(await y(e)).setComponentState(e,(e=>{null==t||t(e),r({err:e})}))})),t.removeComponentState=async(e,t)=>new Promise((async r=>{(await y(e)).removeComponentState(e,(e=>{null==t||t(e),r({err:e})}))})),t.getWindowNameForDocking=()=>(s.Logger.deprecated("WindowClient.getWindowNameForDocking is deprecated and will be removed"),(0,d.deprecatedGetWindowNameForDocking)(l.FEAGlobals.finsembleWindow)),t.formGroup=()=>{l.FEAGlobals.finsembleWindow.formGroup()},t.ejectFromGroup=()=>{s.Logger.deprecated("WindowClient.ejectFromGroup is deprecated and will be removed"),l.FEAGlobals.finsembleWindow.ejectFromGroup()};const v=e=>{const r=(0,t.getControllerInstance)();r.title=e,r.updateHeaderState("Main",{windowTitle:e}),l.FEAGlobals.finsembleWindow.setTitle(e)};t.getSpawnData=()=>{var e,r,n;return null!==(n=null===(r=null===(e=(0,t.getControllerInstance)().options)||void 0===e?void 0:e.customData)||void 0===r?void 0:r.spawnData)&&void 0!==n?n:{}},t.getCurrentWindow=()=>(s.Logger.log("WindowClient.getCurrentWindow() is deprecated and will be removed in a future release."),o.System.Window.getCurrent()),t.getWindowIdentifier=()=>{var e,r,n,i,o,s,a,c;const u=(0,t.getControllerInstance)();return{windowName:null!==(r=null===(e=l.FEAGlobals.finsembleWindow)||void 0===e?void 0:e.name)&&void 0!==r?r:window.name,uuid:null!==(i=null===(n=l.FEAGlobals.finsembleWindow)||void 0===n?void 0:n.uuid)&&void 0!==i?i:void 0,componentType:null!==(c=null===(a=null===(s=null===(o=u.options)||void 0===o?void 0:o.customData)||void 0===s?void 0:s.component)||void 0===a?void 0:a.type)&&void 0!==c?c:null}},t.getBounds=e=>l.FEAGlobals.finsembleWindow.getBounds(e),t.setShape=(e,t=Function.prototype)=>{l.FEAGlobals.finsembleWindow.setShape(e,t)},t.startTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.startTilingOrTabbing is deprecated and will be removed"),a.RouterClient.transmit("DockingService.startTilingOrTabbing",e),null==t||t()},t.startMovingWindow=e=>{o.System.Window.getCurrent().startMovingWindow(e)},t.stopMovingWindow=()=>{o.System.Window.getCurrent().stopMovingWindow()},t.cancelTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.cancelTilingOrTabbing is deprecated and will be removed"),console.debug("CancelTilingOrTabbing"),a.RouterClient.transmit("DockingService.cancelTilingOrTabbing",e),null==t||t()},t.sendIdentifierForTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.sendIdentifierForTilingOrTabbing is deprecated and will be removed"),a.RouterClient.transmit("DockingService.identifierForTilingOrTabbing",e),null==t||t()},t.stopTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.stopTilingOrTabbing is deprecated and will be removed");const r=()=>{a.RouterClient.query("DockingService.stopTilingOrTabbing",e,(()=>{null==t||t()})),a.RouterClient.transmit("DockingService.stopTilingOrTabbing",e)};e.mousePosition?(r(),e.allowDropOnSelf||null==t||t()):o.System.getMousePosition(((n,i)=>{e.mousePosition=i,r(),e.allowDropOnSelf||null==t||t()}))},t.showAtMousePosition=()=>{a.RouterClient.transmit("DockingService.showAtMousePosition",(0,t.getWindowIdentifier)())},t.fitToDOM=async(e,t)=>{var r,n,i,o,c,d,f,p,h,g;"function"==typeof e&&(t=e,e=null);const m=null!==(n=null===(r=null==e?void 0:e.padding)||void 0===r?void 0:r.height)&&void 0!==n?n:0,y=null!==(o=null===(i=null==e?void 0:e.padding)||void 0===i?void 0:i.width)&&void 0!==o?o:0,{data:v}=await l.FEAGlobals.finsembleWindow.getBounds();if(!v)return;const{data:w}=await(0,u.getWhichMonitorClientSide)(a.RouterClient,{}),b=null!==(d=null===(c=null==w?void 0:w.availableRect)||void 0===c?void 0:c.height)&&void 0!==d?d:1/0,S=null!==(p=null===(f=null==w?void 0:w.availableRect)||void 0===f?void 0:f.width)&&void 0!==p?p:1/0,C=v.height-window.innerHeight,_=window.innerWidth-document.getElementsByTagName("html")[0].clientWidth,k=window.innerHeight-document.getElementsByTagName("html")[0].clientHeight?1:0,E=document.documentElement.offsetHeight+m+C+k,L=document.documentElement.scrollWidth+y+_,T=Math.min(E,null!==(h=null==e?void 0:e.maxHeight)&&void 0!==h?h:E,b),A=Math.min(L,null!==(g=null==e?void 0:e.maxWidth)&&void 0!==g?g:L,S);s.Logger.system.debug("WindowClient.FitToDOM:newHeight:newWidth",T,A,e),v.width==A&&v.height==T||await l.FEAGlobals.finsembleWindow.setBounds({bounds:{left:v.left,top:v.top,width:A,height:T}}),null==t||t()},t.WindowClient={initialize:()=>{s.Logger.deprecated("There is no need to call WindowClient.initialize().")},onReady:e=>{s.Logger.system.deprecated("It is no longer necessary to call WindowClient.onReady()"),null==e||e()},addListeners:()=>{s.Logger.deprecated("Do not call WindowClient.addListeners() directly")},bringToFront:t.bringToFront,bringWindowToFront:t.bringWindowToFront,cacheInitialBounds:async()=>{s.Logger.deprecated("WindowClient.cacheInitialBounds() is deprecated and will be removed in a future version."),(0,f.cacheInitialBounds)()},cancelTilingOrTabbing:t.cancelTilingOrTabbing,close:t.close,ejectFromGroup:t.ejectFromGroup,fitToDOM:t.fitToDOM,formGroup:t.formGroup,getBounds:t.getBounds,getComponentState:t.getComponentState,getCurrentWindow:t.getCurrentWindow,getDesktopBoundingBox:async e=>(s.Logger.deprecated("WindowClient.getDesktopBoundingBox() is deprecated and will be removed in a future release."),(0,c.getDesktopBoundingBox)(e)),getMonitorInfo:async(e={},t)=>(s.Logger.deprecated("WindowClient.getMonitorInfo() is deprecated and will be removed. Please use LauncherClient.getMonitorInfo()"),(0,u.getWhichMonitorClientSide)(a.RouterClient,e,t)),getSpawnData:t.getSpawnData,getStackedWindow:(e,t)=>{if(s.Logger.deprecated("WindowClient.getStackedWindow is deprecated and will be removed"),s.Logger.system.debug("WindowClient.getStackedWindow",e),t=t||e,(e=e||{}).windowIdentifiers=e.windowIdentifiers||[],!l.FEAGlobals.finsembleWindow.parentWindow&&e.create){const r=e=>{const{parentName:n}=e.data;l.FEAGlobals.finsembleWindow.setParent({windowName:n},((e,r)=>{null==t||t(e,r)})),l.FEAGlobals.finsembleWindow.removeListener("parent-set",r)};l.FEAGlobals.finsembleWindow.addListener("parent-set",r),i.LauncherClient.spawn("StackedWindow",{windowType:"StackedWindow",data:{windowIdentifiers:e.windowIdentifiers},options:{newStack:!0}},((e,r)=>{s.Logger.system.debug("WindowClient.getStackedWindow-success",e,r),e&&(null==t||t(e,null))}))}else l.FEAGlobals.finsembleWindow.getParent(t)},getWindowTitle:t.getWindowTitle,getWindowBounds:()=>(s.Logger.deprecated("WindowClient.getWindowBounds() is deprecated and will be removed in a future version."),{top:l.FEAGlobals.finsembleWindow.windowOptions.defaultTop,left:l.FEAGlobals.finsembleWindow.windowOptions.defaultLeft,width:l.FEAGlobals.finsembleWindow.windowOptions.defaultWidth,height:l.FEAGlobals.finsembleWindow.windowOptions.defaultHeight}),getWindowGroups:()=>(s.Logger.deprecated("getWindowGroups() is deprecated and will be removed in a future release."),(0,t.getControllerInstance)().windowGroups),getWindowNameForDocking:t.getWindowNameForDocking,getWindowIdentifier:t.getWindowIdentifier,headerCommandChannel:e=>{(0,t.getControllerInstance)().commandChannel=e},injectDOM:e=>{if(s.Logger.system.deprecated("WindowClient.injectDOM() has been deprecated and will be removed in a future release"),document.getElementById("FSBLHeader"))return;window.scrollTo(0,0);const t=document.createElement("div"),r=e?` style=height:${e}`:"";t.innerHTML=`<div id="FSBLHeader"${r}></div>`,t.firstChild&&document.body.insertBefore(t.firstChild,document.body.firstChild)},isMouseOverDOMElement:(e,t)=>(s.Logger.deprecated("WindowClient.isMouseOverDOMElement() is deprecated and will be removed in a future release."),(0,c.isMouseOverDOMElement)(e,t)),isPointInBox:(e,t)=>(s.Logger.deprecated("WindowClient.isPointInBox() is deprecated and will be removed in a future release."),(0,c.isPointInBox)(e,t)),maximize:t.maximize,minimize:t.minimize,removeComponentState:t.removeComponentState,restore:t.restore,retrieveMonitorDimensions:async e=>{s.Logger.deprecated("WindowClient.retrieveMonitorDimensions() is deprecated and will be removed in a future release.");const t=await(0,u.getMonitor)();l.FEAGlobals.finsembleWindow.updateOptions({options:{monitorDimensions:t.monitorRect}}),null==e||e(t.monitorRect)},saveWindowBounds:(e,t)=>{if(s.Logger.system.debug("WINDOW LIFECYCLE:SavingBounds:",e,"setActiveWorkspaceDirty",t),void 0===t&&(t=!1),e){l.FEAGlobals.finsembleWindow.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{l.FEAGlobals.finsembleWindow.windowOptions.customData.foreign.components["Window Manager"].persistWindowState}catch(e){}}},sendIdentifierForTilingOrTabbing:t.sendIdentifierForTilingOrTabbing,setActive:e=>{s.Logger.deprecated("WindowClient.setActive is deprecated and will be removed"),(0,d.deprecatedSetActive)(e)},setAlwaysOnTop:t.setAlwaysOnTop,setComponentState:t.setComponentState,setShape:t.setShape,setTaskbarIconOverlay:t.setTaskbarIconOverlay,setWindowTitle:e=>{s.Logger.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."),v(e)},setWindowTitlePrivate:v,showAtMousePosition:t.showAtMousePosition,stopTilingOrTabbing:t.stopTilingOrTabbing,startMovingWindow:t.startMovingWindow,startTilingOrTabbing:t.startTilingOrTabbing,stopMovingWindow:t.stopMovingWindow,get options(){return(0,t.getControllerInstance)().options},set options(e){(0,t.getControllerInstance)().options=e},get title(){return(0,t.getControllerInstance)().title},set title(e){(0,t.getControllerInstance)().title=e},get windowGroups(){return(0,t.getControllerInstance)().windowGroups},set windowGroups(e){(0,t.getControllerInstance)().windowGroups=e},get commandChannel(){return(0,t.getControllerInstance)().commandChannel},set commandChannel(e){(0,t.getControllerInstance)().commandChannel=e}},t.default=t.WindowClient},2740: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.WorkspaceClient=t.autoArrange=t.minimizeAll=t.bringWindowsToFront=t.exportToFile=t.importWorkspace=t.exportWorkspace=t.createWorkspace=t.isWorkspaceDirty=t.setWindowState=t.switchTo=t.saveAs=t.save=t.rename=t.remove=t.setWorkspaceOrder=t.getWorkspaceNames=t.getWorkspaceActions=t.getWorkspaces=t.getActiveWorkspace=t.removeEventListener=t.addEventListener=t.getControllerInstance=t.WorkspaceClientController=void 0;const i=r(2518),o=r(26604),s=r(64324),a=r(51848),l=n(r(9060)),c=r(7860),u=r(31755),d=r(81064),f=n(r(9381));class p{constructor(){this.workspaces=[],this.publicEventManager=new l.default({name:"workspaceClient",sourceType:"workspace"}),a.RouterClient.subscribe(o.WORKSPACE.UPDATE_PUBSUB,((e,t)=>{i.Logger.system.debug(`${o.WORKSPACE.UPDATE_PUBSUB} response`,e,t),e?i.Logger.system.error(e):(this.activeWorkspace=t.data.activeWorkspace,this.workspaces=t.data.workspaces)}))}}t.WorkspaceClientController=p,t.getControllerInstance=()=>(0,c.singleton)("WorkspaceClient",p);const h=(e,t,r,n,i)=>{if(e)return n(new Error(e)),null==i?void 0:i(e);t||(t={data:null}),r(t.data),null==i||i(null,t.data)};t.addEventListener=(e,r)=>{(0,t.getControllerInstance)().publicEventManager.addEventListener(e,r)},t.removeEventListener=(e,r)=>{(0,t.getControllerInstance)().publicEventManager.removeEventListener(e,r)},t.getActiveWorkspace=async e=>{var r;const n=(0,t.getControllerInstance)(),{activeWorkspace:s}=n;if(i.Logger.system.debug("WorkspaceClient.getActiveWorkspace"),s)return i.Logger.system.info("WorkspaceClient.getActiveWorkspace - returning from cache"),e&&e(null,{data:s}),{data:s};const{response:l}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE,{});if(n.activeWorkspace=l.data,l.data.err)throw e&&e(l.data.err),new Error(l.data.err);return e&&e(null,{data:null!==(r=l.data)&&void 0!==r?r:{}}),{data:l.data}},t.getWorkspaces=e=>(i.Logger.system.debug("WorkspaceClient.getWorkspaces"),new Promise((async(t,r)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_WORKSPACES,{},((n,i)=>{h(n,i,t,r,e)}))}))),t.getWorkspaceActions=e=>(null==e||e(null,o.WORKSPACE.API_CHANNELS),o.WORKSPACE.API_CHANNELS),t.getWorkspaceNames=e=>{i.Logger.system.debug("WorkspaceClient.getWorkspaceNames");const r=(0,t.getControllerInstance)(),{workspaces:n}=r;return n?(i.Logger.system.info("WorkspaceClient.getWorkspaceNames - returning from cache"),null==e||e(null,n),Promise.resolve(n)):new Promise((async(t,r)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_WORKSPACE_NAMES,{},((n,i)=>{h(n,i,t,r,e)}))}))},t.setWorkspaceOrder=(e,t)=>{const{workspaces:r}=e;return i.Logger.system.debug("WorkspaceClient.setWorkspaceOrder",e),new Promise(((n,i)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SET_WORKSPACE_ORDER,r||e,((e,r)=>{h(e,r,n,i,t)}))}))},t.remove=(e,r)=>(i.Logger.system.debug("WorkspaceClient.remove",e),new Promise((async(n,s)=>{var l;e.name||(e.name=null===(l=e.workspace)||void 0===l?void 0:l.name,delete e.workspace);const c=(await(0,t.getActiveWorkspace)()).data,{data:u}=await f.default.getValue("finsemble.servicesConfig.workspace.permanentWorkspaces");return u&&Array.isArray(u)&&u.includes(e.name)?(i.Logger.system.error(`APPLICATION LIFECYCLE: Cannot remove permanent workspace: WorkspaceClient.remove:attempt to remove permanent workspace name:${e.name}`),h("Cannot remove permanent workspace",null,n,s,r)):e.name===c.name?(i.Logger.system.error(`APPLICATION LIFECYCLE: Cannot remove active workspace: WorkspaceClient.remove:attempt to remove active workspace name:${c.name}`),h("Cannot remove active workspace",null,n,s,r)):void a.RouterClient.query(o.WORKSPACE.API_CHANNELS.REMOVE,e,((e,t)=>{h(e,t,n,s,r)}))})));const g=e=>(0,t.getControllerInstance)().workspaces.indexOf(e)>-1;t.rename=(e,t)=>(i.Logger.system.debug("WorkspaceClient.rename",e),new Promise(((r,n)=>{if(!e.overwriteExisting&&g(e.newName))return h("Workspace Already Exists",null,r,n,t);a.RouterClient.query(o.WORKSPACE.API_CHANNELS.RENAME,e,((e,i)=>{h(e,i,r,n,t)}))}))),t.save=e=>(i.Logger.system.debug("WorkspaceClient.save"),new Promise(((t,r)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SAVE,{},((n,i)=>{h(n,i,t,r,e)}))}))),t.saveAs=(e,t)=>(i.Logger.system.debug("WorkspaceClient.saveAs",e),new Promise(((r,n)=>e.name?!e.force&&e.name&&g(e.name)?h("Workspace Already Exists",null,r,n,t):void a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SAVE_AS,e,((e,i)=>{h(e,i,r,n,t)})):h("Invalid arguments. The required name parameter is missing.",null,r,n,t)))),t.switchTo=async(e,t)=>{i.Logger.system.debug("WorkspaceClient.switchTo",e);const{err:r,response:n}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SWITCH_TO,e);if(r)throw t&&t(r),new Error(r.toString());return t&&t(r,n.data),{data:n.data}},t.setWindowState=async e=>{var r,n;const s=(0,t.getControllerInstance)(),{activeWorkspace:l}=s;if(!l)throw"Workspace is not yet ready";if(!l.windows.includes(e.windowName))throw"Cannot set state for Window not in workspace";i.Logger.system.debug("WorkspaceClient.setWindowData",e);const{response:c}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SET_WINDOW_STATE,e);return Object.assign(Object.assign({},c),{data:null!==(r=c.data)&&void 0!==r?r:{},header:null!==(n=c.header)&&void 0!==n?n:{}})},t.isWorkspaceDirty=async e=>{i.Logger.system.debug("WorkspaceClient.isWorkspaceDirty");const{err:t,response:r}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE_DIRTY,{},(()=>{}));return null==e||e(t,r),r.data},t.createWorkspace=async(e,r,n=((e,t)=>{e&&(i.Logger.system.error(`Error creating workspace: ${e}`),i.Logger.system.info(`Result from create workspace: ${t}`))}))=>{r=null!=r?r:{},i.Logger.system.log(`WorkspaceClient: Creating Workspace Request for name "${e}"`);const s=(await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.NEW_WORKSPACE,{workspaceName:e})).response.data;!1!==r.switchAfterCreation&&await(0,t.switchTo)({name:s});const l={workspaceName:s};return n(null,l),l},t.exportWorkspace=(e,t)=>(i.Logger.system.debug("WorkspaceClient.export",e),new Promise(((r,n)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.EXPORT,e,((i,o)=>{const s={};s[e.workspaceName]=o.data,h(i,{data:s},r,n,t)}))}))),t.importWorkspace=async(e,t)=>{i.Logger.system.debug("WorkspaceClient.import",e);const r=(await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.IMPORT,e)).response.data;if(r&&r.err)throw null==t||t(r.err),new Error(r.err);return null==t||t(null,r),r},t.exportToFile=e=>{i.Logger.system.info("workspaceClient.saveWorkspaceTemplateToConfigFile",e);const{workspaceTemplateDefinition:t}=e;if("object"==typeof t){const e=Object.keys(t)[0];if(e&&t[e].templateDefinitionFlag){const r={workspaceTemplates:t};s.ConfigUtilInstance.promptAndSaveJSONToLocalFile(`workspaceConfig-${e}`,r)}else i.Logger.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile. Input is not a legal template")}else i.Logger.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile: Input is not a legal object")};var m=r(31755);Object.defineProperty(t,"bringWindowsToFront",{enumerable:!0,get:function(){return m.bringAllWindowsToFront}}),Object.defineProperty(t,"minimizeAll",{enumerable:!0,get:function(){return m.minimizeAll}}),Object.defineProperty(t,"autoArrange",{enumerable:!0,get:function(){return m.autoArrange}}),t.WorkspaceClient={saveWorkspaceTemplateToConfigFile:e=>(i.Logger.system.deprecated("`WorkspaceClient.saveWorkspaceTemplateToConfigFile()` is deprecated and will be removed in a future release. Use WorkspaceClient.exportToFile()"),(0,t.exportToFile)(e)),addWorkspaceDefinition:(e,r)=>(i.Logger.system.deprecated("`WorkspaceClient.addWorkspaceDefinition()` is deprecated and will be removed in a future release. Use WorkspaceClient.importWorkspace()"),(0,t.importWorkspace)(e,r)),getWorkspaceDefinition:(e,r)=>(i.Logger.system.deprecated("`WorkspaceClient.getWorkspaceDefinition()` is deprecated and will be removed in a future release. Use WorkspaceClient.exportWorkspace()"),(0,t.exportWorkspace)(e,r)),createNewWorkspace:(e,r,n)=>(i.Logger.system.deprecated("`WorkspaceClient.createNewWorkspace()` is deprecated and will be removed in a future release. Use WorkspaceClient.createWorkspace()"),(0,t.createWorkspace)(e,r,n)),setWorkspaces:(e,r)=>(i.Logger.system.deprecated("`WorkspaceClient.setWorkspaces()` is deprecated and will be removed in a future release. Use WorkspaceClient.setWorkspaceOrder()"),(0,t.setWorkspaceOrder)(e,r)),initialize:()=>{i.Logger.system.deprecated("`It is no longer necessary to call WorkspaceClient.initialize().")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call WorkspaceClient.onReady()"),null==e||e()},removeWindow:(e,t)=>{i.Logger.system.deprecated("`WorkspaceClient.removeWindow()` is deprecated and will be removed in a future release."),(0,d.removeWindowReferenceFromActiveWorkspace)(e,t)},addWindow:(e,t)=>{i.Logger.system.deprecated("`WorkspaceClient.addWindow()` is deprecated and will be removed in a future release."),(0,d.addWindowReferenceToActiveWorkspace)(e,t)},get workspaces(){return(0,t.getControllerInstance)().workspaces},get activeWorkspace(){return(0,t.getControllerInstance)().activeWorkspace},export:t.exportWorkspace,import:t.importWorkspace,exportToFile:t.exportToFile,createWorkspace:t.createWorkspace,isWorkspaceDirty:t.isWorkspaceDirty,_getWindowState:async e=>{var t,r;i.Logger.system.deprecated("`WorkspaceClient._getWindowState()` is deprecated and will be removed in a future release. Use WorkspaceClient.getWorkspaces()"),i.Logger.system.debug("WorkspaceClient.getWindowData",e);const{response:n}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_WINDOW_STATE,e);return Object.assign(Object.assign({},n),{data:null!==(t=n.data)&&void 0!==t?t:{},header:null!==(r=n.header)&&void 0!==r?r:{}})},_setWindowState:e=>(i.Logger.system.deprecated("`WorkspaceClient._setWindowState()` is deprecated and will be removed in a future release. Use WorkspaceClient.getWorkspaces()"),(0,t.setWindowState)(e)),switchTo:t.switchTo,saveAs:t.saveAs,workspaceExists:e=>{i.Logger.system.deprecated("`WorkspaceClient.workspaceExists()` is deprecated and will be removed in a future release. Use WorkspaceClient.getWorkspaces()"),g(e)},save:t.save,rename:t.rename,remove:t.remove,setWorkspaceOrder:t.setWorkspaceOrder,getWorkspaceNames:t.getWorkspaceNames,getWorkspaceActions:t.getWorkspaceActions,getWorkspaces:t.getWorkspaces,getActiveWorkspace:t.getActiveWorkspace,bringWindowsToFront:u.bringAllWindowsToFront,minimizeAll:u.minimizeAll,autoArrange:u.autoArrange,addEventListener:t.addEventListener,removeEventListener:t.removeEventListener},t.default=t.WorkspaceClient},31755: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.bringAllWindowsToFront=t.minimizeAll=t.autoArrange=t.minimizeWindows=t.bringWindowsToFront=t.restartApplication=t.shutdownApplication=void 0;const i=r(51848),o=n(r(84795)),s=r(23099);t.shutdownApplication=()=>{i.RouterClient.transmit("Application.shutdown",{})},t.restartApplication=e=>{i.RouterClient.transmit("Application.restart",e||{})},t.bringWindowsToFront=async(e={},t=Function.prototype)=>(e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),await o.default.waitForStartup("windowService"),i.RouterClient.query("LauncherService.bringWindowsToFront",e,((e,r)=>{t(e,r)})),Promise.resolve()),t.minimizeWindows=async(e,t)=>{e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),await o.default.waitForStartup("windowService"),i.RouterClient.transmit("LauncherService.minimizeWindows",e),null==t||t()},t.autoArrange=async(e,t)=>{e=e||{},await o.default.waitForStartup("windowService");const r=await(0,s.getMyWindowIdentifier)(),{err:n}=await i.RouterClient.query("DockingService.autoArrange",{windowIdentifier:r});return null==t||t(n),{err:n}},t.minimizeAll=async(e,t)=>{var r;await o.default.waitForStartup("windowService");const n=await(0,s.getMyWindowIdentifier)();let a=null!=e?e:{monitor:"all"};a.windowIdentifier=null!==(r=a.windowIdentifier)&&void 0!==r?r:n;const{err:l}=await i.RouterClient.query("WorkspaceService.minimizeAll",a);return null==t||t(l),{err:l}},t.bringAllWindowsToFront=async(e,t)=>{var r;await o.default.waitForStartup("windowService");const n=await(0,s.getMyWindowIdentifier)(),a=null!=e?e:{monitor:"all"};a.windowIdentifier=null!==(r=a.windowIdentifier)&&void 0!==r?r:n;const{err:l}=await i.RouterClient.query("WorkspaceService.bringWindowsToFront",a);return null==t||t(l),{err:l}}},83823:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(51848),l=r(2518),c=o(r(23099)),u=s(r(9060)),d=r(26604),f=r(91374),p=r(44137),h=s(r(50361));class g{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)}}class m extends u.default{constructor(e){super({name:e.name,sourceType:"Window"}),this.types={},this.wrapState=e.wrapState||"initializing",this.componentState={},this.windowState=d.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=c.camelCase("activeWorkspace",this.name,this.name),this.windowKey=c.camelCase("activeWorkspace",this.name),m.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,r=!1){if("closed"!==e||!p.FEAGlobals.finsembleWindow||this.name!==p.FEAGlobals.finsembleWindow.name)return e=this.standardizeEventName(e),super.removeEventListener(e,t,r)}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 m(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=m;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 async createWrapFromUUIDAndName(e,t){var r;const{uuid:n,windowType:i}=t;if(!1!==t.waitForReady)try{await m._windowReady(e),t.wrapState="ready"}catch(e){return{err:e}}l.Logger.system.debug("WRAP LIFECYCLE:",e,"All information for wrap passed in, creating wrap locally");const o=m.cache[e];return o?(l.Logger.system.debug("WRAP LIFECYCLE:",e,"Window found in the cache, returning without going to the Launcher"),{data:o}):{data:(await m._createWrap(Object.assign(Object.assign({},t),{windowIdentifier:null!==(r=t.windowIdentifier)&&void 0!==r?r:{uuid:n,name:e,windowName:e,windowType:i}}))).wrap}}static getInstance(e,t){var r;const n=f.System.Window.getCurrent().name,i=null!==(r=null==(e=(0,h.default)(e))?void 0:e.windowName)&&void 0!==r?r:null==e?void 0:e.name;return new Promise((async(r,o)=>{if(!i){const e='"name" is a required param';return null==t||t(e),void o(e)}e.windowName=i;let s=m.cache[i];if(s)return l.Logger.system.debug("WRAP LIFECYCLE:",i,"Window found in the cache, returning without going to the Launcher"),null==t||t(null,s),void r({wrap:s});if(e.name){const{err:n,data:s}=await m.createWrapFromUUIDAndName(i,e);return n||!s?(null==t||t(n),void o(n)):(null==t||t(null,s),void r({wrap:s}))}if(!1!==e.waitForReady)try{await m._windowReady(i),e.wrapState="ready"}catch(c){return null==t||t(c,null),void o(c)}const{err:c,response:u}=await a.RouterClient.query("WindowService-Request-getWindowIdentifier",{windowName:i,requester:n});if(c)return l.Logger.system.error(c),null==t||t(c,null),void o(c);if(s=m.cache[i],s)return l.Logger.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher, but wrap exists in cache. Returning cached wrap."),null==t||t(null,s),void r({wrap:s});l.Logger.system.debug("WRAP LIFECYCLE:",i,"Information received from launcher. Creating wrap.");const{identifier:d}=u.data;d.windowName&&(d.name=d.windowName),e.retrievedIdentifier=d,({wrap:s}=await m._createWrap(e)),u.data.descriptor&&(s.descriptor=u.data.descriptor),null==t||t(null,s),r({wrap:s})}))}static _createWrap(e){return new Promise((async t=>{const r=e.retrievedIdentifier||e.windowIdentifier;(e.setWindowType||r.windowType)&&"WebApplication"!==r.windowType||(r.windowType="WebWindow");let n=Object.assign({},r);n=Object.assign(n,e),n.setWindowType=n.windowType,delete n.windowType,l.Logger.system.debug("WRAP LIFECYCLE: Placing wrap into the local cache.",r.windowName);let i=new m(n);m.cache[r.windowName]=i,i.windowType=r.windowType,i.identifier=r,i.addEventListener("closed",i.handleWrapRemoveRequest),i.addEventListener("maximized",(()=>{i.windowState=d.WINDOWSTATE.MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MAXIMIZED})),i.addEventListener("minimized",(()=>{i.windowState===d.WINDOWSTATE.MAXIMIZED?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED):i.windowState===d.WINDOWSTATE.NORMAL?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL):l.Logger.system.warn("Invalid window state received listening to window minimize",i.windowState)})),i.addEventListener("restored",(()=>{i.windowState=d.WINDOWSTATE.NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.NORMAL}));const o=a.RouterClient.subscribe(`Finsemble.Component.State.${r.windowName}`,((e,t)=>{if(e)l.Logger.system.error("Finsemble component state change error",e);else{const{state:e}=t.data;i.wrapState=e,a.RouterClient.unsubscribe(o)}}));await(async(e,t)=>new Promise((r=>{e.parentSubscribeID=a.RouterClient.subscribe(`Finsemble.parentChange.${t.windowName}`,(async(t,n)=>{if(t)l.Logger.system.error("FinsembleWindow parent change notification error",t);else{const t=n.data||{};"Added"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.addedToStack listener",t),await e.setParent(t.stackedWindowIdentifier)):"Exists"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: Parent already exists, checking if added to wrap",t),await e.setParentOnWrap(t.stackedWindowIdentifier)):"Removed"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.removedFromStack listener",t),e.clearParent()):t.type&&l.Logger.system.error("FinsembleWindow Parent Notification: unknown type",t)}r()}))})))(i,r),t({wrap:i})}))}static _getRemoveWrapChannel(e){return`${f.System.Window.getCurrent().name}.removeWrap.${e}`}async handleWrapRemoveRequest(e){e&&e.wait(),l.Logger.system.debug("WRAP Destructor. Removing cached window",this.name,"in ",window.name),this.removeListeners&&this.removeListeners(),this.cleanupRouter(),this.cleanup(),this.name!==p.FEAGlobals.name&&this.name&&delete m.cache[this.name],e&&e.done()}static closeAllWraps(){Object.values(m.cache).forEach((e=>{e.handleWrapRemoveRequest()}))}cleanupRouter(){const e=m._getRemoveWrapChannel(this.name);a.RouterClient.removeResponder(e),this.TITLE_CHANGED_SUBSCRIPTION&&a.RouterClient.unsubscribe(this.TITLE_CHANGED_SUBSCRIPTION),a.RouterClient.unsubscribe(this.parentSubscribeID)}onReady(e){return new Promise((t=>{if("ready"===this.wrapState)return null==e||e(),void t();this.addEventListener("ready",(()=>{null==e||e(),t()}))}))}queryWindowService(e,t,r=Function.prototype){return"function"==typeof t&&(r=t,t={}),t=Object.assign(Object.assign({},t),{windowIdentifier:this.identifier}),l.Logger.setting().system.Debug&&(t.callstack=l.Logger.callStack()),new Promise((async(n,i)=>{var o;if("close"!==e&&"setParent"!==e&&"ready"!==this.wrapState)return await this.onReady(),this.wrapState="ready",void n(await this.queryWindowService(e,t));l.Logger.system.debug("FinsembleWindow.queryWindowService",this.windowServiceChannelName(e),t);const{err:s,response:c}=await a.RouterClient.query(this.windowServiceChannelName(e),t);let u=null!==(o=c.data)&&void 0!==o?o:null;if(s){if(l.Logger.system.debug(`WindowService.${e}: failed`,s),console.debug(`WindowService.${e}: failed`,s),"getComponentState"!==e&&"Not found"!==s)return void i(s)}else l.Logger.system.debug(`${this.windowServiceChannelName(e)} successful`,u),console.debug(`${this.windowServiceChannelName(e)} successful`,u);n(u),r(s,u)}))}minimize(e=null,t){return new Promise((r=>{this.queryWindowService("minimize",e,(e=>{null==t||t(e),r({err:e})}))}))}maximize(e=null,t){return new Promise((r=>{this.getBounds(((n,i)=>{n||!i?l.Logger.system.warn(`Error getting bounds, cached bounds will not be set: ${n}`):this.updateOptions({options:{defaultLeft:i.left,defaultTop:i.top,defaultWidth:i.width,defaultHeight:i.height}}),this.queryWindowService("maximize",e,(e=>{null==t||t(e),r({err:e})}))}))}))}restore(e=null,t){return new Promise((r=>{this.queryWindowService("restore",e,(e=>{null==t||t(e),r({err:e})}))}))}blur(e=null,t){return new Promise((r=>{this.queryWindowService("blur",e,(e=>{null==t||t(e),r({err:e})}))}))}focus(e=null,t){return new Promise((r=>{this.queryWindowService("focus",e,(e=>{null==t||t(e),r({err:e})}))}))}bringToFront(e=null,t){return new Promise((r=>{this.queryWindowService("bringToFront",e,(e=>{null==t||t(e),r({err:e})}))}))}setAlwaysOnTop(e={alwaysOnTop:!0},t){return new Promise((r=>{this.queryWindowService("setAlwaysOnTop",e,(e=>{null==t||t(e),r({err:e})}))}))}isAlwaysOnTop(e={},t){this.queryWindowService("isAlwaysOnTop",e,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 g({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){return new Promise((r=>{"function"==typeof e||e.bounds||(e={bounds:e}),this.queryWindowService("setBounds",e,(e=>{null==t||t(e),r({err:e})}))}))}getBounds(e,t){return new Promise((r=>{const n="function"==typeof e?e:t;this.queryWindowService("getBounds",{},((e,t)=>{null==n||n(e,t),r({err:e,data:t})}))}))}updateOptions(e,t=Function.prototype){this.queryWindowService("updateOptions",e,t)}hide(e={},t){return new Promise((r=>{this.queryWindowService("hide",e,((e,n)=>{null==t||t(e,n),r({err:e})}))}))}reload(e={},t=Function.prototype){this.queryWindowService("reload",e,t)}show(e={},t){return new Promise((r=>{this.queryWindowService("show",e,((e,n)=>{null==t||t(e,n),r({err:e})}))}))}showAt(e={},t=Function.prototype){this.queryWindowService("showAt",e,t)}close(e={},t){return new Promise((r=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name,e),this.queryWindowService("close",e,(e=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name),null==t||t(e),r({err:e})}))}))}animate(e={},t=Function.prototype){this.queryWindowService("animate",e,t)}registerWithDocking(e={},t){this.onReady((()=>{a.RouterClient.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.RouterClient.transmit("DockingService.deregisterWindow",{name:this.windowName})}initializeWindow({manageWindowMovement:e,identifier:t},r=Function.prototype){const n=()=>{a.RouterClient.publish(`Finsemble.${this.windowName}.componentReady`,{name:this.windowName}),r()};e?this.registerWithDocking(t,n):n()}wrapReady(){a.RouterClient.publish(`Finsemble.${this.windowName}.wrapReady`,{name:this.windowName,state:"open"})}setOpacity(e,t=Function.prototype){this.queryWindowService("setOpacity",e,t)}startTabTileMonitoring(e={}){l.Logger.system.debug("FinsembleWindow.startTabTileMonitoring",e),a.RouterClient.transmit("TabTile.startTabTile",{params:e})}stopTabTileMonitoring(e={},t=Function.prototype){l.Logger.system.debug("FinsembleWindow.stopTabTileMonitoring",e),a.RouterClient.query("TabTile.stopTabTile",{params:e},(function(e,r){e?l.Logger.system.warn("TabTile.stopTabTile: query failed",e):l.Logger.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(l.Logger.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:l.Logger.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={}){l.Logger.system.debug("FinsembleWindow.startMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("startedMoving"),{})}stopMove(e={}){l.Logger.system.debug("FinsembleWindow.stopMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("stoppedMoving"),{})}getMonitor(e){a.RouterClient.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={}){l.Logger.system.debug("FinsembleWindow.cancelTabTileMonitoring",e),a.RouterClient.transmit("TabTile.cancelTabTile",{params:e})}getParent(e){this.settingParent?m.getInstance(this.settingParent,((t,r)=>{e(null,r)})):this.parentWindow?e(null,this.parentWindow):e(null,null)}async setParent(e,t){return new Promise((r=>{this.settingParent?this.getParent(((e,n)=>{null==t||t(e,n),r({err:e,data:n})})):(this.settingParent=e,this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParent already set",e),this.settingParent=!1,null==t||t(null,this.parentWindow),r({data:this.parentWindow})):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParent",e),m.getInstance(e,((n,i)=>{n?l.Logger.system.error("FinsembleWindow.setParent error",n):(l.Logger.system.debug("FinsembleWindow.setParent wrap success",e),this.parentWindow=i,this.parentWindow.windowType.includes("StackedWindow")||this.parentWindow.windowName.includes("StackedWindow")||l.Logger.system.error("FinsembleWindow.setParent error",this.parentWindow.name,e.windowName)),a.RouterClient.transmit(d.DOCKING.REQUEST_PUBLISH,null),this.settingParent=!1;const o=()=>{this.removeEventListener("parent-set",o),null==t||t(n,i),r({err:n,data:i})};this.addEventListener("parent-set",o)}))})))}))}setParentOnWrap(e,t=Function.prototype){this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParentOnWrap already set",e),t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParentOnWrap",e),m.getInstance(e,((r,n)=>{r?l.Logger.system.error("FinsembleWindow.setParentOnWrap error",r):(l.Logger.system.debug("FinsembleWindow.setParentOnWrap success getting wrap",e),this.parentWindow=n,!1===this.parentWindow.windowType.includes("StackedWindow")&&!1===this.parentWindow.windowName.includes("StackedWindow")&&l.Logger.system.error("FinsembleWindow.setParentOnWrap error",this.parentWindow.name,e.windowName)),t(r,n)}))}))}clearParent(){l.Logger.system.debug("FinsembleWindow.clearParent",this.parentWindow),this.parentWindow=null}setTitle(e){l.Logger.system.debug("Title change",e),a.RouterClient.publish(this.TITLE_CHANGED_CHANNEL,{title:e,windowName:this.windowName})}getOptions(e){return new Promise((t=>{this.queryWindowService("getOptions",{},((r,n)=>{null==e||e(r,n),t({err:r,data:n})}))}))}_privateManagementPreface(e,t){var r,n;return"function"==typeof t&&l.Logger.system.error("StackedWindowWrapper.wrapPreface bad params",t),(t=t||{}).stackedWindowIdentifier={windowName:null===(r=this.identifier)||void 0===r?void 0:r.windowName,windowType:null===(n=this.identifier)||void 0===n?void 0:n.windowType},l.Logger.system.debug(`StackedWindow.${e} _privateManagementPreface`,t),t}addWindow(e,t=Function.prototype){return e=this._privateManagementPreface("addWindow",e),new Promise((r=>{a.RouterClient.query("StackedWindow.addWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.removeWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.deleteWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.setVisibleWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.reorder",e,((e,n)=>{l.Logger.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.RouterClient.transmit("DockingService.formGroup",{windowName:e})}ejectFromGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.RouterClient.query("DockingService.leaveGroup",{name:e},(()=>{}))}}t.FinsembleWindow=m,m.WINDOWSTATE=d.WINDOWSTATE,m.wrap=m.getInstance,m.cache={},m._windowReady=function(e){let t;return l.Logger.system.debug(`windowServiceReady: ${e} starting`),new Promise((async(r,n)=>{l.Logger.system.debug(`windowServiceReady: ${e} waiting`),t=a.RouterClient.subscribe(`Finsemble.Component.State.${e}`,((n,i)=>{const{state:o}=i.data;switch(l.Logger.system.debug(`windowServiceReady: ${e} state change: ${o}`),o){case"ready":case"reloading":case"closing":l.Logger.system.debug(`windowServiceReady: ${e} ${o}`),a.RouterClient.unsubscribe(t),r()}}))}))}},44137:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreestandingGlobals=t.FEAGlobals=t.Globals=void 0,t.Globals="undefined"==typeof window?r.g:window,t.FEAGlobals="undefined"==typeof window?r.g:window,t.FreestandingGlobals="undefined"==typeof window?r.g:window},94017:function(e,t,r){"use strict";var n,i,o=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)},s=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},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskbar=t.adjustBoundsToBeOnMonitorAsync=t.adjustBoundsToBeOnMonitor=t.getBoundsWhenMovedOffDockedWindow=t.getMonitorsInstance=t.getMonitor=t.getAllMonitors=t.getAllMonitorsClientSide=t.getWhichMonitor=t.getWhichMonitorClientSide=t.getMonitorFromWindow=t.getMonitorFromScaledXY=t.onMonitorsChanged=void 0;const l=r(17187),c=a(r(2518)),u=r(91374),d=r(7860),f=r(23099),p=r(23099),h=a(r(84795));class g extends l.EventEmitter{constructor(){super(),this.allMonitors=[],this.ready=!1}static async getInstance(){return o(g,n,"f",i)||(s(g,n,(0,d.singleton)("Monitors",g),"f",i),await o(g,n,"f",i).initialize()),o(g,n,"f",i)}async initialize(){await this.refreshMonitors(),u.System.addEventListener("monitor-info-changed",(()=>{this.refreshMonitors()}))}async refreshMonitors(){c.default.system.info("refreshing cached monitors");const e=await u.System.getMonitorInfo();this.allMonitors=[];let{primaryMonitor:t}=e;t.whichMonitor="primary",t.position=0,this.allMonitors.push(Object.assign({},t));for(let t=0;t<e.nonPrimaryMonitors.length;t++){let r=e.nonPrimaryMonitors[t];r.whichMonitor=t,r.position=t+1,this.allMonitors.push(r)}return this.emit("monitors-changed",{monitors:this.allMonitors}),this.ready=!0,this.allMonitors}}n=g,i={value:null},t.onMonitorsChanged=async e=>{(await g.getInstance()).on("monitors-changed",e)},t.getMonitorFromScaledXY=async(e,r)=>{const n=await g.getInstance();if(!n.ready)return await n.refreshMonitors(),await(0,t.getMonitorFromScaledXY)(e,r);let i=null;const o=n.allMonitors;for(let t of o){const{monitorRect:n}=t;if(e>=n.left&&e<n.right&&r>=n.top&&r<n.bottom){i=t;break}}return null!=i?i:o[0]},t.getMonitorFromWindow=async e=>{var r,n,i,o;const s=null!==(r=Number.isFinite(e.x)?e.x:e.defaultLeft)&&void 0!==r?r:0,a=null!==(n=Number.isFinite(e.y)?e.y:e.defaultTop)&&void 0!==n?n:0,l=s+(null!==(i=e.defaultWidth)&&void 0!==i?i:0),u=a+(null!==(o=e.defaultHeight)&&void 0!==o?o:0);let d=await(0,t.getMonitorFromScaledXY)(s,a);if(d)return(0,f.clone)(d);{c.default.system.debug("getMonitorFromWindow - top-left is off screen, trying bottom right");let e=await(0,t.getMonitorFromScaledXY)(l,u);if(e)return(0,f.clone)(e);{c.default.system.debug("getMonitorFromWindow - bottom-right is off screen, getting primary");const e=await(0,t.getAllMonitors)();return(0,f.clone)(e[0])}}},t.getWhichMonitorClientSide=async(e,t={},r)=>{var n;await h.default.waitForStartup("windowService");const i=await(0,p.getMyWindowIdentifier)();t.windowIdentifier=null!==(n=t.windowIdentifier)&&void 0!==n?n:i;const{err:o,response:s}=await e.query("Launcher.getMonitorInfo",t);return null==r||r(o,s.data),{err:o,data:s.data}},t.getWhichMonitor=e=>new Promise((r=>{let n,{commandMonitor:i,monitors:o,launchingMonitorPosition:s}=e;const a="number"==typeof i;if("mine"!==i){if("primary"===i)n=o.find((e=>"primary"===e.whichMonitor));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 a?(i>=o.length&&(i=o.length-1),n=o.filter((e=>e.position===i))[0]):s&&(n=o[s]);n||(n=o[0]),r(n)}else{const i=e.activeWindows.getWindow(e.windowIdentifier.windowName);i?i._getBounds({},(async(e,i)=>{if(e)n=o[0],r(n);else{const e=await(0,t.getMonitorFromScaledXY)(i.left,i.top);r(e)}})):(n=o[0],r(n))}})),t.getAllMonitorsClientSide=async(e,t)=>{await h.default.waitForStartup("windowService");const{err:r,response:n}=await e.query("Launcher.getMonitorInfoAll",{});return null==t||t(r,n.data),{err:r,data:n.data}},t.getAllMonitors=async()=>{const e=await g.getInstance(),t=e.ready?e.allMonitors:await e.refreshMonitors();return JSON.parse(JSON.stringify(t))},t.getMonitor=async e=>{const r=await(0,f.getWindowDescriptor)(e);if(r)return await(0,t.getMonitorFromWindow)(r);throw"getMonitor: Can't locate windowDescriptor."},t.getMonitorsInstance=async()=>await g.getInstance(),t.getBoundsWhenMovedOffDockedWindow=(e,t,r)=>{const{availableRect:n}=e,i=(0,f.clone)(t);let o=!1;return"top"===r&&t.top<n.top?(i.top=n.top,o=!0):"bottom"===r&&t.top>n.bottom&&(i.top=n.bottom-t.height,o=!0),i.bottom=i.top+i.height,{shouldMove:o,newBounds:i}},t.adjustBoundsToBeOnMonitor=(e,t,r="availableRect")=>{if(!e)return t;if(((e,t)=>e.allMonitors.some((e=>{const{monitorRect:r}=e;return t.left>=r.left&&t.left<=r.right&&t.right>=r.left&&t.right<=r.right&&t.top>=r.top&&t.top<=r.bottom&&t.bottom>=r.top&&t.bottom<=r.bottom&&t.height<=r.height&&t.width<=r.width})))(e,t))return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: on monitor."),t;const n=e.allMonitors.map((e=>((e,t,r="availableRect")=>{const n=e[r]||e.availableRect||e.monitorRect,i=(0,f.clone)(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}})(e.rawMonitor?e.rawMonitor:e,t,r))),i=n.sort(((e,t)=>e.distanceMoved-t.distanceMoved))[0];return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: not on monitor. bounds",t,"monitor name",i.monitor.name,"newBounds",i.newBounds),i.newBounds},t.adjustBoundsToBeOnMonitorAsync=async(e,r="availableRect")=>{const n=await g.getInstance();return(0,t.adjustBoundsToBeOnMonitor)(n,e,r)},t.getTaskbar=e=>e.monitorRect.bottom!=e.availableRect.bottom?{top:e.availableRect.bottom,left:e.availableRect.left,right:e.availableRect.right,bottom:e.monitorRect.bottom,width:e.availableRect.width,height:e.monitorRect.bottom-e.availableRect.bottom,edge:"bottom"}:e.monitorRect.top!=e.availableRect.top?{top:e.monitorRect.top,left:e.availableRect.left,right:e.availableRect.right,bottom:e.availableRect.top,width:e.availableRect.width,height:e.monitorRect.top-e.availableRect.top,edge:"top"}:e.monitorRect.right!=e.availableRect.right?{top:e.monitorRect.top,left:e.availableRect.right,right:e.monitorRect.right,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"right"}:e.monitorRect.left!=e.availableRect.left?{top:e.monitorRect.top,left:e.monitorRect.left,right:e.availableRect.left,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"left"}:null},31219:(e,t,r)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Performance=void 0;const i=r(44137),o={navigationStart:Date.now()};t.Performance={now:()=>{var e;return i.Globals.performance?null===(e=i.Globals.performance)||void 0===e?void 0:e.now():Date.now()},timing:(null===(n=i.Globals.performance)||void 0===n?void 0:n.timing)?i.Globals.performance.timing:o}},7860:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleton=void 0,t.singleton=(e,t,...n)=>{const i=Symbol.for(`com.finsemble.singleton.${e}`);return Object.getOwnPropertySymbols(r.g).indexOf(i)>-1||(r.g[i]=new t(...n)),r.g[i]}},64324: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.ConfigUtilInstance=t.ConfigUtil=void 0;const i=n(r(2518)),o=r(91374),s=n(r(96486)),a=async()=>new Promise((e=>{o.System.getManifest((t=>{e({err:null,data:t})}))})),l=(e,t)=>{var r,n;return null!==(r=e.finsemble[t])&&void 0!==r?r:null===(n=e.finsemble)||void 0===n?void 0:n.custom[t]},c=(e,t)=>{let r=!1;const n=t.split(/[/\\:?=&\s]/);for(let o=0;o<n.length;o++)if("$"===n[o][0]){const s=n[o].substring(1),a=l(e,s);if(void 0===a)i.default.system.warn("ConfigUtil.resolveString",`Missing [${s}] variable from finsemble.custom configuration object`);else{const e=t.replace(n[o],a);i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveString configString",n[o],s,a,"old value=",t,"value=",e),r=!0,t=e}}return{configString:t,replacedMacro:r}},u=(e,t,r)=>{let n=!1;if(r>1e3)return i.default.system.error("ConfigUtil resolveArray maxiumum recursion level reached"),{replacedMacro:n};i.default.system.verbose("forceObjectsToLogger","resolveArray","recursionLevel",r,"configArray:",t);for(let i=0;i<t.length;i++){const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const r=c(e,o);t[i]=r.configString,n=n||r.replacedMacro}else o instanceof Array?u(e,o,r+1):"object"==typeof o&&d(e,o,r+1)}return{replacedMacro:n}},d=(e,t,r)=>{let n=!1;return r>1e3?(i.default.system.error("ConfigUtil resolveObject maxiumum recursion level reached"),{replacedMacro:n}):(t=t||{},i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveObject","recursionLevel",r,"configObject:",t),Object.keys(t).forEach((i=>{const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const r=c(e,o);t[i]=r.configString,n=n||r.replacedMacro}else o instanceof Array?u(e,o,r+1):"object"==typeof o&&d(e,o,r+1)})),{replacedMacro:n})};class f{resolveManifestMacros(e,t){let r;for(r=0;r<100;r++){const{replacedMacro:r}=d(e,t,1);if(!r)break}r>=100&&i.default.system.error("forceObjectsToLogger","resolveManifestMacros exceeded maximum passes so continuing -- probably a recursive macro definitions. Look in this config for unresolved macro variables",e)}async getExpandedRawManifest(){i.default.system.debug("ConfigUtil.getExpandedRawManifest starting");const{err:e,data:t}=await a();return e||!t?i.default.system.error("ConfigUtil.getExpandedRawManifest:application.getManifest:err",e):(i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest: manifest retrieved. Pre-variable resolution",t),this.resolveManifestMacros(t,t.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest:Complete. post-variable resolution",t)),{err:e,data:t}}async captureAndLogBadFileData(e){let t,r=null;i.default.system.debug(`captureAndLogBadFileData for ${e}`);try{const n=await fetch(e,{credentials:"include",cache:"no-cache"});200!=n.status?r=`HTTP get error for ${e}: ${n.status} ${n.statusText}}`:t=await n.text()}catch(t){r=`Failure importing config from ${e} ${t.toString()}`}r?i.default.system.error("forceObjectsToLogger",`captureAndLogBadFileData failed for ${e}`,r):i.default.system.error("forceObjectsToLogger",`captureAndLogBadFileData successful for ${e}`,t)}async fetchConfigFile(e){let t,r=null;i.default.system.debug(`fetching import ${e}`);try{const n=await fetch(e,{credentials:"include",cache:"no-cache"});200!=n.status?r=`HTTP get error for ${e}: ${n.status} ${n.statusText}`:t=await n.json()}catch(t){r=`Failure importing config from ${e} ${t.toString()}`}return r&&(i.default.system.error("forceObjectsToLogger",r),this.captureAndLogBadFileData(e)),{err:r,data:t}}graftImportOnToManifest(e,t){Object.keys(t).forEach((r=>{if("importConfig"===r){e.finsemble.importConfig=e.finsemble.importConfig||[];for(let r=0;r<t.importConfig.length;r++)e.finsemble.importConfig.unshift(t.importConfig[r])}else if("importThirdPartyConfig"===r){e.finsemble.importThirdPartyConfig=e.finsemble.importThirdPartyConfig||[];for(let r=0;r<t.importThirdPartyConfig.length;r++)e.finsemble.importThirdPartyConfig.unshift(t.importThirdPartyConfig[r])}else e.finsemble[r]=t[r]})),this.resolveManifestMacros(e,e.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getInitialManifest:getCoreConfig:Initial Manifest after variables Resolved",e)}async getInitialManifest(){const{err:e,data:t}=await a();if(!e&&t){t.finsemble=t.finsemble||{},this.resolveManifestMacros(t,t.finsemble),t.finsemble.applicationRoot||i.default.system.error("FATAL ERROR: applicationRoot was not defined in manifest file.");const e=`${t.finsemble.moduleRoot}/configs/core/config.json`,{err:r,data:n}=await this.fetchConfigFile(e);!r&&n?this.graftImportOnToManifest(t,n):i.default.system.error(`ConfigUtil.getInitialManifest:getCoreConfig:failed importing into finsemble config. $moduleRoot=${t.finsemble.moduleRoot}; Full Path=${e}`,r)}return{err:e,data:t}}promptAndSaveJSONToLocalFile(e,t){i.default.system.debug("saveJSONToLocalFile",e,t);const r=JSON.stringify(t,null,"\t"),n=`data:application/json;charset=utf-8,${encodeURIComponent(r)}`,o=`${e}.json`,s=document.createElement("a");s.setAttribute("href",n),s.setAttribute("download",o),s.click()}configFormatForExport(e,t){i.default.system.debug("configFormatForExport starting",e,t);let r=s.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}getDefault(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}}t.ConfigUtil=f,t.ConfigUtilInstance=new f},26604:(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",hotkeyClient:"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","launchGroupComponentData","allowAutoArrange"],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"}},25495: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(17187),o=r(51848),s=r(26604),a=n(r(84795)),l=r(2518);class c extends i.EventEmitter{constructor(e){var t;super(),this.callback=e.callback,this.dependencies=e.dependencies,this.startupTimer=null,this.whoAmI=null!==(t=e.whoAmI)&&void 0!==t?t:"Source unknown. Look for `waitFor()` and add third parameter",this.setStartupTimer=this.setStartupTimer.bind(this),this.clearStartupTimer=this.clearStartupTimer.bind(this)}clearStartupTimer(){this.startupTimer&&clearTimeout(this.startupTimer),this.startupTimer=null}setStartupTimer(){const e=this;this.startupTimer=+setTimeout((()=>{e.emit("timeout"),this.callback("StartupDependency timeout error")}),1e4)}}function u(){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,r){const n=u();e.clients||(e.clients=[]),e.clients.length&&(e.clients=e.clients.map((e=>e.charAt(0).toLowerCase()+e.slice(1))));const i=new c({dependencies:e,callback:t,whoAmI:r});return i.setStartupTimer(),i.on("timeout",(()=>{this.onDependencyTimeout(i)})),this.dependencies[n]=i,this.checkDependencies(),i}onDependencyTimeout(e){const t=this.getOfflineClients();let r=`APPLICATION LIFECYCLE:STARTUP:Dependency (${e.whoAmI}) not online after 10 seconds.`;t.length&&(r=`${r} Waiting for these clients: ${t.join(", ")}.`),l.Logger.system.warn(r),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){l.Logger.system.debug("DependencyManager:waitFor",e),e.services||(e.services=[]);const r=u();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];(l.Logger.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){l.Logger.system.debug("setServiceOffline",e),console.debug("setServiceOffline",e),this.offlineServices.push(e),this.checkDependencies()}}class p extends i.EventEmitter{constructor(){super(),this.startup=new d,this.shutdown=new f,this.RouterClient=o.RouterClient,this.AuthorizationCompleted=!1,this.bindCorrectContext(),this.onAuthorizationCompleted(this.startup.checkDependencies),o.RouterClient.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(){l.Logger.system.debug("DependencyManager:listenForServices before wait"),a.default.waitForBootStage("kernel","stageEntered",(()=>{l.Logger.system.debug("DependencyManager:listenForServices after wait"),this.RouterClient.subscribe(s.SERVICES_STATE_CHANNEL,((e,t)=>{l.Logger.system.debug("DependencyManager:listenForServices SERVICES_STATE_CHANNEL",t.data),this.onServiceStateChange(t.data)})),this.RouterClient.addListener(s.SERVICE_CLOSED_CHANNEL,((e,t)=>{l.Logger.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)=>{"closing"===t.data.state&&this.shutdown.checkDependencies()}))}))}onAuthorizationCompleted(e){this.AuthorizationCompleted?e():this.addListener("AuthorizationCompleted",e)}}t.FSBLDependencyManager=p,t.FSBLDependencyManagerSingleton=new p,t.default=t.FSBLDependencyManagerSingleton},28936:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(51848),a=o(r(26604));t.default=class{constructor(e,t){var r;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,a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.queryMessage=t,this.guid=null===(r=null==t?void 0:t.data)||void 0===r?void 0:r.guid,this.internalHandler()}async internalHandler(){var e,t;this.data=null===(t=null===(e=this.queryMessage)||void 0===e?void 0:e.data)||void 0===t?void 0:t.data,this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){var e;this.allowDelay?(this.delayed=!0,null===(e=this.queryMessage)||void 0===e||e.sendQueryResponse(null,{delayed:!0})):this.done()}done(e){var t;this.completed=!0,this.delayed?s.RouterClient.transmit(`Finsemble.Listener.Done.${this.guid}.${this.listenerGuid}`,{canceled:this.canceled,data:e}):null===(t=this.queryMessage)||void 0===t||t.sendQueryResponse(null,{canceled:this.canceled,data:e})}}},9060: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(51848),o=r(2518),s=n(r(28936));t.default=class{constructor(e){var t;this.eventList=[],this.cleanedUp=!1,this.openResponders=[],this.handlers=[],this.name=e.name,this.thisWindowName=window.name,this.sourceType=null!==(t=e.sourceType)&&void 0!==t?t:"undefined",window.addEventListener("beforeunload",(()=>{this.cleanup()}))}addListener(e,t){return this.addEventListener(e,t)}removeListener(e,t){return this.removeEventListener(e,t)}addEventListener(e,t){o.Logger.system.debug("PublicEventmanager.addEventListener:",e);const r=`${this.name}_public_${Date.now()}_${Math.random()}`;this.handlers.push({event:e,handler:t,listenerGuid:r}),i.RouterClient.transmit(`Finsemble.RegisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:r,windowName:this.thisWindowName});const n=`Finsemble.Interrupt.${r}`;return i.RouterClient.addResponder(n,((n,i)=>{new s.default({source:this.name,sourceType:this.sourceType,listenerGuid:r,handler:t,event:e},i)})),this.openResponders.push(n),()=>{this.removeEventListener(e,t)}}removeEventListener(e,t,r=!0){if(o.Logger.system.debug("PublicEventManager.removeEventListener:",e),this.cleanedUp)return;const n=this.handlers.findIndex((r=>r.event===e&&r.handler===t));if(-1===n)return void(r&&o.Logger.system.warn(`PublicEventManager.removeEventListener() attempt to remove unregistered event "${e}"`));const{listenerGuid:s}=this.handlers[n];i.RouterClient.transmit(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:s,windowName:this.thisWindowName}),i.RouterClient.removeResponder(`Finsemble.Interrupt.${s}`),this.handlers.splice(n,1)}cleanup(){this.cleanedUp=!0,this.handlers=[],this.openResponders.forEach((e=>{i.RouterClient.removeResponder(e)}))}}},91374:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.System=void 0;const n=r(10166),i=r(2518),o=r(51848);class s{static createNew(e,t){fin.desktop.Window.createNew(e,t)}static getCurrent(){return fin.desktop.Window.getCurrent()}static wrap(e){return fin.desktop.Window.wrap(e)}}class a{static createNew(e,t){t("Cannot create freestanding windows")}static getCurrent(){const{windowName:e}=n.Startup.getInstance().getStartupData();return{name:e,uuid:`${e}-uuid`,getOptions:e=>{null==e||e({})},addEventListener:()=>{},removeEventListener:()=>{},updateOptions:()=>{},close:()=>{},startMovingWindow:()=>{},stopMovingWindow:()=>{},isShowing:()=>{},bringToFront:()=>{},show:()=>{},hide:()=>{},setTaskbarIcon:()=>{}}}static wrap(){return this.getCurrent()}}class l{constructor(){return new fin.desktop.System.Clipboard}static writeText(e,t,r,n){return i.Logger.deprecated("FSBL.System.Clipboard.writeText is deprecated"),fin.desktop.System.Clipboard.writeText(e,t,r,n)}static writeHTML(e,t,r,n){return i.Logger.deprecated("FSBL.System.Clipboard.writeHTML is deprecated"),fin.desktop.System.Clipboard.writeHTML(e,t,r,n)}static writeRTF(e,t,r,n){return i.Logger.deprecated("FSBL.System.Clipboard.writeRTF is deprecated"),fin.desktop.System.Clipboard.writeRTF(e,t,r,n)}static readText(e,t,r){return i.Logger.deprecated("FSBL.System.Clipboard.readText is deprecated"),fin.desktop.System.Clipboard.readText(e,t,r)}static readHTML(e,t,r){return i.Logger.deprecated("FSBL.System.Clipboard.readHTML is deprecated"),fin.desktop.System.Clipboard.readHTML(e,t,r)}static readRTF(e,t,r){return i.Logger.deprecated("FSBL.System.Clipboard.readRTF is deprecated"),fin.desktop.System.Clipboard.readRTF(e,t,r)}}class c{static get Application(){return{getCurrent:()=>(i.Logger.deprecated("FSBL.System.Application is deprecated"),{restart:()=>{o.RouterClient.transmit("Application.restart",{})},getWindow:()=>fin.desktop.Window,addEventListener:(e,t,r,n)=>{fin.desktop.Window.addEventListener(e,t,r,n)},close:(e,t,r)=>{fin.desktop.Window.close(e,t,r)},getChildWindows:(e,t)=>{null==e||e([fin.desktop.Window])},getGroups:(e,t)=>{null==e||e([])},getManifest:(e,t)=>{c.getManifest(e)},getParentUuid:(e,t)=>{null==e||e("Finsemble")},getInfo:(e,t)=>{c.getVersion(e)},getTrayIconInfo:(e,t)=>{null==e||e({})},isRunning:(e,t)=>{null==e||e(!0)},registerUser:(e,t,r,n)=>{null==r||r()},removeEventListener:(e,t,r,n)=>{fin.desktop.Window.removeEventListener(e,t,r,n)},removeTrayIcon:(e,t)=>{fin.desktop.Window.removeTrayIcon(e,t)},run:(e,t)=>{},scheduleRestart:(e,t)=>{null==e||e()},setTrayIcon:(e,t,r,n)=>{fin.desktop.Window.setTrayIcon(e,t,r,n)},terminate:(e,t)=>{c.terminate()},wait:(e,t)=>{null==e||e()},window:{name:fin.desktop.Window.name},uuid:"Finsemble"})}}static isFreestanding(){return"undefined"==typeof fin}static get Window(){return c.isFreestanding()?a:s}static get Notification(){return{send:e=>{fin.desktop.Notification.send(e)}}}static get Clipboard(){return l}static getManifest(e){return new Promise((t=>{fin.desktop.System.getManifest((r=>{null==e||e(r),t(r)}))}))}static async getMousePosition(e){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),null==e||e(null,r),t(r)}),(t=>{null==e||e(t),r(t)}))}))}static async deleteAssets(e){return await fin.desktop.System.deleteAssets(e)}static getSDServerInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getSDServerInfo((r=>{t(r),e(r)}))}))}static getMonitorInfo(e){return new Promise((t=>{fin.desktop.System.getMonitorInfo((r=>{t(r),e&&e(r)}))}))}static isBrowserView(){return!c.isFreestanding()&&fin.isBrowserView()}static getViewId(){return i.Logger.deprecated("FSBL.system.getViewId() is deprecated. Use FSBL.system.getWebContentsId()"),fin.getWebContentsId()}static getWebContentsId(){return fin.getWebContentsId()}static hasBrowserView(){return i.Logger.deprecated("FSBL.system.hasBrowserView() is deprecated. Use FSBL.system.isTitlebarWindow()"),c.isTitlebarWindow()}static isTitlebarWindow(){return!c.isFreestanding()&&fin.isTitlebarWindow()}static get fin(){return fin||{}}static ready(e){return new Promise((t=>{fin.desktop.main((()=>{e&&e(),t()}))}))}static setTrayIcon(e,t){fin.desktop.System.setTrayIcon(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 exit(){return fin.desktop.System.exit}static get clearCache(){return fin.desktop.System.clearCache}static get showDeveloperTools(){return fin.desktop.System.showDeveloperTools}static get addEventListener(){return c.isFreestanding()?window.addEventListener:fin.desktop.System.addEventListener}static get addSelectClientCertificateListener(){return fin.desktop.System.addSelectClientCertificateListener}static get addCertificateErrorListener(){return fin.desktop.System.addCertificateErrorListener}static getFEAInfo(e){return new Promise((t=>{fin.desktop.System.getFEAInfo((r=>{null==e||e(r),t(r)}))}))}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 getProcessList(){return fin.desktop.System.getProcessList}static get getProtocolString(){return fin.desktop.System.getProtocolString}static get hideSplashScreen(){return fin.desktop.System.hideSplashScreen}static notifyLoggerReady(){fin.desktop.System.notifyLoggerReady()}static updateCentralLoggerState(e){fin.desktop.System.updateCentralLoggerState(e)}static startupApplicationHandshake(){fin.desktop.System.startupApplicationHandshake&&fin.desktop.System.startupApplicationHandshake()}static terminate(){fin.desktop.System.terminate()}static restart(){fin.desktop.System.restart()}static getEnvironmentVariable(e,t){return new Promise((r=>{fin.desktop.System.getEnvironmentVariable(e,(e=>{null==t||t(e),r(e)}))}))}}t.System=c},84795:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(51848),i=r(2518),o=r(38144),s=r(38144),a=r(37331),l=new class{publishBootStatus(e,t,r,o){i.Logger.system.debug("publishBootStatus",e,t,r),n.RouterClient.publish((0,a.statusChannel)(e),{name:e,type:t,state:r,error:o})}waitForBootStage(e,t,r=Function.prototype){return new Promise(((a,l)=>{i.Logger.system.debug("SystemManagerClient.waitForBootStage entry",e,t);const c=o.ALL_BOOT_STAGES.indexOf(e);"microkernel"===e&&"stageEntered"===t&&i.Logger.system.error("Cannot wait on `stageEntered` for microkernel because router isn't up yet. So will instead wait for microkernal stage complete.");const u=n.RouterClient.subscribe(s.STAGE_CHANNEL,((s,d)=>{if(i.Logger.system.debug("SystemManagerClient.waitForBootStage new stage",d.data.stage,u),s)i.Logger.system.error("SystemManagerClient.waitForBootStage subscribe error",s),r(s),l(s);else if(-1===c)s="illegal stage argument",i.Logger.system.debug("SystemManagerClient.waitForBootStage subscribe error",s,e),r(s),l(s);else{const s=o.ALL_BOOT_STAGES.indexOf(d.data.stage);i.Logger.system.debug("SystemManagerClient.waitForBootStage new stage",d.data,u),"stageEntered"===t&&s+1>=c?(i.Logger.system.debug("SystemManagerClient.waitForBootStage stageEntered",e,u,r.name),r(),a(),n.RouterClient.unsubscribe(u)):"stageCompleted"===t&&s>=c?(i.Logger.system.debug("SystemManagerClient.waitForBootStage completed",e,u),r(),a(),n.RouterClient.unsubscribe(u)):i.Logger.system.debug(`SystemManagerClient.waitForBootStage else currentStageIndex=${s} stageIndex=${c} `,s,c,e,u)}}))}))}waitForStartup(e,t=Function.prototype){return new Promise(((r,o)=>{i.Logger.system.debug(`SystemManagerClient.waitForStartup.${e}`,e);const s=n.RouterClient.subscribe((0,a.statusChannel)(e),((a,l)=>{i.Logger.system.debug("SystemManagerClient.waitForStartup subscribe",e,a,l),a?(i.Logger.system.error("SystemManagerClient.waitForStartup subscribe error",a),t(a),o()):l.data.name===e&&"completed"===l.data.state&&(i.Logger.system.debug("SystemManagerClient.waitForStartup completed",e),t(),r(),n.RouterClient.unsubscribe(s))}))}))}publishCheckpointState(e,t,r){i.Logger.system.debug("publishCheckpoint",e,t,r,(0,a.checkpointChannel)(e,t)),n.RouterClient.publish((0,a.checkpointChannel)(e,t),{windowName:e,checkpointName:t,state:r})}showSystemLog(){i.Logger.system.debug("SystemManagerClient.showSystemLog"),n.RouterClient.transmit(s.SHOW_SYSLOG_CHANNEL,!0)}systemLog(e,t){i.Logger.system.debug("SystemManagerClient.systemLog",e,t),n.RouterClient.transmit(s.SYSLOG_CHANNEL,{params:e,logMessage:t})}};t.default=l},44343: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.toast=void 0;const i=r(2518),o=r(91374),s=n(r(84795)),a=r(7860);class l{constructor(){this.alertOnceSinceStartUp={},this.alertCurrentCount={}}}t.toast=(e,t,r,n,c)=>{const u=(0,a.singleton)("Toast",l);let d=!1;const f=`toast.${r}`,p=(c=c||{}).duration||864e5;switch(t){case"ONCE-SINCE-STARTUP":f in u.alertOnceSinceStartUp?d=!1:(d=!0,u.alertOnceSinceStartUp[f]=!0);break;case"MAX-COUNT":{let e=0;const t=c.maxCount||1;f in u.alertCurrentCount&&(e=u.alertCurrentCount[f]),u.alertCurrentCount[f]=++e,e<=t&&(d=!0);break}default:d=!0}if(i.Logger.log("toast",e,d,t,r,n,c),d){const t=Object.assign(Object.assign({message:n,timeout:p},c),{devModeOnly:"devModeOnly"===e});s.default.systemLog({notification:!0},`Notification: ${n}`),o.System.Notification.send(t)}},t.default={toast:t.toast,alert:t.toast}},23099: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.isEqualIgnoringArrayOrder=t.sleep=t.checkIfBoundsAreEqual=t.isStackedWindow=t.wrapWithTimeout=t.timeoutPromise=t.promisify=t.identity=t.fastClone=t.isMouseOverDOMElement=t.isPointInBox=t.getDesktopBoundingBox=t.getWindowType=t.isWindows=t.camelCase=t.getMyWindowIdentifier=t.getWindowDescriptor=t.getFinWindow=t.crossDomain=t.isPercentage=t.clone=void 0;const i=r(91374),o=r(2518),s=r(10166),a=r(83823),l=n(r(27361)),c=n(r(78718)),u=n(r(18446)),d=n(r(28368));function f(e,t){return new Promise(((r,n)=>{const o=i.System.Window.getCurrent();if(null==e?void 0:e.windowName)try{const n=i.System.Window.wrap(e.windowName);null==t||t(n),r(n)}catch(r){null==t||t(null),n(`Window ${e.windowName} not found. UUID: ${e.uuid}`),console.debug(`util.getFinWindow: Window ${e.windowName} not found`)}else if(null==e?void 0:e.componentType){const i="LauncherService";if(void 0!==window[i]){const o=window[i].componentFinder(e);o?(r(o),null==t||t(o)):(n(`util.getFinWindow: Component ${e.componentType} not found.`),null==t||t(null))}else n("getFinWindow by componentType is currently only operable within LaunchService"),null==t||t(null)}else null==t||t(o),r(o)}))}function p(e,t){return new Promise(((r,n)=>{const i=setTimeout((()=>{clearTimeout(i),n(t)}),e)}))}t.clone=function e(t,r={}){if(null===t||"object"!=typeof t)return t;if(t.constructor==Date||t.constructor==RegExp||t.constructor==Function||t.constructor==String||t.constructor==Number||t.constructor==Boolean)return new t.constructor(t);r=r||new t.constructor;for(const n in t)r[n]=void 0===r[n]?e(t[n],null):r[n];return r},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),s=!(r&&i&&n);return o.Logger.system.debug(`Launcher crossDomain=${s} (${r}:${n}:${i})`),s},t.getFinWindow=f,t.getWindowDescriptor=function(e,t){return new Promise(((r,n)=>{f(e).then((e=>{e.getOptions((e=>{null==t||t(e),r(e)}))})).catch((e=>{console.warn(e),null==t||t(null),n(e)}))}))},t.getMyWindowIdentifier=e=>{const t=i.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,componentType:i};null==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.isWindows=async function(e){const t=(await i.System.getHostSpecs()).name.toUpperCase().includes("WINDOWS");return null==e||e(t),t},t.getWindowType=function(e){const t="WebWindow";if(e.windowType&&!["assimilation","assimilated","native","application","NativeWindow","FinsembleNativeWindow","CompoundWindow","WebWindow","WebApplication","StackedWindow","Citrix"].includes(e.windowType))return o.Logger.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.compound&&(r="CompoundWindow"),r},t.getDesktopBoundingBox=async e=>{var t,r;const n="string"==typeof e?document.querySelector(e):e;n||o.Logger.system.error("getDesktopBoundingBox can't find element",e);const i=n?n.getBoundingClientRect():{top:0,left:0,width:0,height:0},{windowName:l}=s.Startup.getInstance().getStartupData(),{wrap:c}=await a.FinsembleWindow.getInstance({name:l}),u=await c.getBounds(),d=u.data;u.err&&o.Logger.system.error("getDesktopBoundingBox: finsembleWindow.getBounds() error",u.err);const f=null!==(t=null==d?void 0:d.top)&&void 0!==t?t:0,p=null!==(r=null==d?void 0:d.left)&&void 0!==r?r:0,h={top:f+i.top,left:p+i.left,width:i.width,height:i.height,right:0,bottom:0};return h.right=h.left+h.width,h.bottom=h.top+h.height,h},t.isPointInBox=(e,t)=>(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),t.isMouseOverDOMElement=async(e,r=Function.prototype)=>{const n=await(0,t.getDesktopBoundingBox)(e),o=await i.System.getMousePosition(),s=(0,t.isPointInBox)(o,n);return r(s),s},t.fastClone=e=>{if(!e)return e;if(Array.isArray(e))return e.slice();try{return JSON.parse(JSON.stringify(e))}catch(e){o.Logger.error("fastClone error, falling back to structured clone",e)}try{return structuredClone(e)}catch(e){o.Logger.error("fastClone error, structured clone failed",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.timeoutPromise=p,t.wrapWithTimeout=function(e,t,r){return Promise.race([e,p(t,r)])},t.isStackedWindow=function(e){return e&&"StackedWindow"===((0,l.default)(e,"windowIdentifier.windowType")||e.windowType)},t.checkIfBoundsAreEqual=function(e,t){if(!e||!t)return!1;const r=["left","right","top","bottom","width","height"],n=(0,c.default)(e,r),i=(0,c.default)(t,r);return(0,u.default)(n,i)},t.sleep=function(e,t=!1){return new Promise(((r,n)=>{t?setTimeout((()=>{try{n("timeout expired")}catch(e){}}),e):setTimeout(r,e)}))},t.isEqualIgnoringArrayOrder=(e,r)=>{const n=(0,t.fastClone)(e),i=(0,t.fastClone)(r);return(0,d.default)(n,i,((e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return(0,d.default)(e.sort(),t.sort())}))}},24137: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.openSharedData=t.deprecatedGetWindowNameForDocking=t.deprecatedSetActive=t.deprecatedGetActiveAndPendingWindowNames=void 0;const i=r(2518),o=r(49136),s=n(r(95393));function a(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}t.deprecatedGetActiveAndPendingWindowNames=(e,t=Function.prototype)=>new Promise((r=>{e.query("Launcher.getActiveAndPendingWindowNames",{},((e,n)=>{e&&i.Logger.system.error(e),t(e,n.data),r({err:e,data:n.data})}))})),t.deprecatedSetActive=e=>{var t,r;e?(r="desktop-active",(t=document.documentElement).classList?t.classList.add(r):a(t,r)||(t.className=`${t.className} ${r}`)):function(e,t){if(e.classList)e.classList.remove(t);else if(a(e,t)){const r=new RegExp(`(\\s|^)${t}(\\s|$)`);e.className=e.className.replace(r," ")}}(document.documentElement,"desktop-active")},t.deprecatedGetWindowNameForDocking=e=>{const t=e.parentWindow;return t?t.name:e.name},t.openSharedData=function(e,t){const r=o.LauncherClient,n=s.default;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 a=[],l={};r.getComponentsThatCanReceiveDataTypes({dataTypes:Object.keys(e.data)},((o,s)=>{for(const e of Object.keys(s))if(s[e].componentTypes.length)for(const t of s[e].componentTypes)l[t]?l[t].push(e):l[t]=[e];else{const t=`No Components Available to Handle the type: ${e}`;a.push(t),i.Logger.system.error(t)}let c=Object.keys(l);if(c.length){c.length>1&&(c=e.multipleOpenerHandler(l));const i=Object.keys(n.channels);if(i.length)if(n.getLinkedComponents({componentTypes:c,windowIdentifier:n.windowIdentifier()}).length||e.publishOnly)n.publish({dataType:"Finsemble.DragAndDropClient",data:e.data},(()=>{})),t&&t(a.length?a:null,"Data published");else{for(const t of c)r.spawn(t,{data:{sharedData:e.data,linker:{channels:i}},addToWorkspace:!0});t&&t(a.length?a:null,"Linked Window(s) spawned with data")}else if(!e.publishOnly){for(const t of c)r.spawn(t,{data:{sharedData:e.data},addToWorkspace:!0});t&&t(a.length?a:null,"New Window(s) spawned with data")}}else t&&t(a.length?a:null,null)}))}},96512: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.addToGroups=t.getGroupsForWindow=t.removeWindowsFromGroup=t.addWindowsToGroup=t.createWindowGroup=t.hyperFocus=t.getComponentsThatCanReceiveDataTypes=t.getPendingWindows=t.getActiveAndPendingWindowNames=t.getMonitor=t.unRegisterComponent=t.registerComponent=void 0;const i=r(23099),o=r(2518),s=r(51848),a=n(r(84795)),l=r(24137),c=r(94017),u=r(10166),d=r(83823);t.registerComponent=async(e,t)=>{await a.default.waitForStartup("windowService");const{err:r,response:n}=await s.RouterClient.query("LauncherService.registerComponent",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.unRegisterComponent=async(e,t)=>{if(!e.componentType){const e="No componentType provided";return null==t||t(e),{err:e}}await a.default.waitForStartup("windowService");const{err:r,response:n}=await s.RouterClient.query("LauncherService.unRegisterComponent",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.getMonitor=async(e,t)=>(o.Logger.system.deprecated("This method is deprecated and will be removed in a future release. Use the method getMonitorInfo instead."),(0,c.getWhichMonitorClientSide)(s.RouterClient,{windowIdentifier:e},t)),t.getActiveAndPendingWindowNames=(e=Function.prototype)=>(o.Logger.deprecated("LauncherClient.getActiveAndPendingWindowNames is deprecated and will be removed"),(0,l.deprecatedGetActiveAndPendingWindowNames)(s.RouterClient,e)),t.getPendingWindows=async()=>{o.Logger.deprecated("LauncherClient.getPendingWindows is deprecated and will be removed"),await a.default.waitForStartup("windowService");const{err:e,response:t}=await s.RouterClient.query("Launcher.getPendingWindows",{});return{err:e,data:t.data}},t.getComponentsThatCanReceiveDataTypes=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.getComponentsThatCanReceiveDataTypes is deprecated and will be removed"),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]),s.RouterClient.query("LauncherService.getComponentsThatCanReceiveDataTypes",e,((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))),t.hyperFocus=async(e,t)=>{o.Logger.system.deprecated("hyperFocus is deprecated as of version 4.0.0. This functionality may be removed in a future release"),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]);const r=await(0,i.getMyWindowIdentifier)();e.windowList||e.groupName||e.componentType||(e.windowList=r?[r]:[]),await a.default.waitForStartup("windowService"),await s.RouterClient.transmit("LauncherService.hyperFocus",e),null==t||t()},t.createWindowGroup=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.createWindowGroup is deprecated and will be removed"),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList],delete e.groupName),new Promise((async r=>{if(!e.groupName){const e="Invalid Parameters";return r({err:e}),void t(e)}await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.createWindowGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))),t.addWindowsToGroup=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.addWindowsToGroup is deprecated and will be removed"),new Promise((async 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]),await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.addWindowsToGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))),t.removeWindowsFromGroup=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.removeWindowsFromGroup is deprecated and will be removed"),new Promise((async 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]),await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.removeWindowsFromGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))),t.getGroupsForWindow=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.getGroupsForWindow is deprecated and will be removed"),"function"==typeof e&&(t=e,e=null),new Promise((async r=>{if(e&&e.windowIdentifier)await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.getGroupsForWindow",e,((e,n)=>{r({err:e,data:n.data}),t(e,n.data)}));else{const{windowName:e}=u.Startup.getInstance().getStartupData(),{wrap:n}=await d.FinsembleWindow.getInstance({name:e});n.getComponentState({field:"finsemble:windowGroups"},((e,n)=>{r({err:e,data:n}),t(e,n)}))}}))),t.addToGroups=async(e,t)=>{var r;o.Logger.deprecated("LauncherClient.addToGroups is deprecated and will be removed");const n=await(0,i.getMyWindowIdentifier)();e.windowIdentifier=null!==(r=e.windowIdentifier)&&void 0!==r?r:n,await a.default.waitForStartup("windowService");const{err:l}=await s.RouterClient.query("LauncherService.addWindowToGroups",e);return null==t||t(l),{err:l}}},95393: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.LinkerClient=void 0;const i=n(r(97525)),o=n(r(47913)),s=n(r(2518)),a=n(r(18446)),l=r(31755),c=r(96512),u=r(51848),d=n(r(84795));s.default.system.debug("Starting LinkerClient");const f=s.default.system.info,p=s.default.system.debug;function h(e){return e.windowName.replace(/\./g,"_")}function g(e,t){return t&&t(null,e),e}class m{constructor(){this.stateChangeListeners=[],this.allChannels=[],this.channels={},this.clients={},this.channelListenerList=[],this.dataListenerList={},this.handleListeners=(e,t)=>{const r=this.dataListenerList[t.data.type];if(r&&r.length>0)for(let e=0;e<r.length;e++)r[e](t.data.data,{data:t.data.data,header:t.header,originatedHere:t.originatedHere})},this.onClose=e=>{const t=h(i.default.getWindowIdentifier());this.clients[t]&&(this.clients[t]=null,this.updateClientInStore(t)),this.linkerStore.removeListener({field:`clients.${t}`},this.clientsKeyValueChangeStoreListener,((e,r)=>{r||s.default.system.warn("Linker Client Onclose: clientsKeyValueChangeStoreListener removeListener failed",t)})),this.linkerStore.removeListener({field:{}},this.anyFieldChangeStoreListener,((e,t)=>{t||s.default.system.warn("Linker Client Onclose: anyFieldChangeStoreListener removeListener failed")})),s.default.system.debug("LINKER-4 cleanup",t),e&&e()},this.groups=this.channels,this.allGroups=this.allChannels,this.onLinksUpdate={push:e=>{this.stateChangeListeners.push(((t,r)=>{r&&(r.groups=r.channels),e(t,{groups:r})}))}},this.linkerWindow=null,this.loading=!1,this.clientsKeyValueChangeStoreListener=this.clientsKeyValueChangeStoreListener.bind(this),this.anyFieldChangeStoreListener=this.anyFieldChangeStoreListener.bind(this)}getChannel(e){return this.allChannels.filter((t=>t.name===e)).length>0}createChannel(e,t){return s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.createChannel","PARAMS",e),e.name?this.getChannel(e.name)?(p(`LinkerClient.createChannel: Channel ${e.name} Already Exists`),g(this.allChannels,t)):(this.allChannels.push(e),this.allGroups=this.allChannels,this.linkerStore.setValue({field:"channels",value:this.allChannels}),g(this.allChannels,t)):(p("LinkerClient.createChannel: Name is required"),g(this.allChannels,t))}removeChannel(e,t){if(f("LinkerClient.removeChannel","NAME",e),s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),!this.getChannel(e))return p(`Channel ${e}does not exist`,null),g(this.allChannels,t);const r=this.allChannels;for(let t=0;t<r.length;t++)if(e===r[t].name){r.splice(t,1);break}this.linkerStore.setValue({field:"channels",value:this.allChannels});const{clients:n}=this;for(const t in n){const r=n[t];for(const t in r.channels)if(e===t){delete r[t];break}}return this.linkerStore.setValue({field:"clients",value:this.clients}),g(this.allChannels,t)}updateClientInStore(e){this.linkerStore.setValue({field:`clients.${e}`,value:this.clients[e]})}linkToChannel(e,t,r){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.linkToChannel","CHANNEL",e,"COMPONENT",t),t||(t=i.default.getWindowIdentifier());const n=h(t);if(this.clients[n]||(this.clients[n]={client:t,channels:{}}),Array.isArray(e))for(let t=0;t<e.length;t++)this.clients[n].channels[e[t]]=!0;else this.clients[n].channels[e]=!0;return this.updateClientInStore(n),g(this.getState(t),r)}unlinkFromChannel(e,t,r){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unlinkFromChannel","CHANNEL",e,"WINDOW IDENTIFIER",t),t||(t=i.default.getWindowIdentifier());const n=h(t),o=this.clients[n];if(Array.isArray(e))for(let t=0;t<e.length;t++)delete o.channels[e[t]];else if(e){if(!o||!o.channels[e]){const i=this.clients[n];return p(`Component was not in specified channel ${e}`,i,i.channels[e]),g(this.getState(t),r)}delete o.channels[e]}else for(const e in o.channels)delete o.channels[e];return this.updateClientInStore(n),g(this.getState(t),r)}getAllChannels(e){return f("LinkerClient.getAllChannels"),g(this.allChannels,e)}getState(e,t){f("LinkerClient.getState","WINDOW IDENTIFIER",e);const r={channels:[],allChannels:this.allChannels};if(e||(e=i.default.getWindowIdentifier()),!Object.keys(this.clients).length)return g(r,t);const n=h(e),o=this.clients[n];return o?(r.channels=this.allChannels.filter((e=>o.channels&&!0===o.channels[e.name])),s.default.system.debug("LINKER-3",this.allChannels,"state.channels",r.channels,"key",n,"windowIdentifier",e,"componentEntry",o),o.active||(o.active=!0,this.linkerStore.setValue({field:`clients.${n}`,value:o})),g(r,t)):g(r,t)}unsubscribe(e,t){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unsubscribe","DATA TYPE",e),this.dataListenerList[e]&&(t?this.dataListenerList[e]=this.dataListenerList[e].filter((e=>e!==t)):delete this.dataListenerList[e])}publish(e,t){f("LinkerClient.publish","PARAMS",e);let{channels:r}=e;r||(r=Object.keys(this.channels));for(let t=0;t<r.length;t++){const n=r[t];u.RouterClient.transmit(`${n}.${e.dataType}`,{type:e.dataType,data:e.data}),u.RouterClient.transmit(n,{type:e.dataType,data:e.data})}return g({},t)}subscribe(e,t){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.subscribe","DATA TYPE",e),this.dataListenerList[e]?this.dataListenerList[e].includes(t)||this.dataListenerList[e].push(t):this.dataListenerList[e]=[t]}getLinkedComponents(e,t){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.getLinkedComponents","PARAMS",e);const r=[];if(e||(e={}),e.channels&&!Array.isArray(e.channels)&&(e.channels=[e.channels]),e.componentTypes&&!Array.isArray(e.componentTypes)&&(e.componentTypes=[e.componentTypes]),e.windowIdentifier){const t=h(e.windowIdentifier),r=Object.keys(this.clients[t].channels);e.channels?e.channels=e.channels.filter((e=>r.includes(e))):e.channels=r}e.channels||(e.channels=this.getAllChannels().map((e=>e.name)));for(const t in this.clients){let n=this.clients[t];if(!n)continue;n.channels||(n=n[Object.keys(n)[0]]);const i=Object.keys(n.channels).filter((t=>{var r;return null===(r=null==e?void 0:e.channels)||void 0===r?void 0:r.includes(t)})).length;let o=!0;e.componentTypes&&(o=e.componentTypes.includes(n.client.componentType)),n.active&&i&&o&&r.push({windowName:n.client.windowName,componentType:n.client.componentType,uuid:n.client.uuid,channels:Object.keys(n.channels)})}return g(r,t)}updateListeners(){for(let e=this.channelListenerList.length-1;e>=0;e--){const t=this.channelListenerList[e];Object.keys(this.channels).filter((e=>e==t)).length||(u.RouterClient.removeListener(t,this.handleListeners),this.channelListenerList.splice(e,1))}const e=Object.keys(this.channels);for(let t=0;t<e.length;t++){const r=e[t];this.channelListenerList.includes(r)||(u.RouterClient.addListener(r,this.handleListeners),this.channelListenerList.push(r))}const t=this.getState();for(let e=0;e<this.stateChangeListeners.length;e++)this.stateChangeListeners[e](null,t)}onStateChange(e){this.stateChangeListeners.push(e)}persistState(e){i.default.setComponentState({field:"Finsemble_Linker",value:e})}clientsKeyValueChangeStoreListener(e,t){if(p("My Channels Updated"),!t.value)return;const r=t.value.channels||t.value.groups,n=(0,a.default)(r,this.channels);(r&&0!==Object.keys(r).length&&!n||0===Object.keys(r).length&&0!==Object.keys(this.channels).length)&&(this.persistState(r),this.channels=r,this.updateListeners())}anyFieldChangeStoreListener(e,t){const{values:r}=t.value;this.allChannels=r.channels,r.groups&&(this.allChannels=r.groups),s.default.system.debug("LINKER-2",this.allChannels),this.allGroups=this.allChannels,this.clients=r.clients}start(e){return new Promise((async t=>{await d.default.waitForStartup("linkerService"),this.dontPersistYet=!0,p("LinkerClient Loading Channels");const r=i.default.getWindowIdentifier(),n=h(r);o.default.getStore({store:"Finsemble_Linker",global:!0},((o,a)=>{this.linkerStore=a,null==a||a.addListener({field:`clients.${n}`},this.clientsKeyValueChangeStoreListener),null==a||a.addListener({},this.anyFieldChangeStoreListener),null==a||a.getValues(["channels",`clients.${n}`],((o,a)=>{a&&a.channels&&(this.allChannels=a.channels,s.default.system.debug("LINKER-1",this.allChannels),this.allGroups=this.allChannels),i.default.getComponentState({field:"Finsemble_Linker"},((o,s)=>{var l;this.channels=[],this.clients[n]={client:r,active:!0,channels:{}},s?(this.channels=s,this.clients[n].channels=s):(null===(l=a[`clients.${n}`])||void 0===l?void 0:l.channels)&&(this.clients[n].channels=a[`clients.${n}`].channels),this.updateClientInStore(n);const c=i.default.getSpawnData();if(c&&c.linker){let e=c.linker.channels;c.linker.groups&&(e=c.linker.groups),this.linkToChannel(e,r)}else this.updateListeners();null==e||e(),t()}))}))}))}))}initialize(){s.default.system.deprecated("It is no longer necessary to call LinkerClient.initialize()")}hyperFocus(e){(0,c.hyperFocus)({windowList:this.getLinkedComponents({channels:e})})}bringAllToFront(e){const{channel:t}=e;(0,l.bringWindowsToFront)({windowList:this.getLinkedComponents({channels:t})})}createGroup(e,t){return this.createChannel(e,t)}deleteGroup(e,t){return this.removeChannel(e,t)}addToGroup(e,t,r){const n=this.linkToChannel(e,t);return r&&r(null,n),n}removeFromGroup(e,t,r){const n=this.unlinkFromChannel(e,t);return r&&r(null,n),n}getAllGroups(e){const t=this.getAllChannels();return e&&e(t),t}getGroups(e,t){const r=this.getState(e);return r.groups=r.channels,g(r,t)}unSubscribe(e,t){this.unsubscribe(e,t)}getLinkedWindows(e,t){return e||(e={}),e.groups=e.channels,e.windowIdentifier=e.client,this.getLinkedComponents(e,t)}windowIdentifier(e,t){return g(i.default.getWindowIdentifier(),t)}openLinkerWindow(e){if(this.loading)return;const t=()=>{u.RouterClient.query("Finsemble.LinkerWindow.Show",{groups:this.getGroups().groups,windowIdentifier:i.default.getWindowIdentifier(),windowBounds:i.default.getWindowBounds()},(()=>{}))};this.linkerWindow?this.linkerWindow.isShowing((e=>{e?this.linkerWindow.hide():t()})):t()}}t.LinkerClient=m;const y=new m;t.default=y},55470:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(2518)),l=o(r(23099));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?l.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?l.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}`)}deprecatedRequest(e,t){if(Array.isArray(e.set)){let r=e.set;delete e.set;for(let n=0;n<r.length;n++){let i=Object.keys(r[n]);for(let t=0;t<i.length;t++)e[i[t]]=r[n][i[t]];this.processDeprecatedProperty(context,t,e)}}else a.default.system.log("DeprecatedConfigUtil.processDeprecatedProperty skipping illegal set operation",e)}singlePathOperation(e,t){const r=this.getWildCardListItems(t,e.property);if(0===r.length)switch(e.operation){case"setValue":a.default.system.debug(`DeprecatedConfigUtil.setValue for property ${e.property}`,e),this.setPropertyValue(t,e);break;case"removeProperty":a.default.system.debug(`DeprecatedConfigUtil.removeProperty for ${e.property}`,e),this.removeProperty(t,e);break;case"logMessage":a.default.system.debug(`DeprecatedConfigUtil.logMessageOnly for ${e.property}`,e),this.displayDeprecationMessage(t,e)}else{let n,i=e.property.slice();for(;n=r.pop();)e.property=i.replace(".*.",`.${n}.`),this.processDeprecatedProperty(context,t,e)}}moveProperty(e,t){if(this.wildCardMismatch(e.oldProperty,e.newProperty))a.default.system.warn(`DeprecatedConfig: wildCards are mismatched for ${e.oldProperty} and ${e.newProperty} so ignoring`,e);else{const r=this.getWildCardListItems(t,e.newProperty);if(0===r.length)a.default.system.debug(`DeprecatedConfigUtil.moveProperty from ${e.oldProperty} to ${e.newProperty}`,e),this.moveConfigProperty(t,e);else{let n,i=e.oldProperty.slice(),o=e.newProperty.slice();for(;n=r.pop();)e.oldProperty=i.replace(".*.",`.${n}.`),e.newProperty=o.replace(".*.",`.${n}.`),this.processDeprecatedProperty(context,t,e)}}}processDeprecatedProperty(e,r,n){try{void 0===n.when||n.when[e]?n.set?this.deprecatedRequest(n,r):t.SINGLE_PATH_OPERATIONS.includes(n.operation)?this.singlePathOperation(n,r):"moveProperty"===n.operation?this.moveProperty(n,r):a.default.system.warn("DeprecatedConfigUtil.processDeprecatedProperty skipping unknown operation",n):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}}},88478: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(2518)),o=r(64324),s=n(r(1581)),a=n(r(5477)),l="%&%",c="%%";t.SchemaUtilInstance=new class{constructor(){this.generatedDocLines=[],this.knownPropertiesMap={},this.previousLevel=0}formatValidationErrors(e){return e.map((e=>`In '${e.instancePath}', error: '${e.message}', with params '${JSON.stringify(e.params)}'`))}schemaValidate(e,t,r,n){let o=!1;try{var s=e.getSchema(`Finsemble${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=!1,n={strict:"log",allErrors:!0,verbose:!0,useDefaults:!1};if(this.finsembleSchema&&this.ajv)r=!0;else try{const{err:t,data:l}=await o.ConfigUtilInstance.fetchConfigFile(e.finsemble.configSchemaURL);this.finsembleSchema=l,t&&i.default.system.error(`getFile error: ${t}`),this.ajv=new s.default(n),(0,a.default)(this.ajv),this.ajv.addSchema(this.finsembleSchema,"Finsemble"),r=!0}catch(e){i.default.system.error(`validateConfig: Error thrown reading or adding schema: ${e}`)}let l=!1;return r?(i.default.system.debug("ConfigService: schema read",this.finsembleSchema),this.schemaValidate(this.ajv,this.finsembleSchema,t,e)||(l=!0)):(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."),l=!0),l}setDefaultForForOneProperty(e,t,r){i.default.system.debug(`setDefaultForForOneProperty: ${t}=${r}`);let n=null,o=e,s=t.split(c);for(let e=1;e<s.length-1;e++){let t=s[e];if(t.includes(l)){let e=t.split(l),r=e[0],n=e[1];o=o[r][n]}else o[t]||(o[t]={}),o=o[t]}let a=s[s.length-1];n=o[a],"object"==typeof o&&void 0===n&&(o[a]=r,i.default.system.debug(`config-default-set property: path=${t}, originalPropertyValue=${n} defaultValue=${r},`))}getAdditionalProperties(e,t){i.default.system.verbose(`getAdditionalProperties for ${t}`);let r=e,n=t.split(c);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.verbose(`getAdditionalProperties-additionalProperties for ${t}`,s,o),s}getLengthOfArrayInConfig(e,t){i.default.system.verbose(`getLengthOfArrayInConfig for ${t}`);let r=0,n=e,o=t.split(c);for(let e=1;e<o.length;e++){let t=o[e];if(t.includes(l)){let e=t.split(l),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.verbose(`getLengthOfArrayInConfig value is ${r} for path=${t}`,n)),r}processSchemaItems({schemaObject:e,manifest:t,path:r,currentForceDefaults:n,previousPathProperty:o,level:s}){"array"===e.type||Array.isArray(e.type)||i.default.system.error(`recursiveWalkerForDefaults expected items of type array for ${r}`,e);let a=this.getLengthOfArrayInConfig(t,r);for(let l=0;l<a;l++){let a=`${r}%&%${l}`;i.default.system.debug(`processing items for ${a}`,e.items),this.recursiveWalkerForDefaults(t,n,e.items,o,`${a}`,s)}}processSchemaProperties({schemaObject:e,manifest:t,path:r,currentForceDefaults:n,previousPathProperty:i,level:o}){let s=Object.keys(e.properties);for(let a of s){let s=`${r}%%${a}`;a!=i&&"object"==typeof e.properties[a]&&(this.knownPropertiesMap[s]=!0,this.recursiveWalkerForDefaults(t,n,e.properties[a],a,`${s}`,o))}}processSchemaAdditionalProperties({schemaObject:e,manifest:t,path:r,currentForceDefaults:n,previousPathProperty:o,level:s}){let a=this.getAdditionalProperties(t,r);for(let l=0;l<a.length;l++){let c=`${r}%%${a[l]}`;i.default.system.debug(`processing additionalProperties for ${c}`,e.additionalProperties),this.recursiveWalkerForDefaults(t,n,e.additionalProperties,o,`${c}`,s)}}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)}r.items&&this.processSchemaItems({schemaObject:r,manifest:e,path:o,currentForceDefaults:t,previousPathProperty:n,level:s}),r.properties&&this.processSchemaProperties({schemaObject:r,manifest:e,path:o,currentForceDefaults:t,previousPathProperty:n,level:s}),r.additionalProperties&&this.processSchemaAdditionalProperties({schemaObject:r,manifest:e,path:o,currentForceDefaults:t,previousPathProperty:n,level:s})}--s}async initializeSchema(e){let t=!0;if(!this.finsembleSchema){const{data:t}=await o.ConfigUtilInstance.fetchConfigFile(e);this.finsembleSchema=t}return 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")}}},32466:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkForObjectChange=t.mapField=t.initObject=t.setPath=t.byString=void 0,t.byString=(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},t.setPath=(e,t,r)=>t.split(".").reduce(((e,n)=>e[n]=t.split(".").pop()===n?r:e[n]||{}),e),t.initObject=function e(t,r,n){let i;if(r||(r=null),"object"!=typeof t)return i=r?`${r}.${t}`:t,void(n[i]=r);for(const o in t)"object"==typeof t[o]&&"undefined"!==t[o]?(i=r?`${r}.${o}`:o,n[i]=r,e(t[o],i,n)):(i=r?`${r}.${o}`:o,n[i]=r)},t.mapField=(e,r,n)=>{if(n[r])return;const i=(r=(r=r.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=r;if(!n.hasOwnProperty(o)){let e=null;i.length>1&&(i.pop(),e=i.join(".")),n[o]=e}const s=(0,t.byString)(e,o);if("undefined"!==s&&"object"==typeof s)for(const r in s)(0,t.mapField)(e,`${o}.${r}`,n)};t.checkForObjectChange=(e,r,n)=>{const i=(0,t.byString)(e,r);return null!==i&&("object"==typeof i||"object"!=typeof i&&"object"==typeof r?((e,t)=>{const r=[];for(const n in e){const i=`${t}.`;n.includes(i)&&(r.push(n),delete e[n])}return r})(n,r):null)}},41552:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Action=void 0,t.Action=class{constructor(){this.id="",this.buttonText="",this.type=""}}},99259:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleNotificationOptions=t.ActionTypes=void 0,(n=t.ActionTypes||(t.ActionTypes={})).DISMISS="DISMISS",n.SNOOZE="SNOOZE",n.SPAWN="SPAWN",n.QUERY="QUERY",n.PUBLISH="PUBLISH",n.TRANSMIT="TRANSMIT",(r=t.FinsembleNotificationOptions||(t.FinsembleNotificationOptions={})).MARK_AS_UNREAD="MARK_AS_UNREAD",r.MARK_AS_READ="MARK_AS_READ",r.SNOOZE="SNOOZE",r.DISMISS="DISMISS",r.SETTINGS="SETTINGS",r.DETAILS="DETAILS"},47505:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98379:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=void 0,t.Filter=class{constructor(){this.include=[],this.exclude=[]}}},45115:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},27749:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},42303:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},15074:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},90382:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2094:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},68994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},62671:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},12573:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},85058:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},61765:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},77610:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LastIssued=void 0,t.LastIssued=class{constructor(e,t){this.source=e,this.issuedAt=t}}},56164:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Meta=void 0,t.Meta=class{}},42649:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Notification=void 0;const n=r(56164);t.Notification=class{constructor(){this.actions=[],this.isRead=!1,this.isSnoozed=!1,this.isMuted=!1,this.isDeleted=!1,this.actionsHistory=[],this.meta=new n.Meta,this.stateHistory=[],this.issuedAt="",this.title="",this.devModeOnly=!1}}},39195:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},71039:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},12758:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PerformedAction=void 0,t.PerformedAction=class{constructor(){this.id="",this.type="",this.datePerformed=""}}},70887:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SnoozeTimer=void 0,t.SnoozeTimer=class{}},35874:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Subscription=void 0,t.Subscription=class{constructor(e,t){this.id=e||null,this.filter=t,this.channel=""}}},46215:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(41552),t),i(r(99259),t),i(r(47505),t),i(r(98379),t),i(r(45115),t),i(r(27749),t),i(r(42303),t),i(r(15074),t),i(r(90382),t),i(r(2094),t),i(r(68994),t),i(r(62671),t),i(r(12573),t),i(r(85058),t),i(r(61765),t),i(r(77610),t),i(r(56164),t),i(r(42649),t),i(r(39195),t),i(r(71039),t),i(r(12758),t),i(r(70887),t),i(r(35874),t)},87132: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(2518)),o=r(91374),s={},a={activeTransports:{},liveTransport:null,setTransports(){a.addTransport("SharedWorker",s.SharedWorkerTransport),a.addTransport("IPCBus",s.IPCTransport),a.addTransport("FinsembleTransport",s.FinsembleTransport)},addTransport(e,t){this.activeTransports[e]=t},getActiveTransports(e){const t=[],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,o)=>new Promise(((s,l)=>{const c=a.activeTransports[t];if(c)a.liveTransport=new c(e,r,n,o,(e=>{s(e)}));else{const e=`routerTransport.getTransport() Unknown router transport name: ${t}`;i.default.warn(e),l(e)}})),close(){a.liveTransport&&(a.liveTransport.close(),a.liveTransport=null)}};s.SharedWorkerTransport=function(e,t,r,n,o){let s;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=()=>"SharedWorker";const a=e.transportSettings.SharedWorker&&e.transportSettings.SharedWorker.workerPath?e.transportSettings.SharedWorker.workerPath:`${e.routerDomainRoot}/common/routerSharedWorker.js`;i.default.console.log(`SharedWorker Transport Initializing for ${r} using ${a}`),s=new SharedWorker(a,{name:"Finsemble",credentials:"include"}),s.port.onmessage=e=>{const r=e.data[0],n=e.data[1],o={transportID:this.identifier(),port:r};i.default.system.verbose("SharedWorkerTransport Incoming Transport",o,"Message",n),t(o,n)},s.onerror=e=>{i.default.console.error(`SharedWorkerTransport Transport Error ${JSON.stringify(e)}`)},s.port.start(),"RouterService"===r&&s.port.postMessage({data:"connect",source:"RouterService"}),this.close=()=>s.port.close(),null==o||o(this)},s.IPCTransport=function(e,t,r,n,s){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",r,"Message",t),o.System.InterApplicationBus.publish(r,t,(()=>{}),(()=>{}))},this.identifier=()=>"IPCBus",i.default.console.log(`IPCBus Transport Initializing for ${r}`);const a=o.System.InterApplicationBus.subscribe("*",r,(e=>{const r={transportID:this.identifier(),name:e.header.origin};i.default.system.verbose("IPCTransport Incoming Transport",r,"Message",e),t(r,e)}),(()=>{}),(e=>i.default.console.error(`IPCBus Subscribe Failure: ${e}`)));this.close=()=>o.System.InterApplicationBus.unsubscribe(a),null==s||s(this)},s.FinsembleTransport=function(e,t,r,n,o){var s,a,l,c,u;const d=`${null!==(u=null!==(l=null===(a=null===(s=null==e?void 0:e.transportSettings)||void 0===s?void 0:s.FinsembleTransport)||void 0===a?void 0:a.serverAddress)&&void 0!==l?l:null===(c=null==e?void 0:e.transportSettings)||void 0===c?void 0:c.serverAddress)&&void 0!==u?u:"ws://127.0.0.1:3376"}/router`;let f;const p=e=>{const r={transportID:this.identifier(),client:e.clientMessage.header.origin};i.default.system.verbose("FinsembleTransport Incoming Transport",r,"Message",e),t(r,e.clientMessage)},h=()=>{i.default.console.error(`FinsembleTransport Connection Timeout for ${r}`),null==o||o(this)},g=()=>{i.default.console.log(`FinsembleTransport Transport Initializing for ${r} using ${d}`),d.startsWith("ws:")||d.startsWith("wss:")||i.default.system.error(`Illegal WebSocket address "${d}" (Missing ws:// or wss:// ?)`),f=new WebSocket(d);const e=setTimeout(h,3e3);f.addEventListener("open",(()=>{clearTimeout(e),i.default.console.log("FinsembleTransport connected to server"),f.addEventListener("message",(e=>{const t=JSON.parse(e.data);(r===t.message.client||"RouterService"===r&&"ROUTER_SERVICE"==t.dest)&&p(t.message)})),null==o||o(this)}))};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),f.readyState===WebSocket.OPEN&&f.send(JSON.stringify({dest:r,message:n})),f.readyState===WebSocket.CONNECTING&&f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:r,message:n}))})),f.readyState===WebSocket.CLOSED&&(g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:r,message:n}))}))),f.readyState===WebSocket.CLOSING&&(f.onclose=()=>{g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:r,message:n}))}))})},this.identifier=()=>"FinsembleTransport",this.close=()=>f.close(),g()},t.default=a},38144:(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","pre-authentication","authentication","system-preuser","preuser","preuser2","preuser3","preuser4","earlyuser","user"],t.CRITICAL_BOOT_STAGES=["microkernel","kernel"],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"},40539:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(2518),l=r(51848),c=r(89285),u=s(r(40601)),d=o(r(23099)),f=r(37331);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.defaultTimeoutInterval=1e6,this.parentName=e,this.currentStage=t,this.defaultTimeoutInterval=r,this.originalConfig=n,this.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.run()}getResults(e){var t;a.Logger.system.debug("bootCheckpointEngine.getResults",this.currentStatus,this.checkpointTimers,this.checkpointConfig);let r=new p(!0);const n=[];"error"===(null===(t=this.currentStatus)||void 0===t?void 0:t.graphState)&&(r=new p(!1,this.currentStatus.errorDiag));for(const t in this.checkpointTimers)this.findConfigElement(t).postStartupCompletion?"failed"===e&&clearTimeout(this.checkpointTimers[t]):(n.push(`checkpoint ${t} for ${this.parentName} did not complete`),clearTimeout(this.checkpointTimers[t]));if(n.length>0)if(r.okay){const e=new c.DGDiagnostics(void 0,n);r=new p(!1,e)}else r.errorDiag.errorData.push(...n);return r}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.Logger.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(),u.default.error({},`"checkpointEngine: ${e}`)}}cleanupStagesOutStandingTimers(){Object.keys(this.checkpointTimers).forEach((e=>{clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]}))}getCheckpoingConfigElement(e,t){var r;const n=d.clone(t),i={name:e,type:"checkpoints",stage:this.currentStage,dependencies:null!==(r=n.dependencies)&&void 0!==r?r:[],postStartupCompletion:n.postStartupCompletion||!1,stopOnFailure:!0,autoStart:!0,customFailureMessage:n.customFailureMessage||"",originalConfig:n,timeout:n.timeout||this.defaultTimeoutInterval,checkpointsIncluded:!1,checkpointConfig:{}};return Array.isArray(i.dependencies)||(u.default.error({leadingBlankLine:!1},`Checkpoint CONFIG: dependencies for ${e} must be an array`),i.dependencies=[""]),i}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.Logger.system.debug("checkpointEngine subscribe",e,t,(0,f.checkpointChannel)(e,t)),l.RouterClient.subscribe((0,f.checkpointChannel)(e,t),((e,t)=>{e?a.Logger.system.error("checkpointEngine subscribe error",e):(a.Logger.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.Logger.system.debug("checkpointEngine.genericHandlerForStateChange",this.parentName,e,t,r),this.checkpointTimers[e]&&(clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]),"completed"===t?this.dependencyGraph&&(this.dependencyGraph.setBootDependencyState(e,t),this.processWhatIsReady(this.dependencyGraph)):"failed"===t&&(r.timedOut?u.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} timed out. ${this.findConfigElement(e).customFailureMessage}`):u.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} failed. ${this.findConfigElement(e).customFailureMessage}`),this.dependencyGraph&&(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.Logger.system.debug(`checkpointEngine.processReadyList starting checkpoint ${e.name} in ${this.currentStage}`,e)}setStateForList(e,t){var r;for(let n=0;n<e.length;n++){const i=e[n];null===(r=this.dependencyGraph)||void 0===r||r.setBootDependencyState(i.name,t)}}processReadyList(e){a.Logger.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){this.currentStatus=e.getCurrentStatus(),a.Logger.system.debug("checkpointEngine processWhatIsReady",status,e),console.log("processWhatIsReady",status),++this.processStatusCounter>500?a.Logger.system.error("checkpointEngine.processWhatIsReady is in infinite loop -- breaking out",this.processStatusCounter):"notFinished"===this.currentStatus.graphState&&this.processReadyList(this.currentStatus.readyToStartList)}}},89285: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(53912),o=n(r(2518));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 l{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 c{constructor(){this.nodes={}}}const u=["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),this.context=e,this.bootConfig=t,this.allPreviousBootConfig=r,this.graph=this.buildGraph(this.bootConfig);try{this.checkNodesForValidDependencies(this.bootConfig,this.allPreviousBootConfig),this.checkNodesForCircularDependencies(),this.iterativelySetAllGraphStates(this.graph)}catch(e){"error"!=this.graphState&&(this.graphState="error",this.errorDiag.description=e.toString()),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, setting state "${t}" for unknown dependency name "${e}" (may be a late checkpoint received from an earlier boot stage). 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 c;for(let r=0;r<e.length;r++){const n=e[r],i=new l(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=!1,n=!1,i=!1;const s=[];for(const a in this.graph.nodes){const l=this.graph.nodes[a];let c=l.dependencies.length;for(;c--;){const u=l.dependencies[c];n=this.checkForKnownDependency(u,e),n||(i=this.checkForKnownDependency(u,t)),!n&&i?(o.default.system.debug(`dependencyGraphy.checkNodesForValidDependencies removing dependency ${l.dependencies[c]} in node ${a}`),l.dependencies.splice(c,1)):n||i||(r=!0,s.push(`${a} dependency "${u}" 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(u.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}(u.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){const r=this.graph.nodes[t];if("readyToStart"===r.currentState&&this.bootConfig){const n=this.bootConfig.findIndex((e=>e.name==t));if(n>=0){const r=this.bootConfig[n];e.push(new i.BootReadyItem(t,r.type,r))}else o.default.system.error(`getNewReadyList: could not find bootConfig for ${t}`,r,this.bootConfig)}}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++:u.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=!1,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)}}},84503:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(2518),l=r(51848),c=r(9381),u=r(49136),d=r(64324),f=r(40539),p=r(89285),h=s(r(40601)),g=o(r(23099)),m=r(38144),y=r(37331),v=s(r(84795)),w=r(51806),b=["bootTasks","services","components"],S=15e3;t.BootEngine=class{constructor(e,t,r){this.currentStage="undefined",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.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.startServiceTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startServiceTimeout",S),this.startComponentTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startComponentTimeout",S),this.startTaskTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startTaskTimeout",S),this.setupDependencyBootStatusPubSubs()}helpData(){const e=this.dependencyGraphs[this.currentStage];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`,e&&e.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:h.default.error({},`BootEngine: registerBootTask failed because of illegal input. Task Name = ${e}. Task Function Type = ${typeof t}`)}async run(){try{for(let e=0;e<m.ALL_BOOT_STAGES.length;e++){const t=e=>{if(this.logDiagnostics(e),m.CRITICAL_BOOT_STAGES.includes(this.currentStage))throw"*** Terminating Boot ***"};this.currentStage=m.ALL_BOOT_STAGES[e],a.Logger.system.log("BootEngine.run stage entered",this.currentStage),await this.runBootStage(this.currentStage).catch(t);const{data:r}=await c.ConfigClient.getValue({field:"finsemble"});this.finsembleConfig=r,this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),a.Logger.system.log("BootEngine.run stage complete",this.currentStage),l.RouterClient.publish(m.STAGE_CHANNEL,{stage:this.currentStage})}}catch(e){this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),this.cleanupStagesOutStandingTimers(),this.processingTerminated=!0,h.default.error({},`"BootEngine: ${e}`)}}async startServiceDeprecated(e){const t=this.manifest.finsembleConfig.services[e];if(t)return h.default.log({indent:!0},`Starting service ${e}`),a.Logger.system.debug(`bootEngine.startServiceDeprecated starting service ${e} in ${this.currentStage}`),await this.serviceLauncher.createService(t);{const t=`"BootEngine.startServiceDeprecated failed for ${e} because config not found in "finsemble.services"`;return h.default.error({},t),{err:t}}}logDiagnostics(e){h.default.error({leadingBlankLine:!0,indent:!0},`Error in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)h.default.error({doubleIndent:!0},`"${t}: ${e.errorData[t]}`);h.default.error({leadingBlankLine:!0,indent:!0},`"${this.currentStage}" stage failed. See SystemManager console for additional information.`)}checkpointLogDiagnostics(e){if(e.description){h.default.warn({indent:!0},`checkpoint issue in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)h.default.warn({doubleIndent:!0},`${t}: ${e.errorData[t]}`)}else for(let t=0;t<e.errorData.length;t++)h.default.warn({indent:!0},`${e.errorData[t]}`)}findConfigElement(e){const t=this.bootConfigs[this.currentStage];if(t){const r=t.findIndex((t=>t.name===e)),n=t[r];return n||a.Logger.system.error("bootEngine.findConfigElement could not find expected config element",e,t),n}return null}outputDependencyGraphs(e){for(let t=0;t<m.ALL_BOOT_STAGES.length;t++){const r=m.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]}))}processBootModuleType({bootParams:e,config:t,currentStage:r,name:n,type:i}){var o;if("services"===i){const{debugServiceDelay:i}=t,o=e.stage||"earlyuser";let s=e.timeout||this.startServiceTimeout;return i&&o===r&&(s+=i,h.default.warn({leadingBlankLine:!1},`==> timeout value for ${n} will be increased to ${s} (debugServiceDelay=${i})`)),{stage:o,timeout:s}}if("bootTasks"===i)return{stage:e.stage||"earlyuser",timeout:e.timeout||this.startTaskTimeout};if("components"===i){const{component:s={}}=t,a=e.stage||"user";return!1===e.autoStart&&s.spawnOnStartup&&a===r&&h.default.error({leadingBlankLine:!1},`BOOT CONFIG: autoStart conflicts with spawnOnStartup value for ${n} in ${i} -- using spawnOnStartup value`),e.autoStart=null!==(o=s.spawnOnStartup)&&void 0!==o&&o,{stage:a,timeout:e.timeout||this.startComponentTimeout}}return{stage:"undefined",timeout:6e4}}getBootConfigElement(e,t,r,n){const i=g.clone(n);let{bootParams:o}=i;o?m.ALL_BOOT_STAGES.includes(o.stage)||((o.stage||!1!==o.autoStart)&&h.default.error({leadingBlankLine:!1},`BOOT CONFIG: unknown boot stage "${o.stage}" for ${t} in ${r} -- assigning default value`),o.stage=null):o={};const{stage:s,timeout:a}=this.processBootModuleType({bootParams:o,config:i,currentStage:e,name:t,type:r}),{checkpointConfig:l={},autoStart:c=!0,stopOnFailure:u=!0,customFailureMessage:d=""}=o;let f=o.dependencies||[];return Array.isArray(f)||s!==e||(h.default.error({leadingBlankLine:!1},`BOOT CONFIG: bootparams.dependencies for ${t} in ${r} must be an array`),f=[""]),{name:n.name||t,type:r,stage:s,timeout:a,checkpointsIncluded:Object.keys(l).length>0,checkpointConfig:l,stopOnFailure:u,autoStart:c,customFailureMessage:d,originalConfig:n,dependencies:f,postStartupCompletion:!1}}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<b.length;n++){const i=b[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)=>{var n;try{h.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,null!==(n=this.bootConfigs[e])&&void 0!==n?n:[],this.cumulativePreviousBootConfig),a.Logger.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]);const i=this.dependencyGraphs[e];i&&this.processWhatIsReady(i);const o=this.bootConfigs[e];o&&(this.cumulativePreviousBootConfig=[...this.cumulativePreviousBootConfig,...o])}catch(e){r(new p.DGDiagnostics(`BootEngine:runBootStage.reject${e}`))}}))}async setupDependencyBootStatusPubSubs(){await(new w.FSBLService).startApp()}subscribeToDependencyBootStatus(e){l.RouterClient.subscribe((0,y.statusChannel)(e),((e,t)=>{e?a.Logger.system.error("BootEngine subscribe error",e):this.genericHandlerForStateChange(t.data.name,t.data.type,t.data.state,t.data.error)}))}waitForLastCheckpoint(e,t){setTimeout((()=>{const r=this.checkpointEngines[e].getResults(t);r.okay||this.checkpointLogDiagnostics(r.errorDiag),delete this.checkpointEngines[e],a.Logger.system.debug("bootEngine.genericHandlerForStateChange checkpointEngine results",e,r)}),50)}handleOneDependencyStateChange(e,t,r,n){if("completed"===r&&"services"===t?this.activeServices.push(e):"completed"===r&&"bootTasks"===t&&v.default.publishBootStatus(e,"bootTasks","completed"),"completed"===r||"failed"===r){const t=this.dependencyGraphs[this.currentStage];if(this.checkpointEngines[e]&&this.waitForLastCheckpoint(e,r),"failed"===r){const t=this.findConfigElement(e);h.default.error({doubleIndent:!0},`BootState=${r} for ${e}. ${n}. ${null==t?void 0:t.customFailureMessage}`)}t&&(t.setBootDependencyState(e,r),this.processWhatIsReady(t))}}genericHandlerForStateChange(e,t,r,n){a.Logger.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,n)}handleStartTimeout(e,t){delete this.startTimers[e],h.default.error({indent:!1},`${e} ${t} startup failed due to a time out`),this.genericHandlerForStateChange(e,t,"failed",`${e} startup failed due to a time out`)}startBootTaskDependency(e){if(h.default.log({indent:!0},`starting boot task: ${e.name}`),a.Logger.system.debug(`bootEngine.startBootTaskDependency starting boot task ${e.name} in ${this.currentStage}`,e),this.registeredTasks[e.name]){const t=this.registeredTasks[e.name];null==t||t(((e,t,r)=>{setTimeout((()=>{this.genericHandlerForStateChange(e,t,r)}),0)}))}else a.Logger.system.error(`bootEngine.startBootTaskDependency: unknown task ${e.name}`,e),h.default.error({},`bootEngine.startBootTaskDependency: unknown task ${e.name}`)}async startServiceDependency(e){h.default.log({indent:!0},`starting service: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.Logger.system.debug(`bootEngine.startServiceDependency starting service ${e.name} in ${this.currentStage}`,e);const t=await this.serviceLauncher.createService(e.config.originalConfig);if(t.err){const r=`Error starting service ${e.name}: ${t.err}`;h.default.error({indent:!0},r),a.Logger.system.error(r,e)}return t}startComponentDependency(e){if("microkernel"===this.currentStage||"kernel"===this.currentStage)h.default.error({indent:!0},`cannot config in bootParams for component ${e.name} to start until after "kernel" stage`);else{let t=e.config.originalConfig.isAnApp?"fdc3 app":"component";h.default.log({indent:!0},`starting ${t}: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.Logger.system.debug(`bootEngine.startComponentDependency starting ${t} ${e.name} in ${this.currentStage}`,e,e.config.originalConfig),u.LauncherClient.spawn(e.name,{})}}startReadyItem(e){var t;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.Logger.system.error("bootEngine.startReadyItem: unknown boot type",e)}e.config.checkpointsIncluded&&(a.Logger.system.debug("bootEngine.startReadyItem new BootCheckpointEngine",e.config.name,e),e.config.name&&(this.checkpointEngines[e.config.name]=new f.BootCheckpointEngine(e.config.name,this.currentStage,null!==(t=e.config.timeout)&&void 0!==t?t:1e6,e.config.checkpointConfig)))}setStateForList(e,t){for(let r=0;r<e.length;r++){const n=e[r],i=this.dependencyGraphs[this.currentStage];i&&i.setBootDependencyState(n.name,t)}}processReadyList(e){a.Logger.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.Logger.system.debug("bootEngine processWhatIsReady",t,e),console.log("processWhatIsReady",t),++this.processStatusCounter>500)a.Logger.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()}}}},80170: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(2518)),o=n(r(9381)),s=new(n(r(92161)).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")}}},71184:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CheckForScheduledRestartTask=void 0;const n=r(2518),i=r(51848),o=r(9381),s=r(2740),a=r(60434),l=r(45478);let c=6e4;t.CheckForScheduledRestartTask=class{start(e){n.Logger.system.debug("checkForScheduledRestartTask start"),this.checkForScheduledRestart(),e("checkForScheduledRestartTask","bootTasks","completed")}checkForScheduledRestart(){let e=null;const t=(t,r)=>{if(n.Logger.system.log("checkForScheduledRestart scheduleRestart.",t,r),e&&clearTimeout(e),!r.value)return;const u=(0,l.calculateTimeout)(r.value);n.Logger.system.log("checkForScheduledRestart scheduleRestart.",t,r),e=setTimeout((async()=>{n.Logger.system.log("Scheduling restart");let{err:e,data:r=!1}=await o.ConfigClient.getValue("finsemble.scheduledCloseDiscardUnsavedChanges");e&&n.Logger.system.warn("checkForScheduledRestart unable to get config value for finsemble.scheduledCloseDiscardUnsavedChanges - will save workspace",t),a.DialogManagerClient.open("yesNo",{monitor:"primary",title:"Automatic Restart",question:`The application will restart in one minute. ${r?"Unsaved changes in your workspace will be discarded":"Your workspace will be saved"}.`,showTimer:!0,timerDuration:c,showNegativeButton:!1,affirmativeResponseLabel:"Restart Now"},(async(e,a)=>{"cancel"===a.choice?o.ConfigClient.getValue({field:"finsemble.scheduledRestart"},((e,t)=>{o.ConfigClient.setPreference({field:"finsemble.scheduledRestart",value:t})})):(r?n.Logger.system.info("checkForScheduledRestart discarding workspace unsaved changes",t):(n.Logger.system.info("checkForScheduledRestart saving current unsaved workspace changes",t),await s.WorkspaceClient.save()),i.RouterClient.transmit("Application.restart",{scheduledCloseDiscardUnsavedChanges:r}))}))}),u)};o.ConfigClient.getValue({field:"finsemble.scheduledRestart"},((e,r)=>{r&&!isNaN(r.dialogTimeout)&&(c=r.dialogTimeout),n.Logger.system.log("scheduledRestart initial config",r),t(e,{value:r})})),o.ConfigClient.addListener({field:"finsemble.scheduledRestart"},((e,r)=>{n.Logger.system.log("scheduledRestart new config",r),r.value?n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART TIME CHANGED. NEW TIME:",r.value):n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART DISABLED."),t(e,r)}))}}},45478:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CheckForScheduledShutdownTask=t.calculateTimeout=void 0;const n=r(2518),i=r(51848),o=r(9381),s=r(2740),a=r(60434),l="finsemble.scheduledShutdown",c="finsemble.scheduledCloseDiscardUnsavedChanges";t.calculateTimeout=e=>{const t=new Date,r=new Date;r.setSeconds(0);let i=1;var o,s;null!=e.dayOfWeek&&(r.setDate(t.getDate()+((o=e.dayOfWeek)-(s=t.getDay())==0?0:o-s<0?o-s+6:o-s)),i=7);const{hour:a}=e;return r.setHours(a),r.setMinutes(e.minute),r.getTime()-t.getTime()<=0&&r.setDate(r.getDate()+i),n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART/SHUTDOWN at: ",r),r.getTime()-t.getTime()},t.CheckForScheduledShutdownTask=class{constructor(){this.shutdownTimer=null,this.discardUnsavedChanges=!1,this.processShutdownConfig=(e,t)=>{let r;(null==t?void 0:t.value)?(r=t.value,n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - CONFIG CHANGED. NEW CONFIG:",r)):t?(r=t,n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - config:",r)):e||n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - not configured."),e?n.Logger.error(e):this.scheduleShutdown(r)},this.processDiscardConfig=(e,t)=>{if(e)n.Logger.error(e);else{let e=!1;(null==t?void 0:t.value)?e=t.value:t&&(e=t),this.discardUnsavedChanges=e,n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - DISCARD UNSAVED CHANGES CHANGED. NEW CONFIG:",this.discardUnsavedChanges)}},this.shutdown=async()=>{a.DialogManagerClient.open("yesNo",{monitor:"primary",title:"Scheduled Shutdown",question:`The application will shutdown in one minute. ${this.discardUnsavedChanges?"Unsaved changes in your workspace will be discarded":"Your workspace will be saved"}.`,showTimer:!0,timerDuration:6e4,showNegativeButton:!1,affirmativeResponseLabel:"Shutdown Now"},(async(e,t)=>{if(e)throw new Error(e.toString());n.Logger.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - done with shutdown dialog, response",t);try{"cancel"===t.choice?(n.Logger.system.warn("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Scheduled shutdown cancelled by user"),o.ConfigClient.getValue({field:l},this.processShutdownConfig)):(this.discardUnsavedChanges?n.Logger.system.info("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Discarding unsaved workspace changes."):(n.Logger.system.info("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Saving workspace."),await s.WorkspaceClient.save()),n.Logger.system.info("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Workspace saved successfully."),i.RouterClient.transmit("Application.shutdown",{scheduledCloseDiscardUnsavedChanges:this.discardUnsavedChanges}))}catch(e){const t="APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Scheduled shutdown cancelled as we failed to save the workspace";n.Logger.warn(t,e)}}))}}start(e){n.Logger.system.debug("checkForScheduledShutdownTask start"),this.bindFunctions(),this.checkConfig(),e("checkForScheduledShutdownTask","bootTasks","completed")}bindFunctions(){this.processShutdownConfig=this.processShutdownConfig.bind(this),this.processDiscardConfig=this.processDiscardConfig.bind(this)}isValidConfig(e){return!(!e||null==e.hour||e.hour>23||e.hour<0||null==e.minute||e.minute>59||e.minute<0||e.dayOfWeek&&(e.dayOfWeek<0||e.dayOfWeek>6))}scheduleShutdown(e){if(!this.isValidConfig(e))return;this.shutdownTimer&&clearTimeout(this.shutdownTimer);const r=(0,t.calculateTimeout)(e);this.shutdownTimer=setTimeout(this.shutdown,r)}checkConfig(){o.ConfigClient.getValue({field:l},this.processShutdownConfig),o.ConfigClient.addListener({field:l},this.processShutdownConfig),o.ConfigClient.getValue({field:c},this.processDiscardConfig),o.ConfigClient.addListener({field:c},this.processDiscardConfig)}}},45071: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(2518)),o=n(r(9381)),s=r(91374);t.HideSplashScreenTask=class{start(e){i.default.system.log("Hide Splash Screen Task Started."),o.default.getValue("splashScreenTimeout",((t,r)=>{s.System.hideSplashScreen(),e("hideSplashScreenTask","bootTasks","completed")}))}}},82286: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(2518)),o=r(91374);t.InitializeDeepLinkingTask=class{start(e){o.System.getProtocolString().then((e=>{i.default.system.log(`initializeDeepLinkingTask startup ${e}`)})),e("initializeDeepLinkingTask","bootTasks","completed")}}},22275:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeFinsemblePubsubTask=void 0;const n=r(2518),i=r(51848);t.InitializeFinsemblePubsubTask=class{start(e){n.Logger.system.debug("initializeFinsemblePubsubTask start"),i.RouterClient.addPubSubResponder(/.*Finsemble.*/,{}),e("initializeFinsemblePubsubTask","bootTasks","completed")}}},95189:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeRouterTask=void 0;const n=r(51848),i=r(2518);t.InitializeRouterTask=class{constructor(e){this.serviceLauncher=e.serviceLauncher}start(e){const t=this.serviceLauncher.getServiceConfig("router");this.serviceLauncher.createService(t),i.Logger.system.log("initializeRouterService",t),n.RouterClient.onReady((()=>{e("initializeRouterTask","bootTasks","completed")}))}}},67996:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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}),t.InitializeSystemManagerAPITask=void 0;const s=o(r(26604)),a=r(51848),l=r(2518),c=r(38144);t.InitializeSystemManagerAPITask=class{constructor(e){this.systemLog=e.systemLog,this.bootEngine=e.bootEngine}start(e){l.Logger.system.debug("initializeSystemManagerAPITask start"),a.RouterClient.addListener(c.SYSLOG_CHANNEL,((e,t)=>{(null==t?void 0:t.data.params.error)?this.systemLog.error(t.data.params,t.data.logMessage):(null==t?void 0:t.data.params.notification)?this.systemLog.notification(t.data.params,t.data.logMessage):this.systemLog.log(null==t?void 0:t.data.params,null==t?void 0:t.data.logMessage)})),a.RouterClient.addListener(s.SERVICE_START_CHANNEL,((e,t)=>{this.bootEngine.startServiceDeprecated(null==t?void 0:t.data.name)})),e("initializeSystemManagerAPITask","bootTasks","completed")}}},5506:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(51848),l=r(2518),c=o(r(26604)),u=s(r(84795));t.InitializeSystemStateHandersTask=class{constructor(){this.ServiceStates={}}start(e){l.Logger.system.debug("initializeSystemStateHandersTask start"),a.RouterClient.addPubSubResponder("AuthorizationState",{state:"undefined"}),a.RouterClient.addPubSubResponder(/WorkspaceService.*/,{state:"start"}),a.RouterClient.addPubSubResponder(c.APPLICATION_STATE_CHANNEL,{state:"initializing"},{publishCallback:(e,t)=>{l.Logger.system.log("APPLICATION LIFECYCLE: STATE CHANGE",t.data.state),t.sendNotifyToAllSubscribers(null,t.data)}}),a.RouterClient.addListener(c.SERVICE_INITIALIZING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.name,state:"initializing"})})),a.RouterClient.addListener(c.SERVICE_READY_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.serviceName,state:"ready"})})),a.RouterClient.addListener(c.SERVICE_CLOSING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.name,state:"closing"})})),a.RouterClient.addListener(c.SERVICE_CLOSED_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.name,state:"closed"})})),u.default.waitForStartup("dataStoreService",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"configuring"})})),u.default.waitForBootStage("kernel","stageEntered",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"initializing"})})),u.default.waitForBootStage("authentication","stageEntered",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"authenticating"})})),u.default.waitForBootStage("authentication","stageCompleted",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"authenticated"})})),u.default.waitForBootStage("user","stageEntered",(()=>{a.RouterClient.publish(c.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}`;l.Logger.system.log(n,t),a.RouterClient.publish(`Finsemble.Service.State.${t}`,{state:r}),a.RouterClient.publish(c.SERVICES_STATE_CHANNEL,this.ServiceStates)}}},59920: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(1641),o=n(r(2518)),s=n(r(49136)),a=n(r(9381)),l=n(r(47913)),c=n(r(95495)),u=n(r(16107));let d,f;const p="loadAppDInstalledComponentsTask";t.LoadAppDInstalledComponentsTask=class{async start(e){var t;o.default.system.debug("LoadAppDInstalledComponentsTask start");const{data:r}=await a.default.getValue({field:"finsemble.appDirectoryEndpoint"});if(null===r)return o.default.system.debug("LoadAppDInstalledComponentsTask appDirectoryEndpoint is not set. No components to load."),void e(p,"bootTasks","completed");const{err:n,data:c}=await l.default.getStore({store:"Finsemble-AppLauncher-Store",global:!0,waitForPersistentStoreToLoad:!0});let u={};if(n)return o.default.system.debug("LoadAppDInstalledComponentsTask error",n),void e(p,"bootTasks","completed");(null===(t=null==c?void 0:c.values)||void 0===t?void 0:t.appDefinitions)?(u=c.values.appDefinitions,(0,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")}))):e(p,"bootTasks","completed")}getApp(e,t=Function.prototype){f.get(e).then((e=>t(null,e))).catch((e=>t(e)))}lazyLoadAppD(e){d||(d=new u.default({url:e})),f||(f=new c.default(d))}}},22575: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.LoadSystemTrayIconTask=void 0;const i=n(r(2518)),o=n(r(49136)),s=r(91374),a=n(r(9381)),l=n(r(25495)),c=r(94017),u=r(31755);t.LoadSystemTrayIconTask=class{async start(e){i.default.system.debug("loadSystemTrayIconTask start"),l.default.shutdown.waitFor({},this.handleShutdown.bind(this));const{data:t}=await a.default.getValue({field:"finsemble.systemTrayIcon"});let{data:r}=await a.default.getValue({field:"finsemble.systemTrayComponent"});a.default.addListener({field:"finsemble.systemTrayIcon"},((e,t)=>{let r=t.value;i.default.system.log("Setting system tray icon",r),s.System.setTrayIcon(r)})),t&&r&&(i.default.system.log("Setting system tray icon",t),s.System.setTrayIcon(t)),r&&this.setupSystemTrayListeners(r),e("loadSystemTrayIconTask","bootTasks","completed")}setupSystemTrayListeners(e){s.System.addEventListener("system-tray-click",(()=>{o.default.getActiveDescriptors(((e,t)=>{if(!e&&t){const e=Object.keys(t);(0,u.bringWindowsToFront)({windowList:e})}}))})),s.System.addEventListener("system-tray-right-click",(()=>{(async()=>{var t,r;const n=await s.System.getMousePosition();let i=null!==(t=null==n?void 0:n.left)&&void 0!==t?t:0,a=null!==(r=null==n?void 0:n.top)&&void 0!==r?r:0;const l=await(0,c.getMonitorFromScaledXY)(i,a);let u={position:"monitor",spawnIfNotFound:!0,monitor:l.position};const d=(0,c.getTaskbar)(l);d&&(u=(({spawnParams:e,taskbar:t,md:r,mouseX:n,mouseY:i})=>(n-r.left<=r.right-n?(e.left=n,"left"===t.edge&&e.left<t.right&&(e.left=t.right+1)):("right"===t.edge&&n<t.right&&(n=t.right-1),e.right=r.right-n),i-r.top<=r.bottom-i?(e.top=i,"top"===t.edge&&e.top<t.top&&(e.top=t.top+1)):("bottom"===t.edge&&i>t.top&&(i=t.top-1),e.bottom=r.bottom-i),e))({spawnParams:u,taskbar:d,md:l.monitorRect,mouseX:i,mouseY:a})),e&&o.default.showWindow({componentType:e},u)})()}))}handleShutdown(){s.System.Window.getCurrent().removeTrayIcon((()=>{i.default.system.debug("System Tray Icon removed")}),(()=>{i.default.system.error("Unable to remove System Tray Icon")}))}}},25105: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(1641),o=n(r(2518)),s=n(r(49136)),a=n(r(95085));t.LoadUserDefinedComponentsTask=class{start(e){o.default.system.debug("loadUserDefinedComponentsTask start"),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);(0,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")}))}}))}}},56903: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(2518)),o=n(r(49136)),s=n(r(80752)),a=n(r(9381));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"})};s.default.addGlobalHotkey(r.component.spawnOnHotkey,t)}})),e("registerHotkeysTask","bootTasks","completed")}}},54443: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(74221)),o=n(r(9996)),s=n(r(2518)),a=n(r(10449)),l=n(r(49136)),c=n(r(9381));t.SetupSearchLauncherTask=class{async start(e){s.default.system.debug("setupSearchLauncherTask start");const{data:t}=await c.default.getValue({field:"finsemble.servicesConfig"});let r={title:null,providerActionComponent:null};t&&t.launcher&&t.launcher.searchProviderAction&&(r.title=t.launcher.searchProviderAction.title,r.providerActionComponent=t.launcher.searchProviderAction.component),a.default.register({name:"Installed Components",searchCallback:this.searchComponents.bind(this),itemActionCallback:(e,t)=>{e.action&&e.item&&"Spawn"===e.action.name&&l.default.spawn(e.item.name,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:t}})},providerActionTitle:r.title,providerActionCallback:e=>{s.default.system.debug("setupSearchLauncherTask providerActionCallback",e),r.providerActionComponent&&l.default.spawn(r.providerActionComponent,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:e}})}},(()=>{e("setupSearchLauncherTask","bootTasks","completed")}))}async searchComponents(e,t){var r;let n={shouldSort:!0,includeScore:!0,includeMatches:!0,threshold:.4,location:0,distance:100,minMatchCharLength:1,keys:["component.displayName","component.type"]};const{data:s}=await c.default.getValue({field:"finsemble.servicesConfig.launcher.search"});if(!1===(null==s?void 0:s.enabled))return void t(null,[]);(null==s?void 0:s.options)&&(n=(0,o.default)(n,s.options));const{err:a,data:u}=await l.default.getComponentList();if(a||!u)return void t(null,[]);const d=null!==(r=Object.values(u))&&void 0!==r?r:[],f=d.map((e=>({item:e,score:100,matches:1}))),p=(e.text.length?new i.default(d,n).search(e.text):f).flatMap((e=>{var t,r,n,i;const{item:o}=e,s=o.component,a={name:s.type,displayName:s.displayName||s.type,score:e.score,matches:e.matches,icon:null===(t=o.icons)||void 0===t?void 0:t.toolbarIcon,type:"Application",description:"",actions:[{name:"Spawn"}],tags:[]};return(null===(i=null===(n=null===(r=e.item.foreign)||void 0===r?void 0:r.components)||void 0===n?void 0:n["App Launcher"])||void 0===i?void 0:i.launchableByUser)?[a]:[]}));t(null,p)}}},71667: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(2518));t.StartLoggerTask=class{start(e){i.default.system.debug("startLoggerTask start"),i.default.start(),e("startLoggerTask","bootTasks","completed")}}},37181: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(84795)),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)}}},16048: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(84795)),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)}}},83516: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(84795)),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)}}},67329:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForceErrorTestTask=void 0,t.ForceErrorTestTask=class{start(e){e("forceErrorTestTask","bootTasks","failed")}}},86616: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(9381));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")}}},38137:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForAuthenticatedTask=void 0;const n=r(51848),i=r(2518);t.WaitForAuthenticatedTask=class{start(e){i.Logger.system.debug("waitForAuthenticatedTask start");const t=n.RouterClient.subscribe("Authorization",(r=>{r||(n.RouterClient.unsubscribe(t),e("waitForAuthenticatedTask","bootTasks","completed"))}))}}},36197:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForUpdateDownloadTask=void 0;const n=r(2518),i=r(51848),o=r(91374),s=r(9381),a=r(44343);t.WaitForUpdateDownloadTask=class{async start(e){n.Logger.system.debug("waitForUpdateDownloadTask start");const{data:t}=await s.ConfigClient.getValue({field:"finsemble.waitForUpdate"});t?o.System.getUpdateAvailable((t=>{t?(n.Logger.system.debug("Waiting for update to download"),(0,a.toast)("alert","ONCE-SINCE-STARTUP","Waiting for download","Update available. Waiting for it to download before starting."),o.System.addEventListener("apply-update-requested",(()=>{n.Logger.system.debug("Update downloaded... restarting"),i.RouterClient.transmit("Application.restart",{forceRestart:!0})}))):(n.Logger.system.debug("Update not available... continue startup"),e("waitForUpdateDownloadTask","bootTasks","completed"))})):(n.Logger.system.debug("Starting without waiting for update to download"),e("waitForUpdateDownloadTask","bootTasks","completed"))}}},37331:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkpointChannel=t.statusChannel=void 0;const n=r(38144);t.statusChannel=function(e){return`${n.STATUS_CHANNEL_BASE}.${e}`},t.checkpointChannel=function(e,t){return`${n.CHECKPOINT_CHANNEL_BASE}.${e}.${t}`}},87579: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(2518)),o=r(91374),s=n(r(13973)),a=n(r(84795)),l=n(r(27361)),c=n(r(9996));t.ServiceLauncher=class{constructor(e){this.runningServices={},this.workerTop=100,this.workerLeft=100,this.webWorkers={},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}])}async createService(e){if(this.runningServices[e.name])return{};this.runningServices[e.name]=!0;const t=Object.assign({},this.getServiceConfig(e.name)),r=this.composeWorkerConfig(Object.assign({},e,t));if(!r.name){let r="Tried to create a service without a name. Check your config.";return e&&t&&(r=`${r}\n\t\t\t\tconfig: ${JSON.stringify(e,null,4)}\n\t\t\t\tupdatedConfig: ${JSON.stringify(t,null,4)}`),a.default.systemLog({error:!0},r),{err:r}}const n=r.isolate?"process":"window",{spawnAs:o=n}=r;let s;switch(i.default.console.debug(`serviceLauncher: createService() ${e.name}`,o,r),o){default:s=await this.launchServiceAsWindow(t,r);break;case"process":r.affinity=!1,s=await this.launchServiceAsWindow(t,r);break;case"script":s=await this.launchServiceAsScript(t)}return i.default.console.debug(`serviceLauncher: createService() ${e.name} successfully spawned`),this.workerTop=this.workerTop+25,this.workerLeft=this.workerLeft+25,s}mergeConfig(e){let t={};return e.forEach((e=>{t=(0,c.default)(t,(0,l.default)(this.finsembleConfig,`${e.path}.${e.entry}`,{}))})),t}launchServiceAsScript(e){return new Promise((t=>{const r=e.file,n=document.createElement("script");n.setAttribute("src",r),document.head.appendChild(n),t({})}))}launchServiceAsWindow(e,t){return new Promise((e=>{o.System.Window.createNew(Object.assign(Object.assign({},t),{windowName:t.name,affinity:t.affinity}),(t=>{e(t?{err:t}:{})}))}))}composeWorkerConfig(e){var t,r,n,o,a,l;const u=(0,c.default)(e,{manifest:this.manifest}),d=null!==(o=null===(n=null===(r=null===(t=this.finsembleConfig)||void 0===t?void 0:t.servicesConfig)||void 0===r?void 0:r.launcher)||void 0===n?void 0:n.defaultServiceAffinity)&&void 0!==o?o:null;!0===e.affinity&&(i.default.system.error("An invalid affinity setting: true was passed in an application config. Affinity values must be strings or false"),delete e.affinity);const f={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:u,alwaysOnTop:!1,fixedPosition:!1,saveWindowState:!1,cornerRounding:!0,waitForPageLoad:!0,isolate:e.isolate,spawnAs:e.spawnAs,affinity:null!==(l=null!==(a=e.affinity)&&void 0!==a?a:d)&&void 0!==l?l:"Finsemble",securityPolicy:e.securityPolicy||null,permissions:e.permissions||{},icon:this.manifest.startup_app?this.manifest.startup_app.applicationIcon:null},p=(0,c.default)(f,e.window||{});return this.finsembleConfig.securityPolicies&&(p.securityPolicy=s.default.getSecurityPolicy(p,this.finsembleConfig),p.permissions=s.default.getPermissions(p,this.finsembleConfig)),p}}},20547:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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}),t.ShutdownManager=void 0;const s=r(2518),a=r(91374),l=r(51848),c=r(60434),u=o(r(26604)),d=r(25495),f=r(94017),p=r(23099);class h{constructor(e){this.runningServices=[],this.hasShutdownGracefully=!1,this.gracefulShutdownResolver=null,this.timeout=e}async isAllClaimedSpaceIsReleased(){const e=await(0,f.getAllMonitors)();return!await(0,p.isWindows)()||e.every((e=>this.isMonitorReleased(e)))}isMonitorReleased(e){const{taskbar:t}=e;if(!t)return!0;const r=e.monitorRect.width*e.monitorRect.height-t.width*t.height;return e.availableRect.width*e.availableRect.height===r}async waitForClaimedSpaceRelease(){let e;s.Logger.system.debug("APPLICATION LIFECYCLE:SHUTDOWN: waiting for claimed space to be released.");let t=null;const r=new Promise((t=>{e=setTimeout((()=>{e=null,s.Logger.system.error("Monitors were not released within the allotted time. Was the system asleep?"),t()}),this.timeout)})),n=new Promise((e=>{const r=async()=>{await this.isAllClaimedSpaceIsReleased()?(s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: Claimed space has been released."),clearTimeout(t),t=null,e()):(s.Logger.console.error("APPLICATION LIFECYCLE:SHUTDOWN: Claimed space not released. Checking again in 250ms."),t=setTimeout(r,250))};r()}));await Promise.race([n,r]),e&&clearTimeout(e),t&&clearTimeout(t)}servicesHaveShutdown(){this.hasShutdownGracefully=!0,this.gracefulShutdownResolver&&this.gracefulShutdownResolver()}async waitForGracefulShutdown(e){let t;s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: waitForGracefulShutdown.");const r=new Promise((e=>{this.gracefulShutdownResolver=()=>{s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: graceful shutdown resolved."),e()}}));if(!e)return s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: waitForGracefulShutdown. Waiting (not ForceRestart)."),r;{s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: waitForGracefulShutdown. ForceRestart.");const e=new Promise((e=>{t=setTimeout((()=>{t=null,s.Logger.console.error("Timed out waiting for graceful shutdown. Forcing restart."),e()}),this.timeout)}));s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: Before Promise.race().",this.timeout),await Promise.race([r,e]),s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: After Promise.race()."),t&&clearTimeout(t)}}async shutdownEverythingButThisWindow(e){this.hasShutdownGracefully?s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:shutdownEverythingButThisWindow services are already shut down, proceeding to wait for claimed space."):(s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:shutdownEverythingButThisWindow:Before waitForGracefulShutdown."),await this.waitForGracefulShutdown(e)),s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:shutdownEverythingButThisWindow:Before waitForClaimedSpaceRelease."),await this.waitForClaimedSpaceRelease()}async transmitShutdownRequest(){a.System.hideSplashScreen(),s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:transmitShutdownRequest:Sending out message to shut down."),l.RouterClient.publish(u.APPLICATION_STATE_CHANNEL,{state:"closing"}),await this.shutdownEverythingButThisWindow(),a.System.terminate()}async transmitRestartRequest(e){s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:transmitRestartRequest:Sending out message to shut down."),s.Logger.console.debug("shutdownManager.transmitRestartRequest"),l.RouterClient.publish(u.APPLICATION_STATE_CHANNEL,{state:"closing"}),await this.shutdownEverythingButThisWindow(null==e?void 0:e.forceRestart),a.System.restart()}}t.ShutdownManager=class{constructor(e){var t;this.mostRecentListOfServices=[],s.Logger.system.log("shutdownManager",e);const r=null!==(t=e.manifest.finsemble.shutdownTimeout)&&void 0!==t?t:1e4;this.shutdown=new h(r),s.Logger.system.debug("Adding Listeners for shutdown and restart"),l.RouterClient.addListener("Application.shutdown",(()=>{this.shutdown.transmitShutdownRequest()})),l.RouterClient.addListener("Application.restart",((e,t)=>{this.shutdown.transmitRestartRequest(t.data)})),a.System.addEventListener("apply-update-requested",(()=>{s.Logger.system.log("Apply update requested: after onReady"),c.DialogManagerClient.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&&l.RouterClient.transmit("Application.restart",{})}))}))}addActiveServicesToDependencyManager(e){const t=e.filter((e=>"routerService"!==e));this.mostRecentListOfServices=t,s.Logger.console.debug("shutdownManager.addActiveServicesToDependencyManager: Will wait for the following services at shutdown",t),(new d.FSBLDependencyManager).shutdown.waitFor({services:t},(()=>{s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:servicesHaveShutdown",t,this.mostRecentListOfServices),t===this.mostRecentListOfServices&&(s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:servicesHaveShutdown DONE"),this.shutdown.servicesHaveShutdown())}))}}},40601:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SystemLog=void 0;const n=r(91374),i=r(2518),o=r(38144),s=r(51848);class a{constructor(){this.onErrorMakeSystemManagerVisible=!0,this.catastrophicFailure=!1}initialize(e){this.onErrorMakeSystemManagerVisible=e;const t=n.System.Window.getCurrent();setTimeout((()=>{s.RouterClient.addListener(o.SHOW_SYSLOG_CHANNEL,(()=>{this.showSystemLog()}))}),2e3),setTimeout((()=>{t.bringToFront()}),15e3),t.addEventListener("close-requested",(()=>{this.catastrophicFailure?n.System.exit():this.hideSystemLog()}))}updateElement(e,t,r,n,i){const o=document.getElementById(e);if(o){let e="";r.leadingBlankLine&&(o.innerHTML=`${o.innerHTML}<br />`),r.indent?e="        ":r.doubleIndent&&(e="               ");const s=t?`style="color: ${t};""`:"";if(o.innerHTML=`${o.innerHTML}<span ${s}>${e}${n}<br /></span>`,""!=i){const t=JSON&&JSON.stringify?JSON.stringify(i):i;o.innerHTML=`${o.innerHTML}<span ${s}>${e}${t}<br /></span>`}}}log(e,t,r=""){i.Logger.system.debug("SystemLog.log",e,t,r),console.log("SYSTEM LOG",t,r),this.updateElement("log",null,e,t,r)}warn(e,t,r=""){i.Logger.system.warn("SystemLog.warn",e,t,r),this.onErrorMakeSystemManagerVisible&&this.showSystemLog(),console.warn("SYSTEM LOG ERROR",t,r),this.updateElement("log","#DC951F",e,t,r)}error(e,t,r=""){i.Logger.system.error("SystemLog.error",e,t,r),t.includes("Terminating Boot")&&(this.catastrophicFailure=!0),this.onErrorMakeSystemManagerVisible?this.showSystemLog():this.catastrophicFailure&&n.System.exit(),console.error("SYSTEM LOG ERROR",t,r),this.updateElement("log","#F26666",e,t,r)}notification(e,t,r=""){i.Logger.system.debug("SystemLog.notification",e,t,r),console.warn("SYSTEM LOG NOTIFICATION",t,r),this.updateElement("notification","#0A8CF4",e,t,r)}showSystemLog(){const e=n.System.Window.getCurrent();e.show(),e.bringToFront(),n.System.hideSplashScreen()}hideSystemLog(){n.System.Window.getCurrent().hide()}}t.SystemLog=a;const l=new a;t.default=l},9097: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=r(2518),o=n(r(40601)),s=r(84503),a=r(87579),l=r(20547),c=r(91374),u=r(64324),d=r(88478),f=r(55470),p=r(82286),h=r(5506),g=r(95189),m=r(22275),y=r(38137),v=r(67996),w=r(71667),b=r(56903),S=r(54443),C=r(25105),_=r(59920),k=r(22575),E=r(67329),L=r(83516),T=r(37181),A=r(16048),O=r(86616),P=r(71184),I=r(45478),R=r(45071),$=r(36197),N=r(80170),D=r(51848),W=r(44137);let M=window;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 j{constructor(e){console.debug("Starting System Manager",e),c.System.startupApplicationHandshake(),this.manifest=e.manifest,this.initialize()}async initialize(){this.onErrorMakeSystemManagerVisible=u.ConfigUtilInstance.getDefault(this.manifest,"manifest.finsemble.bootConfig.onErrorMakeSystemManagerVisible",!1),o.default.initialize(!!this.onErrorMakeSystemManagerVisible),await f.DeprecatedConfigUtilInstance.modifyConfigBasedOnDeprecatedDefinitions("bootConfig",this.manifest),await d.SchemaUtilInstance.walkSchemaAndSetConfigDefaults(this.manifest),this.verifyConfig(this.manifest),M.mainWindow=c.System.Window.getCurrent(),i.Logger.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion)}async verifyConfig(e){let t=!0,r=await d.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(){var e;return console.log("1) finsemble.bootConfig onErrorMakeSystemManagerVisible:",this.onErrorMakeSystemManagerVisible),console.log(""),null===(e=this.bootEngine)||void 0===e||e.helpData(),"helpData complete"}boot(){try{this.shutdownManager=new l.ShutdownManager({manifest:this.manifest}),this.serviceLauncher=new a.ServiceLauncher({manifest:this.manifest,shutdownManager:this.shutdownManager}),M.bootEngine=this.bootEngine=new s.BootEngine(this.manifest,this.serviceLauncher,this.shutdownManager),this.registerBootTasks(this.bootEngine,this.manifest,this.serviceLauncher),this.bootEngine.run()}catch(e){o.default.error({leadingBlankLine:!0},e)}}async start(){await this.verifyConfig(this.manifest)?(i.Logger.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion),this.manifest.finsemble.debugSystemManager?c.System.showDeveloperTools(window.name,null,(()=>{setTimeout((()=>{this.boot()}),2e3)})):this.boot()):o.default.error({leadingBlankLine:!0},"FATAL ERROR: Prematurely terminating Finsemble.")}registerBootTasks(e,t,r){var n,i,s,a,l,c,u,d,f,D,W,M,j,F,x,B,G,U,V,H,z,q,K;null===(n=this.bootEngine)||void 0===n||n.registerBootTask("initializeDeepLinkingTask",(e=>{(new p.InitializeDeepLinkingTask).start(e)})),null===(i=this.bootEngine)||void 0===i||i.registerBootTask("initializeRouterTask",(e=>{new g.InitializeRouterTask({manifest:t,serviceLauncher:r}).start(e)})),null===(s=this.bootEngine)||void 0===s||s.registerBootTask("updateServiceLauncherConfigTask",(e=>{new O.UpdateServiceLauncherConfigTask({serviceLauncher:r}).start(e)})),null===(a=this.bootEngine)||void 0===a||a.registerBootTask("initializeFinsemblePubsubTask",(e=>{(new m.InitializeFinsemblePubsubTask).start(e)})),null===(l=this.bootEngine)||void 0===l||l.registerBootTask("initializeSystemStateHandersTask",(e=>{(new h.InitializeSystemStateHandersTask).start(e)})),null===(c=this.bootEngine)||void 0===c||c.registerBootTask("waitForUpdateDownloadTask",(e=>{(new $.WaitForUpdateDownloadTask).start(e)})),null===(u=this.bootEngine)||void 0===u||u.registerBootTask("waitForAuthenticatedTask",(e=>{(new y.WaitForAuthenticatedTask).start(e)})),null===(d=this.bootEngine)||void 0===d||d.registerBootTask("initializeSystemManagerAPITask",(t=>{new v.InitializeSystemManagerAPITask({bootEngine:e,systemLog:o.default}).start(t)})),null===(f=this.bootEngine)||void 0===f||f.registerBootTask("startLoggerTask",(e=>{(new w.StartLoggerTask).start(e)})),null===(D=this.bootEngine)||void 0===D||D.registerBootTask("loadUserDefinedComponentsTask",(e=>{(new C.LoadUserDefinedComponentsTask).start(e)})),null===(W=this.bootEngine)||void 0===W||W.registerBootTask("loadAppDInstalledComponentsTask",(e=>{(new _.LoadAppDInstalledComponentsTask).start(e)})),null===(M=this.bootEngine)||void 0===M||M.registerBootTask("registerHotkeysTask",(e=>{(new b.RegisterHotkeysTask).start(e)})),null===(j=this.bootEngine)||void 0===j||j.registerBootTask("setupSearchLauncherTask",(e=>{(new S.SetupSearchLauncherTask).start(e)})),null===(F=this.bootEngine)||void 0===F||F.registerBootTask("loadSystemTrayIconTask",(e=>{(new k.LoadSystemTrayIconTask).start(e)})),null===(x=this.bootEngine)||void 0===x||x.registerBootTask("checkForScheduledRestartTask",(e=>{(new P.CheckForScheduledRestartTask).start(e)})),null===(B=this.bootEngine)||void 0===B||B.registerBootTask("checkForScheduledShutdownTask",(e=>{(new I.CheckForScheduledShutdownTask).start(e)})),null===(G=this.bootEngine)||void 0===G||G.registerBootTask("hideSplashScreenTask",(e=>{(new R.HideSplashScreenTask).start(e)})),null===(U=this.bootEngine)||void 0===U||U.registerBootTask("addAppDefinitionsToDesktopAgentTask",(e=>{(new N.AddAppDefinitionsToDesktopAgentTask).start(e)})),null===(V=this.bootEngine)||void 0===V||V.registerBootTask("forceErrorTestTask",(new E.ForceErrorTestTask).start),null===(H=this.bootEngine)||void 0===H||H.registerBootTask("checkpointErrorTestTask",(new L.CheckpointErrorTestTask).start),null===(z=this.bootEngine)||void 0===z||z.registerBootTask("checkpointCircularDependencyTestTask",(new T.CheckpointBadDependencyTestTask).start),null===(q=this.bootEngine)||void 0===q||q.registerBootTask("checkpointBadDependencyTestTask",(new A.CheckpointCircularDependencyTestTask).start),null===(K=this.bootEngine)||void 0===K||K.registerBootTask("checkpointBadDependencyTestTask",(new A.CheckpointCircularDependencyTestTask).start)}}t.SystemManager=j,(async()=>{W.FEAGlobals.finsembleServices=[{name:"System Manager"}];const{err:e,data:t}=await u.ConfigUtilInstance.getInitialManifest();if(!e&&t){i.Logger.console.log("forceObjectsToLogger","APPLICATION LIFECYCLE:STARTUP: *** Initial manifest ***",t);const e=new j({manifest:t});e.start(),M.systemManager=e,M.helpData=e.helpData.bind(e),M.openCentralLogger=()=>{D.RouterClient.transmit("CentralConsole-Show",!0)},M.showDeveloperTools=()=>{c.System.showDeveloperTools(window.name,null)}}else i.Logger.console.error(`systemManager.main() error getting initial manifest ${e}`)})()},53912:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BootReadyItem=void 0,t.BootReadyItem=class{constructor(e,t,r){this.name=e,this.type=t,this.config=r}}},13973:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(23099)),l=s(r(2518)),c=s(r(9996));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&&l.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){l.default.system.error("SpawnUtils:getPermissions: Unexpected JSON parsing error.")}r=(0,c.default)(r,n);const i=e.securityPolicy&&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&&(l.default.system.error("Window Service cannot be restricted from closing windows, disabling restriction."),r.Window.close=!0),r}}},81064:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeWindowReferenceFromActiveWorkspace=t.addWindowReferenceToActiveWorkspace=void 0;const n=r(2518),i=r(51848);t.addWindowReferenceToActiveWorkspace=async(e,t=null)=>{const{err:r,response:o}=await i.RouterClient.query("WorkspaceService.addWindow",e,(()=>{}));if(n.Logger.system.log(`WORKSPACE LIFECYCLE: Window added:WorkspaceClient.addWindow: Name (${e.name})`),t&&t(r,o),!t&&r)throw r;return o},t.removeWindowReferenceFromActiveWorkspace=(e,t=Function.prototype)=>{i.RouterClient.query("WorkspaceService.removeWindow",e,((r,i)=>{if(r)return n.Logger.system.error(r);n.Logger.system.log(`WORKSPACE LIFECYCLE:WorkspaceClient.removeWindow:Window removed: Name (${e.name})`),t(r,i?i.data:null)}))}},10600:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},57746:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},24508:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},74443:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46888:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95281:(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"},14414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},56911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},27154:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22225:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},896:(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"},80976:(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=p[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 l(e){return{arrayItems:e}}function c(...e){return{unionMembers:e}}function u(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 p={Context:u([{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")},{json:"type",js:"type",typ:""}],"any"),ContactList:u([{json:"contacts",js:"contacts",typ:l(f("Contact"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Contact:u([{json:"id",js:"id",typ:f("ContactID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),ContactID:u([{json:"email",js:"email",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")}],""),InstrumentList:u([{json:"instruments",js:"instruments",typ:l(f("Instrument"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Instrument:u([{json:"id",js:"id",typ:f("InstrumentID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),InstrumentID:u([{json:"BBG",js:"BBG",typ:c(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"FIGI",js:"FIGI",typ:c(void 0,"")},{json:"ISIN",js:"ISIN",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")},{json:"RIC",js:"RIC",typ:c(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:c(void 0,"")},{json:"ticker",js:"ticker",typ:c(void 0,"")}],""),Country:u([{json:"id",js:"id",typ:f("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),CountryID:u([{json:"ISOALPHA2",js:"ISOALPHA2",typ:c(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:c(void 0,"")}],""),Organization:u([{json:"id",js:"id",typ:f("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),OrganizationID:u([{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"LEI",js:"LEI",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")}],""),Portfolio:u([{json:"positions",js:"positions",typ:l(f("Position"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Position:u([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:f("Instrument")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any")}},63250:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(10600),t),i(r(57746),t),i(r(24508),t),i(r(22225),t),i(r(74443),t),i(r(46888),t),i(r(95281),t),i(r(56911),t),i(r(27154),t),i(r(86414),t),i(r(14414),t),i(r(896),t),i(r(80976),t),i(r(59579),t)},59579:(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"},60540: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="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",l=t("[\\:\\/\\?\\#\\[\\]\\@]",a),c=e?"[\\uE000-\\uF8FF]":"[]",u=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(u,a,"[\\:]"))+"*"),p=(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)),h=r(p+"\\."+p+"\\."+p+"\\."+p),g=r(o+"{1,4}"),m=r(r(g+"\\:"+g)+"|"+h),y=r(r(g+"\\:")+"{6}"+m),v=r("\\:\\:"+r(g+"\\:")+"{5}"+m),w=r(r(g)+"?\\:\\:"+r(g+"\\:")+"{4}"+m),b=r(r(r(g+"\\:")+"{0,1}"+g)+"?\\:\\:"+r(g+"\\:")+"{3}"+m),S=r(r(r(g+"\\:")+"{0,2}"+g)+"?\\:\\:"+r(g+"\\:")+"{2}"+m),C=r(r(r(g+"\\:")+"{0,3}"+g)+"?\\:\\:"+g+"\\:"+m),_=r(r(r(g+"\\:")+"{0,4}"+g)+"?\\:\\:"+m),k=r(r(r(g+"\\:")+"{0,5}"+g)+"?\\:\\:"+g),E=r(r(r(g+"\\:")+"{0,6}"+g)+"?\\:\\:"),L=r([y,v,w,b,S,C,_,k,E].join("|")),T=r(r(u+"|"+s)+"+"),A=(r(L+"\\%25"+T),r(L+r("\\%25|\\%(?!"+o+"{2})")+T)),O=r("[vV]"+o+"+\\."+t(u,a,"[\\:]")+"+"),P=r("\\["+r(A+"|"+L+"|"+O)+"\\]"),I=r(r(s+"|"+t(u,a))+"*"),R=r(P+"|"+h+"(?!"+I+")|"+I),$=r("[0-9]*"),N=r(r(f+"@")+"?"+R+r("\\:"+$)+"?"),D=r(s+"|"+t(u,a,"[\\:\\@]")),W=r(D+"*"),M=r(D+"+"),j=r(r(s+"|"+t(u,a,"[\\@]"))+"+"),F=r(r("\\/"+W)+"*"),x=r("\\/"+r(M+F)+"?"),B=r(j+F),G=r(M+F),U="(?!"+D+")",V=(r(F+"|"+x+"|"+B+"|"+G+"|"+U),r(r(D+"|"+t("[\\/\\?]",c))+"*")),H=r(r(D+"|[\\/\\?]")+"*"),z=r(r("\\/\\/"+N+F)+"|"+x+"|"+G+"|"+U),q=r(d+"\\:"+z+r("\\?"+V)+"?"+r("\\#"+H)+"?"),K=r(r("\\/\\/"+N+F)+"|"+x+"|"+B+"|"+U),Y=r(K+r("\\?"+V)+"?"+r("\\#"+H)+"?");return r(q+"|"+Y),r(d+"\\:"+z+r("\\?"+V)+"?"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+$+")")+"?)")+"?("+F+"|"+x+"|"+G+"|"+U+")"),r("\\?("+V+")"),r("\\#("+H+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+$+")")+"?)")+"?("+F+"|"+x+"|"+B+"|"+U+")"),r("\\?("+V+")"),r("\\#("+H+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+$+")")+"?)")+"?("+F+"|"+x+"|"+G+"|"+U+")"),r("\\?("+V+")"),r("\\#("+H+")"),r("("+f+")@"),r("\\:("+$+")"),{NOT_SCHEME:new RegExp(t("[^]",n,i,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",u,a),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",u,a),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",u,a),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",u,a),"g"),NOT_QUERY:new RegExp(t("[^\\%]",u,a,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",u,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",u,a),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",u,l),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+h+")$"),IPV6ADDRESS:new RegExp("^\\[?("+L+")"+r(r("\\%25|\\%(?!"+o+"{2})")+"("+T+")")+"?\\]?$")}}var s=o(!1),a=o(!0),l=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")},c=2147483647,u=36,d=/^xn--/,f=/[^\0-\x7E]/,p=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},g=Math.floor,m=String.fromCharCode;function y(e){throw new RangeError(h[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(p,".")).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?g(e/700):e>>1,e+=g(e/t);e>455;n+=u)e=g(e/35);return g(n+36*e/(e+38))},C=function(e){var t,r=[],n=e.length,i=0,o=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var l=0;l<a;++l)e.charCodeAt(l)>=128&&y("not-basic"),r.push(e.charCodeAt(l));for(var d=a>0?a+1:0;d<n;){for(var f=i,p=1,h=u;;h+=u){d>=n&&y("invalid-input");var m=(t=e.charCodeAt(d++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:u;(m>=u||m>g((c-i)/p))&&y("overflow"),i+=m*p;var v=h<=s?1:h>=s+26?26:h-s;if(m<v)break;var w=u-v;p>g(c/w)&&y("overflow"),p*=w}var b=r.length+1;s=S(i-f,b,0==f),g(i/b)>c-o&&y("overflow"),o+=g(i/b),i%=b,r.splice(i++,0,o)}return String.fromCodePoint.apply(String,r)},_=function(e){var t=[],r=(e=w(e)).length,n=128,i=0,o=72,s=!0,a=!1,l=void 0;try{for(var d,f=e[Symbol.iterator]();!(s=(d=f.next()).done);s=!0){var p=d.value;p<128&&t.push(m(p))}}catch(e){a=!0,l=e}finally{try{!s&&f.return&&f.return()}finally{if(a)throw l}}var h=t.length,v=h;for(h&&t.push("-");v<r;){var C=c,_=!0,k=!1,E=void 0;try{for(var L,T=e[Symbol.iterator]();!(_=(L=T.next()).done);_=!0){var A=L.value;A>=n&&A<C&&(C=A)}}catch(e){k=!0,E=e}finally{try{!_&&T.return&&T.return()}finally{if(k)throw E}}var O=v+1;C-n>g((c-i)/O)&&y("overflow"),i+=(C-n)*O,n=C;var P=!0,I=!1,R=void 0;try{for(var $,N=e[Symbol.iterator]();!(P=($=N.next()).done);P=!0){var D=$.value;if(D<n&&++i>c&&y("overflow"),D==n){for(var W=i,M=u;;M+=u){var j=M<=o?1:M>=o+26?26:M-o;if(W<j)break;var F=W-j,x=u-j;t.push(m(b(j+F%x,0))),W=g(F/x)}t.push(m(b(W,0))),o=S(i,O,v==h),i=0,++v}}}catch(e){I=!0,R=e}finally{try{!P&&N.return&&N.return()}finally{if(I)throw R}}++i,++n}return t.join("")},k=function(e){return v(e,(function(e){return f.test(e)?"xn--"+_(e):e}))},E=function(e){return v(e,(function(e){return d.test(e)?C(e.slice(4).toLowerCase()):e}))},L={};function T(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 O(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,T).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,T).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,T).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,T).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,T).replace(t.PCT_ENCODED,i)),e}function P(e){return e.replace(/^0*(.*)/,"$1")||"0"}function I(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=l(r,2)[1];return n?n.split(".").map(P).join("."):e}function R(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=l(r,3),i=n[1],o=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=l(s,2),c=a[0],u=a[1],d=u?u.split(":").map(P):[],f=c.split(":").map(P),p=t.IPV4ADDRESS.test(f[f.length-1]),h=p?7:8,g=f.length-h,m=Array(h),y=0;y<h;++y)m[y]=d[y]||f[g+y]||"";p&&(m[h-1]=I(m[h-1],t));var v=m.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=m.slice(0,v.index),S=m.slice(v.index+v.length);w=b.join(":")+"::"+S.join(":")}else w=m.join(":");return o&&(w+="%"+o),w}return e}var $=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,N=void 0==="".match(/(){0}/)[1];function D(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($);if(i){N?(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=L[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)O(r,n);else{if(r.host&&(t.domainHost||o&&o.domainHost))try{r.host=k(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}O(r,s)}o&&o.parse&&o.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function W(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 M=/^\.\.?\//,j=/^\/\.(\/|$)/,F=/^\/\.\.(\/|$)/,x=/^\/?(?:.|\n)*?(?=\/|$)/;function B(e){for(var t=[];e.length;)if(e.match(M))e=e.replace(M,"");else if(e.match(j))e=e.replace(j,"/");else if(e.match(F))e=e.replace(F,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(x);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 G(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?a:s,n=[],i=L[(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?E(e.host):k(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}O(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var o=W(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 l=e.path;t.absolutePath||i&&i.absolutePath||(l=B(l)),void 0===o&&(l=l.replace(/^\/\//,"/%2F")),n.push(l)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function U(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=D(G(e,r),r),t=D(G(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 H={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:H.domainHost,parse:H.parse,serialize:H.serialize};function q(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var K={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=q(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!==(q(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=l(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}},Y={scheme:"wss",domainHost:K.domainHost,parse:K.parse,serialize:K.serialize},J={},Q="[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(Q,"g"),re=new RegExp(X,"g"),ne=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),ie=new RegExp(t("[^]",Q,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"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,l=s.length;a<l;++a){var c=s[a].split("=");switch(c[0]){case"to":for(var u=c[1].split(","),d=0,f=u.length;d<f;++d)n.push(u[d]);break;case"subject":r.subject=V(c[1],t);break;case"body":r.body=V(c[1],t);break;default:i=!0,o[V(c[0],t)]=V(c[1],t)}}i&&(r.headers=o)}r.query=void 0;for(var p=0,h=n.length;p<h;++p){var g=n[p].split("@");if(g[0]=V(g[0]),t.unicodeSupport)g[1]=V(g[1],t).toLowerCase();else try{g[1]=k(V(g[1],t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}n[p]=g.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 l=String(o[s]),c=l.lastIndexOf("@"),u=l.slice(0,c).replace(re,se).replace(re,i).replace(ne,T),d=l.slice(c+1);try{d=t.iri?E(d):k(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]=u+"@"+d}n.path=o.join(",")}var f=e.headers=e.headers||{};e.subject&&(f.subject=e.subject),e.body&&(f.body=e.body);var p=[];for(var h in f)f[h]!==J[h]&&p.push(h.replace(re,se).replace(re,i).replace(ie,T)+"="+f[h].replace(re,se).replace(re,i).replace(oe,T));return p.length&&(n.query=p.join("&")),n}},le=/^([^\:]+)\:(.*)/,ce={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(le),n=e;if(r){var i=t.scheme||n.scheme||"urn",o=r[1].toLowerCase(),s=r[2],a=i+":"+(t.nid||o),l=L[a];n.nid=o,n.nss=s,n.path=void 0,l&&(n=l.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=L[i];o&&(e=o.serialize(e,t));var s=e,a=e.nss;return s.path=(n||t.nid)+":"+a,s}},ue=/^[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(ue)||(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};L[H.scheme]=H,L[z.scheme]=z,L[K.scheme]=K,L[Y.scheme]=Y,L[ae.scheme]=ae,L[ce.scheme]=ce,L[de.scheme]=de,e.SCHEMES=L,e.pctEncChar=T,e.pctDecChars=A,e.parse=D,e.removeDotSegments=B,e.serialize=G,e.resolveComponents=U,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 G(U(D(e,n),D(t,n),n,!0),n)},e.normalize=function(e,t){return"string"==typeof e?e=G(D(e,t),t):"object"===n(e)&&(e=D(G(e,t),t)),e},e.equal=function(e,t,r){return"string"==typeof e?e=G(D(e,r),r):"object"===n(e)&&(e=G(e,r)),"string"==typeof t?t=G(D(t,r),r):"object"===n(t)&&(t=G(t,r)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,T)},e.unescapeComponent=V,Object.defineProperty(e,"__esModule",{value:!0})}(t)},62043:(e,t,r)=>{"use strict";!function(){var t,n,i,o=0,s=[];for(n=0;n<256;n++)s[n]=(n+256).toString(16).substr(1);function a(){var e=(16,(!t||o+16>l.BUFFER_SIZE)&&(o=0,t=l.randomBytes(l.BUFFER_SIZE)),t.slice(o,o+=16));return e[6]=15&e[6]|64,e[8]=63&e[8]|128,e}function l(){var e=a();return s[e[0]]+s[e[1]]+s[e[2]]+s[e[3]]+"-"+s[e[4]]+s[e[5]]+"-"+s[e[6]]+s[e[7]]+"-"+s[e[8]]+s[e[9]]+"-"+s[e[10]]+s[e[11]]+s[e[12]]+s[e[13]]+s[e[14]]+s[e[15]]}l.BUFFER_SIZE=4096,l.bin=a,l.clearBuffer=function(){t=null,o=0},l.test=function(e){return"string"==typeof e&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)},"undefined"!=typeof crypto?i=crypto:"undefined"!=typeof window&&void 0!==window.msCrypto&&(i=window.msCrypto),i=i||r(39061),e.exports=l,l.randomBytes=function(){if(i){if(i.randomBytes)return i.randomBytes;if(i.getRandomValues)return"function"!=typeof Uint8Array.prototype.slice?function(e){var t=new Uint8Array(e);return i.getRandomValues(t),Array.from(t)}:function(e){var t=new Uint8Array(e);return i.getRandomValues(t),t}}return function(e){var t,r=[];for(t=0;t<e;t++)r.push(Math.floor(256*Math.random()));return r}}()}()},39061:()=>{},1641:(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,{all:()=>he,allLimit:()=>ge,allSeries:()=>me,any:()=>et,anyLimit:()=>tt,anySeries:()=>rt,apply:()=>n,applyEach:()=>P,applyEachSeries:()=>$,asyncify:()=>d,auto:()=>W,autoInject:()=>B,cargo:()=>H,cargoQueue:()=>z,compose:()=>Y,concat:()=>Z,concatLimit:()=>Q,concatSeries:()=>X,constant:()=>ee,default:()=>ht,detect:()=>re,detectLimit:()=>ne,detectSeries:()=>ie,dir:()=>se,doDuring:()=>ae,doUntil:()=>le,doWhilst:()=>ae,during:()=>dt,each:()=>ue,eachLimit:()=>de,eachOf:()=>A,eachOfLimit:()=>E,eachOfSeries:()=>I,eachSeries:()=>fe,ensureAsync:()=>pe,every:()=>he,everyLimit:()=>ge,everySeries:()=>me,filter:()=>be,filterLimit:()=>Se,filterSeries:()=>Ce,find:()=>re,findLimit:()=>ne,findSeries:()=>ie,flatMap:()=>Z,flatMapLimit:()=>Q,flatMapSeries:()=>X,foldl:()=>q,foldr:()=>Ge,forEach:()=>ue,forEachLimit:()=>de,forEachOf:()=>A,forEachOfLimit:()=>E,forEachOfSeries:()=>I,forEachSeries:()=>fe,forever:()=>_e,groupBy:()=>Ee,groupByLimit:()=>ke,groupBySeries:()=>Le,inject:()=>q,log:()=>Te,map:()=>O,mapLimit:()=>J,mapSeries:()=>R,mapValues:()=>Oe,mapValuesLimit:()=>Ae,mapValuesSeries:()=>Pe,memoize:()=>Ie,nextTick:()=>Re,parallel:()=>Ne,parallelLimit:()=>De,priorityQueue:()=>xe,queue:()=>We,race:()=>Be,reduce:()=>q,reduceRight:()=>Ge,reflect:()=>Ue,reflectAll:()=>Ve,reject:()=>ze,rejectLimit:()=>qe,rejectSeries:()=>Ke,retry:()=>Je,retryable:()=>Ze,select:()=>be,selectLimit:()=>Se,selectSeries:()=>Ce,seq:()=>K,series:()=>Xe,setImmediate:()=>u,some:()=>et,someLimit:()=>tt,someSeries:()=>rt,sortBy:()=>nt,timeout:()=>it,times:()=>st,timesLimit:()=>ot,timesSeries:()=>at,transform:()=>lt,tryEach:()=>ct,unmemoize:()=>ut,until:()=>ft,waterfall:()=>pt,whilst:()=>dt,wrapSync:()=>d});var o="function"==typeof queueMicrotask&&queueMicrotask,s="function"==typeof setImmediate&&setImmediate,a="object"==typeof process&&"function"==typeof process.nextTick;function l(e){setTimeout(e,0)}function c(e){return(t,...r)=>e((()=>t(...r)))}var u=c(o?queueMicrotask:s?setImmediate:a?process.nextTick:l);function d(e){return h(e)?function(...t){const r=t.pop();return f(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 f(n,r);r(null,n)}))}function f(e,t){return e.then((e=>{p(t,null,e)}),(e=>{p(t,e&&e.message?e:new Error(e))}))}function p(e,t,r){try{e(t,r)}catch(e){u((e=>{throw e}),e)}}function h(e){return"AsyncFunction"===e[Symbol.toStringTag]}function g(e){if("function"!=typeof e)throw new Error("expected a function");return h(e)?d(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 y(e){return function(t,...r){return m((function(n){var i=this;return e(t,((e,t)=>{g(e).apply(i,r.concat(t))}),n)}))}}function v(e,t,r,n){t=t||[];var i=[],o=0,s=g(r);return e(t,((e,t,r)=>{var n=o++;s(e,((e,t)=>{i[n]=t,r(e)}))}),(e=>{n(e,i)}))}function w(e){return e&&"number"==typeof e.length&&e.length>=0&&e.length%1==0}const b={};function S(e){function t(...t){if(null!==e){var r=e;e=null,r.apply(this,t)}}return Object.assign(t,e),t}function C(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,l=0;function c(){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,l,u),l++,c()}})).catch(d))}function u(e,t){if(a-=1,!o)return e?d(e):!1===e?(i=!0,void(o=!0)):t===b||i&&a<=0?(i=!0,n(null)):void c()}function d(e){o||(s=!1,i=!0,n(e))}c()}var k=e=>(t,r,n)=>{if(n=S(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(w(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 e(){var o=r[++n];return"__proto__"===o?e():n<i?{value:t[o],key:o}:null})}(t),o=!1,s=!1,a=0,l=!1;function c(e,t){if(!s)if(a-=1,e)o=!0,n(e);else if(!1===e)o=!0,s=!0;else{if(t===b||o&&a<=0)return o=!0,n(null);l||u()}}function u(){for(l=!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,C(c))}l=!1}u()},E=m((function(e,t,r,n){return k(t)(e,g(r),n)}),4);function L(e,t,r){r=S(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!==b||r(null))}for(0===o&&r(null);n<o;n++)t(e[n],n,C(a))}function T(e,t,r){return E(e,1/0,t,r)}var A=m((function(e,t,r){return(w(e)?L:T)(e,g(t),r)}),3),O=m((function(e,t,r){return v(A,e,t,r)}),3),P=y(O),I=m((function(e,t,r){return E(e,1,t,r)}),3),R=m((function(e,t,r){return v(I,e,t,r)}),3),$=y(R);const N=Symbol("promiseCallback");function D(){let e,t;function r(r,...n){if(r)return t(r);e(n.length>1?n:n[0])}return r[N]=new Promise(((r,n)=>{e=r,t=n})),r}function W(e,t,r){"number"!=typeof t&&(r=t,t=null),r=S(r||D());var n=Object.keys(e).length;if(!n)return r(null);t||(t=n);var i={},o=0,s=!1,a=!1,l=Object.create(null),c=[],u=[],d={};function f(e,t){c.push((()=>function(e,t){if(!a){var n=C(((t,...n)=>{if(o--,!1!==t)if(n.length<2&&([n]=n),t){var c={};if(Object.keys(i).forEach((e=>{c[e]=i[e]})),c[e]=n,a=!0,l=Object.create(null),s)return;r(t,c)}else i[e]=n,(l[e]||[]).forEach((e=>e())),p();else s=!0}));o++;var c=g(t[t.length-1]);t.length>1?c(i,n):c(n)}}(e,t)))}function p(){if(!s){if(0===c.length&&0===o)return r(null,i);for(;c.length&&o<t;)c.shift()()}}function h(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 u.push(t);var n=r.slice(0,r.length-1),i=n.length;if(0===i)return f(t,r),void u.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=l[s=o])||(a=l[s]=[]),a.push((()=>{0==--i&&f(t,r)}))}))})),function(){for(var e=0;u.length;)e++,h(u.pop()).forEach((e=>{0==--d[e]&&u.push(e)}));if(e!==n)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),p(),r[N]}var M=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,j=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,F=/,/,x=/(=.+)?(\s*)$/;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=function(e){let t="",r=0,n=e.indexOf("*/");for(;r<e.length;)if("/"===e[r]&&"/"===e[r+1]){let t=e.indexOf("\n",r);r=-1===t?e.length:t}else if(-1!==n&&"/"===e[r]&&"*"===e[r+1]){let i=e.indexOf("*/",r);-1!==i?(r=i+2,n=e.indexOf("*/",r)):(t+=e[r],r++)}else t+=e[r],r++;return t}(e.toString());let r=t.match(M);if(r||(r=t.match(j)),!r)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,n]=r;return n.replace(/\s/g,"").split(F).map((e=>e.replace(x,"").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),g(i)(...r)}})),W(r,t)}class G{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):U(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):U(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 U(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=g(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 l(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=y._createTaskItem(e,r?s:n||s);if(t?y._tasks.unshift(a):y._tasks.push(a),c||(c=!0,u((()=>{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],c=o.indexOf(a);0===c?o.shift():c>0&&o.splice(c,1),a.callback(t,...r),null!=t&&l("error",t,a.data)}i<=y.concurrency-y.buffer&&l("unsaturated"),y.idle()&&l("drain"),y.process()}}function p(e){return!(0!==e.length||!y.idle()||(u((()=>l("drain"))),0))}const h=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 m=!1,y={_tasks:new G,_createTaskItem:(e,t)=>({data:e,callback:t}),*[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(p(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(p(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(p(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(p(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(!m){for(m=!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&&l("empty"),i===y.concurrency&&l("saturated");var c=C(f(e));n(t,c)}m=!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,u(y.process))}};return Object.defineProperties(y,{saturated:{writable:!1,value:h("saturated")},unsaturated:{writable:!1,value:h("unsaturated")},empty:{writable:!1,value:h("empty")},drain:{writable:!1,value:h("drain")},error:{writable:!1,value:h("error")}}),y}function H(e,t){return V(e,1,t)}function z(e,t,r){return V(e,t,r)}var q=m((function(e,t,r,n){n=S(n);var i=g(r);return I(e,((e,r,n)=>{i(t,e,((e,r)=>{t=r,n(e)}))}),(e=>n(e,t)))}),4);function K(...e){var t=e.map(g);return function(...e){var r=this,n=e[e.length-1];return"function"==typeof n?e.pop():n=D(),q(t,e,((e,t,n)=>{t.apply(r,e.concat(((e,...t)=>{n(e,t)})))}),((e,t)=>n(e,...t))),n[N]}}function Y(...e){return K(...e.reverse())}var J=m((function(e,t,r,n){return v(k(t),e,r,n)}),4),Q=m((function(e,t,r,n){var i=g(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 Q(e,1/0,t,r)}),3),X=m((function(e,t,r){return Q(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 l=g(i);r(n,((r,n,i)=>{l(r,((n,o)=>n||!1===n?i(n):e(o)&&!s?(a=!0,s=t(!0,r),i(null,b)):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))(A,e,t,r)}),3),ne=m((function(e,t,r,n){return te((e=>e),((e,t)=>t))(k(t),e,r,n)}),4),ie=m((function(e,t,r){return te((e=>e),((e,t)=>t))(k(1),e,t,r)}),3);function oe(e){return(t,...r)=>g(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=C(r);var n,i=g(e),o=g(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 le(e,t,r){const n=g(t);return ae(e,((...e)=>{const t=e.pop();n(...e,((e,r)=>t(e,!r)))}),r)}function ce(e){return(t,r,n)=>e(t,n)}var ue=m((function(e,t,r){return A(e,ce(g(t)),r)}),3),de=m((function(e,t,r,n){return k(t)(e,ce(g(r)),n)}),4),fe=m((function(e,t,r){return de(e,1,t,r)}),3);function pe(e){return h(e)?e:function(...t){var r=t.pop(),n=!0;t.push(((...e)=>{n?u((()=>r(...e))):r(...e)})),e.apply(this,t),n=!1}}var he=m((function(e,t,r){return te((e=>!e),(e=>!e))(A,e,t,r)}),3),ge=m((function(e,t,r,n){return te((e=>!e),(e=>!e))(k(t),e,r,n)}),4),me=m((function(e,t,r){return te((e=>!e),(e=>!e))(I,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(w(t)?ye:ve)(e,t,g(r),n)}var be=m((function(e,t,r){return we(A,e,t,r)}),3),Se=m((function(e,t,r,n){return we(k(t),e,r,n)}),4),Ce=m((function(e,t,r){return we(I,e,t,r)}),3),_e=m((function(e,t){var r=C(t),n=g(pe(e));return function e(t){if(t)return r(t);!1!==t&&n(e)}()}),2),ke=m((function(e,t,r,n){var i=g(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 Ee(e,t,r){return ke(e,1/0,t,r)}function Le(e,t,r){return ke(e,1,t,r)}var Te=oe("log"),Ae=m((function(e,t,r,n){n=S(n);var i={},o=g(r);return k(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 Oe(e,t,r){return Ae(e,1/0,t,r)}function Pe(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=g(e),s=i(((e,i)=>{var s=t(...e);s in r?u((()=>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=c(a?process.nextTick:s?setImmediate:l),$e=m(((e,t,r)=>{var n=w(t)?[]:{};e(t,((e,t,r)=>{g(e)(((e,...i)=>{i.length<2&&([i]=i),n[t]=i,r(e)}))}),(e=>r(e,n)))}),3);function Ne(e,t){return $e(A,e,t)}function De(e,t,r){return $e(k(t),e,r)}function We(e,t){var r=g(e);return V(((e,t)=>{r(e[0],t)}),t,1)}class Me{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&&Fe(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&&Fe(this.heap[t+1],this.heap[t])&&(t+=1),!Fe(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 Fe(e,t){return e.priority!==t.priority?e.priority<t.priority:e.pushCount<t.pushCount}function xe(e,t){var r=We(e,t),{push:n,pushAsync:i}=r;function o(e,t){return Array.isArray(e)?e.map((e=>({data:e,priority:t}))):{data:e,priority:t}}return r._tasks=new Me,r._createTaskItem=({data:e,priority:t},r)=>({data:e,priority:t,callback:r}),r.push=function(e,t=0,r){return n(o(e,t),r)},r.pushAsync=function(e,t=0,r){return i(o(e,t),r)},delete r.unshift,delete r.unshiftAsync,r}var Be=m((function(e,t){if(t=S(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++)g(e[r])(t)}),2);function Ge(e,t,r,n){var i=[...e].reverse();return q(i,t,r,n)}function Ue(e){var t=g(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(Ue):(t={},Object.keys(e).forEach((r=>{t[r]=Ue.call(this,e[r])}))),t}function He(e,t,r,n){const i=g(r);return we(e,t,((e,t)=>{i(e,((e,r)=>{t(e,!r)}))}),n)}var ze=m((function(e,t,r){return He(A,e,t,r)}),3),qe=m((function(e,t,r,n){return He(k(t),e,r,n)}),4),Ke=m((function(e,t,r){return He(I,e,t,r)}),3);function Ye(e){return function(){return e}}function Je(e,t,r){var n={times:5,intervalFunc:Ye(0)};if(arguments.length<3&&"function"==typeof e?(r=t||D(),t=e):(Qe(n,e),r=r||D()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var i=g(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[N]}function Qe(e,t){if("object"==typeof t)e.times=+t.times||5,e.intervalFunc="function"==typeof t.interval?t.interval:Ye(+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=g(t);return i(((t,i)=>{function o(e){n(...t,e)}return(t.length<r-1||null==i)&&(t.push(i),i=D()),e?Je(e,o,i):Je(o,i),i[N]}))}function Xe(e,t){return $e(I,e,t)}var et=m((function(e,t,r){return te(Boolean,(e=>e))(A,e,t,r)}),3),tt=m((function(e,t,r,n){return te(Boolean,(e=>e))(k(t),e,r,n)}),4),rt=m((function(e,t,r){return te(Boolean,(e=>e))(I,e,t,r)}),3),nt=m((function(e,t,r){var n=g(t);return O(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=g(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=g(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 lt(e,t,r,n){arguments.length<=3&&"function"==typeof t&&(n=r,r=t,t=Array.isArray(e)?[]:{}),n=S(n||D());var i=g(r);return A(e,((e,r,n)=>{i(t,e,r,n)}),(e=>n(e,t))),n[N]}var ct=m((function(e,t){var r,n=null;return fe(e,((e,t)=>{g(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 ut(e){return(...t)=>(e.unmemoized||e)(...t)}var dt=m((function(e,t,r){r=C(r);var n=g(t),i=g(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=g(e);return dt((e=>n(((t,r)=>e(t,!r)))),t,r)}var pt=m((function(e,t){if(t=S(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){g(e[r++])(...t,C(i))}function i(i,...o){if(!1!==i)return i||r===e.length?t(i,...o):void n(o)}n([])}));const ht={apply:n,applyEach:P,applyEachSeries:$,asyncify:d,auto:W,autoInject:B,cargo:H,cargoQueue:z,compose:Y,concat:Z,concatLimit:Q,concatSeries:X,constant:ee,detect:re,detectLimit:ne,detectSeries:ie,dir:se,doUntil:le,doWhilst:ae,each:ue,eachLimit:de,eachOf:A,eachOfLimit:E,eachOfSeries:I,eachSeries:fe,ensureAsync:pe,every:he,everyLimit:ge,everySeries:me,filter:be,filterLimit:Se,filterSeries:Ce,forever:_e,groupBy:Ee,groupByLimit:ke,groupBySeries:Le,log:Te,map:O,mapLimit:J,mapSeries:R,mapValues:Oe,mapValuesLimit:Ae,mapValuesSeries:Pe,memoize:Ie,nextTick:Re,parallel:Ne,parallelLimit:De,priorityQueue:xe,queue:We,race:Be,reduce:q,reduceRight:Ge,reflect:Ue,reflectAll:Ve,reject:ze,rejectLimit:qe,rejectSeries:Ke,retry:Je,retryable:Ze,seq:K,series:Xe,setImmediate:u,some:et,someLimit:tt,someSeries:rt,sortBy:nt,timeout:it,times:st,timesLimit:ot,timesSeries:at,transform:lt,tryEach:ct,unmemoize:ut,until:ft,waterfall:pt,whilst:dt,all:he,allLimit:ge,allSeries:me,any:et,anyLimit:tt,anySeries:rt,find:re,findLimit:ne,findSeries:ie,flatMap:Z,flatMapLimit:Q,flatMapSeries:X,forEach:ue,forEachSeries:fe,forEachLimit:de,forEachOf:A,forEachOfSeries:I,forEachOfLimit:E,inject:q,foldl:q,foldr:Ge,select:be,selectLimit:Se,selectSeries:Ce,wrapSync:d,during:dt,doDuring:ae}},83027:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});class n{value;next;constructor(e){this.value=e}}class i{#e;#t;#r;constructor(){this.clear()}enqueue(e){const t=new n(e);this.#e?(this.#t.next=t,this.#t=t):(this.#e=t,this.#t=t),this.#r++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#r--,e.value}clear(){this.#e=void 0,this.#t=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}function o(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new i;let r=0;const n=async(e,n,i)=>{r++;const o=(async()=>e(...i))();n(o);try{await o}catch{}r--,t.size>0&&t.dequeue()()},o=(i,...o)=>new Promise((s=>{((i,o,s)=>{t.enqueue(n.bind(void 0,i,o,s)),(async()=>{await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()})()})(i,s,o)}));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}},64775:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},98: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}')}},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 n=r(9097);return n.default})()));
|
|
8
|
+
deps: ${r}}`};const s={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,r]=function({schema:e}){const t={},r={};for(const n in e)"__proto__"!==n&&((Array.isArray(e[n])?t:r)[n]=e[n]);return[t,r]}(e);a(e,t),l(e,r)}};function a(e,t=e.schema){const{gen:r,data:i,it:s}=e;if(0===Object.keys(t).length)return;const a=r.let("missing");for(const l in t){const c=t[l];if(0===c.length)continue;const u=(0,o.propertyInData)(r,i,l,s.opts.ownProperties);e.setParams({property:l,depsCount:c.length,deps:c.join(", ")}),s.allErrors?r.if(u,(()=>{for(const t of c)(0,o.checkReportMissingProp)(e,t)})):(r.if(n._`${u} && (${(0,o.checkMissingProp)(e,c,a)})`),(0,o.reportMissingProp)(e,a),r.else())}}function l(e,t=e.schema){const{gen:r,data:n,keyword:s,it:a}=e,l=r.name("valid");for(const c in t)(0,i.alwaysValidSchema)(a,t[c])||(r.if((0,o.propertyInData)(r,n,c,a.opts.ownProperties),(()=>{const t=e.subschema({keyword:s,schemaProp:c},l);e.mergeValidEvaluated(t,l)}),(()=>r.var(l,!0))),e.ok(l))}t.validatePropertyDeps=a,t.validateSchemaDeps=l,t.default=s},89434:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>n.str`must match "${e.ifClause}" schema`,params:({params:e})=>n._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:r,it:o}=e;void 0===r.then&&void 0===r.else&&(0,i.checkStrictMode)(o,'"if" without "then" and "else" is ignored');const a=s(o,"then"),l=s(o,"else");if(!a&&!l)return;const c=t.let("valid",!0),u=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},u);e.mergeEvaluated(t)}(),e.reset(),a&&l){const r=t.let("ifClause");e.setParams({ifClause:r}),t.if(u,d("then",r),d("else",r))}else a?t.if(u,d("then")):t.if((0,n.not)(u),d("else"));function d(r,i){return()=>{const o=e.subschema({keyword:r},u);t.assign(c,u),e.mergeValidEvaluated(o,c),i?t.assign(i,n._`${r}`):e.setParams({ifClause:r})}}e.pass(c,(()=>e.error(!0)))}};function s(e,t){const r=e.schema[t];return void 0!==r&&!(0,i.alwaysValidSchema)(e,r)}t.default=o},8200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(4783),i=r(72924),o=r(64665),s=r(1119),a=r(79864),l=r(67772),c=r(33708),u=r(69351),d=r(76239),f=r(12296),p=r(15697),h=r(50019),g=r(14200),m=r(71125),y=r(89434),v=r(66552);t.default=function(e=!1){const t=[p.default,h.default,g.default,m.default,y.default,v.default,c.default,u.default,l.default,d.default,f.default];return e?t.push(i.default,s.default):t.push(n.default,o.default),t.push(a.default),t}},64665:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateTuple=void 0;const n=r(93487),i=r(76776),o=r(10412),s={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return a(e,"additionalItems",t);r.items=!0,(0,i.alwaysValidSchema)(r,t)||e.ok((0,o.validateArray)(e))}};function a(e,t,r=e.schema){const{gen:o,parentSchema:s,data:a,keyword:l,it:c}=e;!function(e){const{opts:n,errSchemaPath:o}=c,s=r.length,a=s===e.minItems&&(s===e.maxItems||!1===e[t]);if(n.strictTuples&&!a){const e=`"${l}" is ${s}-tuple, but minItems or maxItems/${t} are not specified or different at path "${o}"`;(0,i.checkStrictMode)(c,e,n.strictTuples)}}(s),c.opts.unevaluated&&r.length&&!0!==c.items&&(c.items=i.mergeEvaluated.items(o,r.length,c.items));const u=o.name("valid"),d=o.const("len",n._`${a}.length`);r.forEach(((t,r)=>{(0,i.alwaysValidSchema)(c,t)||(o.if(n._`${d} > ${r}`,(()=>e.subschema({keyword:l,schemaProp:r,dataProp:r},u))),e.ok(u))}))}t.validateTuple=a,t.default=s},1119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(10412),s=r(4783),a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>n.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>n._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:a}=r;n.items=!0,(0,i.alwaysValidSchema)(n,t)||(a?(0,s.validateAdditionalItems)(e,a):e.ok((0,o.validateArray)(e)))}};t.default=a},15697:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(76776),i={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:i}=e;if((0,n.alwaysValidSchema)(i,r))return void e.fail();const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};t.default=i},14200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>n._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:r,parentSchema:o,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&o.discriminator)return;const a=r,l=t.let("valid",!1),c=t.let("passing",null),u=t.name("_valid");e.setParams({passing:c}),t.block((function(){a.forEach(((r,o)=>{let a;(0,i.alwaysValidSchema)(s,r)?t.var(u,!0):a=e.subschema({keyword:"oneOf",schemaProp:o,compositeRule:!0},u),o>0&&t.if(n._`${u} && ${l}`).assign(l,!1).assign(c,n._`[${c}, ${o}]`).else(),t.if(u,(()=>{t.assign(l,!0),t.assign(c,o),a&&e.mergeEvaluated(a,n.Name)}))}))})),e.result(l,(()=>e.reset()),(()=>e.error(!0)))}};t.default=o},12296:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o=r(76776),s=r(76776),a={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:a,parentSchema:l,it:c}=e,{opts:u}=c,d=(0,n.allSchemaProperties)(r),f=d.filter((e=>(0,o.alwaysValidSchema)(c,r[e])));if(0===d.length||f.length===d.length&&(!c.opts.unevaluated||!0===c.props))return;const p=u.strictSchema&&!u.allowMatchingProperties&&l.properties,h=t.name("valid");!0===c.props||c.props instanceof i.Name||(c.props=(0,s.evaluatedPropsToName)(t,c.props));const{props:g}=c;function m(e){for(const t in p)new RegExp(e).test(t)&&(0,o.checkStrictMode)(c,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function y(r){t.forIn("key",a,(o=>{t.if(i._`${(0,n.usePattern)(e,r)}.test(${o})`,(()=>{const n=f.includes(r);n||e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:o,dataPropType:s.Type.Str},h),c.opts.unevaluated&&!0!==g?t.assign(i._`${g}[${o}]`,!0):n||c.allErrors||t.if((0,i.not)(h),(()=>t.break()))}))}))}!function(){for(const e of d)p&&m(e),c.allErrors?y(e):(t.var(h,!0),y(e),t.if(h))}()}};t.default=a},72924:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(64665),i={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t.default=i},76239:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(74815),i=r(10412),o=r(76776),s=r(69351),a={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:a,data:l,it:c}=e;"all"===c.opts.removeAdditional&&void 0===a.additionalProperties&&s.default.code(new n.KeywordCxt(c,s.default,"additionalProperties"));const u=(0,i.allSchemaProperties)(r);for(const e of u)c.definedProperties.add(e);c.opts.unevaluated&&u.length&&!0!==c.props&&(c.props=o.mergeEvaluated.props(t,(0,o.toHash)(u),c.props));const d=u.filter((e=>!(0,o.alwaysValidSchema)(c,r[e])));if(0===d.length)return;const f=t.name("valid");for(const r of d)p(r)?h(r):(t.if((0,i.propertyInData)(t,l,r,c.opts.ownProperties)),h(r),c.allErrors||t.else().var(f,!0),t.endIf()),e.it.definedProperties.add(r),e.ok(f);function p(e){return c.opts.useDefaults&&!c.compositeRule&&void 0!==r[e].default}function h(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},f)}}};t.default=a},33708:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>n._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:r,data:o,it:s}=e;if((0,i.alwaysValidSchema)(s,r))return;const a=t.name("valid");t.forIn("key",o,(r=>{e.setParams({propertyName:r}),e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:!0},a),t.if((0,n.not)(a),(()=>{e.error(!0),s.allErrors||t.break()}))})),e.ok(a)}};t.default=o},66552:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(76776),i={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){void 0===t.if&&(0,n.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};t.default=i},10412:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=r(93487),i=r(76776),o=r(22141),s=r(76776);function a(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:n._`Object.prototype.hasOwnProperty`})}function l(e,t,r){return n._`${a(e)}.call(${t}, ${r})`}function c(e,t,r,i){const o=n._`${t}${(0,n.getProperty)(r)} === undefined`;return i?(0,n.or)(o,(0,n.not)(l(e,t,r))):o}function u(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}t.checkReportMissingProp=function(e,t){const{gen:r,data:i,it:o}=e;r.if(c(r,i,t,o.opts.ownProperties),(()=>{e.setParams({missingProperty:n._`${t}`},!0),e.error()}))},t.checkMissingProp=function({gen:e,data:t,it:{opts:r}},i,o){return(0,n.or)(...i.map((i=>(0,n.and)(c(e,t,i,r.ownProperties),n._`${o} = ${i}`))))},t.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},t.hasPropFunc=a,t.isOwnProperty=l,t.propertyInData=function(e,t,r,i){const o=n._`${t}${(0,n.getProperty)(r)} !== undefined`;return i?n._`${o} && ${l(e,t,r)}`:o},t.noPropertyInData=c,t.allSchemaProperties=u,t.schemaProperties=function(e,t){return u(t).filter((r=>!(0,i.alwaysValidSchema)(e,t[r])))},t.callValidateCode=function({schemaCode:e,data:t,it:{gen:r,topSchemaRef:i,schemaPath:s,errorPath:a},it:l},c,u,d){const f=d?n._`${e}, ${t}, ${i}${s}`:t,p=[[o.default.instancePath,(0,n.strConcat)(o.default.instancePath,a)],[o.default.parentData,l.parentData],[o.default.parentDataProperty,l.parentDataProperty],[o.default.rootData,o.default.rootData]];l.opts.dynamicRef&&p.push([o.default.dynamicAnchors,o.default.dynamicAnchors]);const h=n._`${f}, ${r.object(...p)}`;return u!==n.nil?n._`${c}.call(${u}, ${h})`:n._`${c}(${h})`};const d=n._`new RegExp`;t.usePattern=function({gen:e,it:{opts:t}},r){const i=t.unicodeRegExp?"u":"",{regExp:o}=t.code,a=o(r,i);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:n._`${"new RegExp"===o.code?d:(0,s.useFunc)(e,o)}(${r}, ${i})`})},t.validateArray=function(e){const{gen:t,data:r,keyword:o,it:s}=e,a=t.name("valid");if(s.allErrors){const e=t.let("valid",!0);return l((()=>t.assign(e,!1))),e}return t.var(a,!0),l((()=>t.break())),a;function l(s){const l=t.const("len",n._`${r}.length`);t.forRange("i",0,l,(r=>{e.subschema({keyword:o,dataProp:r,dataPropType:i.Type.Num},a),t.if((0,n.not)(a),s)}))}},t.validateUnion=function(e){const{gen:t,schema:r,keyword:o,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some((e=>(0,i.alwaysValidSchema)(s,e)))&&!s.opts.unevaluated)return;const a=t.let("valid",!1),l=t.name("_valid");t.block((()=>r.forEach(((r,i)=>{const s=e.subschema({keyword:o,schemaProp:i,compositeRule:!0},l);t.assign(a,n._`${a} || ${l}`),e.mergeValidEvaluated(s,l)||t.if((0,n.not)(a))})))),e.result(a,(()=>e.reset()),(()=>e.error(!0)))}},78386:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t.default=r},95684:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(78386),i=r(28280),o=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,i.default];t.default=o},28280:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.callRef=t.getValidate=void 0;const n=r(6646),i=r(10412),o=r(93487),s=r(22141),a=r(25173),l=r(76776),c={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:i}=e,{baseId:s,schemaEnv:l,validateName:c,opts:f,self:p}=i,{root:h}=l;if(("#"===r||"#/"===r)&&s===h.baseId)return function(){if(l===h)return d(e,c,l,l.$async);const r=t.scopeValue("root",{ref:h});return d(e,o._`${r}.validate`,h,h.$async)}();const g=a.resolveRef.call(p,h,s,r);if(void 0===g)throw new n.default(i.opts.uriResolver,s,r);return g instanceof a.SchemaEnv?function(t){const r=u(e,t);d(e,r,t,t.$async)}(g):function(n){const i=t.scopeValue("schema",!0===f.code.source?{ref:n,code:(0,o.stringify)(n)}:{ref:n}),s=t.name("valid"),a=e.subschema({schema:n,dataTypes:[],schemaPath:o.nil,topSchemaRef:i,errSchemaPath:r},s);e.mergeEvaluated(a),e.ok(s)}(g)}};function u(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):o._`${r.scopeValue("wrapper",{ref:t})}.validate`}function d(e,t,r,n){const{gen:a,it:c}=e,{allErrors:u,schemaEnv:d,opts:f}=c,p=f.passContext?s.default.this:o.nil;function h(e){const t=o._`${e}.errors`;a.assign(s.default.vErrors,o._`${s.default.vErrors} === null ? ${t} : ${s.default.vErrors}.concat(${t})`),a.assign(s.default.errors,o._`${s.default.vErrors}.length`)}function g(e){var t;if(!c.opts.unevaluated)return;const n=null===(t=null==r?void 0:r.validate)||void 0===t?void 0:t.evaluated;if(!0!==c.props)if(n&&!n.dynamicProps)void 0!==n.props&&(c.props=l.mergeEvaluated.props(a,n.props,c.props));else{const t=a.var("props",o._`${e}.evaluated.props`);c.props=l.mergeEvaluated.props(a,t,c.props,o.Name)}if(!0!==c.items)if(n&&!n.dynamicItems)void 0!==n.items&&(c.items=l.mergeEvaluated.items(a,n.items,c.items));else{const t=a.var("items",o._`${e}.evaluated.items`);c.items=l.mergeEvaluated.items(a,t,c.items,o.Name)}}n?function(){if(!d.$async)throw new Error("async schema referenced by sync schema");const r=a.let("valid");a.try((()=>{a.code(o._`await ${(0,i.callValidateCode)(e,t,p)}`),g(t),u||a.assign(r,!0)}),(e=>{a.if(o._`!(${e} instanceof ${c.ValidationError})`,(()=>a.throw(e))),h(e),u||a.assign(r,!1)})),e.ok(r)}():e.result((0,i.callValidateCode)(e,t,p),(()=>g(t)),(()=>h(t)))}t.getValidate=u,t.callRef=d,t.default=c},1240:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(89306),o=r(25173),s=r(76776),a={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===i.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>n._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},code(e){const{gen:t,data:r,schema:a,parentSchema:l,it:c}=e,{oneOf:u}=l;if(!c.opts.discriminator)throw new Error("discriminator: requires discriminator option");const d=a.propertyName;if("string"!=typeof d)throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!u)throw new Error("discriminator: requires oneOf keyword");const f=t.let("valid",!1),p=t.const("tag",n._`${r}${(0,n.getProperty)(d)}`);function h(r){const i=t.name("valid"),o=e.subschema({keyword:"oneOf",schemaProp:r},i);return e.mergeEvaluated(o,n.Name),i}t.if(n._`typeof ${p} == "string"`,(()=>function(){const r=function(){var e;const t={},r=i(l);let n=!0;for(let t=0;t<u.length;t++){let l=u[t];(null==l?void 0:l.$ref)&&!(0,s.schemaHasRulesButRef)(l,c.self.RULES)&&(l=o.resolveRef.call(c.self,c.schemaEnv.root,c.baseId,null==l?void 0:l.$ref),l instanceof o.SchemaEnv&&(l=l.schema));const f=null===(e=null==l?void 0:l.properties)||void 0===e?void 0:e[d];if("object"!=typeof f)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${d}"`);n=n&&(r||i(l)),a(f,t)}if(!n)throw new Error(`discriminator: "${d}" must be required`);return t;function i({required:e}){return Array.isArray(e)&&e.includes(d)}function a(e,t){if(e.const)f(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${d}" must have "const" or "enum"`);for(const r of e.enum)f(r,t)}}function f(e,r){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${d}" values must be unique strings`);t[e]=r}}();t.if(!1);for(const e in r)t.elseIf(n._`${p} === ${e}`),t.assign(f,h(r[e]));t.else(),e.error(!1,{discrError:i.DiscrError.Mapping,tag:p,tagName:d}),t.endIf()}()),(()=>e.error(!1,{discrError:i.DiscrError.Tag,tag:p,tagName:d}))),e.ok(f)}};t.default=a},89306:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.DiscrError=void 0,(r=t.DiscrError||(t.DiscrError={})).Tag="tag",r.Mapping="mapping"},93924:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(95684),i=r(62649),o=r(8200),s=r(39502),a=r(66167),l=[n.default,i.default,(0,o.default)(),s.default,a.metadataVocabulary,a.contentVocabulary];t.default=l},89651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>n.str`must match format "${e}"`,params:({schemaCode:e})=>n._`{format: ${e}}`},code(e,t){const{gen:r,data:i,$data:o,schema:s,schemaCode:a,it:l}=e,{opts:c,errSchemaPath:u,schemaEnv:d,self:f}=l;c.validateFormats&&(o?function(){const o=r.scopeValue("formats",{ref:f.formats,code:c.code.formats}),s=r.const("fDef",n._`${o}[${a}]`),l=r.let("fType"),u=r.let("format");r.if(n._`typeof ${s} == "object" && !(${s} instanceof RegExp)`,(()=>r.assign(l,n._`${s}.type || "string"`).assign(u,n._`${s}.validate`)),(()=>r.assign(l,n._`"string"`).assign(u,s))),e.fail$data((0,n.or)(!1===c.strictSchema?n.nil:n._`${a} && !${u}`,function(){const e=d.$async?n._`(${s}.async ? await ${u}(${i}) : ${u}(${i}))`:n._`${u}(${i})`,r=n._`(typeof ${u} == "function" ? ${e} : ${u}.test(${i}))`;return n._`${u} && ${u} !== true && ${l} === ${t} && !${r}`}()))}():function(){const o=f.formats[s];if(!o)return void function(){if(!1!==c.strictSchema)throw new Error(e());function e(){return`unknown format "${s}" ignored in schema at path "${u}"`}f.logger.warn(e())}();if(!0===o)return;const[a,l,p]=function(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):c.code.formats?n._`${c.code.formats}${(0,n.getProperty)(s)}`:void 0,i=r.scopeValue("formats",{key:s,ref:e,code:t});return"object"!=typeof e||e instanceof RegExp?["string",e,i]:[e.type||"string",e.validate,n._`${i}.validate`]}(o);a===t&&e.pass(function(){if("object"==typeof o&&!(o instanceof RegExp)&&o.async){if(!d.$async)throw new Error("async format in sync schema");return n._`await ${p}(${i})`}return"function"==typeof l?n._`${p}(${i})`:n._`${p}.test(${i})`}())}())}};t.default=i},39502:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=[r(89651).default];t.default=n},66167:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.contentVocabulary=t.metadataVocabulary=void 0,t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},64693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(43510),s={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>n._`{allowedValue: ${e}}`},code(e){const{gen:t,data:r,$data:s,schemaCode:a,schema:l}=e;s||l&&"object"==typeof l?e.fail$data(n._`!${(0,i.useFunc)(t,o.default)}(${r}, ${a})`):e.fail(n._`${l} !== ${r}`)}};t.default=s},30966:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(43510),s={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>n._`{allowedValues: ${e}}`},code(e){const{gen:t,data:r,$data:s,schema:a,schemaCode:l,it:c}=e;if(!s&&0===a.length)throw new Error("enum must have non-empty array");const u=a.length>=c.opts.loopEnum;let d;const f=()=>null!=d?d:d=(0,i.useFunc)(t,o.default);let p;if(u||s)p=t.let("valid"),e.block$data(p,(function(){t.assign(p,!1),t.forOf("v",l,(e=>t.if(n._`${f()}(${r}, ${e})`,(()=>t.assign(p,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",l);p=(0,n.or)(...a.map(((t,i)=>function(e,t){const i=a[t];return"object"==typeof i&&null!==i?n._`${f()}(${r}, ${e}[${t}])`:n._`${r} === ${i}`}(e,i))))}e.pass(p)}};t.default=s},62649:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(83983),i=r(90430),o=r(93229),s=r(74336),a=r(90498),l=r(33301),c=r(31687),u=r(82958),d=r(64693),f=r(30966),p=[n.default,i.default,o.default,s.default,a.default,l.default,c.default,u.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},d.default,f.default];t.default=p},31687:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const r="maxItems"===e?"more":"fewer";return n.str`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:r,schemaCode:i}=e,o="maxItems"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`${r}.length ${o} ${i}`)}};t.default=i},93229:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=r(76776),o=r(74499),s={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const r="maxLength"===e?"more":"fewer";return n.str`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:r,schemaCode:s,it:a}=e,l="maxLength"===t?n.operators.GT:n.operators.LT,c=!1===a.opts.unicode?n._`${r}.length`:n._`${(0,i.useFunc)(e.gen,o.default)}(${r})`;e.fail$data(n._`${c} ${l} ${s}`)}};t.default=s},83983:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i=n.operators,o={maximum:{okStr:"<=",ok:i.LTE,fail:i.GT},minimum:{okStr:">=",ok:i.GTE,fail:i.LT},exclusiveMaximum:{okStr:"<",ok:i.LT,fail:i.GTE},exclusiveMinimum:{okStr:">",ok:i.GT,fail:i.LTE}},s={message:({keyword:e,schemaCode:t})=>n.str`must be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${o[e].okStr}, limit: ${t}}`},a={keyword:Object.keys(o),type:"number",schemaType:"number",$data:!0,error:s,code(e){const{keyword:t,data:r,schemaCode:i}=e;e.fail$data(n._`${r} ${o[t].fail} ${i} || isNaN(${r})`)}};t.default=a},90498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message({keyword:e,schemaCode:t}){const r="maxProperties"===e?"more":"fewer";return n.str`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>n._`{limit: ${e}}`},code(e){const{keyword:t,data:r,schemaCode:i}=e,o="maxProperties"===t?n.operators.GT:n.operators.LT;e.fail$data(n._`Object.keys(${r}).length ${o} ${i}`)}};t.default=i},90430:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(93487),i={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>n.str`must be multiple of ${e}`,params:({schemaCode:e})=>n._`{multipleOf: ${e}}`},code(e){const{gen:t,data:r,schemaCode:i,it:o}=e,s=o.opts.multipleOfPrecision,a=t.let("res"),l=s?n._`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:n._`${a} !== parseInt(${a})`;e.fail$data(n._`(${i} === 0 || (${a} = ${r}/${i}, ${l}))`)}};t.default=i},74336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>i.str`must match pattern "${e}"`,params:({schemaCode:e})=>i._`{pattern: ${e}}`},code(e){const{data:t,$data:r,schema:o,schemaCode:s,it:a}=e,l=a.opts.unicodeRegExp?"u":"",c=r?i._`(new RegExp(${s}, ${l}))`:(0,n.usePattern)(e,o);e.fail$data(i._`!${c}.test(${t})`)}};t.default=o},33301:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(10412),i=r(93487),o=r(76776),s={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>i.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>i._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:r,schemaCode:s,data:a,$data:l,it:c}=e,{opts:u}=c;if(!l&&0===r.length)return;const d=r.length>=u.loopRequired;if(c.allErrors?function(){if(d||l)e.block$data(i.nil,f);else for(const t of r)(0,n.checkReportMissingProp)(e,t)}():function(){const o=t.let("missing");if(d||l){const r=t.let("valid",!0);e.block$data(r,(()=>function(r,o){e.setParams({missingProperty:r}),t.forOf(r,s,(()=>{t.assign(o,(0,n.propertyInData)(t,a,r,u.ownProperties)),t.if((0,i.not)(o),(()=>{e.error(),t.break()}))}),i.nil)}(o,r))),e.ok(r)}else t.if((0,n.checkMissingProp)(e,r,o)),(0,n.reportMissingProp)(e,o),t.else()}(),u.strictRequired){const t=e.parentSchema.properties,{definedProperties:n}=e.it;for(const e of r)if(void 0===(null==t?void 0:t[e])&&!n.has(e)){const t=`required property "${e}" is not defined at "${c.schemaEnv.baseId+c.errSchemaPath}" (strictRequired)`;(0,o.checkStrictMode)(c,t,c.opts.strictRequired)}}function f(){t.forOf("prop",s,(r=>{e.setParams({missingProperty:r}),t.if((0,n.noPropertyInData)(t,a,r,u.ownProperties),(()=>e.error()))}))}}};t.default=s},82958:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(50453),i=r(93487),o=r(76776),s=r(43510),a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>i.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>i._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:r,$data:a,schema:l,parentSchema:c,schemaCode:u,it:d}=e;if(!a&&!l)return;const f=t.let("valid"),p=c.items?(0,n.getSchemaTypes)(c.items):[];function h(o,s){const a=t.name("item"),l=(0,n.checkDataTypes)(p,a,d.opts.strictNumbers,n.DataType.Wrong),c=t.const("indices",i._`{}`);t.for(i._`;${o}--;`,(()=>{t.let(a,i._`${r}[${o}]`),t.if(l,i._`continue`),p.length>1&&t.if(i._`typeof ${a} == "string"`,i._`${a} += "_"`),t.if(i._`typeof ${c}[${a}] == "number"`,(()=>{t.assign(s,i._`${c}[${a}]`),e.error(),t.assign(f,!1).break()})).code(i._`${c}[${a}] = ${o}`)}))}function g(n,a){const l=(0,o.useFunc)(t,s.default),c=t.name("outer");t.label(c).for(i._`;${n}--;`,(()=>t.for(i._`${a} = ${n}; ${a}--;`,(()=>t.if(i._`${l}(${r}[${n}], ${r}[${a}])`,(()=>{e.error(),t.assign(f,!1).break(c)}))))))}e.block$data(f,(function(){const n=t.let("i",i._`${r}.length`),o=t.let("j");e.setParams({i:n,j:o}),t.assign(f,!0),t.if(i._`${n} > 1`,(()=>(p.length>0&&!p.some((e=>"object"===e||"array"===e))?h:g)(n,o)))}),i._`${u} === false`),e.ok(f)}};t.default=a},9996:e=>{"use strict";var t=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function i(e,t,r){return e.concat(t).map((function(e){return n(e,r)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function s(e,t){try{return t in e}catch(e){return!1}}function a(e,r,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c=Array.isArray(r);return c===Array.isArray(e)?c?l.arrayMerge(e,r,l):function(e,t,r){var i={};return r.isMergeableObject(e)&&o(e).forEach((function(t){i[t]=n(e[t],r)})),o(t).forEach((function(o){(function(e,t){return s(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,o)||(s(e,o)&&r.isMergeableObject(t[o])?i[o]=function(e,t){if(!t.customMerge)return a;var r=t.customMerge(e);return"function"==typeof r?r:a}(o,r)(e[o],t[o],r):i[o]=n(t[o],r))})),i}(e,r,l):n(r,l)}a.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return a(e,r,t)}),{})};var l=a;e.exports=l},17187: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))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"==typeof e.on&&g(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 l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,r,n){var i,o,s,c;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=l(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){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=u.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):h(i,i.length)}function p(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 h(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function g(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 l(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 l=o[e];if(void 0===l)return!1;if("function"==typeof l)n(l,this,t);else{var c=l.length,u=h(l,c);for(r=0;r<c;++r)n(u[r],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(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):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},64063: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}},74221:(e,t,r)=>{"use strict";function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===c(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 l(e){return!e.trim().length}function c(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}r.r(t),r.d(t,{default:()=>F});const u=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,a=null;if(i(e)||n(e))o=e,t=p(e),r=h(e);else{if(!u.call(e,"name"))throw new Error("Missing name property in key");const n=e.name;if(o=n,u.call(e,"weight")&&(s=e.weight,s<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(n));t=p(n),r=h(n),a=e.getFn}return{path:t,id:r,weight:s,src:o,getFn:a}}function p(e){return n(e)?e:e.split(".")}function h(e){return n(e)?e.join("."):e}var g={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=[],l=!1;const u=(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]"==c(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)){l=!0;for(let e=0,r=f.length;e<r;e+=1)u(f[e],t,d+1)}else t.length&&u(f,t,d+1)}else r.push(e)};return u(e,i(t)?t.split("."):t,0),l?r:r[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1};const m=/[^ ]+/g;class y{constructor({getFn:e=g.getFn,fieldNormWeight:t=g.fieldNormWeight}={}){this.norm=function(e=1,t=3){const r=new Map,n=Math.pow(10,t);return{get(t){const i=t.match(m).length;if(r.has(i))return r.get(i);const o=1/Math.pow(i,.5*e),s=parseFloat(Math.round(o*n)/n);return r.set(i,s),s},clear(){r.clear()}}}(t,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)||l(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=t.getFn?t.getFn(e):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)&&!l(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(i(s)&&!l(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=g.getFn,fieldNormWeight:n=g.fieldNormWeight}={}){const i=new y({getFn:r,fieldNormWeight:n});return i.setKeys(e.map(f)),i.setSources(t),i.create(),i}function w(e,{errors:t=0,currentLocation:r=0,expectedLocation:n=0,distance:i=g.distance,ignoreLocation:o=g.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 C{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:n=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l},this.pattern=a?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const c=(e,t)=>{this.chunks.push({pattern:e,alphabet:S(e),startIndex:t})},u=this.pattern.length;if(u>b){let e=0;const t=u%b,r=u-t;for(;e<r;)c(this.pattern.substr(e,b),e),e+=b;if(t){const e=u-b;c(this.pattern.substr(e),e)}}else c(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:l}=this.options;let c=[],u=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:f,startIndex:p})=>{const{isMatch:h,score:m,indices:y}=function(e,t,r,{location:n=g.location,distance:i=g.distance,threshold:o=g.threshold,findAllMatches:s=g.findAllMatches,minMatchCharLength:a=g.minMatchCharLength,includeMatches:l=g.includeMatches,ignoreLocation:c=g.ignoreLocation}={}){if(t.length>b)throw new Error("Pattern length exceeds max of 32.");const u=t.length,d=e.length,f=Math.max(0,Math.min(n,d));let p=o,h=f;const m=a>1||l,y=m?Array(d):[];let v;for(;(v=e.indexOf(t,h))>-1;){let e=w(t,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(e,p),h=v+u,m){let e=0;for(;e<u;)y[v+e]=1,e+=1}}h=-1;let S=[],C=1,_=u+d;const k=1<<u-1;for(let n=0;n<u;n+=1){let o=0,a=_;for(;o<a;)w(t,{errors:n,currentLocation:f+a,expectedLocation:f,distance:i,ignoreLocation:c})<=p?o=a:_=a,a=Math.floor((_-o)/2+o);_=a;let l=Math.max(1,f-a+1),g=s?d:Math.min(f+a,d)+u,v=Array(g+2);v[g+1]=(1<<n)-1;for(let o=g;o>=l;o-=1){let s=o-1,a=r[e.charAt(s)];if(m&&(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]&k&&(C=w(t,{errors:n,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:c}),C<=p)){if(p=C,h=s,h<=f)break;l=Math.max(1,2*f-h)}}if(w(t,{errors:n+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;S=v}const E={isMatch:h>=0,score:Math.max(.001,C)};if(m){const e=function(e=[],t=g.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?l&&(E.indices=e):E.isMatch=!1}return E}(e,t,f,{location:n+p,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:a,includeMatches:r,ignoreLocation:l});h&&(d=!0),u+=m,h&&y&&(c=[...c,...y])}));let f={isMatch:d,score:d?u/this.chunks.length:1};return d&&r&&(f.indices=c),f}}class _{constructor(e){this.pattern=e}static isMultiMatch(e){return k(e,this.multiRegex)}static isSingleMatch(e){return k(e,this.singleRegex)}search(){}}function k(e,t){const r=e.match(t);return r?r[1]:null}class E extends _{constructor(e,{location:t=g.location,threshold:r=g.threshold,distance:n=g.distance,includeMatches:i=g.includeMatches,findAllMatches:o=g.findAllMatches,minMatchCharLength:s=g.minMatchCharLength,isCaseSensitive:a=g.isCaseSensitive,ignoreLocation:l=g.ignoreLocation}={}){super(e),this._bitapSearch=new C(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:a,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class L extends _{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 T=[class extends _{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]}}},L,class extends _{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 _{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 _{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 _{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 _{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]}}},E],A=T.length,O=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,P=new Set([E.type,L.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 C(e,t)}const $="$and",N=e=>!(!e.$and&&!e.$or),D=e=>({[$]:Object.keys(e).map((t=>({[t]:e[t]})))});function W(e,t,{auto:r=!0}={}){const o=e=>{let a=Object.keys(e);const l=(e=>!!e.$path)(e);if(!l&&a.length>1&&!N(e))return o(D(e));if((e=>!n(e)&&s(e)&&!N(e))(e)){const n=l?e.$path:a[0],o=l?e.$val:e[n];if(!i(o))throw new Error((e=>`Invalid value for key ${e}`)(n));const s={keyId:h(n),pattern:o};return r&&(s.searcher=R(o,t)),s}let c={children:[],operator:a[0]};return a.forEach((t=>{const r=e[t];n(r)&&r.forEach((e=>{c.children.push(o(e))}))})),c};return N(e)||(e=D(e)),o(e)}function M(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 F{constructor(e,t={},r){this.options={...g,...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,fieldNormWeight:this.options.fieldNormWeight})}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:l}=this.options;let c=i(e)?i(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=g.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}))}(c,{ignoreFieldNorm:l}),s&&c.sort(a),o(t)&&t>-1&&(c=c.slice(0,t)),function(e,t,{includeMatches:r=g.includeMatches,includeScore:n=g.includeScore}={}){const i=[];return r&&i.push(M),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}))}(c,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:l}=t.searchIn(e);o&&n.push({item:e,idx:r,matches:[{score:s,value:e,norm:i,indices:l}]})})),n}_searchLogical(e){const t=W(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}]:[]}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);else if(e.operator===$)return[]}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:l,indices:c}=r.searchIn(t);s&&i.push({score:l,key:e,value:t,idx:n,norm:o,indices:c})}));else{const{v:n,n:o}=t,{isMatch:s,score:a,indices:l}=r.searchIn(n);s&&i.push({score:a,key:e,value:n,norm:o,indices:l})}return i}}F.version="6.6.2",F.createIndex=v,F.parseIndex=function(e,{getFn:t=g.getFn,fieldNormWeight:r=g.fieldNormWeight}={}){const{keys:n,records:i}=e,o=new y({getFn:t,fieldNormWeight:r});return o.setKeys(n),o.setIndexRecords(i),o},F.config=g,F.parseQuery=W,function(...e){I.push(...e)}(class{constructor(e,{isCaseSensitive:t=g.isCaseSensitive,includeMatches:r=g.includeMatches,minMatchCharLength:n=g.minMatchCharLength,ignoreLocation:i=g.ignoreLocation,findAllMatches:o=g.findAllMatches,location:s=g.location,threshold:a=g.threshold,distance:l=g.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:r,minMatchCharLength:n,findAllMatches:o,ignoreLocation:i,location:s,threshold:a,distance:l},this.pattern=t?e:e.toLowerCase(),this.query=function(e,t={}){return e.split("|").map((e=>{let r=e.trim().split(O).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=T[s];let r=e.isMultiMatch(i);r&&(n.push(new e(r,t)),o=!0)}if(!o)for(s=-1;++s<A;){const e=T[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:l,indices:c,score:u}=n.search(e);if(!l){s=0,i=0,o.length=0;break}if(i+=1,s+=u,r){const e=n.constructor.type;P.has(e)?o=[...o,...c]:o.push(c)}}if(i){let e={isMatch:!0,score:s/i};return r&&(e.indices=o),e}}return{isMatch:!1,score:1}}})},49461: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,l,c,u,d){if(o&&"object"==typeof o&&!Array.isArray(o)){for(var f in n(o,s,a,l,c,u,d),o){var p=o[f];if(Array.isArray(p)){if(f in t.arrayKeywords)for(var h=0;h<p.length;h++)r(e,n,i,p[h],s+"/"+f+"/"+h,a,s,f,o,h)}else if(f in t.propsKeywords){if(p&&"object"==typeof p)for(var g in p)r(e,n,i,p[g],s+"/"+f+"/"+g.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,f,o,g)}else(f in t.keywords||e.allKeys&&!(f in t.skipKeywords))&&r(e,n,i,p,s+"/"+f,a,s,f,o)}i(o,s,a,l,c,u,d)}}t.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},t.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},t.propsKeywords={$defs:!0,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}},18552:(e,t,r)=>{var n=r(10852)(r(55639),"DataView");e.exports=n},1989:(e,t,r)=>{var n=r(51789),i=r(80401),o=r(57667),s=r(21327),a=r(81866);function l(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])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},38407:(e,t,r)=>{var n=r(27040),i=r(14125),o=r(82117),s=r(67518),a=r(54705);function l(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])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},57071:(e,t,r)=>{var n=r(10852)(r(55639),"Map");e.exports=n},83369:(e,t,r)=>{var n=r(24785),i=r(11285),o=r(96e3),s=r(49916),a=r(95265);function l(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])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},53818:(e,t,r)=>{var n=r(10852)(r(55639),"Promise");e.exports=n},58525:(e,t,r)=>{var n=r(10852)(r(55639),"Set");e.exports=n},88668:(e,t,r)=>{var n=r(83369),i=r(90619),o=r(72385);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},46384:(e,t,r)=>{var n=r(38407),i=r(37465),o=r(63779),s=r(67599),a=r(44758),l=r(34309);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=a,c.prototype.set=l,e.exports=c},62705:(e,t,r)=>{var n=r(55639).Symbol;e.exports=n},11149:(e,t,r)=>{var n=r(55639).Uint8Array;e.exports=n},70577:(e,t,r)=>{var n=r(10852)(r(55639),"WeakMap");e.exports=n},96874: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)}},77412: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}},34963: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}},14636:(e,t,r)=>{var n=r(22545),i=r(35694),o=r(1469),s=r(44144),a=r(65776),l=r(36719),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=o(e),u=!r&&i(e),d=!r&&!u&&s(e),f=!r&&!u&&!d&&l(e),p=r||u||d||f,h=p?n(e.length,String):[],g=h.length;for(var m in e)!t&&!c.call(e,m)||p&&("length"==m||d&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||a(m,g))||h.push(m);return h}},29932: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}},62488: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}},82908: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}},34865:(e,t,r)=>{var n=r(89465),i=r(77813),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)}},18470:(e,t,r)=>{var n=r(77813);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},44037:(e,t,r)=>{var n=r(98363),i=r(3674);e.exports=function(e,t){return e&&n(t,i(t),e)}},63886:(e,t,r)=>{var n=r(98363),i=r(81704);e.exports=function(e,t){return e&&n(t,i(t),e)}},89465:(e,t,r)=>{var n=r(38777);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},85990:(e,t,r)=>{var n=r(46384),i=r(77412),o=r(34865),s=r(44037),a=r(63886),l=r(64626),c=r(278),u=r(18805),d=r(1911),f=r(58234),p=r(46904),h=r(64160),g=r(43824),m=r(29148),y=r(38517),v=r(1469),w=r(44144),b=r(56688),S=r(13218),C=r(72928),_=r(3674),k=r(81704),E="[object Arguments]",L="[object Function]",T="[object Object]",A={};A[E]=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[T]=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[L]=A["[object WeakMap]"]=!1,e.exports=function e(t,r,O,P,I,R){var $,N=1&r,D=2&r,W=4&r;if(O&&($=I?O(t,P,I,R):O(t)),void 0!==$)return $;if(!S(t))return t;var M=v(t);if(M){if($=g(t),!N)return c(t,$)}else{var j=h(t),F=j==L||"[object GeneratorFunction]"==j;if(w(t))return l(t,N);if(j==T||j==E||F&&!I){if($=D||F?{}:y(t),!N)return D?d(t,a($,t)):u(t,s($,t))}else{if(!A[j])return I?t:{};$=m(t,j,N)}}R||(R=new n);var x=R.get(t);if(x)return x;R.set(t,$),C(t)?t.forEach((function(n){$.add(e(n,r,O,n,t,R))})):b(t)&&t.forEach((function(n,i){$.set(i,e(n,r,O,i,t,R))}));var B=M?void 0:(W?D?p:f:D?k:_)(t);return i(B||t,(function(n,i){B&&(n=t[i=n]),o($,i,e(n,r,O,i,t,R))})),$}},3118:(e,t,r)=>{var n=r(13218),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},21078:(e,t,r)=>{var n=r(62488),i=r(37285);e.exports=function e(t,r,o,s,a){var l=-1,c=t.length;for(o||(o=i),a||(a=[]);++l<c;){var u=t[l];r>0&&o(u)?r>1?e(u,r-1,o,s,a):n(a,u):s||(a[a.length]=u)}return a}},97786:(e,t,r)=>{var n=r(71811),i=r(40327);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}},68866:(e,t,r)=>{var n=r(62488),i=r(1469);e.exports=function(e,t,r){var o=t(e);return i(e)?o:n(o,r(e))}},44239:(e,t,r)=>{var n=r(62705),i=r(89607),o=r(2333),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)}},13:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},9454:(e,t,r)=>{var n=r(44239),i=r(37005);e.exports=function(e){return i(e)&&"[object Arguments]"==n(e)}},90939:(e,t,r)=>{var n=r(2492),i=r(37005);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))}},2492:(e,t,r)=>{var n=r(46384),i=r(67114),o=r(18351),s=r(16096),a=r(64160),l=r(1469),c=r(44144),u=r(36719),d="[object Arguments]",f="[object Array]",p="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,g,m,y){var v=l(e),w=l(t),b=v?f:a(e),S=w?f:a(t),C=(b=b==d?p:b)==p,_=(S=S==d?p:S)==p,k=b==S;if(k&&c(e)){if(!c(t))return!1;v=!0,C=!1}if(k&&!C)return y||(y=new n),v||u(e)?i(e,t,r,g,m,y):o(e,t,b,r,g,m,y);if(!(1&r)){var E=C&&h.call(e,"__wrapped__"),L=_&&h.call(t,"__wrapped__");if(E||L){var T=E?e.value():e,A=L?t.value():t;return y||(y=new n),m(T,A,r,g,y)}}return!!k&&(y||(y=new n),s(e,t,r,g,m,y))}},25588:(e,t,r)=>{var n=r(64160),i=r(37005);e.exports=function(e){return i(e)&&"[object Map]"==n(e)}},28458:(e,t,r)=>{var n=r(23560),i=r(15346),o=r(13218),s=r(80346),a=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.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))}},29221:(e,t,r)=>{var n=r(64160),i=r(37005);e.exports=function(e){return i(e)&&"[object Set]"==n(e)}},38749:(e,t,r)=>{var n=r(44239),i=r(41780),o=r(37005),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)]}},280:(e,t,r)=>{var n=r(25726),i=r(86916),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}},10313:(e,t,r)=>{var n=r(13218),i=r(25726),o=r(33498),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}},25970:(e,t,r)=>{var n=r(63012),i=r(79095);e.exports=function(e,t){return n(e,t,(function(t,r){return i(e,r)}))}},63012:(e,t,r)=>{var n=r(97786),i=r(10611),o=r(71811);e.exports=function(e,t,r){for(var s=-1,a=t.length,l={};++s<a;){var c=t[s],u=n(e,c);r(u,c)&&i(l,o(c,e),u)}return l}},10611:(e,t,r)=>{var n=r(34865),i=r(71811),o=r(65776),s=r(13218),a=r(40327);e.exports=function(e,t,r,l){if(!s(e))return e;for(var c=-1,u=(t=i(t,e)).length,d=u-1,f=e;null!=f&&++c<u;){var p=a(t[c]),h=r;if("__proto__"===p||"constructor"===p||"prototype"===p)return e;if(c!=d){var g=f[p];void 0===(h=l?l(g,p,f):void 0)&&(h=s(g)?g:o(t[c+1])?[]:{})}n(f,p,h),f=f[p]}return e}},56560:(e,t,r)=>{var n=r(75703),i=r(38777),o=r(6557),s=i?function(e,t){return i(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:o;e.exports=s},22545:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},80531:(e,t,r)=>{var n=r(62705),i=r(29932),o=r(1469),s=r(33448),a=n?n.prototype:void 0,l=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 l?l.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},27561:(e,t,r)=>{var n=r(67990),i=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,""):e}},7518:e=>{e.exports=function(e){return function(t){return e(t)}}},74757:e=>{e.exports=function(e,t){return e.has(t)}},71811:(e,t,r)=>{var n=r(1469),i=r(15403),o=r(55514),s=r(79833);e.exports=function(e,t){return n(e)?e:i(e,t)?[e]:o(s(e))}},74318:(e,t,r)=>{var n=r(11149);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},64626:(e,t,r)=>{e=r.nmd(e);var n=r(55639),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}},57157:(e,t,r)=>{var n=r(74318);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},93147:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},40419:(e,t,r)=>{var n=r(62705),i=n?n.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},77133:(e,t,r)=>{var n=r(74318);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},278: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}},98363:(e,t,r)=>{var n=r(34865),i=r(89465);e.exports=function(e,t,r,o){var s=!r;r||(r={});for(var a=-1,l=t.length;++a<l;){var c=t[a],u=o?o(r[c],e[c],c,r,e):void 0;void 0===u&&(u=e[c]),s?i(r,c,u):n(r,c,u)}return r}},18805:(e,t,r)=>{var n=r(98363),i=r(99551);e.exports=function(e,t){return n(e,i(e),t)}},1911:(e,t,r)=>{var n=r(98363),i=r(51442);e.exports=function(e,t){return n(e,i(e),t)}},14429:(e,t,r)=>{var n=r(55639)["__core-js_shared__"];e.exports=n},38777:(e,t,r)=>{var n=r(10852),i=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},67114:(e,t,r)=>{var n=r(88668),i=r(82908),o=r(74757);e.exports=function(e,t,r,s,a,l){var c=1&r,u=e.length,d=t.length;if(u!=d&&!(c&&d>u))return!1;var f=l.get(e),p=l.get(t);if(f&&p)return f==t&&p==e;var h=-1,g=!0,m=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++h<u;){var y=e[h],v=t[h];if(s)var w=c?s(v,y,h,t,e,l):s(y,v,h,e,t,l);if(void 0!==w){if(w)continue;g=!1;break}if(m){if(!i(t,(function(e,t){if(!o(m,t)&&(y===e||a(y,e,r,s,l)))return m.push(t)}))){g=!1;break}}else if(y!==v&&!a(y,v,r,s,l)){g=!1;break}}return l.delete(e),l.delete(t),g}},18351:(e,t,r)=>{var n=r(62705),i=r(11149),o=r(77813),s=r(67114),a=r(68776),l=r(21814),c=n?n.prototype:void 0,u=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,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 p=a;case"[object Set]":var h=1&n;if(p||(p=l),e.size!=t.size&&!h)return!1;var g=f.get(e);if(g)return g==t;n|=2,f.set(e,t);var m=s(p(e),p(t),n,c,d,f);return f.delete(e),m;case"[object Symbol]":if(u)return u.call(e)==u.call(t)}return!1}},16096:(e,t,r)=>{var n=r(58234),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,o,s,a){var l=1&r,c=n(e),u=c.length;if(u!=n(t).length&&!l)return!1;for(var d=u;d--;){var f=c[d];if(!(l?f in t:i.call(t,f)))return!1}var p=a.get(e),h=a.get(t);if(p&&h)return p==t&&h==e;var g=!0;a.set(e,t),a.set(t,e);for(var m=l;++d<u;){var y=e[f=c[d]],v=t[f];if(o)var w=l?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)){g=!1;break}m||(m="constructor"==f)}if(g&&!m){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||(g=!1)}return a.delete(e),a.delete(t),g}},99021:(e,t,r)=>{var n=r(85564),i=r(45357),o=r(30061);e.exports=function(e){return o(i(e,void 0,n),e+"")}},31957:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},58234:(e,t,r)=>{var n=r(68866),i=r(99551),o=r(3674);e.exports=function(e){return n(e,o,i)}},46904:(e,t,r)=>{var n=r(68866),i=r(51442),o=r(81704);e.exports=function(e){return n(e,o,i)}},45050:(e,t,r)=>{var n=r(37019);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},10852:(e,t,r)=>{var n=r(28458),i=r(47801);e.exports=function(e,t){var r=i(e,t);return n(r)?r:void 0}},85924:(e,t,r)=>{var n=r(5569)(Object.getPrototypeOf,Object);e.exports=n},89607:(e,t,r)=>{var n=r(62705),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}},99551:(e,t,r)=>{var n=r(34963),i=r(70479),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},51442:(e,t,r)=>{var n=r(62488),i=r(85924),o=r(99551),s=r(70479),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,o(e)),e=i(e);return t}:s;e.exports=a},64160:(e,t,r)=>{var n=r(18552),i=r(57071),o=r(53818),s=r(58525),a=r(70577),l=r(44239),c=r(80346),u="[object Map]",d="[object Promise]",f="[object Set]",p="[object WeakMap]",h="[object DataView]",g=c(n),m=c(i),y=c(o),v=c(s),w=c(a),b=l;(n&&b(new n(new ArrayBuffer(1)))!=h||i&&b(new i)!=u||o&&b(o.resolve())!=d||s&&b(new s)!=f||a&&b(new a)!=p)&&(b=function(e){var t=l(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case g:return h;case m:return u;case y:return d;case v:return f;case w:return p}return t}),e.exports=b},47801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},222:(e,t,r)=>{var n=r(71811),i=r(35694),o=r(1469),s=r(65776),a=r(41780),l=r(40327);e.exports=function(e,t,r){for(var c=-1,u=(t=n(t,e)).length,d=!1;++c<u;){var f=l(t[c]);if(!(d=null!=e&&r(e,f)))break;e=e[f]}return d||++c!=u?d:!!(u=null==e?0:e.length)&&a(u)&&s(f,u)&&(o(e)||i(e))}},51789:(e,t,r)=>{var n=r(94536);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},80401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},57667:(e,t,r)=>{var n=r(94536),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}},21327:(e,t,r)=>{var n=r(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:i.call(t,e)}},81866:(e,t,r)=>{var n=r(94536);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}},43824: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}},29148:(e,t,r)=>{var n=r(74318),i=r(57157),o=r(93147),s=r(40419),a=r(77133);e.exports=function(e,t,r){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new l(+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]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return o(e);case"[object Symbol]":return s(e)}}},38517:(e,t,r)=>{var n=r(3118),i=r(85924),o=r(25726);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:n(i(e))}},37285:(e,t,r)=>{var n=r(62705),i=r(35694),o=r(1469),s=n?n.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(s&&e&&e[s])}},65776: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}},15403:(e,t,r)=>{var n=r(1469),i=r(33448),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)}},37019:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},15346:(e,t,r)=>{var n,i=r(14429),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!o&&o in e}},25726:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},27040:e=>{e.exports=function(){this.__data__=[],this.size=0}},14125:(e,t,r)=>{var n=r(18470),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))}},82117:(e,t,r)=>{var n=r(18470);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},67518:(e,t,r)=>{var n=r(18470);e.exports=function(e){return n(this.__data__,e)>-1}},54705:(e,t,r)=>{var n=r(18470);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}},24785:(e,t,r)=>{var n=r(1989),i=r(38407),o=r(57071);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},11285:(e,t,r)=>{var n=r(45050);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},96e3:(e,t,r)=>{var n=r(45050);e.exports=function(e){return n(this,e).get(e)}},49916:(e,t,r)=>{var n=r(45050);e.exports=function(e){return n(this,e).has(e)}},95265:(e,t,r)=>{var n=r(45050);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}},68776:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},24523:(e,t,r)=>{var n=r(88306);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},94536:(e,t,r)=>{var n=r(10852)(Object,"create");e.exports=n},86916:(e,t,r)=>{var n=r(5569)(Object.keys,Object);e.exports=n},33498:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},31167:(e,t,r)=>{e=r.nmd(e);var n=r(31957),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},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5569:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},45357:(e,t,r)=>{var n=r(96874),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),l=Array(a);++s<a;)l[s]=o[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=o[s];return c[t]=r(l),n(e,this,c)}}},55639:(e,t,r)=>{var n=r(31957),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();e.exports=o},90619:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},72385:e=>{e.exports=function(e){return this.__data__.has(e)}},21814:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},30061:(e,t,r)=>{var n=r(56560),i=r(21275)(n);e.exports=i},21275: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)}}},37465:(e,t,r)=>{var n=r(38407);e.exports=function(){this.__data__=new n,this.size=0}},63779:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},67599:e=>{e.exports=function(e){return this.__data__.get(e)}},44758:e=>{e.exports=function(e){return this.__data__.has(e)}},34309:(e,t,r)=>{var n=r(38407),i=r(57071),o=r(83369);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}},55514:(e,t,r)=>{var n=r(24523),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},40327:(e,t,r)=>{var n=r(33448);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},80346: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""}},67990:e=>{var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},50361:(e,t,r)=>{var n=r(85990);e.exports=function(e){return n(e,5)}},75703:e=>{e.exports=function(e){return function(){return e}}},23279:(e,t,r)=>{var n=r(13218),i=r(7771),o=r(14841),s=Math.max,a=Math.min;e.exports=function(e,t,r){var l,c,u,d,f,p,h=0,g=!1,m=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var r=l,n=c;return l=c=void 0,h=t,d=e.apply(n,r)}function w(e){return h=e,f=setTimeout(S,t),g?v(e):d}function b(e){var r=e-p;return void 0===p||r>=t||r<0||m&&e-h>=u}function S(){var e=i();if(b(e))return C(e);f=setTimeout(S,function(e){var r=t-(e-p);return m?a(r,u-(e-h)):r}(e))}function C(e){return f=void 0,y&&l?v(e):(l=c=void 0,d)}function _(){var e=i(),r=b(e);if(l=arguments,c=this,p=e,r){if(void 0===f)return w(p);if(m)return clearTimeout(f),f=setTimeout(S,t),v(p)}return void 0===f&&(f=setTimeout(S,t)),d}return t=o(t)||0,n(r)&&(g=!!r.leading,u=(m="maxWait"in r)?s(o(r.maxWait)||0,t):u,y="trailing"in r?!!r.trailing:y),_.cancel=function(){void 0!==f&&clearTimeout(f),h=0,l=p=c=f=void 0},_.flush=function(){return void 0===f?d:C(i())},_}},77813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},85564:(e,t,r)=>{var n=r(21078);e.exports=function(e){return null!=e&&e.length?n(e,1):[]}},27361:(e,t,r)=>{var n=r(97786);e.exports=function(e,t,r){var i=null==e?void 0:n(e,t);return void 0===i?r:i}},79095:(e,t,r)=>{var n=r(13),i=r(222);e.exports=function(e,t){return null!=e&&i(e,t,n)}},6557:e=>{e.exports=function(e){return e}},35694:(e,t,r)=>{var n=r(9454),i=r(37005),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return i(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=l},1469:e=>{var t=Array.isArray;e.exports=t},98612:(e,t,r)=>{var n=r(23560),i=r(41780);e.exports=function(e){return null!=e&&i(e.length)&&!n(e)}},44144:(e,t,r)=>{e=r.nmd(e);var n=r(55639),i=r(95062),o=t&&!t.nodeType&&t,s=o&&e&&!e.nodeType&&e,a=s&&s.exports===o?n.Buffer:void 0,l=(a?a.isBuffer:void 0)||i;e.exports=l},18446:(e,t,r)=>{var n=r(90939);e.exports=function(e,t){return n(e,t)}},28368:(e,t,r)=>{var n=r(90939);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}},23560:(e,t,r)=>{var n=r(44239),i=r(13218);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}},41780:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},56688:(e,t,r)=>{var n=r(25588),i=r(7518),o=r(31167),s=o&&o.isMap,a=s?i(s):n;e.exports=a},13218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},37005:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},72928:(e,t,r)=>{var n=r(29221),i=r(7518),o=r(31167),s=o&&o.isSet,a=s?i(s):n;e.exports=a},33448:(e,t,r)=>{var n=r(44239),i=r(37005);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==n(e)}},36719:(e,t,r)=>{var n=r(38749),i=r(7518),o=r(31167),s=o&&o.isTypedArray,a=s?i(s):n;e.exports=a},3674:(e,t,r)=>{var n=r(14636),i=r(280),o=r(98612);e.exports=function(e){return o(e)?n(e):i(e)}},81704:(e,t,r)=>{var n=r(14636),i=r(10313),o=r(98612);e.exports=function(e){return o(e)?n(e,!0):i(e)}},96486:function(e,t,r){var n;e=r.nmd(e),function(){var i,o="Expected a function",s="__lodash_hash_undefined__",a="__lodash_placeholder__",l=32,c=128,u=1/0,d=9007199254740991,f=NaN,p=4294967295,h=[["ary",c],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",l],["partialRight",64],["rearg",256]],g="[object Arguments]",m="[object Array]",y="[object Boolean]",v="[object Date]",w="[object Error]",b="[object Function]",S="[object GeneratorFunction]",C="[object Map]",_="[object Number]",k="[object Object]",E="[object Promise]",L="[object RegExp]",T="[object Set]",A="[object String]",O="[object Symbol]",P="[object WeakMap]",I="[object ArrayBuffer]",R="[object DataView]",$="[object Float32Array]",N="[object Float64Array]",D="[object Int8Array]",W="[object Int16Array]",M="[object Int32Array]",j="[object Uint8Array]",F="[object Uint8ClampedArray]",x="[object Uint16Array]",B="[object Uint32Array]",G=/\b__p \+= '';/g,U=/\b(__p \+=) '' \+/g,V=/(__e\(.*?\)|\b__t\)) \+\n'';/g,H=/&(?:amp|lt|gt|quot|#39);/g,z=/[&<>"']/g,q=RegExp(H.source),K=RegExp(z.source),Y=/<%-([\s\S]+?)%>/g,J=/<%([\s\S]+?)%>/g,Q=/<%=([\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=/,? & /,le=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ce=/[()=,{}\[\]\/\s]/,ue=/\\(\\)?/g,de=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,fe=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^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",Ce="a-z\\xdf-\\xf6\\xf8-\\xff",_e="A-Z\\xc0-\\xd6\\xd8-\\xde",ke="\\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",Ee="["+ke+"]",Le="["+Se+"]",Te="\\d+",Ae="["+Ce+"]",Oe="[^\\ud800-\\udfff"+ke+Te+"\\u2700-\\u27bf"+Ce+_e+"]",Pe="\\ud83c[\\udffb-\\udfff]",Ie="[^\\ud800-\\udfff]",Re="(?:\\ud83c[\\udde6-\\uddff]){2}",$e="[\\ud800-\\udbff][\\udc00-\\udfff]",Ne="["+_e+"]",De="(?:"+Ae+"|"+Oe+")",We="(?:"+Ne+"|"+Oe+")",Me="(?:['’](?:d|ll|m|re|s|t|ve))?",je="(?:['’](?:D|LL|M|RE|S|T|VE))?",Fe="(?:"+Le+"|"+Pe+")?",xe="[\\ufe0e\\ufe0f]?",Be=xe+Fe+"(?:\\u200d(?:"+[Ie,Re,$e].join("|")+")"+xe+Fe+")*",Ge="(?:"+["[\\u2700-\\u27bf]",Re,$e].join("|")+")"+Be,Ue="(?:"+[Ie+Le+"?",Le,Re,$e,"[\\ud800-\\udfff]"].join("|")+")",Ve=RegExp("['’]","g"),He=RegExp(Le,"g"),ze=RegExp(Pe+"(?="+Pe+")|"+Ue+Be,"g"),qe=RegExp([Ne+"?"+Ae+"+"+Me+"(?="+[Ee,Ne,"$"].join("|")+")",We+"+"+je+"(?="+[Ee,Ne+De,"$"].join("|")+")",Ne+"?"+De+"+"+Me,Ne+"+"+je,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Te,Ge].join("|"),"g"),Ke=RegExp("[\\u200d\\ud800-\\udfff"+Se+"\\ufe0e\\ufe0f]"),Ye=/[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"],Qe=-1,Ze={};Ze[$]=Ze[N]=Ze[D]=Ze[W]=Ze[M]=Ze[j]=Ze[F]=Ze[x]=Ze[B]=!0,Ze[g]=Ze[m]=Ze[I]=Ze[y]=Ze[R]=Ze[v]=Ze[w]=Ze[b]=Ze[C]=Ze[_]=Ze[k]=Ze[L]=Ze[T]=Ze[A]=Ze[P]=!1;var Xe={};Xe[g]=Xe[m]=Xe[I]=Xe[R]=Xe[y]=Xe[v]=Xe[$]=Xe[N]=Xe[D]=Xe[W]=Xe[M]=Xe[C]=Xe[_]=Xe[k]=Xe[L]=Xe[T]=Xe[A]=Xe[O]=Xe[j]=Xe[F]=Xe[x]=Xe[B]=!0,Xe[w]=Xe[b]=Xe[P]=!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,lt=at&&at.exports===st,ct=lt&&nt.process,ut=function(){try{return at&&at.require&&at.require("util").types||ct&&ct.binding&&ct.binding("util")}catch(e){}}(),dt=ut&&ut.isArrayBuffer,ft=ut&&ut.isDate,pt=ut&&ut.isMap,ht=ut&&ut.isRegExp,gt=ut&&ut.isSet,mt=ut&&ut.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 Ct(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 _t(e,t){return!(null==e||!e.length)&&$t(e,t,0)>-1}function kt(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 Et(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 Lt(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}function Tt(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 Ot(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 Pt=Mt("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 $t(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,Dt,r)}function Nt(e,t,r,n){for(var i=r-1,o=e.length;++i<o;)if(n(e[i],t))return i;return-1}function Dt(e){return e!=e}function Wt(e,t){var r=null==e?0:e.length;return r?xt(e,t)/r:f}function Mt(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function Ft(e,t,r,n,i){return i(e,(function(e,i,o){r=n?(n=!1,e):t(r,e,i,o)})),r}function xt(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 Gt(e){return e?e.slice(0,sr(e)+1).replace(ne,""):e}function Ut(e){return function(t){return e(t)}}function Vt(e,t){return Et(t,(function(t){return e[t]}))}function Ht(e,t){return e.has(t)}function zt(e,t){for(var r=-1,n=e.length;++r<n&&$t(t,e[r],0)>-1;);return r}function qt(e,t){for(var r=e.length;r--&&$t(t,e[r],0)>-1;);return r}function Kt(e,t){for(var r=e.length,n=0;r--;)e[r]===t&&++n;return n}var Yt=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 Qt(e){return"\\"+et[e]}function Zt(e){return Ke.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):Pt(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({"&":"&","<":"<",">":">",""":'"',"'":"'"}),lr=function e(t){var r,n=(t=null==t?ot:lr.defaults(ot.Object(),t,lr.pick(ot,Je))).Array,ie=t.Date,Se=t.Error,Ce=t.Function,_e=t.Math,ke=t.Object,Ee=t.RegExp,Le=t.String,Te=t.TypeError,Ae=n.prototype,Oe=Ce.prototype,Pe=ke.prototype,Ie=t["__core-js_shared__"],Re=Oe.toString,$e=Pe.hasOwnProperty,Ne=0,De=(r=/[^.]+$/.exec(Ie&&Ie.keys&&Ie.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",We=Pe.toString,Me=Re.call(ke),je=ot._,Fe=Ee("^"+Re.call($e).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),xe=lt?t.Buffer:i,Be=t.Symbol,Ge=t.Uint8Array,Ue=xe?xe.allocUnsafe:i,ze=er(ke.getPrototypeOf,ke),Ke=ke.create,et=Pe.propertyIsEnumerable,nt=Ae.splice,it=Be?Be.isConcatSpreadable:i,st=Be?Be.iterator:i,at=Be?Be.toStringTag:i,ct=function(){try{var e=co(ke,"defineProperty");return e({},"",{}),e}catch(e){}}(),ut=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Pt=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,cr=_e.ceil,ur=_e.floor,dr=ke.getOwnPropertySymbols,fr=xe?xe.isBuffer:i,pr=t.isFinite,hr=Ae.join,gr=er(ke.keys,ke),mr=_e.max,yr=_e.min,vr=ie.now,wr=t.parseInt,br=_e.random,Sr=Ae.reverse,Cr=co(t,"DataView"),_r=co(t,"Map"),kr=co(t,"Promise"),Er=co(t,"Set"),Lr=co(t,"WeakMap"),Tr=co(ke,"create"),Ar=Lr&&new Lr,Or={},Pr=Fo(Cr),Ir=Fo(_r),Rr=Fo(kr),$r=Fo(Er),Nr=Fo(Lr),Dr=Be?Be.prototype:i,Wr=Dr?Dr.valueOf:i,Mr=Dr?Dr.toString:i;function jr(e){if(ra(e)&&!Hs(e)&&!(e instanceof Gr)){if(e instanceof Br)return e;if($e.call(e,"__wrapped__"))return xo(e)}return new Br(e)}var Fr=function(){function e(){}return function(t){if(!ta(t))return{};if(Ke)return Ke(t);e.prototype=t;var r=new e;return e.prototype=i,r}}();function xr(){}function Br(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Gr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Ur(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 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 zr(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new Hr;++t<r;)this.add(e[t])}function qr(e){var t=this.__data__=new Vr(e);this.size=t.size}function Kr(e,t){var r=Hs(e),n=!r&&Vs(e),i=!r&&!n&&Ys(e),o=!r&&!n&&!i&&ua(e),s=r||n||i||o,a=s?Bt(e.length,Le):[],l=a.length;for(var c in e)!t&&!$e.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||yo(c,l))||a.push(c);return a}function Yr(e){var t=e.length;return t?e[zn(0,t-1)]:i}function Jr(e,t){return No(Ti(e),sn(t,0,e.length))}function Qr(e){return No(Ti(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];$e.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&&ct?ct(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:Ta(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,l=1&t,c=2&t,u=4&t;if(r&&(a=o?r(e,n,o,s):r(e)),a!==i)return a;if(!ta(e))return e;var d=Hs(e);if(d){if(a=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&$e.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(e),!l)return Ti(e,a)}else{var f=po(e),p=f==b||f==S;if(Ys(e))return Si(e,l);if(f==k||f==g||p&&!o){if(a=c||p?{}:go(e),!l)return c?function(e,t){return Ai(e,fo(e),t)}(e,function(e,t){return e&&Ai(t,$a(t),e)}(a,e)):function(e,t){return Ai(e,uo(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 Ci(e);case y:case v:return new i(+e);case R:return function(e,t){var r=t?Ci(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case $:case N:case D:case W:case M:case j:case F:case x:case B:return _i(e,r);case C:case T:return new i;case _:case A:return new i(e);case L:return function(e){var t=new e.constructor(e.source,fe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case O:return n=e,Wr?ke(Wr.call(n)):{}}}(e,f,l)}}s||(s=new qr);var h=s.get(e);if(h)return h;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 m=d?i:(u?c?ro:to:c?$a:Ra)(e);return wt(m||e,(function(n,i){m&&(n=e[i=n]),Xr(a,i,an(n,t,r,i,e,s))})),a}function ln(e,t,r){var n=r.length;if(null==e)return!n;for(e=ke(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 cn(e,t,r){if("function"!=typeof e)throw new Te(o);return Po((function(){e.apply(i,r)}),t)}function un(e,t,r,n){var i=-1,o=_t,s=!0,a=e.length,l=[],c=t.length;if(!a)return l;r&&(t=Et(t,Ut(r))),n?(o=kt,s=!1):t.length>=200&&(o=Ht,s=!1,t=new zr(t));e:for(;++i<a;){var u=e[i],d=null==r?u:r(u);if(u=n||0!==u?u:0,s&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;l.push(u)}else o(t,d,n)||l.push(u)}return l}jr.templateSettings={escape:Y,evaluate:J,interpolate:Q,variable:"",imports:{_:jr}},jr.prototype=xr.prototype,jr.prototype.constructor=jr,Br.prototype=Fr(xr.prototype),Br.prototype.constructor=Br,Gr.prototype=Fr(xr.prototype),Gr.prototype.constructor=Gr,Ur.prototype.clear=function(){this.__data__=Tr?Tr(null):{},this.size=0},Ur.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ur.prototype.get=function(e){var t=this.__data__;if(Tr){var r=t[e];return r===s?i:r}return $e.call(t,e)?t[e]:i},Ur.prototype.has=function(e){var t=this.__data__;return Tr?t[e]!==i:$e.call(t,e)},Ur.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Tr&&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},Hr.prototype.clear=function(){this.size=0,this.__data__={hash:new Ur,map:new(_r||Vr),string:new Ur}},Hr.prototype.delete=function(e){var t=ao(this,e).delete(e);return this.size-=t?1:0,t},Hr.prototype.get=function(e){return ao(this,e).get(e)},Hr.prototype.has=function(e){return ao(this,e).has(e)},Hr.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)},qr.prototype.clear=function(){this.__data__=new Vr,this.size=0},qr.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},qr.prototype.get=function(e){return this.__data__.get(e)},qr.prototype.has=function(e){return this.__data__.has(e)},qr.prototype.set=function(e,t){var r=this.__data__;if(r instanceof Vr){var n=r.__data__;if(!_r||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Hr(n)}return r.set(e,t),this.size=r.size,this};var dn=Ii(wn),fn=Ii(bn,!0);function pn(e,t){var r=!0;return dn(e,(function(e,n,i){return r=!!t(e,n,i)})),r}function hn(e,t,r){for(var n=-1,o=e.length;++n<o;){var s=e[n],a=t(s);if(null!=a&&(l===i?a==a&&!ca(a):r(a,l)))var l=a,c=s}return c}function gn(e,t){var r=[];return dn(e,(function(e,n,i){t(e,n,i)&&r.push(e)})),r}function mn(e,t,r,n,i){var o=-1,s=e.length;for(r||(r=mo),i||(i=[]);++o<s;){var a=e[o];t>0&&r(a)?t>1?mn(a,t-1,r,n,i):Lt(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 Ct(t,(function(t){return Zs(e[t])}))}function Cn(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 _n(e,t,r){var n=t(e);return Hs(e)?n:Lt(n,r(e))}function kn(e){return null==e?e===i?"[object Undefined]":"[object Null]":at&&at in ke(e)?function(e){var t=$e.call(e,at),r=e[at];try{e[at]=i;var n=!0}catch(e){}var o=We.call(e);return n&&(t?e[at]=r:delete e[at]),o}(e):function(e){return We.call(e)}(e)}function En(e,t){return e>t}function Ln(e,t){return null!=e&&$e.call(e,t)}function Tn(e,t){return null!=e&&t in ke(e)}function An(e,t,r){for(var o=r?kt:_t,s=e[0].length,a=e.length,l=a,c=n(a),u=1/0,d=[];l--;){var f=e[l];l&&t&&(f=Et(f,Ut(t))),u=yr(f.length,u),c[l]=!r&&(t||s>=120&&f.length>=120)?new zr(l&&f):i}f=e[0];var p=-1,h=c[0];e:for(;++p<s&&d.length<u;){var g=f[p],m=t?t(g):g;if(g=r||0!==g?g:0,!(h?Ht(h,m):o(d,m,r))){for(l=a;--l;){var y=c[l];if(!(y?Ht(y,m):o(e[l],m,r)))continue e}h&&h.push(m),d.push(g)}}return d}function On(e,t,r){var n=null==(e=Lo(e,t=yi(t,e)))?e:e[jo(Qo(t))];return null==n?i:yt(n,e,r)}function Pn(e){return ra(e)&&kn(e)==g}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=Hs(e),l=Hs(t),c=a?m:po(e),u=l?m:po(t),d=(c=c==g?k:c)==k,f=(u=u==g?k:u)==k,p=c==u;if(p&&Ys(e)){if(!Ys(t))return!1;a=!0,d=!1}if(p&&!d)return s||(s=new qr),a||ua(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 Ge(e),new Ge(t)));case y:case v:case _:return Bs(+e,+t);case w:return e.name==t.name&&e.message==t.message;case L:case A:return e==t+"";case C:var a=Xt;case T:var l=1&n;if(a||(a=rr),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;n|=2,s.set(e,t);var u=Xi(a(e),a(t),n,i,o,s);return s.delete(e),u;case O:if(Wr)return Wr.call(e)==Wr.call(t)}return!1}(e,t,c,r,n,o,s);if(!(1&r)){var h=d&&$e.call(e,"__wrapped__"),b=f&&$e.call(t,"__wrapped__");if(h||b){var S=h?e.value():e,E=b?t.value():t;return s||(s=new qr),o(S,E,r,n,s)}}return!!p&&(s||(s=new qr),function(e,t,r,n,o,s){var a=1&r,l=to(e),c=l.length;if(c!=to(t).length&&!a)return!1;for(var u=c;u--;){var d=l[u];if(!(a?d in t:$e.call(t,d)))return!1}var f=s.get(e),p=s.get(t);if(f&&p)return f==t&&p==e;var h=!0;s.set(e,t),s.set(t,e);for(var g=a;++u<c;){var m=e[d=l[u]],y=t[d];if(n)var v=a?n(y,m,d,t,e,s):n(m,y,d,e,t,s);if(!(v===i?m===y||o(m,y,r,n,s):v)){h=!1;break}g||(g="constructor"==d)}if(h&&!g){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||(h=!1)}return s.delete(e),s.delete(t),h}(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=ke(e);o--;){var l=r[o];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<s;){var c=(l=r[o])[0],u=e[c],d=l[1];if(a&&l[2]){if(u===i&&!(c in e))return!1}else{var f=new qr;if(n)var p=n(u,d,c,e,t,f);if(!(p===i?In(d,u,3,n,f):p))return!1}}return!0}function $n(e){return!(!ta(e)||(t=e,De&&De in t))&&(Zs(e)?Fe:ge).test(Fo(e));var t}function Nn(e){return"function"==typeof e?e:null==e?il:"object"==typeof e?Hs(e)?Fn(e[0],e[1]):jn(e):pl(e)}function Dn(e){if(!Co(e))return gr(e);var t=[];for(var r in ke(e))$e.call(e,r)&&"constructor"!=r&&t.push(r);return t}function Wn(e,t){return e<t}function Mn(e,t){var r=-1,i=qs(e)?n(e.length):[];return dn(e,(function(e,n,o){i[++r]=t(e,n,o)})),i}function jn(e){var t=lo(e);return 1==t.length&&t[0][2]?ko(t[0][0],t[0][1]):function(r){return r===e||Rn(r,e,t)}}function Fn(e,t){return wo(e)&&_o(t)?ko(jo(e),t):function(r){var n=Ta(r,e);return n===i&&n===t?Aa(r,e):In(t,n,3)}}function xn(e,t,r,n,o){e!==t&&yn(t,(function(s,a){if(o||(o=new qr),ta(s))!function(e,t,r,n,o,s,a){var l=Ao(e,r),c=Ao(t,r),u=a.get(c);if(u)Zr(e,r,u);else{var d=s?s(l,c,r+"",e,t,a):i,f=d===i;if(f){var p=Hs(c),h=!p&&Ys(c),g=!p&&!h&&ua(c);d=c,p||h||g?Hs(l)?d=l:Ks(l)?d=Ti(l):h?(f=!1,d=Si(c,!0)):g?(f=!1,d=_i(c,!0)):d=[]:oa(c)||Vs(c)?(d=l,Vs(l)?d=va(l):ta(l)&&!Zs(l)||(d=go(c))):f=!1}f&&(a.set(c,d),o(d,c,n,s,a),a.delete(c)),Zr(e,r,d)}}(e,t,a,r,xn,n,o);else{var l=n?n(Ao(e,a),s,a+"",e,t,o):i;l===i&&(l=s),Zr(e,a,l)}}),$a)}function Bn(e,t){var r=e.length;if(r)return yo(t+=t<0?r:0,r)?e[t]:i}function Gn(e,t,r){t=t.length?Et(t,(function(e){return Hs(e)?function(t){return Cn(t,1===e.length?e[0]:e)}:e})):[il];var n=-1;t=Et(t,Ut(so()));var i=Mn(e,(function(e,r,i){var o=Et(t,(function(t){return t(e)}));return{criteria:o,index:++n,value:e}}));return 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 l=ki(i[n],o[n]);if(l)return n>=a?l:l*("desc"==r[n]?-1:1)}return e.index-t.index}(e,t,r)}));n--;)e[n]=e[n].value;return e}(i)}function Un(e,t,r){for(var n=-1,i=t.length,o={};++n<i;){var s=t[n],a=Cn(e,s);r(a,s)&&Qn(o,yi(s,e),a)}return o}function Vn(e,t,r,n){var i=n?Nt:$t,o=-1,s=t.length,a=e;for(e===t&&(t=Ti(t)),r&&(a=Et(e,Ut(r)));++o<s;)for(var l=0,c=t[o],u=r?r(c):c;(l=i(a,u,l,n))>-1;)a!==e&&nt.call(a,l,1),nt.call(e,l,1);return e}function Hn(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):ci(e,i)}}return e}function zn(e,t){return e+ur(br()*(t-e+1))}function qn(e,t){var r="";if(!e||t<1||t>d)return r;do{t%2&&(r+=e),(t=ur(t/2))&&(e+=e)}while(t);return r}function Kn(e,t){return Io(Eo(e,t,il),e+"")}function Yn(e){return Yr(Ba(e))}function Jn(e,t){var r=Ba(e);return No(r,sn(t,0,r.length))}function Qn(e,t,r,n){if(!ta(e))return e;for(var o=-1,s=(t=yi(t,e)).length,a=s-1,l=e;null!=l&&++o<s;){var c=jo(t[o]),u=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(o!=a){var d=l[c];(u=n?n(d,c,l):i)===i&&(u=ta(d)?d:yo(t[o+1])?[]:{})}Xr(l,c,u),l=l[c]}return e}var Zn=Ar?function(e,t){return Ar.set(e,t),e}:il,Xn=ct?function(e,t){return ct(e,"toString",{configurable:!0,enumerable:!1,value:tl(t),writable:!0})}:il;function ei(e){return No(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&&!ca(s)&&(r?s<=t:s<t)?n=o+1:i=o}return i}return ii(e,t,il,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,l=null===t,c=ca(t),u=t===i;o<s;){var d=ur((o+s)/2),f=r(e[d]),p=f!==i,h=null===f,g=f==f,m=ca(f);if(a)var y=n||g;else y=u?g&&(n||p):l?g&&p&&(n||!h):c?g&&p&&!h&&(n||!m):!h&&!m&&(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,l)){var l=a;o[i++]=0===s?0:s}}return o}function si(e){return"number"==typeof e?e:ca(e)?f:+e}function ai(e){if("string"==typeof e)return e;if(Hs(e))return Et(e,ai)+"";if(ca(e))return Mr?Mr.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function li(e,t,r){var n=-1,i=_t,o=e.length,s=!0,a=[],l=a;if(r)s=!1,i=kt;else if(o>=200){var c=t?null:qi(e);if(c)return rr(c);s=!1,i=Ht,l=new zr}else l=t?[]:a;e:for(;++n<o;){var u=e[n],d=t?t(u):u;if(u=r||0!==u?u:0,s&&d==d){for(var f=l.length;f--;)if(l[f]===d)continue e;t&&l.push(d),a.push(u)}else i(l,d,r)||(l!==a&&l.push(d),a.push(u))}return a}function ci(e,t){return null==(e=Lo(e,t=yi(t,e)))||delete e[jo(Qo(t))]}function ui(e,t,r,n){return Qn(e,t,r(Cn(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 Gr&&(r=r.value()),Tt(t,(function(e,t){return t.func.apply(t.thisArg,Lt([e],t.args))}),r)}function pi(e,t,r){var i=e.length;if(i<2)return i?li(e[0]):[];for(var o=-1,s=n(i);++o<i;)for(var a=e[o],l=-1;++l<i;)l!=o&&(s[o]=un(s[o]||a,e[l],t,r));return li(mn(s,1),t,r)}function hi(e,t,r){for(var n=-1,o=e.length,s=t.length,a={};++n<o;){var l=n<s?t[n]:i;r(a,e[n],l)}return a}function gi(e){return Ks(e)?e:[]}function mi(e){return"function"==typeof e?e:il}function yi(e,t){return Hs(e)?e:wo(e,t)?[e]:Mo(wa(e))}var vi=Kn;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=ut||function(e){return ot.clearTimeout(e)};function Si(e,t){if(t)return e.slice();var r=e.length,n=Ue?Ue(r):new e.constructor(r);return e.copy(n),n}function Ci(e){var t=new e.constructor(e.byteLength);return new Ge(t).set(new Ge(e)),t}function _i(e,t){var r=t?Ci(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function ki(e,t){if(e!==t){var r=e!==i,n=null===e,o=e==e,s=ca(e),a=t!==i,l=null===t,c=t==t,u=ca(t);if(!l&&!u&&!s&&e>t||s&&a&&c&&!l&&!u||n&&a&&c||!r&&c||!o)return 1;if(!n&&!s&&!u&&e<t||u&&r&&o&&!n&&!s||l&&r&&o||!a&&o||!c)return-1}return 0}function Ei(e,t,r,i){for(var o=-1,s=e.length,a=r.length,l=-1,c=t.length,u=mr(s-a,0),d=n(c+u),f=!i;++l<c;)d[l]=t[l];for(;++o<a;)(f||o<s)&&(d[r[o]]=e[o]);for(;u--;)d[l++]=e[o++];return d}function Li(e,t,r,i){for(var o=-1,s=e.length,a=-1,l=r.length,c=-1,u=t.length,d=mr(s-l,0),f=n(d+u),p=!i;++o<d;)f[o]=e[o];for(var h=o;++c<u;)f[h+c]=t[c];for(;++a<l;)(p||o<s)&&(f[h+r[a]]=e[o++]);return f}function Ti(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 l=t[s],c=n?n(r[l],e[l],l,r,e):i;c===i&&(c=e[l]),o?nn(r,l,c):Xr(r,l,c)}return r}function Oi(e,t){return function(r,n){var i=Hs(r)?vt:tn,o=t?t():{};return i(r,e,so(n,2),o)}}function Pi(e){return Kn((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=ke(t);++n<o;){var l=r[n];l&&e(t,l,n,s)}return t}))}function Ii(e,t){return function(r,n){if(null==r)return r;if(!qs(r))return e(r,n);for(var i=r.length,o=t?i:-1,s=ke(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=ke(t),s=n(t),a=s.length;a--;){var l=s[e?a:++i];if(!1===r(o[l],l,o))break}return t}}function $i(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 Ni(e){return function(t){return Tt(Za(Va(t).replace(Ve,"")),e,"")}}function Di(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=Fr(e.prototype),n=e.apply(r,t);return ta(n)?n:r}}function Wi(e){return function(t,r,n){var o=ke(t);if(!qs(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 Mi(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 Te(o);if(s&&!l&&"wrapper"==io(a))var l=new Br([],!0)}for(n=l?n:r;++n<r;){var c=io(a=t[n]),u="wrapper"==c?no(a):i;l=u&&bo(u[0])&&424==u[1]&&!u[4].length&&1==u[9]?l[io(u[0])].apply(l,u[3]):1==a.length&&bo(a)?l[c]():l.thru(a)}return function(){var e=arguments,n=e[0];if(l&&1==e.length&&Hs(n))return l.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,l,u,d,f){var p=t&c,h=1&t,g=2&t,m=24&t,y=512&t,v=g?i:Di(e);return function i(){for(var c=arguments.length,w=n(c),b=c;b--;)w[b]=arguments[b];if(m)var S=oo(i),C=Kt(w,S);if(o&&(w=Ei(w,o,s,m)),a&&(w=Li(w,a,l,m)),c-=C,m&&c<f){var _=tr(w,S);return Hi(e,t,ji,i.placeholder,r,w,_,u,d,f-c)}var k=h?r:this,E=g?k[e]:e;return c=w.length,u?w=To(w,u):y&&c>1&&w.reverse(),p&&d<c&&(w.length=d),this&&this!==ot&&this instanceof i&&(E=v||Di(E)),E.apply(k,w)}}function Fi(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 xi(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=Et(t,Ut(so())),Kn((function(r){var n=this;return e(t,(function(e){return yt(e,n,r)}))}))}))}function Gi(e,t){var r=(t=t===i?" ":ai(t)).length;if(r<2)return r?qn(t,e):t;var n=qn(t,cr(e/ir(t)));return Zt(t)?wi(or(n),0,e).join(""):n.slice(0,e)}function Ui(e){return function(t,r,o){return o&&"number"!=typeof o&&vo(t,r,o)&&(r=o=i),t=ha(t),r===i?(r=t,t=0):r=ha(r),function(e,t,r,i){for(var o=-1,s=mr(cr((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:ha(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 Hi(e,t,r,n,o,s,a,c,u,d){var f=8&t;t|=f?l:64,4&(t&=~(f?64:l))||(t&=-4);var p=[e,t,o,f?s:i,f?a:i,f?i:s,f?i:a,c,u,d],h=r.apply(i,p);return bo(e)&&Oo(h,p),h.placeholder=n,Ro(h,e,t)}function zi(e){var t=_e[e];return function(e,r){if(e=ya(e),(r=null==r?0:yr(ga(r),292))&&pr(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 qi=Er&&1/rr(new Er([,-0]))[1]==u?function(e){return new Er(e)}:cl;function Ki(e){return function(t){var r=po(t);return r==C?Xt(t):r==T?nr(t):function(e,t){return Et(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function Yi(e,t,r,s,u,d,f,p){var h=2&t;if(!h&&"function"!=typeof e)throw new Te(o);var g=s?s.length:0;if(g||(t&=-97,s=u=i),f=f===i?f:mr(ga(f),0),p=p===i?p:ga(p),g-=u?u.length:0,64&t){var m=s,y=u;s=u=i}var v=h?i:no(e),w=[e,t,r,s,u,m,y,d,f,p];if(v&&function(e,t){var r=e[1],n=t[1],i=r|n,o=i<131,s=n==c&&8==r||n==c&&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 l=t[3];if(l){var u=e[3];e[3]=u?Ei(u,l,t[4]):l,e[4]=u?tr(e[3],a):t[4]}(l=t[5])&&(u=e[5],e[5]=u?Li(u,l,t[6]):l,e[6]=u?tr(e[5],a):t[6]),(l=t[7])&&(e[7]=l),n&c&&(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],u=w[4],!(p=w[9]=w[9]===i?h?0:e.length:mr(w[9]-g,0))&&24&t&&(t&=-25),t&&1!=t)b=8==t||16==t?function(e,t,r){var o=Di(e);return function s(){for(var a=arguments.length,l=n(a),c=a,u=oo(s);c--;)l[c]=arguments[c];var d=a<3&&l[0]!==u&&l[a-1]!==u?[]:tr(l,u);return(a-=d.length)<r?Hi(e,t,ji,s.placeholder,i,l,d,i,i,r-a):yt(this&&this!==ot&&this instanceof s?o:e,this,l)}}(e,t,p):t!=l&&33!=t||u.length?ji.apply(i,w):function(e,t,r,i){var o=1&t,s=Di(e);return function t(){for(var a=-1,l=arguments.length,c=-1,u=i.length,d=n(u+l),f=this&&this!==ot&&this instanceof t?s:e;++c<u;)d[c]=i[c];for(;l--;)d[c++]=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=Di(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:Oo)(b,w),e,t)}function Ji(e,t,r,n){return e===i||Bs(e,Pe[r])&&!$e.call(n,r)?t:e}function Qi(e,t,r,n,o,s){return ta(e)&&ta(t)&&(s.set(t,e),xn(e,t,i,Qi,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,l=e.length,c=t.length;if(l!=c&&!(a&&c>l))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,p=!0,h=2&r?new zr:i;for(s.set(e,t),s.set(t,e);++f<l;){var g=e[f],m=t[f];if(n)var y=a?n(m,g,f,t,e,s):n(g,m,f,e,t,s);if(y!==i){if(y)continue;p=!1;break}if(h){if(!Ot(t,(function(e,t){if(!Ht(h,t)&&(g===e||o(g,e,r,n,s)))return h.push(t)}))){p=!1;break}}else if(g!==m&&!o(g,m,r,n,s)){p=!1;break}}return s.delete(e),s.delete(t),p}function eo(e){return Io(Eo(e,i,zo),e+"")}function to(e){return _n(e,Ra,uo)}function ro(e){return _n(e,$a,fo)}var no=Ar?function(e){return Ar.get(e)}:cl;function io(e){for(var t=e.name+"",r=Or[t],n=$e.call(Or,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($e.call(jr,"placeholder")?jr:e).placeholder}function so(){var e=jr.iteratee||ol;return e=e===ol?Nn: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 lo(e){for(var t=Ra(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,_o(i)]}return t}function co(e,t){var r=function(e,t){return null==e?i:e[t]}(e,t);return $n(r)?r:i}var uo=dr?function(e){return null==e?[]:(e=ke(e),Ct(dr(e),(function(t){return et.call(e,t)})))}:ml,fo=dr?function(e){for(var t=[];e;)Lt(t,uo(e)),e=ze(e);return t}:ml,po=kn;function ho(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)&&(Hs(e)||Vs(e))}function go(e){return"function"!=typeof e.constructor||Co(e)?{}:Fr(ze(e))}function mo(e){return Hs(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?qs(r)&&yo(t,r.length):"string"==n&&t in r)&&Bs(r[t],e)}function wo(e,t){if(Hs(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!ca(e))||X.test(e)||!Z.test(e)||null!=t&&e in ke(t)}function bo(e){var t=io(e),r=jr[t];if("function"!=typeof r||!(t in Gr.prototype))return!1;if(e===r)return!0;var n=no(r);return!!n&&e===n[0]}(Cr&&po(new Cr(new ArrayBuffer(1)))!=R||_r&&po(new _r)!=C||kr&&po(kr.resolve())!=E||Er&&po(new Er)!=T||Lr&&po(new Lr)!=P)&&(po=function(e){var t=kn(e),r=t==k?e.constructor:i,n=r?Fo(r):"";if(n)switch(n){case Pr:return R;case Ir:return C;case Rr:return E;case $r:return T;case Nr:return P}return t});var So=Ie?Zs:yl;function Co(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Pe)}function _o(e){return e==e&&!ta(e)}function ko(e,t){return function(r){return null!=r&&r[e]===t&&(t!==i||e in ke(r))}}function Eo(e,t,r){return t=mr(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,s=mr(i.length-t,0),a=n(s);++o<s;)a[o]=i[t+o];o=-1;for(var l=n(t+1);++o<t;)l[o]=i[o];return l[t]=r(a),yt(e,this,l)}}function Lo(e,t){return t.length<2?e:Cn(e,ti(t,0,-1))}function To(e,t){for(var r=e.length,n=yr(t.length,r),o=Ti(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 Oo=$o(Zn),Po=jt||function(e,t){return ot.setTimeout(e,t)},Io=$o(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(h,(function(r){var n="_."+r[0];t&r[1]&&!_t(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(se);return t?t[1].split(ae):[]}(n),r)))}function $o(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 No(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 Do,Wo,Mo=(Do=Ds((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,r,n,i){t.push(n?i.replace(ue,"$1"):r||e)})),t}),(function(e){return 500===Wo.size&&Wo.clear(),e})),Wo=Do.cache,Do);function jo(e){if("string"==typeof e||ca(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Fo(e){if(null!=e){try{return Re.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function xo(e){if(e instanceof Gr)return e.clone();var t=new Br(e.__wrapped__,e.__chain__);return t.__actions__=Ti(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var Bo=Kn((function(e,t){return Ks(e)?un(e,mn(t,1,Ks,!0)):[]})),Go=Kn((function(e,t){var r=Qo(t);return Ks(r)&&(r=i),Ks(e)?un(e,mn(t,1,Ks,!0),so(r,2)):[]})),Uo=Kn((function(e,t){var r=Qo(t);return Ks(r)&&(r=i),Ks(e)?un(e,mn(t,1,Ks,!0),i,r):[]}));function Vo(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var i=null==r?0:ga(r);return i<0&&(i=mr(n+i,0)),Rt(e,so(t,3),i)}function Ho(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=n-1;return r!==i&&(o=ga(r),o=r<0?mr(n+o,0):yr(o,n-1)),Rt(e,so(t,3),o,!0)}function zo(e){return null!=e&&e.length?mn(e,1):[]}function qo(e){return e&&e.length?e[0]:i}var Ko=Kn((function(e){var t=Et(e,gi);return t.length&&t[0]===e[0]?An(t):[]})),Yo=Kn((function(e){var t=Qo(e),r=Et(e,gi);return t===Qo(r)?t=i:r.pop(),r.length&&r[0]===e[0]?An(r,so(t,2)):[]})),Jo=Kn((function(e){var t=Qo(e),r=Et(e,gi);return(t="function"==typeof t?t:i)&&r.pop(),r.length&&r[0]===e[0]?An(r,i,t):[]}));function Qo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Zo=Kn(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 Hn(e,Et(t,(function(e){return yo(e,r)?+e:e})).sort(ki)),n}));function ts(e){return null==e?e:Sr.call(e)}var rs=Kn((function(e){return li(mn(e,1,Ks,!0))})),ns=Kn((function(e){var t=Qo(e);return Ks(t)&&(t=i),li(mn(e,1,Ks,!0),so(t,2))})),is=Kn((function(e){var t=Qo(e);return t="function"==typeof t?t:i,li(mn(e,1,Ks,!0),i,t)}));function os(e){if(!e||!e.length)return[];var t=0;return e=Ct(e,(function(e){if(Ks(e))return t=mr(e.length,t),!0})),Bt(t,(function(t){return Et(e,Mt(t))}))}function ss(e,t){if(!e||!e.length)return[];var r=os(e);return null==t?r:Et(r,(function(e){return yt(t,i,e)}))}var as=Kn((function(e,t){return Ks(e)?un(e,t):[]})),ls=Kn((function(e){return pi(Ct(e,Ks))})),cs=Kn((function(e){var t=Qo(e);return Ks(t)&&(t=i),pi(Ct(e,Ks),so(t,2))})),us=Kn((function(e){var t=Qo(e);return t="function"==typeof t?t:i,pi(Ct(e,Ks),i,t)})),ds=Kn(os),fs=Kn((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 ps(e){var t=jr(e);return t.__chain__=!0,t}function hs(e,t){return t(e)}var gs=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 Gr&&yo(r)?((n=n.slice(r,+r+(t?1:0))).__actions__.push({func:hs,args:[o],thisArg:i}),new Br(n,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ms=Oi((function(e,t,r){$e.call(e,r)?++e[r]:nn(e,r,1)})),ys=Wi(Vo),vs=Wi(Ho);function ws(e,t){return(Hs(e)?wt:dn)(e,so(t,3))}function bs(e,t){return(Hs(e)?bt:fn)(e,so(t,3))}var Ss=Oi((function(e,t,r){$e.call(e,r)?e[r].push(t):nn(e,r,[t])})),Cs=Kn((function(e,t,r){var i=-1,o="function"==typeof t,s=qs(e)?n(e.length):[];return dn(e,(function(e){s[++i]=o?yt(t,e,r):On(e,t,r)})),s})),_s=Oi((function(e,t,r){nn(e,r,t)}));function ks(e,t){return(Hs(e)?Et:Mn)(e,so(t,3))}var Es=Oi((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]})),Ls=Kn((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]]),Gn(e,mn(t,1),[])})),Ts=Pt||function(){return ot.Date.now()};function As(e,t,r){return t=r?i:t,t=e&&null==t?e.length:t,Yi(e,c,i,i,i,i,t)}function Os(e,t){var r;if("function"!=typeof t)throw new Te(o);return e=ga(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=i),r}}var Ps=Kn((function(e,t,r){var n=1;if(r.length){var i=tr(r,oo(Ps));n|=l}return Yi(e,n,t,r,i)})),Is=Kn((function(e,t,r){var n=3;if(r.length){var i=tr(r,oo(Is));n|=l}return Yi(t,n,e,r,i)}));function Rs(e,t,r){var n,s,a,l,c,u,d=0,f=!1,p=!1,h=!0;if("function"!=typeof e)throw new Te(o);function g(t){var r=n,o=s;return n=s=i,d=t,l=e.apply(o,r)}function m(e){return d=e,c=Po(v,t),f?g(e):l}function y(e){var r=e-u;return u===i||r>=t||r<0||p&&e-d>=a}function v(){var e=Ts();if(y(e))return w(e);c=Po(v,function(e){var r=t-(e-u);return p?yr(r,a-(e-d)):r}(e))}function w(e){return c=i,h&&n?g(e):(n=s=i,l)}function b(){var e=Ts(),r=y(e);if(n=arguments,s=this,u=e,r){if(c===i)return m(u);if(p)return bi(c),c=Po(v,t),g(u)}return c===i&&(c=Po(v,t)),l}return t=ya(t)||0,ta(r)&&(f=!!r.leading,a=(p="maxWait"in r)?mr(ya(r.maxWait)||0,t):a,h="trailing"in r?!!r.trailing:h),b.cancel=function(){c!==i&&bi(c),d=0,n=u=s=c=i},b.flush=function(){return c===i?l:w(Ts())},b}var $s=Kn((function(e,t){return cn(e,1,t)})),Ns=Kn((function(e,t,r){return cn(e,ya(t)||0,r)}));function Ds(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new Te(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(Ds.Cache||Hr),r}function Ws(e){if("function"!=typeof e)throw new Te(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)}}Ds.Cache=Hr;var Ms=vi((function(e,t){var r=(t=1==t.length&&Hs(t[0])?Et(t[0],Ut(so())):Et(mn(t,1),Ut(so()))).length;return Kn((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=Kn((function(e,t){var r=tr(t,oo(js));return Yi(e,l,i,t,r)})),Fs=Kn((function(e,t){var r=tr(t,oo(Fs));return Yi(e,64,i,t,r)})),xs=eo((function(e,t){return Yi(e,256,i,i,i,t)}));function Bs(e,t){return e===t||e!=e&&t!=t}var Gs=Vi(En),Us=Vi((function(e,t){return e>=t})),Vs=Pn(function(){return arguments}())?Pn:function(e){return ra(e)&&$e.call(e,"callee")&&!et.call(e,"callee")},Hs=n.isArray,zs=dt?Ut(dt):function(e){return ra(e)&&kn(e)==I};function qs(e){return null!=e&&ea(e.length)&&!Zs(e)}function Ks(e){return ra(e)&&qs(e)}var Ys=fr||yl,Js=ft?Ut(ft):function(e){return ra(e)&&kn(e)==v};function Qs(e){if(!ra(e))return!1;var t=kn(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=kn(e);return t==b||t==S||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Xs(e){return"number"==typeof e&&e==ga(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=pt?Ut(pt):function(e){return ra(e)&&po(e)==C};function ia(e){return"number"==typeof e||ra(e)&&kn(e)==_}function oa(e){if(!ra(e)||kn(e)!=k)return!1;var t=ze(e);if(null===t)return!0;var r=$e.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Re.call(r)==Me}var sa=ht?Ut(ht):function(e){return ra(e)&&kn(e)==L},aa=gt?Ut(gt):function(e){return ra(e)&&po(e)==T};function la(e){return"string"==typeof e||!Hs(e)&&ra(e)&&kn(e)==A}function ca(e){return"symbol"==typeof e||ra(e)&&kn(e)==O}var ua=mt?Ut(mt):function(e){return ra(e)&&ea(e.length)&&!!Ze[kn(e)]},da=Vi(Wn),fa=Vi((function(e,t){return e<=t}));function pa(e){if(!e)return[];if(qs(e))return la(e)?or(e):Ti(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=po(e);return(t==C?Xt:t==T?rr:Ba)(e)}function ha(e){return e?(e=ya(e))===u||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ga(e){var t=ha(e),r=t%1;return t==t?r?t-r:t:0}function ma(e){return e?sn(ga(e),0,p):0}function ya(e){if("number"==typeof e)return e;if(ca(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=Gt(e);var r=he.test(e);return r||me.test(e)?rt(e.slice(2),r?2:8):pe.test(e)?f:+e}function va(e){return Ai(e,$a(e))}function wa(e){return null==e?"":ai(e)}var ba=Pi((function(e,t){if(Co(t)||qs(t))Ai(t,Ra(t),e);else for(var r in t)$e.call(t,r)&&Xr(e,r,t[r])})),Sa=Pi((function(e,t){Ai(t,$a(t),e)})),Ca=Pi((function(e,t,r,n){Ai(t,$a(t),e,n)})),_a=Pi((function(e,t,r,n){Ai(t,Ra(t),e,n)})),ka=eo(on),Ea=Kn((function(e,t){e=ke(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=$a(s),l=-1,c=a.length;++l<c;){var u=a[l],d=e[u];(d===i||Bs(d,Pe[u])&&!$e.call(e,u))&&(e[u]=s[u])}return e})),La=Kn((function(e){return e.push(i,Qi),yt(Da,i,e)}));function Ta(e,t,r){var n=null==e?i:Cn(e,t);return n===i?r:n}function Aa(e,t){return null!=e&&ho(e,t,Tn)}var Oa=Fi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=We.call(t)),e[t]=r}),tl(il)),Pa=Fi((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=We.call(t)),$e.call(e,t)?e[t].push(r):e[t]=[r]}),so),Ia=Kn(On);function Ra(e){return qs(e)?Kr(e):Dn(e)}function $a(e){return qs(e)?Kr(e,!0):function(e){if(!ta(e))return function(e){var t=[];if(null!=e)for(var r in ke(e))t.push(r);return t}(e);var t=Co(e),r=[];for(var n in e)("constructor"!=n||!t&&$e.call(e,n))&&r.push(n);return r}(e)}var Na=Pi((function(e,t,r){xn(e,t,r)})),Da=Pi((function(e,t,r,n){xn(e,t,r,n)})),Wa=eo((function(e,t){var r={};if(null==e)return r;var n=!1;t=Et(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--;)ci(r,t[i]);return r})),Ma=eo((function(e,t){return null==e?{}:function(e,t){return Un(e,t,(function(t,r){return Aa(e,r)}))}(e,t)}));function ja(e,t){if(null==e)return{};var r=Et(ro(e),(function(e){return[e]}));return t=so(t),Un(e,r,(function(e,r){return t(e,r[0])}))}var Fa=Ki(Ra),xa=Ki($a);function Ba(e){return null==e?[]:Vt(e,Ra(e))}var Ga=Ni((function(e,t,r){return t=t.toLowerCase(),e+(r?Ua(t):t)}));function Ua(e){return Qa(wa(e).toLowerCase())}function Va(e){return(e=wa(e))&&e.replace(ve,Yt).replace(He,"")}var Ha=Ni((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),za=Ni((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),qa=$i("toLowerCase"),Ka=Ni((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()})),Ya=Ni((function(e,t,r){return e+(r?" ":"")+Qa(t)})),Ja=Ni((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()})),Qa=$i("toUpperCase");function Za(e,t,r){return e=wa(e),(t=r?i:t)===i?function(e){return Ye.test(e)}(e)?function(e){return e.match(qe)||[]}(e):function(e){return e.match(le)||[]}(e):e.match(t)||[]}var Xa=Kn((function(e,t){try{return yt(e,i,t)}catch(e){return Qs(e)?e:new Se(e)}})),el=eo((function(e,t){return wt(t,(function(t){t=jo(t),nn(e,t,Ps(e[t],e))})),e}));function tl(e){return function(){return e}}var rl=Mi(),nl=Mi(!0);function il(e){return e}function ol(e){return Nn("function"==typeof e?e:an(e,1))}var sl=Kn((function(e,t){return function(r){return On(r,e,t)}})),al=Kn((function(e,t){return function(r){return On(e,r,t)}}));function ll(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__=Ti(this.__actions__);return i.push({func:n,args:arguments,thisArg:e}),r.__chain__=t,r}return n.apply(e,Lt([this.value()],arguments))})})),e}function cl(){}var ul=Bi(Et),dl=Bi(St),fl=Bi(Ot);function pl(e){return wo(e)?Mt(jo(e)):function(e){return function(t){return Cn(t,e)}}(e)}var hl=Ui(),gl=Ui(!0);function ml(){return[]}function yl(){return!1}var vl,wl=xi((function(e,t){return e+t}),0),bl=zi("ceil"),Sl=xi((function(e,t){return e/t}),1),Cl=zi("floor"),_l=xi((function(e,t){return e*t}),1),kl=zi("round"),El=xi((function(e,t){return e-t}),0);return jr.after=function(e,t){if("function"!=typeof t)throw new Te(o);return e=ga(e),function(){if(--e<1)return t.apply(this,arguments)}},jr.ary=As,jr.assign=ba,jr.assignIn=Sa,jr.assignInWith=Ca,jr.assignWith=_a,jr.at=ka,jr.before=Os,jr.bind=Ps,jr.bindAll=el,jr.bindKey=Is,jr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Hs(e)?e:[e]},jr.chain=ps,jr.chunk=function(e,t,r){t=(r?vo(e,t,r):t===i)?1:mr(ga(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var s=0,a=0,l=n(cr(o/t));s<o;)l[a++]=ti(e,s,s+=t);return l},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 Lt(Hs(r)?Ti(r):[r],mn(t,1))},jr.cond=function(e){var t=null==e?0:e.length,r=so();return e=t?Et(e,(function(e){if("function"!=typeof e[1])throw new Te(o);return[r(e[0]),e[1]]})):[],Kn((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 ln(r,e,t)}}(an(e,1))},jr.constant=tl,jr.countBy=ms,jr.create=function(e,t){var r=Fr(e);return null==t?r:rn(r,t)},jr.curry=function e(t,r,n){var o=Yi(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=Yi(t,16,i,i,i,i,i,r=n?i:r);return o.placeholder=e.placeholder,o},jr.debounce=Rs,jr.defaults=Ea,jr.defaultsDeep=La,jr.defer=$s,jr.delay=Ns,jr.difference=Bo,jr.differenceBy=Go,jr.differenceWith=Uo,jr.drop=function(e,t,r){var n=null==e?0:e.length;return n?ti(e,(t=r||t===i?1:ga(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:ga(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=ga(r))<0&&(r=-r>o?0:o+r),(n=n===i||n>o?o:ga(n))<0&&(n+=o),n=r>n?0:ma(n);r<n;)e[r++]=t;return e}(e,t,r,n)):[]},jr.filter=function(e,t){return(Hs(e)?Ct:gn)(e,so(t,3))},jr.flatMap=function(e,t){return mn(ks(e,t),1)},jr.flatMapDeep=function(e,t){return mn(ks(e,t),u)},jr.flatMapDepth=function(e,t,r){return r=r===i?1:ga(r),mn(ks(e,t),r)},jr.flatten=zo,jr.flattenDeep=function(e){return null!=e&&e.length?mn(e,u):[]},jr.flattenDepth=function(e,t){return null!=e&&e.length?mn(e,t=t===i?1:ga(t)):[]},jr.flip=function(e){return Yi(e,512)},jr.flow=rl,jr.flowRight=nl,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,$a(e))},jr.groupBy=Ss,jr.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},jr.intersection=Ko,jr.intersectionBy=Yo,jr.intersectionWith=Jo,jr.invert=Oa,jr.invertBy=Pa,jr.invokeMap=Cs,jr.iteratee=ol,jr.keyBy=_s,jr.keys=Ra,jr.keysIn=$a,jr.map=ks,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 Fn(e,an(t,1))},jr.memoize=Ds,jr.merge=Na,jr.mergeWith=Da,jr.method=sl,jr.methodOf=al,jr.mixin=ll,jr.negate=Ws,jr.nthArg=function(e){return e=ga(e),Kn((function(t){return Bn(t,e)}))},jr.omit=Wa,jr.omitBy=function(e,t){return ja(e,Ws(so(t)))},jr.once=function(e){return Os(2,e)},jr.orderBy=function(e,t,r,n){return null==e?[]:(Hs(t)||(t=null==t?[]:[t]),Hs(r=n?i:r)||(r=null==r?[]:[r]),Gn(e,t,r))},jr.over=ul,jr.overArgs=Ms,jr.overEvery=dl,jr.overSome=fl,jr.partial=js,jr.partialRight=Fs,jr.partition=Es,jr.pick=Ma,jr.pickBy=ja,jr.property=pl,jr.propertyOf=function(e){return function(t){return null==e?i:Cn(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=hl,jr.rangeRight=gl,jr.rearg=xs,jr.reject=function(e,t){return(Hs(e)?Ct:gn)(e,Ws(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 Hn(e,i),r},jr.rest=function(e,t){if("function"!=typeof e)throw new Te(o);return Kn(e,t=t===i?t:ga(t))},jr.reverse=ts,jr.sampleSize=function(e,t,r){return t=(r?vo(e,t,r):t===i)?1:ga(t),(Hs(e)?Jr:Jn)(e,t)},jr.set=function(e,t,r){return null==e?e:Qn(e,t,r)},jr.setWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:Qn(e,t,r,n)},jr.shuffle=function(e){return(Hs(e)?Qr: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:ga(t),r=r===i?n:ga(r)),ti(e,t,r)):[]},jr.sortBy=Ls,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?p: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 Te(o);return t=null==t?0:mr(ga(t),0),Kn((function(r){var n=r[t],i=wi(r,0,t);return n&&Lt(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:ga(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:ga(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 Te(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=hs,jr.toArray=pa,jr.toPairs=Fa,jr.toPairsIn=xa,jr.toPath=function(e){return Hs(e)?Et(e,jo):ca(e)?[e]:Ti(Mo(wa(e)))},jr.toPlainObject=va,jr.transform=function(e,t,r){var n=Hs(e),i=n||Ys(e)||ua(e);if(t=so(t,4),null==r){var o=e&&e.constructor;r=i?n?new o:[]:ta(e)&&Zs(o)?Fr(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?li(e):[]},jr.uniqBy=function(e,t){return e&&e.length?li(e,so(t,2)):[]},jr.uniqWith=function(e,t){return t="function"==typeof t?t:i,e&&e.length?li(e,i,t):[]},jr.unset=function(e,t){return null==e||ci(e,t)},jr.unzip=os,jr.unzipWith=ss,jr.update=function(e,t,r){return null==e?e:ui(e,t,mi(r))},jr.updateWith=function(e,t,r,n){return n="function"==typeof n?n:i,null==e?e:ui(e,t,mi(r),n)},jr.values=Ba,jr.valuesIn=function(e){return null==e?[]:Vt(e,$a(e))},jr.without=as,jr.words=Za,jr.wrap=function(e,t){return js(mi(t),e)},jr.xor=ls,jr.xorBy=cs,jr.xorWith=us,jr.zip=ds,jr.zipObject=function(e,t){return hi(e||[],t||[],Xr)},jr.zipObjectDeep=function(e,t){return hi(e||[],t||[],Qn)},jr.zipWith=fs,jr.entries=Fa,jr.entriesIn=xa,jr.extend=Sa,jr.extendWith=Ca,ll(jr,jr),jr.add=wl,jr.attempt=Xa,jr.camelCase=Ga,jr.capitalize=Ua,jr.ceil=bl,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||ln(e,t,Ra(t))},jr.deburr=Va,jr.defaultTo=function(e,t){return null==e||e!=e?t:e},jr.divide=Sl,jr.endsWith=function(e,t,r){e=wa(e),t=ai(t);var n=e.length,o=r=r===i?n:sn(ga(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t},jr.eq=Bs,jr.escape=function(e){return(e=wa(e))&&K.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=Hs(e)?St:pn;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=Ho,jr.findLastKey=function(e,t){return It(e,so(t,3),bn)},jr.floor=Cl,jr.forEach=ws,jr.forEachRight=bs,jr.forIn=function(e,t){return null==e?e:yn(e,so(t,3),$a)},jr.forInRight=function(e,t){return null==e?e:vn(e,so(t,3),$a)},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=Ta,jr.gt=Gs,jr.gte=Us,jr.has=function(e,t){return null!=e&&ho(e,t,Ln)},jr.hasIn=Aa,jr.head=qo,jr.identity=il,jr.includes=function(e,t,r,n){e=qs(e)?e:Ba(e),r=r&&!n?ga(r):0;var i=e.length;return r<0&&(r=mr(i+r,0)),la(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&$t(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:ga(r);return i<0&&(i=mr(n+i,0)),$t(e,t,i)},jr.inRange=function(e,t,r){return t=ha(t),r===i?(r=t,t=0):r=ha(r),function(e,t,r){return e>=yr(t,r)&&e<mr(t,r)}(e=ya(e),t,r)},jr.invoke=Ia,jr.isArguments=Vs,jr.isArray=Hs,jr.isArrayBuffer=zs,jr.isArrayLike=qs,jr.isArrayLikeObject=Ks,jr.isBoolean=function(e){return!0===e||!1===e||ra(e)&&kn(e)==y},jr.isBuffer=Ys,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(qs(e)&&(Hs(e)||"string"==typeof e||"function"==typeof e.splice||Ys(e)||ua(e)||Vs(e)))return!e.length;var t=po(e);if(t==C||t==T)return!e.size;if(Co(e))return!Dn(e).length;for(var r in e)if($e.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=Qs,jr.isFinite=function(e){return"number"==typeof e&&pr(e)},jr.isFunction=Zs,jr.isInteger=Xs,jr.isLength=ea,jr.isMap=na,jr.isMatch=function(e,t){return e===t||Rn(e,t,lo(t))},jr.isMatchWith=function(e,t,r){return r="function"==typeof r?r:i,Rn(e,t,lo(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 $n(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=la,jr.isSymbol=ca,jr.isTypedArray=ua,jr.isUndefined=function(e){return e===i},jr.isWeakMap=function(e){return ra(e)&&po(e)==P},jr.isWeakSet=function(e){return ra(e)&&"[object WeakSet]"==kn(e)},jr.join=function(e,t){return null==e?"":hr.call(e,t)},jr.kebabCase=Ha,jr.last=Qo,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=ga(r))<0?mr(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,Dt,o,!0)},jr.lowerCase=za,jr.lowerFirst=qa,jr.lt=da,jr.lte=fa,jr.max=function(e){return e&&e.length?hn(e,il,En):i},jr.maxBy=function(e,t){return e&&e.length?hn(e,so(t,2),En):i},jr.mean=function(e){return Wt(e,il)},jr.meanBy=function(e,t){return Wt(e,so(t,2))},jr.min=function(e){return e&&e.length?hn(e,il,Wn):i},jr.minBy=function(e,t){return e&&e.length?hn(e,so(t,2),Wn):i},jr.stubArray=ml,jr.stubFalse=yl,jr.stubObject=function(){return{}},jr.stubString=function(){return""},jr.stubTrue=function(){return!0},jr.multiply=_l,jr.nth=function(e,t){return e&&e.length?Bn(e,ga(t)):i},jr.noConflict=function(){return ot._===this&&(ot._=je),this},jr.noop=cl,jr.now=Ts,jr.pad=function(e,t,r){e=wa(e);var n=(t=ga(t))?ir(e):0;if(!t||n>=t)return e;var i=(t-n)/2;return Gi(ur(i),r)+e+Gi(cr(i),r)},jr.padEnd=function(e,t,r){e=wa(e);var n=(t=ga(t))?ir(e):0;return t&&n<t?e+Gi(t-n,r):e},jr.padStart=function(e,t,r){e=wa(e);var n=(t=ga(t))?ir(e):0;return t&&n<t?Gi(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=ha(e),t===i?(t=e,e=0):t=ha(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=Hs(e)?Tt:Ft,i=arguments.length<3;return n(e,so(t,4),r,i,dn)},jr.reduceRight=function(e,t,r){var n=Hs(e)?At:Ft,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:ga(t),qn(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=kl,jr.runInContext=e,jr.sample=function(e){return(Hs(e)?Yr:Yn)(e)},jr.size=function(e){if(null==e)return 0;if(qs(e))return la(e)?ir(e):e.length;var t=po(e);return t==C||t==T?e.size:Dn(e).length},jr.snakeCase=Ka,jr.some=function(e,t,r){var n=Hs(e)?Ot: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=Ya,jr.startsWith=function(e,t,r){return e=wa(e),r=null==r?0:sn(ga(r),0,e.length),t=ai(t),e.slice(r,r+t.length)==t},jr.subtract=El,jr.sum=function(e){return e&&e.length?xt(e,il):0},jr.sumBy=function(e,t){return e&&e.length?xt(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=Ca({},t,n,Ji);var o,s,a=Ca({},t.imports,n.imports,Ji),l=Ra(a),c=Vt(a,l),u=0,d=t.interpolate||we,f="__p += '",p=Ee((t.escape||we).source+"|"+d.source+"|"+(d===Q?de:we).source+"|"+(t.evaluate||we).source+"|$","g"),h="//# sourceURL="+($e.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Qe+"]")+"\n";e.replace(p,(function(t,r,n,i,a,l){return n||(n=i),f+=e.slice(u,l).replace(be,Qt),r&&(o=!0,f+="' +\n__e("+r+") +\n'"),a&&(s=!0,f+="';\n"+a+";\n__p += '"),n&&(f+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),u=l+t.length,t})),f+="';\n";var g=$e.call(t,"variable")&&t.variable;if(g){if(ce.test(g))throw new Se("Invalid `variable` option passed into `_.template`")}else f="with (obj) {\n"+f+"\n}\n";f=(s?f.replace(G,""):f).replace(U,"$1").replace(V,"$1;"),f="function("+(g||"obj")+") {\n"+(g?"":"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 m=Xa((function(){return Ce(l,h+"return "+f).apply(i,c)}));if(m.source=f,Qs(m))throw m;return m},jr.times=function(e,t){if((e=ga(e))<1||e>d)return[];var r=p,n=yr(e,p);t=so(t),e-=p;for(var i=Bt(n,t);++r<e;)t(r);return i},jr.toFinite=ha,jr.toInteger=ga,jr.toLength=ma,jr.toLower=function(e){return wa(e).toLowerCase()},jr.toNumber=ya,jr.toSafeInteger=function(e){return e?sn(ga(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 Gt(e);if(!e||!(t=ai(t)))return e;var n=or(e),o=or(t);return wi(n,zt(n,o),qt(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,qt(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?ga(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 l=r-ir(n);if(l<1)return n;var c=a?wi(a,0,l).join(""):e.slice(0,l);if(o===i)return c+n;if(a&&(l+=c.length-l),sa(o)){if(e.slice(l).search(o)){var u,d=c;for(o.global||(o=Ee(o.source,wa(fe.exec(o))+"g")),o.lastIndex=0;u=o.exec(d);)var f=u.index;c=c.slice(0,f===i?l:f)}}else if(e.indexOf(ai(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+n},jr.unescape=function(e){return(e=wa(e))&&q.test(e)?e.replace(H,ar):e},jr.uniqueId=function(e){var t=++Ne;return wa(e)+t},jr.upperCase=Ja,jr.upperFirst=Qa,jr.each=ws,jr.eachRight=bs,jr.first=qo,ll(jr,(vl={},wn(jr,(function(e,t){$e.call(jr.prototype,t)||(vl[t]=e)})),vl),{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){Gr.prototype[e]=function(r){r=r===i?1:mr(ga(r),0);var n=this.__filtered__&&!t?new Gr(this):this.clone();return n.__filtered__?n.__takeCount__=yr(r,n.__takeCount__):n.__views__.push({size:yr(r,p),type:e+(n.__dir__<0?"Right":"")}),n},Gr.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;Gr.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":"");Gr.prototype[e]=function(){return this[r](1).value()[0]}})),wt(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");Gr.prototype[e]=function(){return this.__filtered__?new Gr(this):this[r](1)}})),Gr.prototype.compact=function(){return this.filter(il)},Gr.prototype.find=function(e){return this.filter(e).head()},Gr.prototype.findLast=function(e){return this.reverse().find(e)},Gr.prototype.invokeMap=Kn((function(e,t){return"function"==typeof e?new Gr(this):this.map((function(r){return On(r,e,t)}))})),Gr.prototype.reject=function(e){return this.filter(Ws(so(e)))},Gr.prototype.slice=function(e,t){e=ga(e);var r=this;return r.__filtered__&&(e>0||t<0)?new Gr(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==i&&(r=(t=ga(t))<0?r.dropRight(-t):r.take(t-e)),r)},Gr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Gr.prototype.toArray=function(){return this.take(p)},wn(Gr.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,l=t instanceof Gr,c=a[0],u=l||Hs(t),d=function(e){var t=o.apply(jr,Lt([e],a));return n&&f?t[0]:t};u&&r&&"function"==typeof c&&1!=c.length&&(l=u=!1);var f=this.__chain__,p=!!this.__actions__.length,h=s&&!f,g=l&&!p;if(!s&&u){t=g?t:new Gr(this);var m=e.apply(t,a);return m.__actions__.push({func:hs,args:[d],thisArg:i}),new Br(m,f)}return h&&g?e.apply(this,a):(m=this.thru(d),h?n?m.value()[0]:m.value():m)})})),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(Hs(i)?i:[],e)}return this[r]((function(r){return t.apply(Hs(r)?r:[],e)}))}})),wn(Gr.prototype,(function(e,t){var r=jr[t];if(r){var n=r.name+"";$e.call(Or,n)||(Or[n]=[]),Or[n].push({name:t,func:r})}})),Or[ji(i,2).name]=[{name:"wrapper",func:i}],Gr.prototype.clone=function(){var e=new Gr(this.__wrapped__);return e.__actions__=Ti(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ti(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ti(this.__views__),e},Gr.prototype.reverse=function(){if(this.__filtered__){var e=new Gr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Gr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,r=Hs(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=mr(e,t-s)}}return{start:e,end:t}}(0,i,this.__views__),s=o.start,a=o.end,l=a-s,c=n?a:s-1,u=this.__iteratees__,d=u.length,f=0,p=yr(l,this.__takeCount__);if(!r||!n&&i==l&&p==l)return fi(e,this.__actions__);var h=[];e:for(;l--&&f<p;){for(var g=-1,m=e[c+=t];++g<d;){var y=u[g],v=y.iteratee,w=y.type,b=v(m);if(2==w)m=b;else if(!b){if(1==w)continue e;break e}}h[f++]=m}return h},jr.prototype.at=gs,jr.prototype.chain=function(){return ps(this)},jr.prototype.commit=function(){return new Br(this.value(),this.__chain__)},jr.prototype.next=function(){this.__values__===i&&(this.__values__=pa(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 xr;){var n=xo(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 Gr){var t=e;return this.__actions__.length&&(t=new Gr(this)),(t=t.reverse()).__actions__.push({func:hs,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._=lr,(n=function(){return lr}.call(t,r,t,e))===i||(e.exports=n)}.call(this)},88306:(e,t,r)=>{var n=r(83369);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},7771:(e,t,r)=>{var n=r(55639);e.exports=function(){return n.Date.now()}},78718:(e,t,r)=>{var n=r(25970),i=r(99021)((function(e,t){return null==e?{}:n(e,t)}));e.exports=i},70479:e=>{e.exports=function(){return[]}},95062:e=>{e.exports=function(){return!1}},23493:(e,t,r)=>{var n=r(23279),i=r(13218);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})}},14841:(e,t,r)=>{var n=r(27561),i=r(13218),o=r(33448),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=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||l.test(e)?c(e.slice(2),r?2:8):s.test(e)?NaN:+e}},79833:(e,t,r)=>{var n=r(80531);e.exports=function(e){return null==e?"":n(e)}},16107:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});class n{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)}))}))}}},95495:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});class n{constructor(e){return e}}},79684:function(e,t,r){"use strict";var n,i,o,s,a,l,c,u,d,f,p,h,g,m,y,v=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)},w=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},b=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleDesktopAgent=void 0;const S=b(r(62043)),C=r(63250),_=b(r(2518)),k=b(r(9381)),E=b(r(84795)),L=r(44137),T=r(87406),A=r(87406);class O{constructor(){n.set(this,12e4),i.set(this,null),o.set(this,[])}start(){this.registerHeartbeat()}registerHeartbeat(){clearTimeout(v(this,i,"f")),_.default.system.debug("FinsembleDesktopAgent: heartbeat received"),w(this,i,setTimeout((()=>{_.default.system.warn(`FinsembleDesktopAgent: No heartbeat received within ${v(this,n,"f")} milliseconds`),this.notifyDisconnect()}),v(this,n,"f")),"f")}notifyDisconnect(){console.warn("fdc3 has lost connectivity to the interop service. You may need to restart this app."),v(this,o,"f").forEach((e=>{e(`No heartbeat received from interop service within ${v(this,n,"f")} milliseconds`)}))}onDisconnect(e){w(this,o,v(this,o,"f").concat(e),"f")}stop(){clearTimeout(v(this,i,"f"))}}n=new WeakMap,i=new WeakMap,o=new WeakMap;class P{constructor(e,t,r="app"){s.set(this,void 0),w(this,s,e,"f"),this.id=t,this.type=r}broadcast(e){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");v(this,s,"f").channelBroadcast(this.id,e)}getCurrentContext(e){return v(this,s,"f").channelGetCurrentContext(this.id,e)}addContextListener(e,t){if(void 0===e)throw new Error("Invalid arguments. The contextTypeOrHandler parameter shouldn't be undefined.");if("function"!=typeof e&&!t)throw new Error("Invalid arguments. The required handler parameter is missing.");return v(this,s,"f").channelAddContextListener(this.id,e,t)}}s=new WeakMap,t.FinsembleDesktopAgent=class{constructor({routerClient:e,startup:t}){if(a.set(this,!1),l.set(this,new O),c.set(this,!1),u.set(this,""),d.set(this,`FSBL.FDC3.Client.${(0,S.default)()}`),f.set(this,{}),p.set(this,{}),h.set(this,[]),g.set(this,void 0),m.set(this,void 0),y.set(this,""),w(this,g,e,"f"),w(this,m,t,"f"),this.cacheFSBLVersion(),L.Globals.Event&&L.Globals.dispatchEvent){const e=new Event("fdc3Ready");L.Globals.dispatchEvent(e)}}async cacheFSBLVersion(){""==v(this,y,"f")&&w(this,y,"6.6.0","f");const{err:e,data:t}=await k.default.getValue({field:"finsemble.system.FSBLVersion"});e||w(this,y,t,"f")}fdc3Error(e){return new Error(e)}meta(){return{uuid:v(this,u,"f"),href:window.document?document.location.href:""}}handleHeartbeat(){v(this,l,"f").registerHeartbeat()}triggerContextListeners(e){var t,r;const{context:n}=e.payload;let i;if(e.meta.targetSubscriberId){let t;Object.values(v(this,p,"f")).every((r=>(t=r.find((t=>t.targetSubscriberId===e.meta.targetSubscriberId)),void 0===t))),i=t?[t]:[]}else i=(null!==(t=v(this,p,"f")[null==n?void 0:n.type])&&void 0!==t?t:[]).concat(null!==(r=v(this,p,"f")["*"])&&void 0!==r?r:[]);i.forEach((({handler:t,channel:r})=>{e.meta.channel===r||!e.meta.channel&&!r?(_.default.system.debug(`FDC3 Client: triggerContextListeners for all on ${null!=r?r:"default"} channel`,e.type,e),t(n)):_.default.system.debug(`FDC3 Client: triggerContextListeners skipped for all on ${null!=r?r:"default"} channel`,e.type,e)}))}triggerIntentListeners(e){const{intent:t,context:r}=e.payload,n=v(this,f,"f")[t];r&&(n||[]).forEach((e=>e(r)))}handleIncoming(e){switch(_.default.system.debug("FDC3 Client: handleIncoming",e.type,e),e.type){case"broadcast":this.triggerContextListeners(e);break;case"intent":this.triggerIntentListeners(e);break;case"heartbeat":this.handleHeartbeat()}}releaseQueue(){const e=e=>{var t;return void 0!==(null===(t=null==e?void 0:e.meta)||void 0===t?void 0:t.uuid)&&(e.meta.uuid=v(this,u,"f")),e};v(this,h,"f").forEach((async t=>{const{message:r,handler:n,resolve:i}=t,{err:o,receiveMessage:s}=await this.exchange(e(r),n);i({err:o,receiveMessage:s})})),w(this,h,[],"f")}exchange(e,t=(()=>{})){return new Promise((async r=>{if(v(this,a,"f")){const{err:n,response:i}=await v(this,g,"f").query(T.SERVER_CHANNEL,e,t);r({err:n,receiveMessage:null==i?void 0:i.data})}else v(this,h,"f").push({message:e,handler:t,resolve:r}),this.start()}))}async connect(){var e;const t=v(this,m,"f").getStartupData(),{windowName:r="Unknown window",authenticationToken:n}=t;_.default.system.log(`fdc3.connect StartupData for ${r}`,t),w(this,u,`fdc3-${null===(e=null==n?void 0:n.meta)||void 0===e?void 0:e.name}-${(0,S.default)()}`,"f");const i={type:"register",meta:this.meta(),payload:{clientChannel:v(this,d,"f"),windowName:r,authenticationToken:n}};E.default.waitForBootStage("kernel","stageCompleted",(e=>{e?_.default.system.error("connect error waitingForBootStage",e):v(this,g,"f").query(T.SERVER_CHANNEL,i,(e=>{e?_.default.system.error("connect error",e):(v(this,g,"f").addResponder(v(this,d,"f"),((e,t)=>{if(e||!t){const t=(0,A.errorAsString)(null!=e?e:"No request received on responder");_.default.system.error(`FinsembleDesktopAgent can't listen on channel ${v(this,d,"f")} : ${t}`)}else t.data&&this.handleIncoming(t.data),t.sendQueryResponse(null)})),w(this,a,!0,"f"),_.default.system.log(`FDC3 client connected for window ${r}`),this.releaseQueue(),v(this,l,"f").start())}))}))}async start(){v(this,c,"f")||(w(this,c,!0,"f"),await v(this,m,"f").onReady(),this.connect())}async stop(){v(this,l,"f").stop();const e={type:"unregister",meta:this.meta()};await this.exchange(e),w(this,c,!1,"f"),v(this,g,"f").removeResponder(v(this,d,"f")),w(this,a,!1,"f")}onDisconnect(e){v(this,l,"f").onDisconnect(e)}async channelGetCurrentContext(e,t){const r={type:"currentContextRequest",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{contextType:t}},{err:n,receiveMessage:i}=await this.exchange(r);return n?null:"currentContext"===(null==i?void 0:i.type)?i.payload.context:null}broadcast(e){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");const t={type:"broadcast",meta:this.meta(),payload:{context:e}};this.exchange(t)}channelBroadcast(e,t){const r={type:"broadcast",meta:Object.assign(Object.assign({},this.meta()),{channel:e}),payload:{context:t}};this.exchange(r)}async getSystemChannels(){var e;const t={type:"systemChannelRequest",meta:this.meta()},{err:r,receiveMessage:n}=await this.exchange(t);return r?[]:("systemChannels"===(null==n?void 0:n.type)?null===(e=null==n?void 0:n.payload)||void 0===e?void 0:e.channels:[]).map((e=>new P(this,e,"system")))}async open(e,t){if(!e)throw new Error("Invalid arguments. The required target parameter is missing.");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 this.fdc3Error(C.OpenError.ResolverUnavailable);if(o.payload.error)throw this.fdc3Error(o.payload.error)}async findIntent(e,t){if(!e)throw new Error("Invalid arguments. The required intent parameter is missing.");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 this.fdc3Error(C.ResolveError.ResolverUnavailable);if(o.payload.error)throw this.fdc3Error(o.payload.error);if(!o.payload.appIntent)throw this.fdc3Error("Invalid response returned from InteropService for findIntent. No appIntent and no error.");return o.payload.appIntent}async findIntentsByContext(e){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");const t={type:"findIntentsByContext",meta:this.meta(),payload:{context:e}},{receiveMessage:r}=await this.exchange(t),n=r;if(n.payload.error)throw this.fdc3Error(n.payload.error);return n.payload.intents||[]}async raiseIntent(e,t,r){if(!e)throw new Error("Invalid arguments. The required intent parameter is missing.");if(!t)throw new Error("Invalid arguments. The required context parameter is missing.");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 this.fdc3Error(C.ResolveError.ResolverUnavailable);if(s.payload.error)throw this.fdc3Error(s.payload.error);if(!s.payload.data)throw this.fdc3Error("Invalid response returned from InteropService for raiseIntent. No data.");return s.payload.data}async raiseIntentForContext(e,t){if(!e)throw new Error("Invalid arguments. The required context parameter is missing.");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 this.fdc3Error(C.ResolveError.ResolverUnavailable);if(o.payload.error)throw this.fdc3Error(o.payload.error);if(!o.payload.data)throw this.fdc3Error("Invalid response returned from InteropService for raiseIntentForContext. No data.");return o.payload.data}addIntentListener(e,t){if(!t)throw new Error("Invalid arguments. The required intent parameter is missing.");if(!t)throw new Error("Invalid arguments. The required handler parameter is missing.");v(this,f,"f")[e]=(0,A.mmAdd)(v(this,f,"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),v(this,f,"f")[e]=(0,A.mmRemove)(v(this,f,"f"),e,t)}}}channelAddContextListener(e,t,r){const n=r&&t||"*";r||(r=t);const i=`subscriberId.${Date.now()}_${Math.random()}`,o={handler:r,channel:e,targetSubscriberId:i};v(this,p,"f")[n]=(0,A.mmAdd)(v(this,p,"f"),n,o);let s={type:"subscribeContext",meta:Object.assign(Object.assign({},this.meta()),{targetSubscriberId:i}),payload:{contextType:n}};return e&&(s.meta.channel=e),this.exchange(s),{unsubscribe:()=>{let t={type:"unsubscribeContext",meta:this.meta(),payload:{contextType:n}};e&&(t.meta.channel=e),v(this,p,"f")[n]=(0,A.mmRemove)(v(this,p,"f"),n,o),this.exchange(t)}}}addContextListener(e,t){if(void 0===e)throw new Error("Invalid arguments. The contextTypeOrHandler parameter shouldn't be undefined.");if("function"!=typeof e&&!t)throw new Error("Invalid arguments. The required handler parameter is missing.");return this.channelAddContextListener(null,e,t)}async joinChannel(e){if(!e)throw new Error("Invalid arguments. The required channelId parameter is missing.");const t={type:"joinChannels",meta:this.meta(),payload:{channels:[e]}};await this.exchange(t)}async getOrCreateChannel(e){if(!e)throw new Error("Invalid arguments. The required channelId parameter is missing.");return new P(this,e)}async getCurrentChannels(){const e={type:"getCurrentChannels",meta:this.meta()},{err:t,receiveMessage:r}=await this.exchange(e),n=r;if(t)throw this.fdc3Error(t);if(n.payload.error)throw this.fdc3Error(n.payload.error);if(!n.payload.data)throw this.fdc3Error("Invalid response returned from InteropService for getCurrentChannels. No data.");return n.payload.data.map((e=>new P(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:v(this,y,"f")}}},a=new WeakMap,l=new WeakMap,c=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,p=new WeakMap,h=new WeakMap,g=new WeakMap,m=new WeakMap,y=new WeakMap},92161: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(51848)),a=o(r(2518)),l=r(87406),c=r(63250);class u{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(l.SERVER_CHANNEL,t)}async removeAppDefinitions(e){const t={type:"removeAppDefinitions",meta:{uuid:i(this,n,"f")},payload:{apps:e}};await s.default.query(l.SERVER_CHANNEL,t)}async setInteropRegistrationData(e){const t={type:"setInteropRegistrationData",meta:{uuid:i(this,n,"f")},payload:{windowDescriptor:e}};await s.default.query(l.SERVER_CHANNEL,t)}async registerUIResolverListener(e){s.default.addResponder(l.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=null==r?void 0:r.data;try{n=await e(t)}catch(e){a.default.log(`registerUIResolverListener IntentResolution rejected ${e}`),i={error:c.ResolveError.ResolverUnavailable}}null==r||r.sendQueryResponse(null,i||n)}}));const t={type:"registerUIResolver",meta:{uuid:i(this,n,"f")}};await s.default.query(l.SERVER_CHANNEL,t)}}t.InteropAdmin=u,n=new WeakMap,t.default=u},87406:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnonymousAuthenticationToken=t.INTENT_RESOLVER_CHANNEL=t.SERVER_CHANNEL=t.GLOBAL_CHANNEL=t.errorAsString=t.mmRemove=t.concatNoDups=t.mmAdd=void 0,t.mmAdd=(e,t,r)=>(e[t]||[]).concat([r]),t.concatNoDups=(e,t)=>{const r=Array.isArray(t)?t:[t],n=e?r.concat(e):r;return Array.from(new Set(n))},t.mmRemove=(e,t,r)=>(e[t]||[]).filter((e=>e!==r)),t.errorAsString=e=>{var t,r;return null!==(r=null!==(t=null==e?void 0:e.message)&&void 0!==t?t:e)&&void 0!==r?r:null},t.GLOBAL_CHANNEL="global",t.SERVER_CHANNEL="FSBL.FDC3.Interop.Server",t.INTENT_RESOLVER_CHANNEL="FSBL.FDC3.intent.resolver",t.AnonymousAuthenticationToken={signatureString:"",signatureStringType:"unauthenticated",meta:{name:"Anonymous app",appId:"Anonymous appId"}}},51806: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=r(51848),o=r(47107),s=r(91374),a=r(10166),l=r(44137),c=r(79684),u=n(r(62043));t.FSBLService=class{async startApp(){var e,t,r,n,d,f,p,h;const g=await(0,o.getSystemStartupData)(),m=s.System.Window.getCurrent(),y=null!==(r=null!==(e=m.name)&&void 0!==e?e:null===(t=null===document||void 0===document?void 0:document.location)||void 0===t?void 0:t.href)&&void 0!==r?r:"Unknown App",v=null!==(f=null!==(n=m.name)&&void 0!==n?n:null===(d=null===document||void 0===document?void 0:document.location)||void 0===d?void 0:d.href)&&void 0!==f?f:`Unknown window-${(0,u.default)()}`,w=null!==(p=m.webContentsName)&&void 0!==p?p:v,b=null!==(h=(0,o.getManifestFromStartupData)(g))&&void 0!==h?h:{},S=(0,o.getRouterConfig)({windowName:v,systemManifest:b});await i.RouterController.start(S);const C=a.Startup.getInstance();C.setStartupData({windowName:v,webContentsName:w,authenticationToken:{signatureString:"",signatureStringType:"unauthenticated",meta:{name:y}}}),l.Globals.fdc3=new c.FinsembleDesktopAgent({routerClient:i.RouterClient,startup:C}),C.setReady()}async stopApp(){i.RouterController.stop()}}},47107:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getManifestFromStartupData=t.getSystemStartupData=t.getRouterConfig=t.getRecommendedTransport=void 0;const n=r(2518),i=r(91374),o=r(64324),s={sameDomainTransport:"FinsembleTransport",crossDomainTransport:"FinsembleTransport",transportSettings:{FinsembleTransport:{serverAddress:"ws://127.0.0.1:3376"}},transportName:"FinsembleTransport"},a=e=>{if(!e)return n.Logger.system.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,i=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&&i;return n.Logger.system.debug(`Transport crossDomain=${a} (${r}:${i}:${o})`),!s};t.getRecommendedTransport=e=>{const{moduleRoot:t,router:r}=null==e?void 0:e.finsemble,{sameDomainTransport:n="SharedWorker",crossDomainTransport:i="IPCBus"}=null!=r?r:{};return a(t)?i:n},t.getRouterConfig=({windowName:e,systemManifest:r,transportSettings:i})=>r?((e,r)=>{var i,o,a;if(n.Logger.system.info("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest"),e&&"string"!=typeof e){const n=e.finsemble,s=null!==(a=null!==(o=null===(i=null==n?void 0:n.router)||void 0===i?void 0:i.transportSettings)&&void 0!==o?o:null==n?void 0:n.IAC)&&void 0!==a?a:{};return{windowName:r,routerDomainRoot:n.moduleRoot,transportName:(0,t.getRecommendedTransport)(e),transportSettings:s}}return n.Logger.system.error("WINDOW LIFECYCLE:STARTUP:RouterClient:routerConfigFromManifest failed -- fatal error. No manifest found.",e),Object.assign(Object.assign({},s),{windowName:r})})(r,e):Object.assign(Object.assign({},s),{windowName:e,transportSettings:null!=i?i:{}}),t.getSystemStartupData=async()=>new Promise((e=>{i.System.Window.getCurrent().getOptions((t=>{e(t)}))})),t.getManifestFromStartupData=e=>{let t=null==e?void 0:e.manifest;return(null==t?void 0:t.finsemble)&&o.ConfigUtilInstance.resolveManifestMacros(t,t.finsemble),t}},10166: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.Startup=void 0;const i=r(87406),o=r(44137),s=n(r(62043)),a=r(7860),l=`Unknown window-${(0,s.default)()}`;class c{constructor(){this.isReady=!1,this.onReadyListeners=[],this.currentStartupData={authenticationToken:i.AnonymousAuthenticationToken,windowName:l,webContentsName:l}}static getInstance(){return c.instance?c.instance:c.instance=(0,a.singleton)("Startup",c)}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()}))}))}setReady(){this.isReady=!0,this.onReadyListeners.forEach((e=>{e()})),o.Globals.dispatchEvent&&o.Globals.dispatchEvent(new Event("FSBLReady"))}}t.Startup=c,c.instance=null},59273: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.windowStartup=t.cacheInitialBounds=void 0;const i=r(91374),o=r(44137),s=r(51848),a=r(97525),l=r(9381),c=r(49136),u=r(2518),d=n(r(84795)),f=r(5395);let p=!1,h=!1;const g=async()=>{p&&(h=!0);const{name:e}=o.FEAGlobals.finsembleWindow;s.RouterClient.transmit("DockingService.deregisterWindow",{name:e})};t.cacheInitialBounds=async()=>{var e,t,r,n,s;if(i.System.isTitlebarWindow())return;const{err:a,data:l}=await o.FEAGlobals.finsembleWindow.getBounds();if(a||!l)return void console.warn("Get bounds error.",a,"Window may not be registered with the window service");const{persistWindowState:c=!1}=null===(n=null===(r=null===(t=null===(e=o.FEAGlobals.finsembleWindow.windowOptions)||void 0===e?void 0:e.customData)||void 0===t?void 0:t.foreign)||void 0===r?void 0:r.components)||void 0===n?void 0:n["Window Manager"],u=c?(null!==(s=window.top)&&void 0!==s?s:window).location.toString():void 0;await o.FEAGlobals.finsembleWindow.updateOptions({options:{defaultLeft:l.left,defaultTop:l.top,defaultWidth:l.width,defaultHeight:l.height,url:u}})},t.windowStartup=async({windowName:e,componentType:r,finsembleWindow:n,systemStartupData:m})=>{(e=>{setInterval((()=>{s.RouterClient.transmit("Finsemble.heartbeat",{type:"component",windowName:e,componentType:"finsemble",isBrowserView:i.System.isBrowserView()})}),1e3)})(e),(e=>{if(e){const t=async()=>{await d.default.waitForStartup("windowService"),s.RouterClient.subscribe(`Finsemble.LauncherService.updateGroups.${e.name}`,((t,r)=>{Array.isArray(r.data)&&e.setComponentState({field:"finsemble:windowGroups",value:r.data})}))};e.getComponentState({field:"finsemble:windowGroups"},((e,r)=>{if(!e&&r)return c.LauncherClient.addToGroups({groupNames:r},t);t()}))}})(n),i.System.isTitlebarWindow()||((null===document||void 0===document?void 0:document.title)&&a.WindowClient.setWindowTitlePrivate(document.title),setInterval((()=>{(null===document||void 0===document?void 0:document.title)&&a.WindowClient.getWindowTitle()!==document.title&&a.WindowClient.setWindowTitlePrivate(document.title)}),200)),(()=>{var e;if(i.System.isTitlebarWindow())return;const t=null!==(e=window.top)&&void 0!==e?e:window,r=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:r}),function(e){const{pushState:r}=e;e.pushState=function(n){"function"==typeof e.onpushstate&&e.onpushstate({state:n}),r.apply(e,arguments);const i=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:i})};const{replaceState:n}=e;e.replaceState=function(r){"function"==typeof e.onreplacestate&&e.onreplacestate({state:r}),n.apply(e,arguments);const i=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:i})}}(window.history),window.addEventListener("hashchange",(()=>{const e=t.location.href;o.FEAGlobals.finsembleWindow.updateOptions({url:e})}))})(),(()=>{const e=e=>{e.preventDefault()};window.addEventListener("dragover",e,!1),window.addEventListener("drop",e,!1)})(),(async()=>{var e,t;const{err:r,data:n}=await l.ConfigClient.getValue("finsemble");!r&&n||u.Logger.system.error("maybeRejectWindowsKeyResizes(): Error fetching config",r);const{enableWindowsAeroSnap:a=!1}=null===(t=null===(e=null==n?void 0:n.services)||void 0===e?void 0:e.windowService)||void 0===t?void 0:t.config;let c=!1;o.FEAGlobals.finsembleWindow.addEventListener("minimized",(()=>{c&&(i.System.Window.getCurrent().updateOptions({resizable:!0}),c=!1)})),window.addEventListener("keyup",(async e=>{a?"Meta"===e.key&&s.RouterClient.transmit("Finsemble.WindowService.WindowsKey","up"):"Meta"===e.key&&c&&(c=!1,i.System.Window.getCurrent().updateOptions({resizable:!0}))})),window.addEventListener("keydown",(e=>{a?"Meta"===e.key&&s.RouterClient.transmit("Finsemble.WindowService.WindowsKey","down"):"Meta"===e.key&&(c=!0,i.System.Window.getCurrent().updateOptions({resizable:!1}))}))})(),i.System.isTitlebarWindow()&&document.addEventListener("keydown",(e=>{e.ctrlKey&&"r"===e.key.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),o.FEAGlobals.finsembleWindow.reload())})),(e=>{o.FEAGlobals.finsembleWindow.windowOptions=null!=e?e:{},(0,a.getControllerInstance)().setStartupData(e)})(m),o.FEAGlobals.finsembleWindow.addEventListener("minimized",(()=>{const e=()=>{s.RouterClient.transmit("DockingService.windowRestored",o.FEAGlobals.finsembleWindow.name),o.FEAGlobals.finsembleWindow.removeEventListener("restored",e)};s.RouterClient.query("DockingService.windowMinimized",{windowName:o.FEAGlobals.finsembleWindow.name}),o.FEAGlobals.finsembleWindow.addEventListener("restored",e)})),(async(e,t,r)=>{var n,i,o;const{data:s}=await l.ConfigClient.getValue("finsemble.servicesConfig.notifications.applyNotificationOverrides");if(!s)return;const a=null!==(o=null!==(i=null===(n=null==t?void 0:t.component)||void 0===n?void 0:n.displayName)&&void 0!==i?i:r)&&void 0!==o?o:e,c=(e,t)=>{t.finsembleSource=a,f.NotificationClient.notify(JSON.parse(JSON.stringify({title:e,options:t})))},u=window.Notification;c.requestPermission=u.requestPermission.bind(u),Object.defineProperty(c,"permission",{get:function(){return u.permission}}),window.Notification=c})(e,m.customData,r),await(async e=>{var t,r,n,a,l,c,d,f,m,y,v,w,b,S,C,_,k,E,L,T,A,O,P,I,R;if(i.System.isBrowserView()||!(null==e?void 0:e.component))return;const $=null===(r=null===(t=null==e?void 0:e.foreign)||void 0===t?void 0:t.services)||void 0===r?void 0:r.windowService,N=(null==$?void 0:$.allowSnapping)||(null==$?void 0:$.allowGrouping)||(null==$?void 0:$.allowAutoArrange)||(null==$?void 0:$.allowTabbing)||(null==$?void 0:$.allowTiling)||(null==$?void 0:$.allowMinimize)||(null==$?void 0:$.allowMaximize),D=null===(n=null==$?void 0:$.manageWindowMovement)||void 0===n||n,W=null===(a=null==e?void 0:e.window)||void 0===a?void 0:a.dockable,M=null===(d=null===(c=null===(l=null==e?void 0:e.foreign)||void 0===l?void 0:l.components)||void 0===c?void 0:c["Window Manager"])||void 0===d?void 0:d.FSBLHeader;if(N||D||W||M){const t=null===(m=null!==(f=null==$?void 0:$.manageWindowMovement)&&void 0!==f?f:M||W)||void 0===m||m,r={allowAutoArrange:null!==(y=null==$?void 0:$.allowAutoArrange)&&void 0!==y?y:t,snapping:!(null===(v=null==e?void 0:e.window)||void 0===v?void 0:v.ephemeral)&&(null!==(w=null==$?void 0:$.allowSnapping)&&void 0!==w?w:t),tiling:null!==(b=null==$?void 0:$.allowTiling)&&void 0!==b?b:t,tabbing:null!==(S=null==$?void 0:$.allowTabbing)&&void 0!==S?S:t,canGroup:null!==(C=null==$?void 0:$.allowGrouping)&&void 0!==C?C:t,canMinimize:null!==(E=null!==(_=null==$?void 0:$.allowMinimize)&&void 0!==_?_:null===(k=null==e?void 0:e.component)||void 0===k?void 0:k.canMinimize)&&void 0!==E?E:t,canMaximize:null!==(A=null!==(L=null==$?void 0:$.allowMaximize)&&void 0!==L?L:null===(T=null==e?void 0:e.component)||void 0===T?void 0:T.canMaximize)&&void 0!==A?A:t,overwriteStartDocked:null!==(R=null===(I=null===(P=null===(O=null==e?void 0:e.foreign)||void 0===O?void 0:O.services)||void 0===P?void 0:P.workspaceService)||void 0===I?void 0:I.global)&&void 0!==R&&R};await(async e=>{if(o.FEAGlobals.finsembleWindow.parentWindow)return void u.Logger.system.debug("registerWithDockingManager ignore registration request if has a parent");const{uuid:t,name:r}=o.FEAGlobals.finsembleWindow;p=!0,await s.RouterClient.query("DockingService.registerWindow",{name:r,uuid:t,options:e,windowType:"WebWindow"}),p=!1,h&&(g(),h=!1),u.Logger.system.debug("WINDOW LIFECYCLE: Docking Registration complete.")})(Object.assign(Object.assign({},e.window),r)),o.FEAGlobals.finsembleWindow.addListener("setParent",(()=>{u.Logger.system.info("finsembleWindow setParent event: deregisterWithDockingManager"),g()}))}})(m.customData),await(0,t.cacheInitialBounds)()}},27917:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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.StoreModel=void 0;const a=r(1641),l=o(r(32466)),c=s(r(2518));class u{constructor(e,t,r){var n,i;this.isGlobal=!1,this.values={},this.listeners={},this.registeredDispatchListeners=[],this.mapping={},this.subs={},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)c.default.system.error("DistributedStoreClient",e);else{const{store:e,field:r,storeData:n,value:i}=t.data;if(e){const e=r?`.${r}`:"",t=`${this.name}${e}`,o=n||i;this.triggerListeners(t,o)}}},this.routerClient=t,this.removeStoreCallback=r,this.isGlobal=!!e.global,this.name=null!==(i=null!==(n=e.name)&&void 0!==n?n:e.store)&&void 0!==i?i:"StoreModel() invariant. store.name not provided.",e.values&&(this.values=e.values),l.initObject(this.values,null,this.mapping),this.isGlobal&&this.routerClient.addListener(`storeService.dispatch.${this.name}`,((e,t)=>{this.handleDispatchedMessages(e,t)}))}handleDispatchedMessages(e,t){(null==t?void 0:t.data)&&this.registeredDispatchListeners.forEach((e=>{e(t.data)}))}setValue(e,t){if(e.field||c.default.system.error("DistributedStore.setValue:no field provided",e),e.hasOwnProperty("value")||c.default.system.error("DistributedStore.setValue:no value provided",e),this.isGlobal){const r={store:this.name,field:e.field,value:e.value};this.routerClient.query("storeService.setValue",r,(e=>{t&&t(e)}))}else{const r=l.checkForObjectChange(this.values,e.field,this.mapping);l.setPath(this.values,e.field,e.value),l.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)}}publishObjectUpdates(e,t){const r=t;for(;e;)this.triggerListeners(`${this.name}.${e}`,l.byString(this.values,e)),e=r[e]}sendRemovals(e){for(let t in e)this.triggerListeners(`${this.name}.${t}`,l.byString(this.values,t))}setValues(e,t){return e?Array.isArray(e)?void(0,a.each)(e,((e,t)=>{this.setValue(e,t)}),(e=>t?t(e):null)):c.default.system.error("DistributedStore.setValues:params must be an array"):c.default.system.error("DistributedStore.setValues:no params given")}getValue(e,t){if("string"==typeof e&&(e={field:e}),!e.field)return null==t||t("no field provided"),"no field provided";if(!this.isGlobal){const r=l.byString(this.values,e.field);return void 0!==r?(null==t||t(null,r),r):(null==t||t("couldn't find a value"),null)}return this.getGlobalValue(e.field,t),null}getAll(e){if(!this.isGlobal)return e&&e(null,this.values),this.values;this.getGlobalValues(null,e)}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{[e]: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=l.byString(this.values,i);r[i]=o}return t?t(null,r):r}async getGlobalValue(e,t){const{err:r,response:n}=await this.routerClient.query("storeService.getValue",{store:this.name,field:e});return null==t||t(r,n.data),{err:r,data:n.data}}getGlobalValues(e,t){this.routerClient.query("storeService.getValues",{store:this.name,fields:e},((e,r)=>{t&&t(e,r.data)}))}removeValue(e,t){const r={field:"string"==typeof e?e:e.field,value:null};return this.setValue(r,t)}removeValues(e,t){if(!Array.isArray(e))return t("The passed in parameter needs to be an array");(0,a.map)(e,this.removeValue,((e,r)=>t(e,r)))}destroy(e){const t={store:this.name,global:this.isGlobal};this.removeStoreCallback(t,(t=>{t?e&&e(t):e&&e(null,!0)}))}changeSub(e){this.subs[e]||(this.isGlobal&&this.routerClient.subscribe(`storeService${e}`,this.handleChanges),this.subs[e]=!0)}addListener(e,t,r){var n;"function"==typeof e&&(t=e,e={});const{field:i}=e,o=i?`.${i}`:"",s=`${this.name}${o}`;this.listeners[s]=[t].concat(null!==(n=this.listeners[s])&&void 0!==n?n:[]),this.changeSub(s),null==r||r()}addListeners(e,t,r){var n;if(!Array.isArray(e))return c.default.deprecated("distributedStoreClient StoreModel - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),void this.addListener(e,t,r);const i="function"==typeof t?t:null;for(let t=0;t<e.length;t++){const r=e[t];let o="string"==typeof r?r:r.field;const s="string"!=typeof r?r.listener:i;if(s){const e=o?`.${o}`:"",t=`${this.name}${e}`;this.listeners[t]=[s].concat(null!==(n=this.listeners[t])&&void 0!==n?n:[]),this.changeSub(t)}}null==r||r()}removeListener(e,t,r){const{field:n}=e,i=n?`.${n}`:"",o=`${this.name}${i}`;if(this.listeners[o])for(let e=0;e<this.listeners[o].length;e++)if(this.listeners[o][e]===t)return this.listeners[o].splice(e,1),void(null==r||r(null,!0));null==r||r(null,!1)}removeListeners(e,t,r){if(!Array.isArray(e))return"function"==typeof e?this.removeListener({},e,r):e.field&&t&&this.removeListener(e,t,r),null==r?void 0:r(null,!0);const n="function"==typeof t?t:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,r="string"!=typeof e?e.listener:n,i=t?`.${t}`:"",o=`${this.name}${i}`;this.listeners[o]=this.listeners[o].filter((e=>e!==r))})),null==r||r(null,!0)}triggerListeners(e,t){var r;(null!==(r=this.listeners[e])&&void 0!==r?r:[]).forEach((r=>{c.default.system.debug("DistributedStore.triggerListeners",e,t),r(null,{field:e,value:t})}))}}t.StoreModel=u,t.default=u},9381: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.ConfigClient=t.unsetPreference=t.getPreferences=t.setPreference=t.processAndSet=t.removeListeners=t.removeListener=t.addListeners=t.addListener=t.removeValues=t.removeValue=t.setValues=t.setValue=t.getValues=t.getValue=t.getManifest=void 0;const i=r(51848),o=n(r(84795)),s=n(r(2518)),a=r(7860);class l{constructor(){this.listeners={},this.subs={}}}const c=()=>(0,a.singleton)("ConfigClient",l),u=(e,t)=>{var r;(null!==(r=c().listeners[e])&&void 0!==r?r:[]).forEach((r=>{s.default.system.debug("ConfigClient.triggerListeners",e,t),r(null,{field:e,value:t})}))},d=(e,t)=>{if(e)s.default.system.error("ConfigClient handleChanges() error",e);else{t.data.field||(t.data.field=null);const{field:e,storeData:r,value:n}=t.data;u(e||"configService",r||n)}},f=async e=>{const t=c();if(t.subs||(t.subs={}),!t.subs[e]){t.subs[e]=!0,await o.default.waitForStartup("configService");const{err:r}=await i.RouterClient.query("configService.addListener",e);r&&s.default.system.error("Error adding listener to config service",r),await i.RouterClient.subscribe(e,d)}};t.getManifest=async e=>{await o.default.waitForStartup("configService");const{err:t,response:r}=await i.RouterClient.query("configService.getValues",{fields:null});return null==e||e(t,r.data),{err:t,data:r.data}},t.getValue=async(e,t)=>{if("string"==typeof e&&(e={field:e}),!e.field){const e="no field provided";return null==t||t(e),{err:e}}await o.default.waitForStartup("configService");const{err:r,response:n}=await i.RouterClient.query("configService.getValue",{field:e.field});return null==t||t(r,n.data),{err:r,data:n.data}},t.getValues=async(e,r)=>{if("function"==typeof e&&(r=e,e=null),e&&!Array.isArray(e))return(0,t.getValue)(e,r);await o.default.waitForStartup("configService");const{err:n,response:s}=await i.RouterClient.query("configService.getValues",{fields:e});return null==r||r(n,s.data),{err:n,data:s.data}},t.setValue=async(e,t)=>{const r={field:e.field,value:e.value};await o.default.waitForStartup("configService");const{err:n}=await i.RouterClient.query("configService.setValue",r);return null==t||t(n),{err:n}},t.setValues=async(e,t)=>{if(!e){const e="ConfigClient.SetValues. No params given";return s.default.system.error(e),null==t||t(e),{err:e}}if(!Array.isArray(e)){const e="ConfigClient.SetValues. Params must be an array";return s.default.system.error(e),null==t||t(e),{err:e}}await o.default.waitForStartup("configService");const{err:r}=await i.RouterClient.query("configService.setValues",e);return null==t||t(r),{err:r}},t.removeValue=async(e,r)=>{let n={};if("string"!=typeof e){const e="No field provided";return null==r||r(e),{err:e}}return n.field=e,n.value=null,await(0,t.setValue)(n,r)},t.removeValues=(e,r)=>new Promise((n=>{if(!Array.isArray(e)){const e="The passed in parameter must be an array";return null==r||r(e),n({err:e})}const i=e.map((e=>(0,t.removeValue)(e)));Promise.all(i).then((e=>{const t=e.some((e=>e.err))?"Some values couldn't be removed. Check central logger.":null;null==r||r(t),n({err:t})}))})),t.addListener=async(e,t,r)=>{var n;const i=c();let o=null;"function"==typeof e&&(t=e,e={field:null}),({field:o}=e);const s="configService"+(o?`.${o}`:"");i.listeners[s]=[t].concat(null!==(n=i.listeners[s])&&void 0!==n?n:[]),f(s),null==r||r()},t.addListeners=(e,r,n)=>{var i;const o=c();if(!Array.isArray(e))return s.default.deprecated("configClient - addListeners() with an object instead of an array is deprecated. Please use addListener() instead."),(0,t.addListener)(e,r,n);const a="function"==typeof r?r:null;for(let t=0;t<e.length;t++){const r=e[t],n="string"==typeof r?r:r.field,s="string"!=typeof r?r.listener:a;if(s){const e="configService"+(n?`.${n}`:"");o.listeners[e]=[s].concat(null!==(i=o.listeners[e])&&void 0!==i?i:[]),f(e)}}null==n||n()},t.removeListener=(e,t,r)=>{const n=c();let i=null;"function"==typeof e&&(r=t,t=e,e={field:i}),({field:i}=e);const o="configService"+(i?`.${i}`:"");if(n.listeners[o])for(let e=0;e<n.listeners[o].length;e++)if(n.listeners[o][e]===t)return n.listeners[o].splice(e,1),void(null==r||r(null,!0));null==r||r(null,!1)},t.removeListeners=(e,r,n)=>{const i=c();if(!Array.isArray(e))return"function"==typeof e?(0,t.removeListener)({},e,n):e.field&&r&&(0,t.removeListener)(e,r,n),null==n?void 0:n(null,!0);const o="function"==typeof r?r:null;e.forEach((e=>{const t="string"==typeof e?e:e.field,r="string"!=typeof e?e.listener:o,n="configService"+(t?`.${t}`:"");i.listeners[n]=i.listeners[n].filter((e=>e!==r))})),null==n||n(null,!0)},t.processAndSet=async(e,t)=>{if(s.default.system.debug("ConfigClient.processAndSet",e),!e.overwrite&&e.replace){const e="cannot use replace option unless overwrite is also true";return s.default.system.warn("ConfigClient.processAndSet:",e),null==t||t(e),{err:e}}{await o.default.waitForStartup("configService");const{err:r,response:n}=await i.RouterClient.query("configService.processAndSet",e);return null==t||t(r,n),{err:r,data:n.data}}},t.setPreference=async(e,t)=>{const{err:r,response:n}=await i.RouterClient.query("PreferencesService.setPreference",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.getPreferences=async e=>{await o.default.waitForStartup("preferencesService");const{err:t,response:r}=await i.RouterClient.query("PreferencesService.getPreferences",{});return s.default.system.debug("PreferencesService.getPreferences response",r),null==e||e(t,r.data),{err:t,data:r.data}},t.unsetPreference=async(e,t)=>{s.default.system.debug("ConfigClient.unsetPreference",e);const{err:r,response:n}=await i.RouterClient.query("PreferencesService.unsetPreference",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.ConfigClient={initialize(){s.default.deprecated("There is no need to call ConfigClient.initialize() anymore.")},onReady:e=>{s.default.system.deprecated("It is no longer necessary to call ConfigClient.onReady()"),null==e||e()},triggerListeners(e,t){s.default.deprecated("Calling ConfigClient.triggerListeners() directly is not legal."),u(e,t)},handleChanges(e,t){s.default.deprecated("It is illegal to call ConfigClient.handleChanges() directly."),d(e,t)},async changeSub(e){s.default.deprecated("Calling ConfigClient.changeSub() directly is not legal."),f(e)},addListener:t.addListener,addListeners:t.addListeners,getManifest:t.getManifest,getPreferences:t.getPreferences,getValue:t.getValue,getValues:t.getValues,processAndSet:t.processAndSet,removeListener:t.removeListener,removeListeners:t.removeListeners,removeValue:t.removeValue,removeValues:t.removeValues,setPreference:t.setPreference,setValue:t.setValue,setValues:t.setValues,unsetPreference:t.unsetPreference},t.default=t.ConfigClient},60434: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.DialogManagerClient=t.respondToOpener=t.registerDialogCallback=t.showDialog=t.respondAndExitFromInDialog=t.getParametersFromInDialog=t.open=t.spawnDialog=t.hideModal=t.showModal=t.registerModal=t.DialogManagerClientController=void 0;const i=r(49136),o=r(47913),s=r(83823),a=r(2518),l=r(91374),c=r(23099),u=r(51848),d=r(44137),f=r(7860),p=n(r(84795)),h=r(1641),g=n(r(62043));class m{constructor(){this.initialized=!1,this.userInputTimeout=null,this.DialogStore=null,this.isDialog=!1,this.RESPONDER_CHANNEL=null,this.openerMessage=null,this.finsembleWindow=null,this.spawnData={}}async checkIfWindowIsDialog(e){var t,r,n,i,o,s;if(d.Globals.finsembleWindow){const{err:a,data:l}=await d.Globals.finsembleWindow.getOptions();this.spawnData=null!==(r=null===(t=null==l?void 0:l.customData)||void 0===t?void 0:t.spawnData)&&void 0!==r?r:{},this.isDialog=null===(s=null===(o=null===(i=null===(n=null==l?void 0:l.customData)||void 0===n?void 0:n.foreign)||void 0===i?void 0:i.clients)||void 0===o?void 0:o.dialogManager)||void 0===s?void 0:s.isDialog,null==e||e(a)}else this.isDialog=!1,null==e||e("Freestanding apps cannot be dialogs")}async registerWithStore(e){var t;if(this.isDialog){const e=await(0,c.getMyWindowIdentifier)();this.RESPONDER_CHANNEL=`Dialog.${e.windowName}.Show`,await(null===(t=this.DialogStore)||void 0===t?void 0:t.setValue({field:`dialogs.available.${e.windowName}`,value:e}))}null==e||e()}initializeOnce(){return new Promise((async e=>{this.initialized?e():(this.initialized=!0,await p.default.waitForStartup("windowService"),await this.checkIfWindowIsDialog(),(0,h.series)([this.createStore.bind(this),this.registerWithStore.bind(this),this.getFinsembleWindow.bind(this),e=>{e()}],(()=>{e()})))}))}async createStore(e){const{err:t,data:r}=await o.DistributedStoreClient.createStore({store:"DialogStore",values:{dialogs:{opened:{},available:{}}},global:!0});t||!r?a.Logger.error('DialogManagerClient could not create store "DialogStore"',t):this.DialogStore=r,null==e||e()}async getFinsembleWindow(e){if(this.isDialog){const{wrap:e}=await s.FinsembleWindow.getInstance({name:l.System.Window.getCurrent().name});this.finsembleWindow=e}null==e||e()}async getAvailableDialog(e,t){if(!this.DialogStore){const e="DialogMangerClient.getAvailableDialogs() store not yet initialized}";return a.Logger.system.error(e),null==t||t(null),null}const{err:r,data:n}=await this.DialogStore.getGlobalValue("dialogs.available");if(r){const e=`DialogMangerClient.getAvailableDialogs() store error ${r}`;return a.Logger.system.error(e),null==t||t(null),null}for(const r in n){const i=n[r];if(i.componentType===e)return null==t||t(i),i}return null==t||t(null),null}async moveDialogFromOpenedToAvailable(e){var t,r;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromOpenedToAvailable() store not yet initialized}";return a.Logger.system.error(e),e}const{err:n,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(n||!i){const e='DialogManagerClient.moveDialogFromOpenedToAvailable() no "dialogs" object returned from store';return a.Logger.system.error(e),e}const o=i.opened,s=i.available;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.opened",value:o}),null===(r=this.DialogStore)||void 0===r||r.setValue({field:"dialogs.available",value:s}),null}async moveDialogFromAvailableToOpened(e){var t,r;if(!this.DialogStore){const e="DialogMangerClient.moveDialogFromAvailableToOpened() store not yet initialized}";return a.Logger.system.error(e),e}const{err:n,data:i}=await this.DialogStore.getGlobalValue("dialogs");if(n||!i){const e='DialogManagerClient.moveDialogFromAvailableToOpened no "dialogs" object returned from store';return a.Logger.system.error(e),e}const o=i.available,s=i.opened;return delete o[e.windowName],s[e.windowName]=e,null===(t=this.DialogStore)||void 0===t||t.setValue({field:"dialogs.available",value:o}),null===(r=this.DialogStore)||void 0===r||r.setValue({field:"dialogs.opened",value:s}),null}}t.DialogManagerClientController=m;const y=async()=>{const e=(0,f.singleton)("DialogManagerClient",m);return await e.initializeOnce(),e},v=e=>`Dialog.${e.windowName}.ready`;t.registerModal=async()=>{var e,t;const r=await y(),n=await l.System.getMonitorInfo(),{virtualScreen:i}=n;null===(e=r.finsembleWindow)||void 0===e||e.setBounds({bounds:Object.assign(Object.assign({},i),{width:i.right-i.left,height:i.bottom-i.top})});const o=await(0,c.getMyWindowIdentifier)();return null===(t=r.DialogStore)||void 0===t||t.setValue({field:"modalIdentifier",value:o}),null},t.showModal=async e=>{const t=await y();if(!t.DialogStore){const t="DialogMangerClient.showModal() store not yet initialized}";return a.Logger.system.error(t),null==e||e(t),t}const{err:r,data:n}=await t.DialogStore.getGlobalValue("modalIdentifier");if(r||!n){const t=`DialogManagerClient.showModal() error from store: ${r}`;return a.Logger.system.debug(t),null==e||e(t),t}const{wrap:i}=await s.FinsembleWindow.getInstance({uuid:n.uuid,name:n.windowName});return i.updateOptions({options:{opacity:.4}},(()=>{i.show((()=>{i.bringToFront((()=>{var r;null===(r=t.finsembleWindow)||void 0===r||r.focus((()=>{var r;null===(r=t.finsembleWindow)||void 0===r||r.bringToFront(),e&&"function"==typeof e&&e()}))}))}))})),null},t.hideModal=async()=>{const e=await y();if(!e.DialogStore){const e="DialogMangerClient.hideModal() store not yet initialized}";return a.Logger.system.error(e),e}const{err:t,data:r}=await e.DialogStore.getGlobalValue("modalIdentifier");if(t||!r){const e=`DialogManagerClient.hideModal() error from store: ${t}`;return a.Logger.system.debug(e),e}const{wrap:n}=await s.FinsembleWindow.getInstance({uuid:r.uuid,name:r.windowName});return n.hide(),null};const w=async(e,t,r)=>{const n=t=>{console.warn(`No response from dialog ${e.windowName} after ${t/1e3} seconds. Check to make sure your dialog is sending back data.`)},o=await y();o.moveDialogFromAvailableToOpened(e);const l=`Dialog.${e.windowName}.Show`,c=v(e);let d;const f=u.RouterClient.addListener(c,(async(r,o)=>{d=setTimeout(n.bind(null,o.data.userInputTimeout),o.data.userInputTimeout);const{err:l,data:c}=await i.LauncherClient.showWindow(e,{monitor:t.monitor||"mine",left:"center",top:"center"});if(l||!c){const t=`DialogManagerClient.sendQueryToDialog error showing window ${e.windowName} ${l}`;return a.Logger.system.error(t),void n(t)}const{name:u}=c.finWindow;s.FinsembleWindow.getInstance({name:u},((e,t)=>{t.bringToFront(),t.focus()})),f()})),{err:p,response:h}=await u.RouterClient.query(l,t);clearTimeout(d),o.moveDialogFromOpenedToAvailable(e),r(p,h.data)};t.spawnDialog=async(e,t,r,n)=>{const o=`DialogChannel-${(0,g.default)()}`;e.data={inputParams:t,responseChannel:o},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");const s=u.RouterClient.addListener(o,((e,t)=>{r(e,t.data),s()})),{error:l,response:c}=await i.LauncherClient.spawn("dialogTemplate",e);return l&&(a.Logger.system.error("DialogMangerClient.spawnDialog error spawning",l),r(l,c)),null==n||n(l,c),{err:l,data:c}},t.open=async(e,t,r)=>{const n=()=>new Promise((async n=>{(await y()).getAvailableDialog(e,(e=>{e?(w(e,t,r),n(!0)):n(!1)}))}));if(await n())return null;const o=e=>new Promise((t=>setTimeout(t,e))),{error:s}=await i.LauncherClient.spawn(e,{options:{customData:{foreign:{clients:{dialogManager:{isDialog:!0}}}}}});if(s){const t=`DialogManagerClient.open launching dialog "${e}" error ${s}`;return a.Logger.system.error(t),t}{const t=3e4;for(let e=0;e<15;e++){if(await n())return null;await o(t/15)}const r=`DialogManagerClient.open error opening dialog "${e}. The dialog launched but didn't register within ${t} ms`;return a.Logger.system.error(r),r}},t.getParametersFromInDialog=async()=>{const e=await y(),{inputParams:t}=e.spawnData;return a.Logger.system.debug(`DialogManagerClient:getParametersFromInDialog: ${JSON.stringify(t)}`),t},t.respondAndExitFromInDialog=async e=>{const t=await y();a.Logger.system.debug(`DialogManagerClient:respondAndExitFromInDialog: ${JSON.stringify(e)}`);const{responseChannel:r}=t.spawnData;u.RouterClient.transmit(r,e)},t.showDialog=async()=>{var e;const t=await y(),r=await(0,c.getMyWindowIdentifier)(),n=v(r);u.RouterClient.transmit(n,{userInputTimeout:null!==(e=t.userInputTimeout)&&void 0!==e?e:1e4})},t.registerDialogCallback=async e=>{const t=await y();t.RESPONDER_CHANNEL&&u.RouterClient.addResponder(t.RESPONDER_CHANNEL,((r,n)=>{n&&(t.openerMessage=n),null==e||e(r,n)}))},t.respondToOpener=async e=>{var r,n;const i=await y();a.Logger.system.info("DialogManagerClient:RespondToOpener:",e),null===(r=i.openerMessage)||void 0===r||r.sendQueryResponse(null,e),!1!==(null==e?void 0:e.hideModalOnClose)&&(0,t.hideModal)(),null===(n=i.finsembleWindow)||void 0===n||n.hide(),i.openerMessage=null},t.DialogManagerClient={set userInputTimeout(e){(0,f.singleton)("DialogManagerClient",m).userInputTimeout=e},get openerMessage(){return(0,f.singleton)("DialogManagerClient",m).openerMessage},initialize:()=>{a.Logger.system.deprecated("It is no longer necessary to call DialogManager.initialize()")},onReady:e=>{a.Logger.system.deprecated("It is no longer necessary to call DialogManager.onReady()"),null==e||e()},createStore:e=>(a.Logger.system.deprecated("DialogManager.createStore() is an internal function. It has been deprecated and will be removed in a future release."),(0,f.singleton)("DialogManagerClient",m).createStore(e)),getAvailableDialog:(e,t)=>(a.Logger.system.deprecated("DialogManager.getAvailableDialog() is an internal function. It has been deprecated and will be removed in a future release."),(0,f.singleton)("DialogManagerClient",m).getAvailableDialog(e,t)),sendQueryToDialog:(e,t,r)=>(a.Logger.system.deprecated("DialogManager.sendQueryToDialog() is an internal function. It has been deprecated and will be removed in a future release."),w(e,t,r)),open:t.open,spawnDialog:t.spawnDialog,registerDialogCallback:t.registerDialogCallback,getParametersFromInDialog:t.getParametersFromInDialog,respondAndExitFromInDialog:t.respondAndExitFromInDialog,showDialog:t.showDialog,registerModal:t.registerModal,showModal:t.showModal,hideModal:t.hideModal,respondToOpener:t.respondToOpener},t.default=t.DialogManagerClient},47913: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.DistributedStoreClient=t.createStore=t.createGlobalStore=t.getStore=t.removeStore=void 0;const i=r(2518),o=n(r(27917)),s=n(r(84795)),a=r(51848),l=()=>new Promise((e=>{a.RouterClient.subscribe("distributedStoresLoading",((t,r)=>{if(t||!r.data){const r=`Error waiting for persistent stores ${t}`;i.Logger.system.error(r),e(r)}"done"===r.data.State&&e(null)}))}));let c={};t.removeStore=async(e,t)=>e.global?(async(e,t)=>{const{err:r}=await a.RouterClient.query("storeService.removeStore",e);return t&&t(r,!!r),{err:r,data:!!r}})(e,t):c[e.store]?(delete c[e.store],t&&t(null,!0),{data:!0}):{err:`Local store named ${e.store} not found`};const u=async(e,r)=>{if(i.Logger.system.info("DistributedStoreClient:getGlobalStore()",e),e.waitForPersistentStoreToLoad){const e=await l();if(e)return null==r||r(e),{err:e}}else await s.default.waitForStartup("dataStoreService");const{err:n,response:c}=await a.RouterClient.query("storeService.getStore",e);if(c.data){const e=new o.default(c.data,a.RouterClient,t.removeStore);return r&&r(n,e),{err:n,data:e}}return i.Logger.system.error("DistributedStoreClient:getGlobalStore() Failed to get a global store",e.store,n),r&&r(n),{err:n}};t.getStore=async(e,t)=>{if(e.global)return u(e,t);{const r=e.store?c[e.store]:null;return r?(t&&t(null,r),{data:r}):u(e,t)}},t.createGlobalStore=async(e,r)=>{if(e.persist){const e=await l();if(e)return null==r||r(e),{err:e}}else await s.default.waitForStartup("dataStoreService");const{err:n,response:c}=await a.RouterClient.query("storeService.createStore",e);if(n)return i.Logger.system.error("DistributedStoreClient:createStore() Failed to create a global store",e.store,n),null==r||r(n),{err:n};const u=new o.default(c.data,a.RouterClient,t.removeStore);return null==r||r(n,u),{err:n,data:u}},t.createStore=async(e,r)=>(i.Logger.system.info("DistributedStoreClient:createStore()",e),e.global?(0,t.createGlobalStore)(e,r):(async(e,r)=>{const n=c[e.store];if(n)return r&&r(null,n),{data:n};const i=new o.default(Object.assign(Object.assign({},e),{name:e.store}),a.RouterClient,t.removeStore);return c[i.name]=i,r&&r(null,i),{data:i}})(e,r)),t.DistributedStoreClient={initialize:()=>{i.Logger.system.deprecated("It is no longer necessary to call DistributedStoreClient.initialize()")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call DistributedStoreClient.onReady()"),null==e||e()},createStore:t.createStore,getStore:t.getStore,createGlobalStore:t.createGlobalStore,removeStore:t.removeStore},t.default=t.DistributedStoreClient},80752:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HotkeyClient=t.onClose=t.removeAllHotkeys=t.removeGlobalHotkey=t.addGlobalHotkey=t.removeLocalHotkey=t.addLocalHotkey=t.addBrowserHotkey=void 0;const n=r(2518),i=r(51848),o=r(10166),s=r(7860),a=r(17187),l={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",0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",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","*":"*","+":"+","-":"-","/":"/",";":";","=":"=",",":",",_:"-",".":".","`":"`","[":"[","]":"]","'":"'"},c=e=>{const t=[];return e.keys.forEach((e=>{if("string"!=typeof e)return n.Logger.system.error("FSBL.Clients.HotkeyClient - one of the keys passed into a function was not a string: ",e);e=e.toLowerCase();const r=l[e];if(!r)return n.Logger.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}`);t.push(r)})),t};class u{constructor(){this.keyStrokeHandlers=[],this.key=null,this.shift=!1,this.ctrl=!1,this.alt=!1,this.cmd=!1,this.capsLock=!1,this.noKeyCapture=!1,this.downValue=null}registerKeyHandler(e){this.keyStrokeHandlers.push(e)}unregisterKeyHandler(e){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((t=>t.keyString!==e.keyString||t.handler!==e.handler))}unregisterAllUsersKeyHandlers(){this.keyStrokeHandlers=this.keyStrokeHandlers.filter((e=>!0!==e.addedByUser))}keyup(e){switch(e.key){case"Shift":return this.shift=!1,void this.gotKeyStroke(e.key);case"Control":case"Alt":return this.ctrl=!1,void this.gotKeyStroke(e.key);case"Meta":case"Win":return this.cmd=!1,void this.gotKeyStroke(e.key)}this.key&&this.gotKeyStroke(this.key)}keydown(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.gotKeyStroke(e.key)}}keypress(e){if(this.noKeyCapture)return;const t=e.which;t<32||t>222||(this.key=e.key)}gotKeyStroke(e){const t=[e];this.ctrl&&t.push("control"),this.shift&&t.push("shift"),this.alt&&t.push("alt"),this.cmd&&t.push("command");const r=t.sort().toString();this.keyStrokeHandlers.forEach((e=>{const t=e.keyString.toUpperCase(),n=r.toUpperCase();n!==t&&n.replace(/(CONTROL|COMMAND)/,"COMMANDORCONTROL")!==t||e.handler()}))}initialize(){document.addEventListener("keyup",(e=>{this.keyup(e)})),document.addEventListener("keydown",(e=>{this.downValue=e.key,this.keydown(e)})),document.addEventListener("keypress",(e=>{this.keypress(e)})),window.addEventListener("blur",(()=>{this.ctrl=!1,this.gotKeyStroke("Control")}))}}class d{constructor(){this.localListeners={},this.keyStrokes=null,this.eventEmitter=new a.EventEmitter,this.initialize()}async initialize(){const{windowName:e}=await o.Startup.getInstance().getStartupData();i.RouterClient.addListener("HotkeyTriggered",((t,r)=>{t?console.error(`Hotkey Channel Error: ${JSON.stringify(t)}`):(null==r?void 0:r.data.windows.includes(e))&&this.eventEmitter.emit(r.data.keys)}))}}const f=()=>(0,s.singleton)("HotkeyClient",d);t.addBrowserHotkey=(e,t,r)=>{const n=f();n.keyStrokes||(n.keyStrokes=new u,n.keyStrokes.initialize());const i=c({keys:e}).sort().toString();n.keyStrokes.registerKeyHandler({keyString:i,handler:t,addedByUser:r})},t.addLocalHotkey=async(e,r,i)=>(n.Logger.system.info("HotkeyClient.addLocalHotkey"),n.Logger.system.debug("HotkeyClient.addLocalHotkey, keyArr: ",e),(0,t.addBrowserHotkey)(e,r,!0),null==i||i(null),{err:null}),t.removeLocalHotkey=async(e,t,r)=>(n.Logger.system.info("HotkeyClient.removeLocalHotkey"),n.Logger.system.debug("HotkeyClient.removeLocalHotkey, keyArr: ",e),((e,t)=>{var r;const i=f();n.Logger.system.info("HotkeyClient.removeBrowserHotkey"),n.Logger.system.debug("HotkeyClient.removeBrowserHotkey, keyArr: ",e);const o=c({keys:e}).sort().toString();null===(r=i.keyStrokes)||void 0===r||r.unregisterKeyHandler({keyString:o,handler:t})})(e,t),null==r||r(null),{err:null}),t.addGlobalHotkey=async(e,t,r)=>{const s=f();n.Logger.system.info("HotkeyClient.addGlobalHotkey"),n.Logger.system.debug("HotkeyClient.addGlobalHotkey, keyArr: ",e);const a=c({keys:e}).sort().join("+");s.eventEmitter.addListener(a,t);const{windowName:l}=await o.Startup.getInstance().getStartupData(),{err:u}=await i.RouterClient.query("hotkeysService.registerGlobalHotkey",{keys:a,windowName:l});return null==r||r(u),{err:u}},t.removeGlobalHotkey=async(e,t,r)=>{const s=f();n.Logger.system.info("HotkeyClient.removeGlobalHotkey"),n.Logger.system.debug("HotkeyClient.removeGlobalHotkey, keyArr: ",e);const a=c({keys:e}).sort().join("+");s.eventEmitter.removeListener(a,t);const{windowName:l}=await o.Startup.getInstance().getStartupData(),{err:u}=await i.RouterClient.query("hotkeysService.unregisterGlobalHotkey",{keys:a,windowName:l});return null==r||r(u),{err:u}},t.removeAllHotkeys=async e=>{var t;const r=f();r.eventEmitter.removeAllListeners();const{windowName:n}=await o.Startup.getInstance().getStartupData(),{err:s}=await i.RouterClient.query("hotkeysService.removeAllHotkeysForWindow",{windowName:n});return null===(t=r.keyStrokes)||void 0===t||t.unregisterAllUsersKeyHandlers(),null==e||e(s),{err:s}},t.onClose=e=>{(0,t.removeAllHotkeys)(e)},t.HotkeyClient={initialize:()=>{n.Logger.system.deprecated("It is no longer necessary to call HotkeyClient.initialize()")},onReady:e=>{n.Logger.system.deprecated("It is no longer necessary to call HotkeyClient.onReady()"),null==e||e()},onClose:t.onClose,addGlobalHotkey:t.addGlobalHotkey,removeAllHotkeys:t.removeAllHotkeys,removeGlobalHotkey:t.removeGlobalHotkey,addLocalHotkey:t.addLocalHotkey,removeLocalHotkey:t.removeLocalHotkey,addBrowserHotkey:t.addBrowserHotkey},t.default=t.HotkeyClient},49136: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.LauncherClient=t.removeUserDefinedComponent=t.addUserDefinedComponent=t.getActiveDescriptors=t.getMyWindowIdentifier=t.spawn=t.toggleWindowOnClick=t.showWindow=t.getMonitorInfo=t.getMonitorInfoAll=t.getComponentDefaultConfig=t.getComponentList=void 0;const i=r(23099),o=n(r(2518)),s=r(83823),a=r(51848),l=n(r(84795)),c=r(94017),u=r(96512),d=r(31755),f=r(23099),p={},h=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};t.getComponentList=async e=>{await l.default.waitForStartup("windowService");const{err:t,response:r}=await a.RouterClient.query("Launcher.componentList",{});return null==e||e(t,r.data),{err:t,data:r.data}},t.getComponentDefaultConfig=async(e,r)=>{const{err:n,data:i}=await(0,t.getComponentList)(),o=null==i?void 0:i[e];return null==r||r(n,o),{err:n,data:o}},t.getMonitorInfoAll=async e=>(o.default.system.debug("LauncherClient.getMonitorInfoAll()"),(0,c.getAllMonitorsClientSide)(a.RouterClient,e)),t.getMonitorInfo=async(e={},r)=>(o.default.system.debug("LauncherClient.getMonitorInfo()"),"all"===e.monitor?(o.default.deprecated('Use of type "all" in LauncherClient.getMonitorInfo() is deprecated. Pleae use LauncherClient.getMonitorInfoAll()'),(0,t.getMonitorInfoAll)(r)):(0,c.getWhichMonitorClientSide)(a.RouterClient,e,r)),t.showWindow=async(e,t,r)=>{t||(t={}),(t=(0,i.clone)(t)).staggerPixels||0===t.staggerPixels||(t.staggerPixels=100),t.windowIdentifier=h(e);const n=await(0,i.getMyWindowIdentifier)();t.relativeWindow||(t.relativeWindow=n),await l.default.waitForStartup("windowService");const{err:o,response:c}=await a.RouterClient.query("Launcher.showWindow",t);if(o)return null==r||r(o),{err:o};{const e=c.data.windowIdentifier.windowName,{wrap:t}=await s.FinsembleWindow.getInstance({name:e}),n=Object.assign(Object.assign({},c.data),{windowIdentifier:Object.assign(Object.assign({},c.data.windowIdentifier),{name:e}),finWindow:t});return null==r||r(o,n),{err:o,data:n}}},t.toggleWindowOnClick=(e,r,n)=>{var i,o;const s=h(r),a=null!==(o=null!==(i=s.windowName)&&void 0!==i?i:s.componentType)&&void 0!==o?o:"";!1!==p[a]?(n.position||(n.position="absolute"),(0,t.showWindow)(r,n,((t,r)=>{if(!r)return;const{finWindow:n}=r,i=()=>{p[a]=!0,(0,f.isMouseOverDOMElement)(e,(e=>{p[a]=!e})),n.removeEventListener("blurred",i)};n.addEventListener("blurred",i)}))):p[a]=!0};t.spawn=async(e,t,r)=>{t||(t={}),(t=(0,i.clone)(t)).component=e,t.options||(t.options={}),t.options.customData||(t.options.customData={}),t.staggerPixels||0===t.staggerPixels||(t.staggerPixels=50),o.default.system.debug(`LauncherClient.spawn starting for componentType:${e}`),await l.default.waitForStartup("windowService");const n=await(0,i.getMyWindowIdentifier)();t.launchingWindow=n;const{err:c,result:u}=await(async e=>{const{err:t,response:r}=await a.RouterClient.query("Launcher.spawn",e);if(o.default.system.debug("CallSpawn","Initial launcher callback params",t,r),t||!r)return{err:null!=t?t:'Internal error: callSpawn(): No data returned from service for "Launcher.spawn"'};{const{data:e}=r;let t,n=[];Array.isArray(e)?(n=e.reduce(((e,t)=>(e.push(t.windowIdentifier.windowName),e)),[]),t=e[0]):t=e;const i=t.windowIdentifier.windowName,{wrap:l}=await s.FinsembleWindow.getInstance({name:i}),c=Object.assign(Object.assign({},t),{windowIdentifier:Object.assign(Object.assign({},t.windowIdentifier),{name:i}),finWindow:l});n.length>0&&(c.launchGroupWindows=n),o.default.system.debug("CallSpawn","Waiting for ready signal",i);const u=await(e=>new Promise((t=>{const r=a.RouterClient.subscribe(`Finsemble.${e}.componentReady`,((e,n)=>{e||!n.data?(o.default.system.error(`RouterClient.waitForReadySignal() Error subscribing for component ready state ${e}`),t(e)):Object.keys(n.data).length&&(a.RouterClient.unsubscribe(r),t(null))}))})))(i);return o.default.system.debug("CallSpawn","Got ready signal",i),{err:u,result:c}}})(t);return o.default.system.debug(`LauncherClient.spawn completing for componentType:${e}`,c),null==r||r(c,u),{error:c,response:u}},t.getMyWindowIdentifier=async e=>{const t=await(0,i.getMyWindowIdentifier)();return null==e||e(t),t},t.getActiveDescriptors=async e=>{await l.default.waitForStartup("windowService");const{err:t,response:r}=await a.RouterClient.query("Launcher.getActiveDescriptors",{});return t&&o.default.system.error(t),null==e||e(t,r.data),{err:t,data:r.data}},t.addUserDefinedComponent=async(e,t)=>{await l.default.waitForStartup("windowService");const{err:r}=await a.RouterClient.query("Launcher.userDefinedComponentUpdate",{type:"add",name:e.name,url:e.url});return r&&o.default.system.error(r),null==t||t(r),{err:r}},t.removeUserDefinedComponent=async(e,t)=>{await l.default.waitForStartup("windowService");const{err:r}=await a.RouterClient.query("Launcher.userDefinedComponentUpdate",{type:"remove",name:e.name,url:e.url});return r&&o.default.system.error(r),null==t||t(r),{err:r}},t.LauncherClient={initialize:()=>{o.default.system.deprecated("It is no longer necessary to call LauncherClient.initialized()")},onReady:e=>{o.default.system.deprecated("It is no longer necessary to call LauncherClient.onReady()"),null==e||e()},addToGroups:u.addToGroups,getGroupsForWindow:u.getGroupsForWindow,removeWindowsFromGroup:u.removeWindowsFromGroup,addWindowsToGroup:u.addWindowsToGroup,createWindowGroup:u.createWindowGroup,minimizeWindows:d.minimizeWindows,hyperFocus:u.hyperFocus,bringWindowsToFront:d.bringWindowsToFront,getComponentsThatCanReceiveDataTypes:u.getComponentsThatCanReceiveDataTypes,removeUserDefinedComponent:t.removeUserDefinedComponent,addUserDefinedComponent:t.addUserDefinedComponent,getPendingWindows:u.getPendingWindows,getActiveAndPendingWindowNames:u.getActiveAndPendingWindowNames,getActiveDescriptors:t.getActiveDescriptors,getMyWindowIdentifier:t.getMyWindowIdentifier,getMonitor:u.getMonitor,spawn:t.spawn,toggleWindowOnClick:t.toggleWindowOnClick,showWindow:t.showWindow,unRegisterComponent:u.unRegisterComponent,registerComponent:u.registerComponent,getMonitorInfo:t.getMonitorInfo,getMonitorInfoAll:t.getMonitorInfoAll,getComponentDefaultConfig:t.getComponentDefaultConfig,getComponentList:t.getComponentList},t.default=t.LauncherClient},2518: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.Logger=t.LoggerClient=t.LocalLogger=t.deprecated=t.verbose=t.debug=t.log=t.info=t.warn=t.error=t.LoggerConnection=void 0;const i=r(91374),o=r(10166),s=r(31219),a=n(r(51848)),l=n(r(9381)),c=r(7860),u=n(r(23493)),d=r(96486),f=r(44137),p={Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!1,LocalOnly:!1};let h=5e4;const g=`NOTE: LOG ARG STRIPPED since greater than ${h/1e3}KB. Check origin's local Console to see output of the complete object.`,m={console:{Error:!0,Warn:!0,Info:!0,Log:!0,Debug:!0,Verbose:!0,LocalOnly:!1},dev:p,system:p,perf:p},y=()=>{const{stack:e}=function(){try{throw Error("")}catch(e){return e}}();let t=6;e.includes("console.error")&&t++;const r=("\n",n=t,e.split("\n",n).join("\n").length);var n;return`Log Stack: \n${e.substring(r).substr(1)}`},v=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},w=(e,t,r=0,n=1)=>{const i=t/2,o=i/2,s="*STRIPPED*",a=e=>{let t=v(e);e.length>0&&t>o&&(e[0]=w(e[0],i,r,n+1),e[1]=`*STRIPPED* from size ${e.length}`,e.length=2)};let l=(0,d.cloneDeep)(e);if("object"!=typeof l)l=s,r+=v(l);else if(Array.isArray(l))a(l),r+=v(l);else{let e=Object.getOwnPropertyNames(l);for(let c=0;c<e.length;c++){let u=v(l[e[c]]);r>i&&u>100&&n>=3&&c>=1||r>h&&u>=10?l[e[c]]=s:u>o&&(Array.isArray(l[e[c]])?a(l[e[c]]):l[e[c]]=w(l[e[c]],t/1.2,r,n+1)),r+=v(l[e[c]])}}return l},b=e=>"logger.service.logMessages"===e||"Finsemble.heartbeat"===e,S=console.error.bind(f.Globals.console);console.standardError=console.error;class C{constructor(){this.routerClient=null,this.viewId=null,this.isRegistering=!1,this.isRegistered=!1,this.calibratedTimeStampOffset=0,this.newCalibratedTimeStampOffset=0,this.filteredMessagesCounter=0,this.startupTime=0,this.loggerQueue=[],this.loggerClientName=i.System.Window.getCurrent().name,this.onLogStateChangeCallback=[],this.currentLogState=m,this.skipLargeObjects=!0,this.setRouterClient=e=>{this.routerClient=e},this.system={error:(...e)=>{this.logIt("system","Error",e)},warn:(...e)=>{this.logIt("system","Warn",e)},info:(...e)=>{this.logIt("system","Info",e)},log:(...e)=>{this.logIt("system","Log",e)},debug:(...e)=>{this.logIt("system","Debug",e)},verbose:(...e)=>{this.logIt("system","Verbose",e)},deprecated:(...e)=>{this.logIt("system","Error",e)}},this.perf={error:(...e)=>{this.logIt("perf","Error",e)},warn:(...e)=>{this.logIt("perf","Warn",e)},info:(...e)=>{this.logIt("perf","Info",e)},log:(...e)=>{this.logIt("perf","Log",e)},debug:(...e)=>{this.logIt("perf","Debug",e)},verbose:(...e)=>{this.logIt("perf","Verbose",e)},deprecated:(...e)=>{this.logIt("perf","Error",e)}},this.console={error:(...e)=>{this.logIt("console","Error",e)},warn:(...e)=>{this.logIt("console","Warn",e)},info:(...e)=>{this.logIt("console","Info",e)},log:(...e)=>{this.logIt("console","Log",e)},debug:(...e)=>{this.logIt("console","Debug",e)},verbose:(...e)=>{this.logIt("console","Verbose",e)},deprecated:(...e)=>{this.logIt("console","Error",e)}};const e="routerService"===this.loggerClientName?100:250;this.transmitAndClearQueue=(0,u.default)((()=>{var e;this.loggerQueue.length>0&&(null===(e=this.routerClient)||void 0===e||e.transmit("logger.service.logMessages",this.loggerQueue),this.loggerQueue=[])}),e,{leading:!1})}updateQueueBasedOnState(e){const{loggerQueue:t,currentLogState:r,calibratedTimeStampOffset:n}=this;this.system.debug("Logger updateQueueBasedOnState",e,n,"QUEUE LENGTH",t.length,r),this.loggerQueue=t.flatMap((t=>{if(r[t.category][t.logType]){if(!r[t.category].LocalOnly)return e&&(t.logTimestamp=t.logTimestamp+n),[t];console.log(t.category,t.logType,t.logTimestamp-s.Performance.timing.navigationStart,t.logData,"(Previously queued!)")}return[]}))}onStateChanged(e){-1===this.onLogStateChangeCallback.indexOf(e)&&this.onLogStateChangeCallback.push(e)}setLogState(e,t){e&&e.dev&&(this.currentLogState=e,this.onLogStateChangeCallback.forEach((t=>{t(e)}))),this.updateQueueBasedOnState(t)}addToQueue(e){const{loggerQueue:t}=this;if(t.length<2e4)t.push(e);else{console.error("Logging Queue Overflowed! Dumping queue here then continuing",t.length);let e,r=0;for(;e=t.shift();)console.log("Message "+r++,e);this.system.error("Logging Queue Overflowed! Dumping queue in client then continuing.")}}callStack(){return y()}setting(){return this.currentLogState}outputToConsole(e,t){const r={Debug:console.debug,Info:console.info,Warn:console.warn,Error:S,Log:console.log,Verbose:console.log};try{r[e](...t)}catch(e){S("Error outputting log to console",e,y())}}formatAndQueueMessage(e,t,r){var n;const o="forceObjectsToLogger"===r[0],a=r.flatMap((e=>{const t=v(e);if(!o&&t>h){if(this.outputToConsole("Warn",[`Message too large to send to the logger. Max message size:${h/1e3}KB`,`Approx message size: ${t/1e3}KB`,...r]),this.skipLargeObjects)return[`Log argument greater than ${h/1e3}KB. Check local Console to see output of the object.`];{let t=w(e,h);return[g,`OldSize=${v(e)} NewSize=${v(t)}`,t]}}return e instanceof Error?[e.toString()]:"forceObjectsToLogger"===e?[]:[e]}));let l=null;try{l=JSON.stringify(a)}catch(e){l=`*** Logger error can't JSON.stringify: ${y()}`}"Error"!==t&&"Warn"!==t&&"console"!==e||this.outputToConsole(t,r);const c=null!==(n=this.viewId)&&void 0!==n?n:i.System.isBrowserView()&&i.System.getWebContentsId(),u={category:"console"===e?"system":e,logType:t,logClientName:c?`${this.loggerClientName}: view-${c}`:this.loggerClientName,logData:l,logTimestamp:s.Performance.timing.navigationStart+s.Performance.now()+this.calibratedTimeStampOffset};c&&(u.viewId=c),this.addToQueue(u),this.isRegistered&&this.transmitAndClearQueue()}logIt(e,t,r){if(this.currentLogState[e][t])if("Warn"!==t&&"Error"!==t||r.push(y()),this.currentLogState[e].LocalOnly){const n=t.toLowerCase();r.unshift(`${e} ${n} (${s.Performance.now()}):`),this.outputToConsole(t,r)}else this.formatAndQueueMessage(e,t,r)}error(...e){this.logIt("dev","Error",e)}warn(...e){this.logIt("dev","Warn",e)}info(...e){this.logIt("dev","Info",e)}log(...e){this.logIt("dev","Log",e)}debug(...e){this.logIt("dev","Debug",e)}verbose(...e){this.logIt("dev","Verbose",e)}deprecated(...e){this.logIt("dev","Error",e)}completeRegistration(e){l.default.getValue({field:"finsemble.servicesConfig.logger"},((e,t)=>{var r,n;e||(this.skipLargeObjects=null!==(r=null==t?void 0:t.skipLargeObjects)&&void 0!==r?r:this.skipLargeObjects,h=null!==(n=null==t?void 0:t.maxLogMessageSize)&&void 0!==n?n:h)})),this.loggerQueue.forEach((e=>{this.viewId&&(e.viewId=this.viewId)})),this.isRegistered=!0,e?"routerService"!==this.loggerClientName?(this.calibratedTimeStampOffset=this.newCalibratedTimeStampOffset,this.setLogState(e,!0)):this.setLogState(e,!1):console.error("Logger.startLogger() Initial state not received from logger service"),this.formatAndQueueMessage("system","Debug",["Logger Registered"]),this.transmitAndClearQueue()}registerWithLoggerService(){var e;const{windowName:t,webContentsName:r}=o.Startup.getInstance().getStartupData();this.loggerClientName="undefined"!=typeof window&&window.top!==window?`${t}.Frame`:t;const n=`finsemble.logger.client.${this.loggerClientName}`;!this.viewId&&i.System.isBrowserView()&&(this.viewId=i.System.getWebContentsId()),this.system.debug("logger.service.registering",this.loggerClientName),i.System.Window.getCurrent().getOptions((async e=>{var i,o;const s=null===(o=null===(i=null==e?void 0:e.customData)||void 0===i?void 0:i.component)||void 0===o?void 0:o.centralLoggerNamePrefix;if(!this.routerClient)return;const{err:a,response:l}=await this.routerClient.query("logger.service.register",{clientName:this.loggerClientName,clientChannel:n,displayName:null!=r?r:t,windowName:t,viewId:this.viewId,centralLoggerNamePrefix:s});a?(console.warn("Logger service not available. Trying to connect again in 750ms.",a),setTimeout((()=>{this.registerWithLoggerService()}),750)):this.completeRegistration(l.data)})),null===(e=this.routerClient)||void 0===e||e.addListener(n,((e,t)=>{this.system.debug("logger.client.setLogState",t.data),this.setLogState(t.data,!1)}))}unregisterClient(e,t){var r;this.system.debug("logger.service.unregister",this.loggerClientName,e,this.viewId),this.transmitAndClearQueue();const n=e||{clientName:this.loggerClientName,viewId:this.viewId};null===(r=this.routerClient)||void 0===r||r.query("logger.service.unregister",n,t)}waitForServiceAndCalibrate(){var e;const t=null===(e=this.routerClient)||void 0===e?void 0:e.subscribe("Finsemble.Service.State.loggerService",((e,r)=>{var n,i;"ready"===r.data.state&&(this.system.debug("Logger onReady",this.loggerClientName),null===(n=this.routerClient)||void 0===n||n.calibrateTimeWithRouterService((e=>{this.newCalibratedTimeStampOffset=e,this.isRegistering||(this.isRegistering=!0,this.startupTime=performance.now()-this.startupTime,this.registerWithLoggerService())})),t&&(null===(i=this.routerClient)||void 0===i||i.unsubscribe(t)))}))}async start(e){if(this.routerClient=null!=e?e:a.default,this.startupTime=performance.now(),"routerService"===f.Globals.name){const{err:e}=await this.routerClient.query("logger.service.register",{});e?setTimeout((()=>{this.waitForServiceAndCalibrate()}),750):this.waitForServiceAndCalibrate()}else this.waitForServiceAndCalibrate();i.System.isBrowserView()&&f.Globals.addEventListener&&f.Globals.addEventListener("beforeunload",(()=>{this.unregisterClient()}))}}t.LoggerConnection=C,t.error=(...e)=>(0,c.singleton)("LoggerClient",C).error(...e),t.warn=(...e)=>(0,c.singleton)("LoggerClient",C).warn(...e),t.info=(...e)=>(0,c.singleton)("LoggerClient",C).info(...e),t.log=(...e)=>(0,c.singleton)("LoggerClient",C).log(...e),t.debug=(...e)=>(0,c.singleton)("LoggerClient",C).debug(...e),t.verbose=(...e)=>(0,c.singleton)("LoggerClient",C).verbose(...e),t.deprecated=(...e)=>(0,c.singleton)("LoggerClient",C).deprecated(...e);const _={error:t.error,warn:t.warn,info:t.info,log:t.log,debug:t.debug,verbose:t.verbose,deprecated:t.deprecated,start:e=>{(0,c.singleton)("LoggerClient",C).start(e)},channelFilter:e=>b(e),setting:()=>(0,c.singleton)("LoggerClient",C).setting(),callStack:()=>(0,c.singleton)("LoggerClient",C).callStack(),unregisterClient:(e,t)=>{(0,c.singleton)("LoggerClient",C).unregisterClient(e,t)},setRouterClient:e=>{(0,c.singleton)("LoggerClient",C).setRouterClient(e)},onStateChanged(e){(0,c.singleton)("LoggerClient",C).onStateChanged(e)},system:{error:(...e)=>(0,c.singleton)("LoggerClient",C).system.error(...e),warn:(...e)=>(0,c.singleton)("LoggerClient",C).system.warn(...e),info:(...e)=>(0,c.singleton)("LoggerClient",C).system.info(...e),log:(...e)=>(0,c.singleton)("LoggerClient",C).system.log(...e),debug:(...e)=>(0,c.singleton)("LoggerClient",C).system.debug(...e),verbose:(...e)=>(0,c.singleton)("LoggerClient",C).system.verbose(...e),deprecated:(...e)=>(0,c.singleton)("LoggerClient",C).system.deprecated(...e)},perf:{error:(...e)=>(0,c.singleton)("LoggerClient",C).perf.error(...e),warn:(...e)=>(0,c.singleton)("LoggerClient",C).perf.warn(...e),info:(...e)=>(0,c.singleton)("LoggerClient",C).perf.info(...e),log:(...e)=>(0,c.singleton)("LoggerClient",C).perf.log(...e),debug:(...e)=>(0,c.singleton)("LoggerClient",C).perf.debug(...e),verbose:(...e)=>(0,c.singleton)("LoggerClient",C).perf.verbose(...e),deprecated:(...e)=>(0,c.singleton)("LoggerClient",C).perf.deprecated(...e)},console:{error:(...e)=>(0,c.singleton)("LoggerClient",C).console.error(...e),warn:(...e)=>(0,c.singleton)("LoggerClient",C).console.warn(...e),info:(...e)=>(0,c.singleton)("LoggerClient",C).console.info(...e),log:(...e)=>(0,c.singleton)("LoggerClient",C).console.log(...e),debug:(...e)=>(0,c.singleton)("LoggerClient",C).console.debug(...e),verbose:(...e)=>(0,c.singleton)("LoggerClient",C).console.verbose(...e),deprecated:(...e)=>(0,c.singleton)("LoggerClient",C).console.deprecated(...e)}};i.System.isBrowserView()?_.console.log("Logger client console.error is not wrapped to capture logs."):(_.console.log("Logger client console.error is wrapped to capture logs."),console.error=function(...e){let t;e.push("(console error)");try{t=JSON.parse(JSON.stringify(e))}catch(r){t="console.error: arguments could not be serialized for logging",e.push("arguments could not be serialized to send to Central Logger"),S(...e)}_.console.error(...t)}),f.Globals.addEventListener&&f.Globals.addEventListener("error",(e=>{(null==e?void 0:e.message)&&(null==e?void 0:e.filename)?_.console.error(`Logger client caught ErrorEvent. Error: ${e.message}`,`File: ${e.filename}`,`Line number: ${e.lineno}`):(_.console.warn(`Logger client caught what is likely a DOM error event where type=${null==e?void 0:e.type} and target=${null==e?void 0:e.target}. Probably due to <img> or <script> failing to load. See component's browserView window for more details.`),console.warn("Event Details (for above message)",e))}),!0),f.Globals.addEventListener&&f.Globals.addEventListener("unhandledrejection",(e=>{_.console.error("Logger client caught Unhandled rejection","reason",e.reason,JSON.stringify(e))}),!0),t.LocalLogger={start:()=>{},channelFilter:b,setting:()=>m,callStack:()=>y(),unregisterClient:()=>{},setRouterClient:()=>{},onStateChanged:()=>{},warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error,system:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},perf:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error},console:{warn:console.warn,info:console.info,log:console.log,debug:console.debug,error:console.error,verbose:console.debug,deprecated:console.error}};const k="undefined"==typeof window;t.LoggerClient=k?t.LocalLogger:_,t.Logger=t.LoggerClient,t.default=t.LoggerClient},5395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotificationClient=t.onClose=t.getPreferences=t.getMuteFilters=t.unmute=t.mute=t.unsubscribeAll=t.unsubscribe=t.subscribe=t.notify=t.deleteNotifications=t.markUnread=t.markRead=t.performAction=t.getLastIssuedAt=t.fetchHistory=t.ActionTypes=t.Filter=t.Action=t.Subscription=t.Notification=void 0;const n=r(46215);Object.defineProperty(t,"Action",{enumerable:!0,get:function(){return n.Action}}),Object.defineProperty(t,"ActionTypes",{enumerable:!0,get:function(){return n.ActionTypes}}),Object.defineProperty(t,"Filter",{enumerable:!0,get:function(){return n.Filter}}),Object.defineProperty(t,"Notification",{enumerable:!0,get:function(){return n.Notification}}),Object.defineProperty(t,"Subscription",{enumerable:!0,get:function(){return n.Subscription}});const i=r(23099),o=r(2518),s=r(51848),a=r(7860),l="notification.",c="unsubscribe";class u{constructor(){this.subscriptions=[]}}const d=()=>(0,a.singleton)("NotificationClient",u),f=(e,t,r,n)=>new Promise((async(i,a)=>{try{null==r&&(r=l),o.Logger.system.info(`sending message on ${r+e} channel`,t);const c=await s.RouterClient.query(r+e,t);c.err?(o.Logger.system.error("Error: ",c.err),a(c.err)):(o.Logger.system.log(`${e} raw response: `,c),n&&n(null,c.response.data.data),i(c.response.data.data))}catch(e){o.Logger.system.error("Error: ",e),n&&n(e),a(e)}}));t.fetchHistory=async(e,t)=>(o.Logger.system.info("FetchHistory() called with params: ",e,t),await f("fetch_history",{options:e,filter:t})),t.getLastIssuedAt=async e=>(o.Logger.system.info("getLastIssued called with params: ",e),await f("last_issued",e)),t.performAction=async(e,t)=>(o.Logger.system.info("performAction() called with params: ",e,t),Array.isArray(e)||(e=[e]),await f("perform_action",{notifications:e,action:t})),t.markRead=async e=>{o.Logger.system.info("markRead() called with params: ",e),Array.isArray(e)||(e=[e]),await f("mark_read",{notifications:e,isRead:!0})},t.markUnread=async e=>{o.Logger.system.info("markUnread() called with params: ",e),Array.isArray(e)||(e=[e]),await f("mark_unread",{notifications:e,isRead:!1})},t.deleteNotifications=e=>(o.Logger.system.info("deleteNotifications() called with params: ",e),new Promise((async(t,r)=>{try{t(f("delete",e))}catch(e){r(e)}}))),t.notify=async e=>{o.Logger.system.info("notify() called with params: ",e);try{await f("notify",Array.isArray(e)?e:[e])}catch(r){if(!r.includes("No responder"))throw r;await(0,i.sleep)(500),await(0,t.notify)(e)}};const p=(e,t)=>new Promise((r=>{o.Logger.system.info("Listening for messages on channel",e),((e,r,n)=>{null==n&&(n=l),o.Logger.system.info(`Adding responder for endpoint: ${n+e}`),s.RouterClient.addResponder(n+e,((r,n)=>{if(o.Logger.system.info(`Message received on ${e}: `,n),!r&&n)try{o.Logger.system.info(`Processing message on channel ${e}: `,n);const r=(e=>{o.Logger.system.info("Notification received: ",e.id);try{t(e)}catch(e){o.Logger.system.error("Error thrown in the subscription.onNotification()",e)}return{message:"success"}})(n.data);o.Logger.system.info(`Message response on ${e}: `,r),n.sendQueryResponse(null,{status:"success",data:r})}catch(e){o.Logger.system.error("Failed to process query",e),n.sendQueryResponse(e)}else o.Logger.system.error(`Failed to setup ${e} responder`,r)}))})(e),r()}));t.subscribe=async(e,t)=>{const r=d();o.Logger.system.info("subscribe() called with params: ",e,t);const n=await f("subscribe",JSON.parse(JSON.stringify(e)));return o.Logger.system.info("Got a return value containing a channel",n),await p(n.channel,t),r.subscriptions.push(n),n};const h=(e,t)=>{null==t&&(t=l),s.RouterClient.removeResponder(t+e)};t.unsubscribe=async e=>{o.Logger.system.info("unsubscribe() called with params: ",e),await f(c,e),(e=>{const t=d(),r=t.subscriptions.findIndex((t=>t.id===e));r>-1&&(h(t.subscriptions[r].channel),t.subscriptions.splice(r,1))})(e)},t.unsubscribeAll=()=>{const e=d();o.Logger.system.info("unsubscribeAll() called"),e.subscriptions.forEach((e=>{f(c,e.id).then(),h(e.id)})),e.subscriptions=[]},t.mute=async e=>(o.Logger.system.info("mute() called with params: ",e),await f("mute",{filter:e})),t.unmute=async e=>(o.Logger.system.info("unmute() called with params: ",e),await f("unmute",{filter:e})),t.getMuteFilters=async()=>(o.Logger.system.info("getMuteFilters() called"),await f("mute_filters",{})),t.getPreferences=async()=>(o.Logger.system.info("getPreferences() called"),await f("preferences",{})),t.onClose=e=>{(0,t.unsubscribeAll)(),null==e||e()},t.NotificationClient={initialize:()=>{o.Logger.system.deprecated("It is no longer necessary to call NotificationClient.initialize()")},onReady:e=>{o.Logger.system.deprecated("It is no longer necessary to call NotificationClient.onReady()"),null==e||e()},fetchHistory:t.fetchHistory,getLastIssuedAt:t.getLastIssuedAt,performAction:t.performAction,markRead:t.markRead,markUnread:t.markUnread,deleteNotifications:t.deleteNotifications,notify:t.notify,subscribe:t.subscribe,unsubscribe:t.unsubscribe,unsubscribeAll:t.unsubscribeAll,mute:t.mute,unmute:t.unmute,getPreferences:t.getPreferences,getMuteFilters:t.getMuteFilters,getSources:async()=>(o.Logger.system.info("getSources() called"),await f("sources",{})),onClose:t.onClose,Notification:n.Notification,ActionTypes:n.ActionTypes,Subscription:n.Subscription,Action:n.Action,Filter:n.Filter,actionTypes:n.ActionTypes},t.default=t.NotificationClient},51848: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.RouterClient=t.calibrateTimeWithRouterService=t.disconnectAll=t.trustedMessage=t.unsubscribe=t.publish=t.subscribe=t.removePubSubResponder=t.addPubSubResponder=t.removeResponder=t.query=t.addResponder=t.removeListener=t.transmit=t.addListener=t.onReady=t.RouterController=t.RouterConnection=void 0;const i=n(r(87132)),o=r(44343),s=r(2518),a=r(44137),l=r(31219),c=r(7860),u=n(r(62043));function d(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]?d(e[r],null):t[r];return t}class f{constructor(){this.queue=[],this.started=!1,this.clientName="RouterClient.clientName not yet set",this.transport=null,this.isRouterReady=!1,this.parentReadyCallbackQueue=[],this.mapListeners={},this.mapQueryResponders={},this.mapPubSubResponders={},this.mapPubSubResponderState={},this.mapPubSubResponderRegEx={},this.pubsubListOfSubscribers={},this.mapSubscribersID={},this.mapSubscribersTopic={},this.mapQueryResponses={},this.mapQueryResponseTimeOut={}}onReadyCallBack(){for(s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient Ready"),this.isRouterReady=!0;this.parentReadyCallbackQueue.length>0;){s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient parentReady invoked");const e=this.parentReadyCallbackQueue.shift();null==e||e()}}sendToRouterService(e){this.transport?this.transport.send(e):(s.LoggerClient.system.info("RouterClient: Queuing message since router initialization not complete",e),this.queue.push(e))}originatedHere(e){return e.header.origin===this.clientName}invokeListeners(e){const{channel:t,origin:r}=e.header,n=this.mapListeners[t]||[];Array.isArray(n)&&0!==n.length?(e.originatedHere=()=>this.originatedHere(e),n.forEach((n=>{s.LoggerClient.channelFilter(t)||s.LoggerClient.system.info("RouterClient: incoming transmit","CHANNEL",t,"FROM",r,"MESSAGE",e),n(null,e)}))):s.LoggerClient.system.log(`RouterClient: no listener for incoming transmit on channel ${t} from ${r}. Possibly the listener was removed while this message was in transit.`,e)}invokeResponder(e){const{channel:t,origin:r,queryID:n,error:i}=e.header;s.LoggerClient.system.info("RouterClient: incoming query","CHANNEL",t,"FROM",r,"QUERY MESSAGE",e);const o=(e,r)=>{s.LoggerClient.system.info("RouterClient: outgoing query response","CHANNEL",t,"RESPONSE DATA",r,"QUERY ID",n);let i={header:{origin:this.clientName,queryID:n,type:"queryResponse"},data:r};i.header.error=e?e.toString():null,this.sendToRouterService(i)},a=this.mapQueryResponders[t];void 0===a?e.header.logWhenNoResponder&&s.LoggerClient.system.warn(`RouterClient: No query responder defined on channel ${t} for incoming from ${r}.`,e):i?(s.LoggerClient.system.warn("RouterClient: queryResponder error",e),a(i),delete this.mapQueryResponders[t]):a(null,Object.assign(Object.assign({},e),{originatedHere:()=>this.originatedHere(e),sendQueryResponse:(e,t)=>{o(e,t)}}))}invokeQueryResponse(e){var t;s.LoggerClient.system.info("RouterClient: incoming query response","CHANNEL",e.header.channel,"QUERY ID",e.header.queryID,"message",e);const{queryID:r}=e.header,n=this.mapQueryResponseTimeOut[r];delete this.mapQueryResponseTimeOut[r],n&&clearTimeout(n);const i=this.mapQueryResponses[r];i?(delete this.mapQueryResponses[r],i(null!==(t=e.header.error)&&void 0!==t?t:null,e)):s.LoggerClient.system.warn("Invariant: RouterClient: no handler found for incoming query response.",e)}invokeNotifyCallback(e){const{subscribeID:t,error:r}=e.header,n=this.mapSubscribersID[t];n?r?(s.LoggerClient.system.info("RouterClient: incoming PubSub notify error for subscriberID","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),n(r,e)):(e.originatedHere=()=>this.originatedHere(e),s.LoggerClient.system.info("RouterClient: incoming PubSub notify","SUBSCRIBER ID",t,"NOTIFY MESSAGE",e),n(null,e)):s.LoggerClient.system.info("RouterClient: no subscription handler defined for incoming notify for subscriberID. Possibly the subscription was removed while this publish was in transit.",t,e)}findResponder(e){const t=this.mapPubSubResponders[e];if(t)return t;for(const t in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[t].test(e))return this.mapPubSubResponders[t]}invokePublishEvent(e){const{topic:t}=e.header;let r=this.findResponder(t);if(r){const n=(e,r,n)=>{var i;r?s.LoggerClient.system.warn("RouterClient: incoming publish rejected by pubsub responder",r,n):(this.mapPubSubResponderState[t]=n,(null!==(i=this.pubsubListOfSubscribers[t])&&void 0!==i?i:[]).forEach((e=>{s.LoggerClient.system.info("RouterClient: sending pubsub notify","TOPIC",t,"NOTIFY DATA",n);const r={header:{origin:this.clientName,type:"notify",topic:t,subscribeID:e},data:n};this.sendToRouterService(r)})))};if(s.LoggerClient.system.info("RouterClient: incoming PubSub publish "+(r.publishCallback?"(publishCallback hook invoked)":""),"TOPIC",t,"PUBLISH MESSAGE",e),r.publishCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToAllSubscribers:(t,r)=>{n(e,t,r)}});r.publishCallback(null,t)}else n(e,null,e.data)}else s.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming publish","TOPIC",t,"PUBLISH MESSAGE",e)}invokeSubscribeEvent(e){var t;const{topic:r,error:n}=e.header;s.LoggerClient.system.info("RouterClient: PubSub subscribe","TOPIC",r);let i=this.mapPubSubResponders[r];if(!i)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(r)){i=this.mapPubSubResponders[e],this.mapPubSubResponderState[r]=null!==(t=this.mapPubSubResponderState[r])&&void 0!==t?t:this.mapPubSubResponderState[e];break}if(i)if(n)s.LoggerClient.system.warn(`RouterClient: pubsub error received from router service: ${n}`,e);else if(i.subscribeCallback){const t=Object.assign(Object.assign({},e),{sendNotifyToSubscriber:(t,r)=>{this.sendNotifyToSubscriber(e,t,r)}});e.data=this.mapPubSubResponderState[r],i.subscribeCallback(null,t)}else this.sendNotifyToSubscriber(e,null,this.mapPubSubResponderState[r]);else s.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming subscribe event",e)}invokeUnsubscribeEvent(e){const{topic:t,subscribeID:r}=e.header;let n=this.findResponder(t);if(!n)for(const e in this.mapPubSubResponderRegEx)if(this.mapPubSubResponderRegEx[e].test(t)){n=this.mapPubSubResponders[e];break}if(n)if(s.LoggerClient.system.info("RouterClient: incoming unsubscribe "+(n.unsubscribeCallback?"with unsubscribeCallback hook":""),"TOPIC",t,"UNSUBSCRIBE MESSAGE",e),n.unsubscribeCallback){const i=Object.assign(Object.assign({},e),{removeSubscriber:()=>{this.removeSubscribers(t,r)}});n.unsubscribeCallback(null,i)}else this.removeSubscribers(t,r);else s.LoggerClient.system.warn("RouterClient: no pubsub responder defined for incoming unsubscribe event","TOPIC",t,"UNSUBSCRIBE MESSAGE",e)}sendNotifyToSubscriber(e,t,r){const{topic:n,subscribeID:i}=e.header;if(void 0!==r){let e={header:{origin:this.clientName,type:"notify",topic:n,subscribeID:i},data:r};t&&(e.header.error=t),this.sendToRouterService(e)}t?s.LoggerClient.system.warn("RouterClient: incoming subscription rejected by pubsub responder","TOPIC",n,"MESSAGE",this):(n in this.pubsubListOfSubscribers?this.pubsubListOfSubscribers[n].push(i):this.pubsubListOfSubscribers[n]=[i],s.LoggerClient.system.info("RouterClient: incoming subscription added","TOPIC",n,"MESSAGE"))}removeSubscribers(e,t){let r=!1;if(e in this.pubsubListOfSubscribers){const n=this.pubsubListOfSubscribers[e];for(let i=0;i<n.length;i++)if(t===n[i]){n.splice(i,1),0===n.length&&delete this.pubsubListOfSubscribers[e],r=!0,s.LoggerClient.system.info("RouterClient: PubSub removeListener","TOPIC",e,"FROM",t);break}}r||s.LoggerClient.system.warn(`RouterClient: tried to remove non-existent listener on ${e} from ${t}`)}routeIncomingMessage(e){const t=()=>{this.timeCalibrationHandler?this.timeCalibrationHandler(e):setTimeout((()=>{t()}),10)};switch(s.LoggerClient.system.verbose("Incoming Message Type",e.header.type,e),e.header.type){case"transmit":this.invokeListeners(e);break;case"query":this.invokeResponder(e);break;case"queryResponse":this.invokeQueryResponse(e);break;case"notify":this.invokeNotifyCallback(e);break;case"publish":this.invokePublishEvent(e);break;case"subscribe":this.invokeSubscribeEvent(e);break;case"unsubscribe":this.invokeUnsubscribeEvent(e);break;case"timeCalibration":t();break;case"initialHandshakeResponse":this.handshakeHandler()}}asyncConnectToEventRouter(e,t,r){s.LoggerClient.system.debug(`Name of transport to establish: ${t}`);let n=null,a=0,l=!1,c=0,u=null;const d=()=>{s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient: sendHandshake",a);const t={header:{origin:this.clientName,type:"initialHandshake"}};this.sendToRouterService(t),a++>50&&(()=>{if(clearInterval(n),c++,c<=3)s.LoggerClient.console.error("WINDOW LIFECYCLE:STARTUP:RouterClient: failure to connect to router service. Retrying...",c,e),null==u||u();else{const t="A cross domain transport has failed to connect. Cross domain components may not work. Please contact your administrator.";s.LoggerClient.console.error(t,e),(0,o.toast)("dev","ONCE-SINCE-STARTUP","FSBL-Internal-Transport-Failure",t)}})()},f=()=>{if(!l){s.LoggerClient.system.debug(`WINDOW LIFECYCLE:STARTUP:RouterClient connected: Starting ${this.clientName} with transport ${this.transport.identifier()}`),l=!0,clearInterval(n);for(let e=0;e<this.queue.length;e++){s.LoggerClient.system.debug("RouterClient: releasing queued msg");const t=this.queue[e];this.transport.send(Object.assign(Object.assign({},t),{header:Object.assign(Object.assign({},t.header),{origin:this.clientName})}))}null==r||r()}},p=e=>{a=0,s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:transport ready","TRANSPORT OBJECT",e),this.transport=e,this.handshakeHandler=f,d(),n=setInterval(d,200)};u=()=>{s.LoggerClient.system.debug("WINDOW LIFECYCLE:STARTUP:RouterClient:getClientTransport","ROUTER PARAMS:",e),i.default.getTransport(e,t,((e,t)=>{t.header.lastClient=this.clientName,t.header.incomingTransportInfo=e,this.routeIncomingMessage(t)}),this.clientName,"RouterService").then(p).catch((e=>{s.LoggerClient.console.error("RouterClient getTransport error",e)}))},u()}addPubSubResponderCallBack(e,t,r,n){const i=e.toString();return!this.mapPubSubResponders[i]&&(e instanceof RegExp&&(this.mapPubSubResponderRegEx[i]=e,s.LoggerClient.system.info(`RouterClient: PubSub RegEx added for topic ${i}`)),this.mapPubSubResponders[i]={subscribeCallback:t,publishCallback:r,unsubscribeCallback:n},!0)}calibrateTimeWithRouterService(e){let t=0,r=0,n=1/0;const i={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:[],serviceBaseTime:[]};this.timeCalibrationHandler=i=>{if(t++,t>5)(t=>{const{clientBaseTime:i,serviceBaseTime:o}=t;let a=0;for(let e=1;e<5;e++){const t=i[e-1],l=i[e]-t,c=o[e-1]-(t+l/2);l<n&&(n=l,r=c),a+=c,s.LoggerClient.system.debug("calibrationCalculation Intermediate Values","lastRRT",l,"lastOffset",c,"fastestOffset",r,"fastestRRT",n)}a/=4,s.LoggerClient.system.debug("RouterClient calibrationCalculation","Average Offset",a,"Chosen FastestOffset",r,t),e(r)})(i);else{i.clientBaseTime.push(l.Performance.timing.navigationStart+l.Performance.now());const e={header:{origin:this.clientName,type:"timeCalibration"},clientBaseTime:i.clientBaseTime,serviceBaseTime:i.serviceBaseTime};this.sendToRouterService(e)}},this.timeCalibrationHandler(i)}start(e){return new Promise((async t=>{if(this.started){const e="RouterClient.start() called twice. Ignoring second call.";return s.LoggerClient.system.warn(e),t(e)}this.started=!0,this.clientName=`RouterClient.${e.windowName}.${(0,u.default)()}`;const r=`"RouterClient Check: connecting new client for ${this.clientName}`;s.LoggerClient.system.debug(r),console.debug(r),i.default.setTransports(),this.asyncConnectToEventRouter(e,e.transportName,(()=>{this.onReadyCallBack(),t(null)}))}))}disconnectFromService(){s.LoggerClient.system.info("RouterClient.disconnectFromService");const e={header:{origin:this.clientName,type:"disconnectFromService"}};this.sendToRouterService(e)}stop(){this.disconnectAll(),i.default.close(),this.started=!1,this.disconnectFromService()}onReady(e){return new Promise((t=>{const r=()=>{e&&e(),t()};this.isRouterReady?r():this.parentReadyCallbackQueue.push(r)}))}addListener(e,t){s.LoggerClient.system.info("RouterClient.addListener","CHANNEL",e);const r=this.mapListeners[e];if(r&&0!==r.length)r.some((e=>t===e))?s.LoggerClient.debug("RouterClient.addListener() Ignoring duplicate listener with identical callback",e,t):r.push(t);else{this.mapListeners[e]=[t];const r={header:{origin:this.clientName,type:"addListener",channel:e}};this.sendToRouterService(r)}return()=>{this.removeListener(e,t)}}transmit(e,t,r){s.LoggerClient.channelFilter(e)||s.LoggerClient.system.info("RouterClient.transmit","TO CHANNEL",e,"DATA",t);const n={header:{origin:this.clientName,type:"transmit",channel:e},data:t,options:r};this.sendToRouterService(n)}removeListener(e,t){if(s.LoggerClient.system.info("RouterClient.removeListener","CHANNEL",e,"EVENT HANDLER",t),!this.mapListeners[e])return s.LoggerClient.system.debug("Attempt to remove non existent listener",e,t),void console.log("Attempt to remove non existent listener",e,t);if(this.mapListeners[e]=this.mapListeners[e].flatMap((e=>e===t?[]:[e])),!this.mapListeners[e].length){delete this.mapListeners[e];const t={header:{origin:this.clientName,type:"removeListener",channel:e}};this.sendToRouterService(t)}}addResponder(e,t){if(s.LoggerClient.system.info("RouterClient.addResponder","CHANNEL",e),this.mapQueryResponders[e]){const r=`RouterClient.addResponder: Responder already locally defined for channel ${e}`;s.LoggerClient.system.warn(r),t(r)}else{this.mapQueryResponders[e]=t;const r={header:{origin:this.clientName,type:"addResponder",channel:e}};this.sendToRouterService(r)}}query(e,t,r,n){var i,o;const c=`${this.clientName}.${(0,u.default)()}.${e}`,d=l.Performance.timing.navigationStart+l.Performance.now(),f=l.Performance.timing.navigationStart,p=l.Performance.now();s.LoggerClient.system.info("RouterClient.query","RESPONDER CHANNEL",e,"QUERY EVENT",t,"PARAMS",r,"QUERY ID",c,{timestamp:d,navstart:f,timenow:p});const h=null!=n?n:"function"==typeof r?r:null,g=null!==(i=null==r?void 0:r.timeout)&&void 0!==i?i:2e4,m=null===(o=null==r?void 0:r.logWhenNoResponder)||void 0===o||o;return new Promise((r=>{this.mapQueryResponses[c]=(e,t)=>{null==h||h(e,t),r({err:e,response:t})},!a.Globals.runningInFSBLUnitTest&&g>0&&(this.mapQueryResponseTimeOut[c]=setTimeout((()=>{s.LoggerClient.system.warn(`RouterClient: timeout after ${g} ms waiting on query response on channel ${e} for queryID ${c}`),delete this.mapQueryResponseTimeOut[c]}),g));const n={header:{origin:this.clientName,type:"query",queryID:c,channel:e,logWhenNoResponder:m},data:t};this.sendToRouterService(n)}))}removeResponder(e){if(s.LoggerClient.system.info("RouterClient.removeResponder","RESPONDER CHANNEL",e),this.mapQueryResponders[e]){delete this.mapQueryResponders[e];const t={header:{origin:this.clientName,type:"removeResponder",channel:e}};this.sendToRouterService(t)}}addPubSubResponder(e,t,r,n){let i,o;if(s.LoggerClient.system.info("RouterClient.addPubSubResponder","TOPIC",e,"INITIAL STATE",t,"PARAMS",r),void 0===(r=r||{}).subscribeCallback&&void 0===r.publishCallback&&void 0===r.unsubscribeCallback){t=t||{};const r={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!0},data:t};this.sendToRouterService(r),o="success"}else if(this.addPubSubResponderCallBack(e,r.subscribeCallback,r.publishCallback,r.unsubscribeCallback)){t=t||{},this.mapPubSubResponderState[e.toString()]=d(t);const r={header:{origin:this.clientName,type:"addPubSubResponder",topic:e.toString(),handleOnServer:!1},data:t};this.sendToRouterService(r),o="success"}else i=`RouterClient.addPubSubResponder: Responder already locally defined for topic ${e}`,s.LoggerClient.system.error(i);n&&n(i,o)}removePubSubResponder(e){s.LoggerClient.system.info("RouterClient.removePubSubResponder","TOPIC",e);const t=e.toString();if(this.mapPubSubResponders[t]){delete this.mapPubSubResponders[t],delete this.mapPubSubResponderState[t],delete this.mapPubSubResponderRegEx[t];const r={header:{origin:this.clientName,type:"removePubSubResponder",topic:e}};this.sendToRouterService(r)}else s.LoggerClient.system.warn(`RouterClient.removePubSubResponder failed: Could not find responder for topic ${e}`)}subscribe(e,t){s.LoggerClient.system.info("RouterClient.subscribe","TOPIC",e);const r=`${this.clientName}.${(0,u.default)()}`;this.mapSubscribersID[r]=t,this.mapSubscribersTopic[r]=e;const n={header:{origin:this.clientName,type:"subscribe",subscribeID:r,topic:e}};return this.sendToRouterService(n),{subscribeID:r,topic:e}}publish(e,t){s.LoggerClient.system.info("RouterClient.publish","TOPIC",e,"EVENT",t);const r={header:{origin:this.clientName,type:"publish",topic:e},data:t};this.sendToRouterService(r)}unsubscribe(e){s.LoggerClient.system.info("RouterClient.unsubscribe","SUBSCRIBE ID",e);const{subscribeID:t}=e;if(this.mapSubscribersID[t]){delete this.mapSubscribersID[t],delete this.mapSubscribersTopic[t];const r={header:{origin:this.clientName,type:"unsubscribe",subscribeID:e.subscribeID,topic:e.topic}};this.sendToRouterService(r)}else s.LoggerClient.system.warn(`RouterClient.unsubscribe: Could not find subscribeID for topic ${e.topic}`)}trustedMessage(e){let t=!1;return s.LoggerClient.system.debug("RouterClient.trustedMessage header",e.header),"SharedWorker"===e.header.originIncomingTransportInfo.transportID&&(t=!0),t}disconnectAll(){s.LoggerClient.system.info("RouterClient.disconnectAll"),Object.keys(this.mapListeners).forEach((e=>{Array.from(new Set(this.mapListeners[e])).forEach((t=>{this.removeListener(e,t)}))})),Object.keys(this.mapQueryResponders).forEach((e=>{this.removeResponder(e)})),Object.keys(this.mapPubSubResponders).forEach((e=>{this.removePubSubResponder(e)})),Object.keys(this.mapSubscribersID).forEach((e=>{const t=this.mapSubscribersTopic[e];this.unsubscribe({topic:t,subscribeID:e})}))}}t.RouterConnection=f,t.RouterController={start:e=>{const t=(0,c.singleton)("RouterClient",f);return s.LoggerClient.setRouterClient(t),t.start(e)},stop:()=>{(0,c.singleton)("RouterClient",f).stop()},calibrateTimeWithRouterService(e){(0,c.singleton)("RouterClient",f).calibrateTimeWithRouterService(e)}},t.onReady=e=>(0,c.singleton)("RouterClient",f).onReady(e),t.addListener=(e,t)=>(0,c.singleton)("RouterClient",f).addListener(e,t),t.transmit=(e,t,r)=>{(0,c.singleton)("RouterClient",f).transmit(e,t,r)},t.removeListener=(e,t)=>{(0,c.singleton)("RouterClient",f).removeListener(e,t)},t.addResponder=(e,t)=>{(0,c.singleton)("RouterClient",f).addResponder(e,t)},t.query=(e,t,r,n)=>(0,c.singleton)("RouterClient",f).query(e,t,r,n),t.removeResponder=e=>{(0,c.singleton)("RouterClient",f).removeResponder(e)},t.addPubSubResponder=(e,t,r,n)=>{(0,c.singleton)("RouterClient",f).addPubSubResponder(e,t,r,n)},t.removePubSubResponder=e=>{(0,c.singleton)("RouterClient",f).removePubSubResponder(e)},t.subscribe=(e,t)=>(0,c.singleton)("RouterClient",f).subscribe(e,t),t.publish=(e,t)=>{(0,c.singleton)("RouterClient",f).publish(e,t)},t.unsubscribe=e=>{(0,c.singleton)("RouterClient",f).unsubscribe(e)},t.trustedMessage=e=>(0,c.singleton)("RouterClient",f).trustedMessage(e),t.disconnectAll=()=>{(0,c.singleton)("RouterClient",f).disconnectAll()},t.calibrateTimeWithRouterService=e=>{(0,c.singleton)("RouterClient",f).calibrateTimeWithRouterService(e)},t.RouterClient={onReady:t.onReady,addListener:t.addListener,transmit:t.transmit,removeListener:t.removeListener,addResponder:t.addResponder,query:t.query,removeResponder:t.removeResponder,addPubSubResponder:t.addPubSubResponder,removePubSubResponder:t.removePubSubResponder,subscribe:t.subscribe,publish:t.publish,unsubscribe:t.unsubscribe,trustedMessage:t.trustedMessage,disconnectAll:t.disconnectAll,calibrateTimeWithRouterService:t.calibrateTimeWithRouterService},t.default=t.RouterClient},10449: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.SearchClient=t.invokeProviderAction=t.invokeItemAction=t.search=t.unregister=t.register=void 0;const i=r(2518),o=r(10166),s=r(51848),a=r(7860),l=n(r(84795));i.Logger.system.debug("Starting searchClient");class c{constructor(){this.searchId=null,this.resultsCallback=null,this.providers={},this.resultProviders={},this.searchResultsList=[],this.isSearching=!1}}const u=()=>(0,a.singleton)("SearchClient",c),d=(e,t)=>{var r;const n=u();t.data.searchId&&t.data.searchId==n.searchId&&(n.resultProviders[t.data.provider.channel]=t.data,n.searchResultsList.push(t.data),null===(r=n.resultsCallback)||void 0===r||r.call(n,null,n.searchResultsList))};t.register=async(e,t)=>{if(!e.name){const e='"name" is required in params';return null==t||t(e),{err:e}}if(!e.searchCallback){const e='"searchCallback" is required in params';return null==t||t(e),{err:e}}await l.default.waitForStartup("searchService");const{windowName:r}=o.Startup.getInstance().getStartupData(),n=u(),{name:a,providerActionCallback:c,itemActionCallback:d,searchCallback:f}=e,p=`${r}.${a}`,{err:h,response:g}=await s.RouterClient.query("Search.register",{name:a,channel:p,providerActionTitle:e.providerActionTitle,providerActionCallback:!!e.providerActionCallback});if(h)return null==t||t(h),{err:h};n.providers[a]=a,s.RouterClient.addResponder(`Search.Provider.${p}`,((e,t)=>{!e&&t&&f(t.data,((e,r)=>{t.sendQueryResponse(e,r)}))})),d&&((e,t)=>{s.RouterClient.addResponder(`Search.Provider.ItemAction.${e}`,((r,n)=>{!r&&n?t(n.data,n.data.windowName,((e,t)=>{n.sendQueryResponse(e,t)})):i.Logger.system.error(`SearchClient error registering responder for "Search.Provider.ItemAction.${e}"`,r)}))})(p,d),c&&((e,t)=>{s.RouterClient.addResponder(`Search.Provider.Action.${e}`,((r,n)=>{!r&&n?t(n.data.windowName,((e,t)=>{n.sendQueryResponse(e,t)})):i.Logger.system.error(`SearchClient error registering responder for "Search.Provider.Action.${e}"`,r)}))})(p,c);const{data:m}=g;return null==t||t(null,m),{data:m}},t.unregister=async(e,t)=>{if(!e.name)return null==t?void 0:t("Provider name was not provided");const{windowName:r}=o.Startup.getInstance().getStartupData(),n=`${r}.${e.name}`;await s.RouterClient.query("Search.unregister",{channel:n});const i=u();s.RouterClient.removeResponder(`Search.Provider.${n}`),s.RouterClient.removeResponder(`Search.Provider.ItemAction.${n}`),s.RouterClient.removeResponder(`Search.Provider.Action.${n}`),delete i.providers[e.name],null==t||t()},t.search=async(e,t)=>{await l.default.waitForStartup("searchService");const r=u(),{windowName:n}=o.Startup.getInstance().getStartupData();r.isSearching||(s.RouterClient.addPubSubResponder(`Search.${n}`),s.RouterClient.subscribe(`Search.${n}`,d),r.isSearching=!0),r.searchResultsList=[],e.windowName=n;const{err:i,response:a}=await s.RouterClient.query("Search.search",e);if(i)return t(i);r.resultsCallback=t,r.searchId=a.data.searchId},t.invokeItemAction=(e,t)=>{s.RouterClient.query(`Search.Provider.ItemAction.${e.provider}`,{item:e,action:t,windowName:o.Startup.getInstance().currentStartupData.windowName})},t.invokeProviderAction=e=>{s.RouterClient.query(`Search.Provider.Action.${e.channel}`,{windowName:o.Startup.getInstance().currentStartupData.windowName})},t.SearchClient={initialize:()=>{i.Logger.system.deprecated("It is no longer necessary to call SearchClient.initialize()")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call SearchClient.onReady()"),null==e||e()},invokeProviderAction:t.invokeProviderAction,invokeItemAction:t.invokeItemAction,search:t.search,unregister:t.unregister,register:t.register},t.default=t.SearchClient},95085: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=t.clearCache=t.deleteInner=t.remove=t.getMultiple=t.keys=t.get=t.getStandardized=t.save=t.setStore=t.setUser=void 0;const i=r(2518),o=r(23099),s=r(51848),a=n(r(84795)),l=(0,n(r(83027)).default)(1),c=(e,...t)=>{(e?i.Logger.system.error:i.Logger.system.info)(...t,e)};t.setUser=async(e,t)=>{await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.setUser",{user:e.user});return c(r,"APPLICATION LIFECYCLE:StorageClient.setUser",e,r,n.data),null==t||t(r),{err:r}},t.setStore=async(e,t)=>{i.Logger.deprecated("StorageClient.setStore() has been deprecated and will be removed in a future release"),i.Logger.system.log("APPLICATION LIFECYCLE:StorageClient.setStore",e,t),await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.setStore",e);return c(r,"Storage.setStore",n),null==t||t(r,n.data),{err:r,data:n.data}},t.save=async(e,t)=>{if("string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.save",e);if(c(r,"Storage.save",n.data),null==t||t(r,n.data),r)throw r;return{err:r,data:n.data}},t.getStandardized=async(e,t)=>{if("string"!=typeof e.key||"string"!=typeof e.topic)throw new Error("Values for key and topic must be strings.");await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.get",e);return c(r,"Storage.get",n.data),null==t||t(r,n.data),{err:r,data:n.data}},t.get=async(e,r)=>{const{err:n,data:i}=await(0,t.getStandardized)(e);if(null==r||r(n,i),n)throw n;return i},t.keys=async(e,t)=>{i.Logger.system.debug("StorageClient.keys",e,t),await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.keys",e);return c(r,"Storage.keys",n.data),null==t||t(r,n.data),{err:r,data:n.data}},t.getMultiple=async(e,t)=>{i.Logger.deprecated("StorageClient.getMultiple() is deprecated and will be removed in a future release"),i.Logger.system.info("StorageClient.getMultiple",e,t),await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.getMultiple",e);return c(r,"StorageClient.getMultiple:",e,n),null==t||t(r,n),{err:r,data:n.data}},t.remove=async(e,t)=>{await a.default.waitForStartup("storageService");const{err:r,response:n}=await s.RouterClient.query("Storage.delete",e);if(c(r,"StorageClient.delete",n.data),null==t||t(r,n.data),r)throw r;return{err:r,data:n.data}},t.deleteInner=(...e)=>{i.Logger.deprecated("StorageClient.delete() is deprecated and will be removed in a future release"),t.remove.apply(e)},t.clearCache=async e=>{i.Logger.system.log("StorageClient.clearCache",e),await a.default.waitForStartup("storageService");const{err:t,response:r}=await s.RouterClient.query("Storage.clearCache",null);return c(t,"StorageClient.clearCache",r.data),null==e||e(t,r.data),{err:t,data:r.data}},t.StorageClient={initialize:()=>{i.Logger.system.deprecated("It is no longer necessary to call StorageClient.initialized()")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call StorageClient.onReady()"),null==e||e()},clearCache:t.clearCache,remove:t.remove,getMultiple:t.getMultiple,keys:t.keys,getStandardized:t.getStandardized,get:t.get,save:t.save,setStore:t.setStore,setUser:t.setUser,delete:t.deleteInner,remove1:e=>{i.Logger.deprecated("StorageClient.remove1() is deprecated and will be removed in a future release"),l((()=>(0,t.remove)(e)))},get1:(e,r)=>(i.Logger.deprecated("StorageClient.get1() is deprecated and will be removed in a future release"),l((()=>(0,t.get)(e,r)))),save1:e=>{i.Logger.deprecated("StorageClient.save1() is deprecated and will be removed in a future release"),l((()=>(0,t.save)(e)))},keys1:e=>(i.Logger.deprecated("StorageClient.keys1() is deprecated and will be removed in a future release"),l((()=>(0,o.promisify)(t.keys)(e))))},t.default=t.StorageClient},97525: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.WindowClient=t.fitToDOM=t.showAtMousePosition=t.stopTilingOrTabbing=t.sendIdentifierForTilingOrTabbing=t.cancelTilingOrTabbing=t.stopMovingWindow=t.startMovingWindow=t.startTilingOrTabbing=t.setShape=t.getBounds=t.getWindowIdentifier=t.getCurrentWindow=t.getSpawnData=t.ejectFromGroup=t.formGroup=t.getWindowNameForDocking=t.removeComponentState=t.setComponentState=t.getComponentState=t.setTaskbarIconOverlay=t.restore=t.setAlwaysOnTop=t.bringWindowToFront=t.bringToFront=t.minimize=t.maximize=t.getWindowTitle=t.close=t.getControllerInstance=void 0;const i=r(49136),o=r(91374),s=r(2518),a=r(51848),l=r(44137),c=r(23099),u=r(94017),d=r(24137),f=r(59273),p=r(7860),h=n(r(84795)),g=r(83823);class m{constructor(){this.options={},this.title=null,this.windowGroups=[],this.commandChannel=void 0}groupUpdateHandler(e,t){e?s.Logger.error(e):t.data&&t.data.groupData&&(this.windowGroups=Object.values(t.data.groupData).filter((e=>e.windowNames.includes((0,d.deprecatedGetWindowNameForDocking)(l.FEAGlobals.finsembleWindow)))))}updateHeaderState(e,t){var r;null===(r=this.commandChannel)||void 0===r||r.call(this,e,t)}setStartupData(e){this.options=e}async start(){await h.default.waitForStartup("windowService"),a.RouterClient.subscribe("Finsemble.WorkspaceService.groupUpdate",((e,t)=>this.groupUpdateHandler(e,t))),l.FEAGlobals.finsembleWindow.addEventListener("maximized",(()=>{this.updateHeaderState("Maximize",{hide:!0})})),l.FEAGlobals.finsembleWindow.addEventListener("restored",(()=>{this.updateHeaderState("Maximize",{hide:!1})})),l.FEAGlobals.finsembleWindow.addEventListener("blurred",(()=>{(0,d.deprecatedSetActive)(!1)})),l.FEAGlobals.finsembleWindow.addEventListener("focused",(()=>{(0,d.deprecatedSetActive)(!0)}))}}t.getControllerInstance=()=>(0,p.singleton)("WindowClient",m),t.close=(e,t)=>{e||(e={removeFromWorkspace:!0,closeWindow:!0});const{parentWindow:r}=l.FEAGlobals.finsembleWindow;return e.userInitiated&&r?r.close(e,t):l.FEAGlobals.finsembleWindow.close(e,t)},t.getWindowTitle=()=>(0,t.getControllerInstance)().title,t.maximize=e=>l.FEAGlobals.finsembleWindow.maximize(null,e),t.minimize=e=>l.FEAGlobals.finsembleWindow.minimize(null,e),t.bringToFront=e=>l.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e),t.bringWindowToFront=e=>{s.Logger.system.deprecated("WindowClient.bringWindowToFront() has been deprecated. Please use WindowClient.bringToFront() which returns a promise."),l.FEAGlobals.finsembleWindow.bringToFront({forceFocus:!0},e)},t.setAlwaysOnTop=(e,t)=>l.FEAGlobals.finsembleWindow.setAlwaysOnTop({alwaysOnTop:e},t),t.restore=e=>l.FEAGlobals.finsembleWindow.restore(null,e),t.setTaskbarIconOverlay=e=>{l.FEAGlobals.fin.desktop.Window.setTaskbarIconOverlay({iconURL:e})};const y=async e=>{if((null==e?void 0:e.windowName)&&(null==e?void 0:e.windowName.length)>0){const{wrap:t}=await g.FinsembleWindow.getInstance({name:e.windowName});return t}return l.FEAGlobals.finsembleWindow};t.getComponentState=async(e,t)=>new Promise((async r=>{e||(e={}),e.fields&&!Array.isArray(e.fields)&&(e.fields=[e.fields]),(await y(e)).getComponentState(e,((e,n)=>{null==t||t(e,n),r({err:e,data:n})}))})),t.setComponentState=async(e,t)=>new Promise((async r=>{(await y(e)).setComponentState(e,(e=>{null==t||t(e),r({err:e})}))})),t.removeComponentState=async(e,t)=>new Promise((async r=>{(await y(e)).removeComponentState(e,(e=>{null==t||t(e),r({err:e})}))})),t.getWindowNameForDocking=()=>(s.Logger.deprecated("WindowClient.getWindowNameForDocking is deprecated and will be removed"),(0,d.deprecatedGetWindowNameForDocking)(l.FEAGlobals.finsembleWindow)),t.formGroup=()=>{l.FEAGlobals.finsembleWindow.formGroup()},t.ejectFromGroup=()=>{s.Logger.deprecated("WindowClient.ejectFromGroup is deprecated and will be removed"),l.FEAGlobals.finsembleWindow.ejectFromGroup()};const v=e=>{const r=(0,t.getControllerInstance)();r.title=e,r.updateHeaderState("Main",{windowTitle:e}),l.FEAGlobals.finsembleWindow.setTitle(e)};t.getSpawnData=()=>{var e,r,n;return null!==(n=null===(r=null===(e=(0,t.getControllerInstance)().options)||void 0===e?void 0:e.customData)||void 0===r?void 0:r.spawnData)&&void 0!==n?n:{}},t.getCurrentWindow=()=>(s.Logger.log("WindowClient.getCurrentWindow() is deprecated and will be removed in a future release."),o.System.Window.getCurrent()),t.getWindowIdentifier=()=>{var e,r,n,i,o,s,a,c;const u=(0,t.getControllerInstance)();return{windowName:null!==(r=null===(e=l.FEAGlobals.finsembleWindow)||void 0===e?void 0:e.name)&&void 0!==r?r:window.name,uuid:null!==(i=null===(n=l.FEAGlobals.finsembleWindow)||void 0===n?void 0:n.uuid)&&void 0!==i?i:void 0,componentType:null!==(c=null===(a=null===(s=null===(o=u.options)||void 0===o?void 0:o.customData)||void 0===s?void 0:s.component)||void 0===a?void 0:a.type)&&void 0!==c?c:null}},t.getBounds=e=>l.FEAGlobals.finsembleWindow.getBounds(e),t.setShape=(e,t=Function.prototype)=>{l.FEAGlobals.finsembleWindow.setShape(e,t)},t.startTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.startTilingOrTabbing is deprecated and will be removed"),a.RouterClient.transmit("DockingService.startTilingOrTabbing",e),null==t||t()},t.startMovingWindow=e=>{o.System.Window.getCurrent().startMovingWindow(e)},t.stopMovingWindow=()=>{o.System.Window.getCurrent().stopMovingWindow()},t.cancelTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.cancelTilingOrTabbing is deprecated and will be removed"),console.debug("CancelTilingOrTabbing"),a.RouterClient.transmit("DockingService.cancelTilingOrTabbing",e),null==t||t()},t.sendIdentifierForTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.sendIdentifierForTilingOrTabbing is deprecated and will be removed"),a.RouterClient.transmit("DockingService.identifierForTilingOrTabbing",e),null==t||t()},t.stopTilingOrTabbing=(e,t)=>{s.Logger.deprecated("WindowClient.stopTilingOrTabbing is deprecated and will be removed");const r=()=>{a.RouterClient.query("DockingService.stopTilingOrTabbing",e,(()=>{null==t||t()})),a.RouterClient.transmit("DockingService.stopTilingOrTabbing",e)};e.mousePosition?(r(),e.allowDropOnSelf||null==t||t()):o.System.getMousePosition(((n,i)=>{e.mousePosition=i,r(),e.allowDropOnSelf||null==t||t()}))},t.showAtMousePosition=()=>{a.RouterClient.transmit("DockingService.showAtMousePosition",(0,t.getWindowIdentifier)())},t.fitToDOM=async(e,t)=>{var r,n,i,o,c,d,f,p,h,g;"function"==typeof e&&(t=e,e=null);const m=null!==(n=null===(r=null==e?void 0:e.padding)||void 0===r?void 0:r.height)&&void 0!==n?n:0,y=null!==(o=null===(i=null==e?void 0:e.padding)||void 0===i?void 0:i.width)&&void 0!==o?o:0,{data:v}=await l.FEAGlobals.finsembleWindow.getBounds();if(!v)return;const{data:w}=await(0,u.getWhichMonitorClientSide)(a.RouterClient,{}),b=null!==(d=null===(c=null==w?void 0:w.availableRect)||void 0===c?void 0:c.height)&&void 0!==d?d:1/0,S=null!==(p=null===(f=null==w?void 0:w.availableRect)||void 0===f?void 0:f.width)&&void 0!==p?p:1/0,C=v.height-window.innerHeight,_=window.innerWidth-document.getElementsByTagName("html")[0].clientWidth,k=window.innerHeight-document.getElementsByTagName("html")[0].clientHeight?1:0,E=document.documentElement.offsetHeight+m+C+k,L=document.documentElement.scrollWidth+y+_,T=Math.min(E,null!==(h=null==e?void 0:e.maxHeight)&&void 0!==h?h:E,b),A=Math.min(L,null!==(g=null==e?void 0:e.maxWidth)&&void 0!==g?g:L,S);s.Logger.system.debug("WindowClient.FitToDOM:newHeight:newWidth",T,A,e),v.width==A&&v.height==T||await l.FEAGlobals.finsembleWindow.setBounds({bounds:{left:v.left,top:v.top,width:A,height:T}}),null==t||t()},t.WindowClient={initialize:()=>{s.Logger.deprecated("There is no need to call WindowClient.initialize().")},onReady:e=>{s.Logger.system.deprecated("It is no longer necessary to call WindowClient.onReady()"),null==e||e()},addListeners:()=>{s.Logger.deprecated("Do not call WindowClient.addListeners() directly")},bringToFront:t.bringToFront,bringWindowToFront:t.bringWindowToFront,cacheInitialBounds:async()=>{s.Logger.deprecated("WindowClient.cacheInitialBounds() is deprecated and will be removed in a future version."),(0,f.cacheInitialBounds)()},cancelTilingOrTabbing:t.cancelTilingOrTabbing,close:t.close,ejectFromGroup:t.ejectFromGroup,fitToDOM:t.fitToDOM,formGroup:t.formGroup,getBounds:t.getBounds,getComponentState:t.getComponentState,getCurrentWindow:t.getCurrentWindow,getDesktopBoundingBox:async e=>(s.Logger.deprecated("WindowClient.getDesktopBoundingBox() is deprecated and will be removed in a future release."),(0,c.getDesktopBoundingBox)(e)),getMonitorInfo:async(e={},t)=>(s.Logger.deprecated("WindowClient.getMonitorInfo() is deprecated and will be removed. Please use LauncherClient.getMonitorInfo()"),(0,u.getWhichMonitorClientSide)(a.RouterClient,e,t)),getSpawnData:t.getSpawnData,getStackedWindow:(e,t)=>{if(s.Logger.deprecated("WindowClient.getStackedWindow is deprecated and will be removed"),s.Logger.system.debug("WindowClient.getStackedWindow",e),t=t||e,(e=e||{}).windowIdentifiers=e.windowIdentifiers||[],!l.FEAGlobals.finsembleWindow.parentWindow&&e.create){const r=e=>{const{parentName:n}=e.data;l.FEAGlobals.finsembleWindow.setParent({windowName:n},((e,r)=>{null==t||t(e,r)})),l.FEAGlobals.finsembleWindow.removeListener("parent-set",r)};l.FEAGlobals.finsembleWindow.addListener("parent-set",r),i.LauncherClient.spawn("StackedWindow",{windowType:"StackedWindow",data:{windowIdentifiers:e.windowIdentifiers},options:{newStack:!0}},((e,r)=>{s.Logger.system.debug("WindowClient.getStackedWindow-success",e,r),e&&(null==t||t(e,null))}))}else l.FEAGlobals.finsembleWindow.getParent(t)},getWindowTitle:t.getWindowTitle,getWindowBounds:()=>(s.Logger.deprecated("WindowClient.getWindowBounds() is deprecated and will be removed in a future version."),{top:l.FEAGlobals.finsembleWindow.windowOptions.defaultTop,left:l.FEAGlobals.finsembleWindow.windowOptions.defaultLeft,width:l.FEAGlobals.finsembleWindow.windowOptions.defaultWidth,height:l.FEAGlobals.finsembleWindow.windowOptions.defaultHeight}),getWindowGroups:()=>(s.Logger.deprecated("getWindowGroups() is deprecated and will be removed in a future release."),(0,t.getControllerInstance)().windowGroups),getWindowNameForDocking:t.getWindowNameForDocking,getWindowIdentifier:t.getWindowIdentifier,headerCommandChannel:e=>{(0,t.getControllerInstance)().commandChannel=e},injectDOM:e=>{if(s.Logger.system.deprecated("WindowClient.injectDOM() has been deprecated and will be removed in a future release"),document.getElementById("FSBLHeader"))return;window.scrollTo(0,0);const t=document.createElement("div"),r=e?` style=height:${e}`:"";t.innerHTML=`<div id="FSBLHeader"${r}></div>`,t.firstChild&&document.body.insertBefore(t.firstChild,document.body.firstChild)},isMouseOverDOMElement:(e,t)=>(s.Logger.deprecated("WindowClient.isMouseOverDOMElement() is deprecated and will be removed in a future release."),(0,c.isMouseOverDOMElement)(e,t)),isPointInBox:(e,t)=>(s.Logger.deprecated("WindowClient.isPointInBox() is deprecated and will be removed in a future release."),(0,c.isPointInBox)(e,t)),maximize:t.maximize,minimize:t.minimize,removeComponentState:t.removeComponentState,restore:t.restore,retrieveMonitorDimensions:async e=>{s.Logger.deprecated("WindowClient.retrieveMonitorDimensions() is deprecated and will be removed in a future release.");const t=await(0,u.getMonitor)();l.FEAGlobals.finsembleWindow.updateOptions({options:{monitorDimensions:t.monitorRect}}),null==e||e(t.monitorRect)},saveWindowBounds:(e,t)=>{if(s.Logger.system.debug("WINDOW LIFECYCLE:SavingBounds:",e,"setActiveWorkspaceDirty",t),void 0===t&&(t=!1),e){l.FEAGlobals.finsembleWindow.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{l.FEAGlobals.finsembleWindow.windowOptions.customData.foreign.components["Window Manager"].persistWindowState}catch(e){}}},sendIdentifierForTilingOrTabbing:t.sendIdentifierForTilingOrTabbing,setActive:e=>{s.Logger.deprecated("WindowClient.setActive is deprecated and will be removed"),(0,d.deprecatedSetActive)(e)},setAlwaysOnTop:t.setAlwaysOnTop,setComponentState:t.setComponentState,setShape:t.setShape,setTaskbarIconOverlay:t.setTaskbarIconOverlay,setWindowTitle:e=>{s.Logger.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."),v(e)},setWindowTitlePrivate:v,showAtMousePosition:t.showAtMousePosition,stopTilingOrTabbing:t.stopTilingOrTabbing,startMovingWindow:t.startMovingWindow,startTilingOrTabbing:t.startTilingOrTabbing,stopMovingWindow:t.stopMovingWindow,get options(){return(0,t.getControllerInstance)().options},set options(e){(0,t.getControllerInstance)().options=e},get title(){return(0,t.getControllerInstance)().title},set title(e){(0,t.getControllerInstance)().title=e},get windowGroups(){return(0,t.getControllerInstance)().windowGroups},set windowGroups(e){(0,t.getControllerInstance)().windowGroups=e},get commandChannel(){return(0,t.getControllerInstance)().commandChannel},set commandChannel(e){(0,t.getControllerInstance)().commandChannel=e}},t.default=t.WindowClient},2740: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.WorkspaceClient=t.autoArrange=t.minimizeAll=t.bringWindowsToFront=t.exportToFile=t.importWorkspace=t.exportWorkspace=t.createWorkspace=t.isWorkspaceDirty=t.setWindowState=t.switchTo=t.saveAs=t.save=t.rename=t.remove=t.setWorkspaceOrder=t.getWorkspaceNames=t.getWorkspaceActions=t.getWorkspaces=t.getActiveWorkspace=t.removeEventListener=t.addEventListener=t.getControllerInstance=t.WorkspaceClientController=void 0;const i=r(2518),o=r(26604),s=r(64324),a=r(51848),l=n(r(9060)),c=r(7860),u=r(31755),d=r(81064),f=n(r(9381));class p{constructor(){this.workspaces=[],this.publicEventManager=new l.default({name:"workspaceClient",sourceType:"workspace"}),a.RouterClient.subscribe(o.WORKSPACE.UPDATE_PUBSUB,((e,t)=>{i.Logger.system.debug(`${o.WORKSPACE.UPDATE_PUBSUB} response`,e,t),e?i.Logger.system.error(e):(this.activeWorkspace=t.data.activeWorkspace,this.workspaces=t.data.workspaces)}))}}t.WorkspaceClientController=p,t.getControllerInstance=()=>(0,c.singleton)("WorkspaceClient",p);const h=(e,t,r,n,i)=>{if(e)return n(new Error(e)),null==i?void 0:i(e);t||(t={data:null}),r(t.data),null==i||i(null,t.data)};t.addEventListener=(e,r)=>{(0,t.getControllerInstance)().publicEventManager.addEventListener(e,r)},t.removeEventListener=(e,r)=>{(0,t.getControllerInstance)().publicEventManager.removeEventListener(e,r)},t.getActiveWorkspace=async e=>{var r;const n=(0,t.getControllerInstance)(),{activeWorkspace:s}=n;if(i.Logger.system.debug("WorkspaceClient.getActiveWorkspace"),s)return i.Logger.system.info("WorkspaceClient.getActiveWorkspace - returning from cache"),e&&e(null,{data:s}),{data:s};const{response:l}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE,{});if(n.activeWorkspace=l.data,l.data.err)throw e&&e(l.data.err),new Error(l.data.err);return e&&e(null,{data:null!==(r=l.data)&&void 0!==r?r:{}}),{data:l.data}},t.getWorkspaces=e=>(i.Logger.system.debug("WorkspaceClient.getWorkspaces"),new Promise((async(t,r)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_WORKSPACES,{},((n,i)=>{h(n,i,t,r,e)}))}))),t.getWorkspaceActions=e=>(null==e||e(null,o.WORKSPACE.API_CHANNELS),o.WORKSPACE.API_CHANNELS),t.getWorkspaceNames=e=>{i.Logger.system.debug("WorkspaceClient.getWorkspaceNames");const r=(0,t.getControllerInstance)(),{workspaces:n}=r;return n?(i.Logger.system.info("WorkspaceClient.getWorkspaceNames - returning from cache"),null==e||e(null,n),Promise.resolve(n)):new Promise((async(t,r)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_WORKSPACE_NAMES,{},((n,i)=>{h(n,i,t,r,e)}))}))},t.setWorkspaceOrder=(e,t)=>{const{workspaces:r}=e;return i.Logger.system.debug("WorkspaceClient.setWorkspaceOrder",e),new Promise(((n,i)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SET_WORKSPACE_ORDER,r||e,((e,r)=>{h(e,r,n,i,t)}))}))},t.remove=(e,r)=>(i.Logger.system.debug("WorkspaceClient.remove",e),new Promise((async(n,s)=>{var l;e.name||(e.name=null===(l=e.workspace)||void 0===l?void 0:l.name,delete e.workspace);const c=(await(0,t.getActiveWorkspace)()).data,{data:u}=await f.default.getValue("finsemble.servicesConfig.workspace.permanentWorkspaces");return u&&Array.isArray(u)&&u.includes(e.name)?(i.Logger.system.error(`APPLICATION LIFECYCLE: Cannot remove permanent workspace: WorkspaceClient.remove:attempt to remove permanent workspace name:${e.name}`),h("Cannot remove permanent workspace",null,n,s,r)):e.name===c.name?(i.Logger.system.error(`APPLICATION LIFECYCLE: Cannot remove active workspace: WorkspaceClient.remove:attempt to remove active workspace name:${c.name}`),h("Cannot remove active workspace",null,n,s,r)):void a.RouterClient.query(o.WORKSPACE.API_CHANNELS.REMOVE,e,((e,t)=>{h(e,t,n,s,r)}))})));const g=e=>(0,t.getControllerInstance)().workspaces.indexOf(e)>-1;t.rename=(e,t)=>(i.Logger.system.debug("WorkspaceClient.rename",e),new Promise(((r,n)=>{if(!e.overwriteExisting&&g(e.newName))return h("Workspace Already Exists",null,r,n,t);a.RouterClient.query(o.WORKSPACE.API_CHANNELS.RENAME,e,((e,i)=>{h(e,i,r,n,t)}))}))),t.save=e=>(i.Logger.system.debug("WorkspaceClient.save"),new Promise(((t,r)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SAVE,{},((n,i)=>{h(n,i,t,r,e)}))}))),t.saveAs=(e,t)=>(i.Logger.system.debug("WorkspaceClient.saveAs",e),new Promise(((r,n)=>e.name?!e.force&&e.name&&g(e.name)?h("Workspace Already Exists",null,r,n,t):void a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SAVE_AS,e,((e,i)=>{h(e,i,r,n,t)})):h("Invalid arguments. The required name parameter is missing.",null,r,n,t)))),t.switchTo=async(e,t)=>{i.Logger.system.debug("WorkspaceClient.switchTo",e);const{err:r,response:n}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SWITCH_TO,e);if(r)throw t&&t(r),new Error(r.toString());return t&&t(r,n.data),{data:n.data}},t.setWindowState=async e=>{var r,n;const s=(0,t.getControllerInstance)(),{activeWorkspace:l}=s;if(!l)throw"Workspace is not yet ready";if(!l.windows.includes(e.windowName))throw"Cannot set state for Window not in workspace";i.Logger.system.debug("WorkspaceClient.setWindowData",e);const{response:c}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.SET_WINDOW_STATE,e);return Object.assign(Object.assign({},c),{data:null!==(r=c.data)&&void 0!==r?r:{},header:null!==(n=c.header)&&void 0!==n?n:{}})},t.isWorkspaceDirty=async e=>{i.Logger.system.debug("WorkspaceClient.isWorkspaceDirty");const{err:t,response:r}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_ACTIVE_WORKSPACE_DIRTY,{},(()=>{}));return null==e||e(t,r),r.data},t.createWorkspace=async(e,r,n=((e,t)=>{e&&(i.Logger.system.error(`Error creating workspace: ${e}`),i.Logger.system.info(`Result from create workspace: ${t}`))}))=>{r=null!=r?r:{},i.Logger.system.log(`WorkspaceClient: Creating Workspace Request for name "${e}"`);const s=(await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.NEW_WORKSPACE,{workspaceName:e})).response.data;!1!==r.switchAfterCreation&&await(0,t.switchTo)({name:s});const l={workspaceName:s};return n(null,l),l},t.exportWorkspace=(e,t)=>(i.Logger.system.debug("WorkspaceClient.export",e),new Promise(((r,n)=>{a.RouterClient.query(o.WORKSPACE.API_CHANNELS.EXPORT,e,((i,o)=>{const s={};s[e.workspaceName]=o.data,h(i,{data:s},r,n,t)}))}))),t.importWorkspace=async(e,t)=>{i.Logger.system.debug("WorkspaceClient.import",e);const r=(await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.IMPORT,e)).response.data;if(r&&r.err)throw null==t||t(r.err),new Error(r.err);return null==t||t(null,r),r},t.exportToFile=e=>{i.Logger.system.info("workspaceClient.saveWorkspaceTemplateToConfigFile",e);const{workspaceTemplateDefinition:t}=e;if("object"==typeof t){const e=Object.keys(t)[0];if(e&&t[e].templateDefinitionFlag){const r={workspaceTemplates:t};s.ConfigUtilInstance.promptAndSaveJSONToLocalFile(`workspaceConfig-${e}`,r)}else i.Logger.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile. Input is not a legal template")}else i.Logger.system.error("workspaceClient.saveWorkspaceTemplateToConfigFile: Input is not a legal object")};var m=r(31755);Object.defineProperty(t,"bringWindowsToFront",{enumerable:!0,get:function(){return m.bringAllWindowsToFront}}),Object.defineProperty(t,"minimizeAll",{enumerable:!0,get:function(){return m.minimizeAll}}),Object.defineProperty(t,"autoArrange",{enumerable:!0,get:function(){return m.autoArrange}}),t.WorkspaceClient={saveWorkspaceTemplateToConfigFile:e=>(i.Logger.system.deprecated("`WorkspaceClient.saveWorkspaceTemplateToConfigFile()` is deprecated and will be removed in a future release. Use WorkspaceClient.exportToFile()"),(0,t.exportToFile)(e)),addWorkspaceDefinition:(e,r)=>(i.Logger.system.deprecated("`WorkspaceClient.addWorkspaceDefinition()` is deprecated and will be removed in a future release. Use WorkspaceClient.importWorkspace()"),(0,t.importWorkspace)(e,r)),getWorkspaceDefinition:(e,r)=>(i.Logger.system.deprecated("`WorkspaceClient.getWorkspaceDefinition()` is deprecated and will be removed in a future release. Use WorkspaceClient.exportWorkspace()"),(0,t.exportWorkspace)(e,r)),createNewWorkspace:(e,r,n)=>(i.Logger.system.deprecated("`WorkspaceClient.createNewWorkspace()` is deprecated and will be removed in a future release. Use WorkspaceClient.createWorkspace()"),(0,t.createWorkspace)(e,r,n)),setWorkspaces:(e,r)=>(i.Logger.system.deprecated("`WorkspaceClient.setWorkspaces()` is deprecated and will be removed in a future release. Use WorkspaceClient.setWorkspaceOrder()"),(0,t.setWorkspaceOrder)(e,r)),initialize:()=>{i.Logger.system.deprecated("`It is no longer necessary to call WorkspaceClient.initialize().")},onReady:e=>{i.Logger.system.deprecated("It is no longer necessary to call WorkspaceClient.onReady()"),null==e||e()},removeWindow:(e,t)=>{i.Logger.system.deprecated("`WorkspaceClient.removeWindow()` is deprecated and will be removed in a future release."),(0,d.removeWindowReferenceFromActiveWorkspace)(e,t)},addWindow:(e,t)=>{i.Logger.system.deprecated("`WorkspaceClient.addWindow()` is deprecated and will be removed in a future release."),(0,d.addWindowReferenceToActiveWorkspace)(e,t)},get workspaces(){return(0,t.getControllerInstance)().workspaces},get activeWorkspace(){return(0,t.getControllerInstance)().activeWorkspace},export:t.exportWorkspace,import:t.importWorkspace,exportToFile:t.exportToFile,createWorkspace:t.createWorkspace,isWorkspaceDirty:t.isWorkspaceDirty,_getWindowState:async e=>{var t,r;i.Logger.system.deprecated("`WorkspaceClient._getWindowState()` is deprecated and will be removed in a future release. Use WorkspaceClient.getWorkspaces()"),i.Logger.system.debug("WorkspaceClient.getWindowData",e);const{response:n}=await a.RouterClient.query(o.WORKSPACE.API_CHANNELS.GET_WINDOW_STATE,e);return Object.assign(Object.assign({},n),{data:null!==(t=n.data)&&void 0!==t?t:{},header:null!==(r=n.header)&&void 0!==r?r:{}})},_setWindowState:e=>(i.Logger.system.deprecated("`WorkspaceClient._setWindowState()` is deprecated and will be removed in a future release. Use WorkspaceClient.getWorkspaces()"),(0,t.setWindowState)(e)),switchTo:t.switchTo,saveAs:t.saveAs,workspaceExists:e=>{i.Logger.system.deprecated("`WorkspaceClient.workspaceExists()` is deprecated and will be removed in a future release. Use WorkspaceClient.getWorkspaces()"),g(e)},save:t.save,rename:t.rename,remove:t.remove,setWorkspaceOrder:t.setWorkspaceOrder,getWorkspaceNames:t.getWorkspaceNames,getWorkspaceActions:t.getWorkspaceActions,getWorkspaces:t.getWorkspaces,getActiveWorkspace:t.getActiveWorkspace,bringWindowsToFront:u.bringAllWindowsToFront,minimizeAll:u.minimizeAll,autoArrange:u.autoArrange,addEventListener:t.addEventListener,removeEventListener:t.removeEventListener},t.default=t.WorkspaceClient},31755: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.bringAllWindowsToFront=t.minimizeAll=t.autoArrange=t.minimizeWindows=t.bringWindowsToFront=t.restartApplication=t.shutdownApplication=void 0;const i=r(51848),o=n(r(84795)),s=r(23099);t.shutdownApplication=()=>{i.RouterClient.transmit("Application.shutdown",{})},t.restartApplication=e=>{i.RouterClient.transmit("Application.restart",e||{})},t.bringWindowsToFront=async(e={},t=Function.prototype)=>(e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),await o.default.waitForStartup("windowService"),i.RouterClient.query("LauncherService.bringWindowsToFront",e,((e,r)=>{t(e,r)})),Promise.resolve()),t.minimizeWindows=async(e,t)=>{e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]),await o.default.waitForStartup("windowService"),i.RouterClient.transmit("LauncherService.minimizeWindows",e),null==t||t()},t.autoArrange=async(e,t)=>{e=e||{},await o.default.waitForStartup("windowService");const r=await(0,s.getMyWindowIdentifier)(),{err:n}=await i.RouterClient.query("DockingService.autoArrange",{windowIdentifier:r});return null==t||t(n),{err:n}},t.minimizeAll=async(e,t)=>{var r;await o.default.waitForStartup("windowService");const n=await(0,s.getMyWindowIdentifier)();let a=null!=e?e:{monitor:"all"};a.windowIdentifier=null!==(r=a.windowIdentifier)&&void 0!==r?r:n;const{err:l}=await i.RouterClient.query("WorkspaceService.minimizeAll",a);return null==t||t(l),{err:l}},t.bringAllWindowsToFront=async(e,t)=>{var r;await o.default.waitForStartup("windowService");const n=await(0,s.getMyWindowIdentifier)(),a=null!=e?e:{monitor:"all"};a.windowIdentifier=null!==(r=a.windowIdentifier)&&void 0!==r?r:n;const{err:l}=await i.RouterClient.query("WorkspaceService.bringWindowsToFront",a);return null==t||t(l),{err:l}}},83823:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(51848),l=r(2518),c=o(r(23099)),u=s(r(9060)),d=r(26604),f=r(91374),p=r(44137),h=s(r(50361));class g{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)}}class m extends u.default{constructor(e){super({name:e.name,sourceType:"Window"}),this.types={},this.wrapState=e.wrapState||"initializing",this.componentState={},this.windowState=d.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=c.camelCase("activeWorkspace",this.name,this.name),this.windowKey=c.camelCase("activeWorkspace",this.name),m.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,r=!1){if("closed"!==e||!p.FEAGlobals.finsembleWindow||this.name!==p.FEAGlobals.finsembleWindow.name)return e=this.standardizeEventName(e),super.removeEventListener(e,t,r)}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 m(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=m;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 async createWrapFromUUIDAndName(e,t){var r;const{uuid:n,windowType:i}=t;if(!1!==t.waitForReady)try{await m._windowReady(e),t.wrapState="ready"}catch(e){return{err:e}}l.Logger.system.debug("WRAP LIFECYCLE:",e,"All information for wrap passed in, creating wrap locally");const o=m.cache[e];return o?(l.Logger.system.debug("WRAP LIFECYCLE:",e,"Window found in the cache, returning without going to the Launcher"),{data:o}):{data:(await m._createWrap(Object.assign(Object.assign({},t),{windowIdentifier:null!==(r=t.windowIdentifier)&&void 0!==r?r:{uuid:n,name:e,windowName:e,windowType:i}}))).wrap}}static getInstance(e,t){var r;const n=f.System.Window.getCurrent().name,i=null!==(r=null==(e=(0,h.default)(e))?void 0:e.windowName)&&void 0!==r?r:null==e?void 0:e.name;return new Promise((async(r,o)=>{if(!i){const e='"name" is a required param';return null==t||t(e),void o(e)}e.windowName=i;let s=m.cache[i];if(s)return l.Logger.system.debug("WRAP LIFECYCLE:",i,"Window found in the cache, returning without going to the Launcher"),null==t||t(null,s),void r({wrap:s});if(e.name){const{err:n,data:s}=await m.createWrapFromUUIDAndName(i,e);return n||!s?(null==t||t(n),void o(n)):(null==t||t(null,s),void r({wrap:s}))}if(!1!==e.waitForReady)try{await m._windowReady(i),e.wrapState="ready"}catch(c){return null==t||t(c,null),void o(c)}const{err:c,response:u}=await a.RouterClient.query("WindowService-Request-getWindowIdentifier",{windowName:i,requester:n});if(c)return l.Logger.system.error(c),null==t||t(c,null),void o(c);if(s=m.cache[i],s)return l.Logger.system.debug("WRAP LIFECYCLE:",e.name,"Information received from launcher, but wrap exists in cache. Returning cached wrap."),null==t||t(null,s),void r({wrap:s});l.Logger.system.debug("WRAP LIFECYCLE:",i,"Information received from launcher. Creating wrap.");const{identifier:d}=u.data;d.windowName&&(d.name=d.windowName),e.retrievedIdentifier=d,({wrap:s}=await m._createWrap(e)),u.data.descriptor&&(s.descriptor=u.data.descriptor),null==t||t(null,s),r({wrap:s})}))}static _createWrap(e){return new Promise((async t=>{const r=e.retrievedIdentifier||e.windowIdentifier;(e.setWindowType||r.windowType)&&"WebApplication"!==r.windowType||(r.windowType="WebWindow");let n=Object.assign({},r);n=Object.assign(n,e),n.setWindowType=n.windowType,delete n.windowType,l.Logger.system.debug("WRAP LIFECYCLE: Placing wrap into the local cache.",r.windowName);let i=new m(n);m.cache[r.windowName]=i,i.windowType=r.windowType,i.identifier=r,i.addEventListener("closed",i.handleWrapRemoveRequest),i.addEventListener("maximized",(()=>{i.windowState=d.WINDOWSTATE.MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MAXIMIZED})),i.addEventListener("minimized",(()=>{i.windowState===d.WINDOWSTATE.MAXIMIZED?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_MAXIMIZED):i.windowState===d.WINDOWSTATE.NORMAL?(i.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.MINIMIZED_WAS_NORMAL):l.Logger.system.warn("Invalid window state received listening to window minimize",i.windowState)})),i.addEventListener("restored",(()=>{i.windowState=d.WINDOWSTATE.NORMAL,i.windowOptions.windowState=d.WINDOWSTATE.NORMAL}));const o=a.RouterClient.subscribe(`Finsemble.Component.State.${r.windowName}`,((e,t)=>{if(e)l.Logger.system.error("Finsemble component state change error",e);else{const{state:e}=t.data;i.wrapState=e,a.RouterClient.unsubscribe(o)}}));await(async(e,t)=>new Promise((r=>{e.parentSubscribeID=a.RouterClient.subscribe(`Finsemble.parentChange.${t.windowName}`,(async(t,n)=>{if(t)l.Logger.system.error("FinsembleWindow parent change notification error",t);else{const t=n.data||{};"Added"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.addedToStack listener",t),await e.setParent(t.stackedWindowIdentifier)):"Exists"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: Parent already exists, checking if added to wrap",t),await e.setParentOnWrap(t.stackedWindowIdentifier)):"Removed"===t.type?(l.Logger.system.debug("FinsembleWindow Parent Notification: window.removedFromStack listener",t),e.clearParent()):t.type&&l.Logger.system.error("FinsembleWindow Parent Notification: unknown type",t)}r()}))})))(i,r),t({wrap:i})}))}static _getRemoveWrapChannel(e){return`${f.System.Window.getCurrent().name}.removeWrap.${e}`}async handleWrapRemoveRequest(e){e&&e.wait(),l.Logger.system.debug("WRAP Destructor. Removing cached window",this.name,"in ",window.name),this.removeListeners&&this.removeListeners(),this.cleanupRouter(),this.cleanup(),this.name!==p.FEAGlobals.name&&this.name&&delete m.cache[this.name],e&&e.done()}static closeAllWraps(){Object.values(m.cache).forEach((e=>{e.handleWrapRemoveRequest()}))}cleanupRouter(){const e=m._getRemoveWrapChannel(this.name);a.RouterClient.removeResponder(e),this.TITLE_CHANGED_SUBSCRIPTION&&a.RouterClient.unsubscribe(this.TITLE_CHANGED_SUBSCRIPTION),a.RouterClient.unsubscribe(this.parentSubscribeID)}onReady(e){return new Promise((t=>{if("ready"===this.wrapState)return null==e||e(),void t();this.addEventListener("ready",(()=>{null==e||e(),t()}))}))}queryWindowService(e,t,r=Function.prototype){return"function"==typeof t&&(r=t,t={}),t=Object.assign(Object.assign({},t),{windowIdentifier:this.identifier}),l.Logger.setting().system.Debug&&(t.callstack=l.Logger.callStack()),new Promise((async(n,i)=>{var o;if("close"!==e&&"setParent"!==e&&"ready"!==this.wrapState)return await this.onReady(),this.wrapState="ready",void n(await this.queryWindowService(e,t));l.Logger.system.debug("FinsembleWindow.queryWindowService",this.windowServiceChannelName(e),t);const{err:s,response:c}=await a.RouterClient.query(this.windowServiceChannelName(e),t);let u=null!==(o=c.data)&&void 0!==o?o:null;if(s){if(l.Logger.system.debug(`WindowService.${e}: failed`,s),console.debug(`WindowService.${e}: failed`,s),"getComponentState"!==e&&"Not found"!==s)return void i(s)}else l.Logger.system.debug(`${this.windowServiceChannelName(e)} successful`,u),console.debug(`${this.windowServiceChannelName(e)} successful`,u);n(u),r(s,u)}))}minimize(e=null,t){return new Promise((r=>{this.queryWindowService("minimize",e,(e=>{null==t||t(e),r({err:e})}))}))}maximize(e=null,t){return new Promise((r=>{this.getBounds(((n,i)=>{n||!i?l.Logger.system.warn(`Error getting bounds, cached bounds will not be set: ${n}`):this.updateOptions({options:{defaultLeft:i.left,defaultTop:i.top,defaultWidth:i.width,defaultHeight:i.height}}),this.queryWindowService("maximize",e,(e=>{null==t||t(e),r({err:e})}))}))}))}restore(e=null,t){return new Promise((r=>{this.queryWindowService("restore",e,(e=>{null==t||t(e),r({err:e})}))}))}blur(e=null,t){return new Promise((r=>{this.queryWindowService("blur",e,(e=>{null==t||t(e),r({err:e})}))}))}focus(e=null,t){return new Promise((r=>{this.queryWindowService("focus",e,(e=>{null==t||t(e),r({err:e})}))}))}bringToFront(e=null,t){return new Promise((r=>{this.queryWindowService("bringToFront",e,(e=>{null==t||t(e),r({err:e})}))}))}setAlwaysOnTop(e={alwaysOnTop:!0},t){return new Promise((r=>{this.queryWindowService("setAlwaysOnTop",e,(e=>{null==t||t(e),r({err:e})}))}))}isAlwaysOnTop(e={},t){this.queryWindowService("isAlwaysOnTop",e,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 g({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){return new Promise((r=>{"function"==typeof e||e.bounds||(e={bounds:e}),this.queryWindowService("setBounds",e,(e=>{null==t||t(e),r({err:e})}))}))}getBounds(e,t){return new Promise((r=>{const n="function"==typeof e?e:t;this.queryWindowService("getBounds",{},((e,t)=>{null==n||n(e,t),r({err:e,data:t})}))}))}updateOptions(e,t=Function.prototype){this.queryWindowService("updateOptions",e,t)}hide(e={},t){return new Promise((r=>{this.queryWindowService("hide",e,((e,n)=>{null==t||t(e,n),r({err:e})}))}))}reload(e={},t=Function.prototype){this.queryWindowService("reload",e,t)}show(e={},t){return new Promise((r=>{this.queryWindowService("show",e,((e,n)=>{null==t||t(e,n),r({err:e})}))}))}showAt(e={},t=Function.prototype){this.queryWindowService("showAt",e,t)}close(e={},t){return new Promise((r=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name,e),this.queryWindowService("close",e,(e=>{l.Logger.system.debug("WRAP CLOSE. Public close initiated for",this.name),null==t||t(e),r({err:e})}))}))}animate(e={},t=Function.prototype){this.queryWindowService("animate",e,t)}registerWithDocking(e={},t){this.onReady((()=>{a.RouterClient.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.RouterClient.transmit("DockingService.deregisterWindow",{name:this.windowName})}initializeWindow({manageWindowMovement:e,identifier:t},r=Function.prototype){const n=()=>{a.RouterClient.publish(`Finsemble.${this.windowName}.componentReady`,{name:this.windowName}),r()};e?this.registerWithDocking(t,n):n()}wrapReady(){a.RouterClient.publish(`Finsemble.${this.windowName}.wrapReady`,{name:this.windowName,state:"open"})}setOpacity(e,t=Function.prototype){this.queryWindowService("setOpacity",e,t)}startTabTileMonitoring(e={}){l.Logger.system.debug("FinsembleWindow.startTabTileMonitoring",e),a.RouterClient.transmit("TabTile.startTabTile",{params:e})}stopTabTileMonitoring(e={},t=Function.prototype){l.Logger.system.debug("FinsembleWindow.stopTabTileMonitoring",e),a.RouterClient.query("TabTile.stopTabTile",{params:e},(function(e,r){e?l.Logger.system.warn("TabTile.stopTabTile: query failed",e):l.Logger.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(l.Logger.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:l.Logger.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={}){l.Logger.system.debug("FinsembleWindow.startMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("startedMoving"),{})}stopMove(e={}){l.Logger.system.debug("FinsembleWindow.stopMove",e),e.windowIdentifier=this.identifier,a.RouterClient.transmit(this.eventChannelName("stoppedMoving"),{})}getMonitor(e){a.RouterClient.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={}){l.Logger.system.debug("FinsembleWindow.cancelTabTileMonitoring",e),a.RouterClient.transmit("TabTile.cancelTabTile",{params:e})}getParent(e){this.settingParent?m.getInstance(this.settingParent,((t,r)=>{e(null,r)})):this.parentWindow?e(null,this.parentWindow):e(null,null)}async setParent(e,t){return new Promise((r=>{this.settingParent?this.getParent(((e,n)=>{null==t||t(e,n),r({err:e,data:n})})):(this.settingParent=e,this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParent already set",e),this.settingParent=!1,null==t||t(null,this.parentWindow),r({data:this.parentWindow})):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParent",e),m.getInstance(e,((n,i)=>{n?l.Logger.system.error("FinsembleWindow.setParent error",n):(l.Logger.system.debug("FinsembleWindow.setParent wrap success",e),this.parentWindow=i,this.parentWindow.windowType.includes("StackedWindow")||this.parentWindow.windowName.includes("StackedWindow")||l.Logger.system.error("FinsembleWindow.setParent error",this.parentWindow.name,e.windowName)),a.RouterClient.transmit(d.DOCKING.REQUEST_PUBLISH,null),this.settingParent=!1;const o=()=>{this.removeEventListener("parent-set",o),null==t||t(n,i),r({err:n,data:i})};this.addEventListener("parent-set",o)}))})))}))}setParentOnWrap(e,t=Function.prototype){this.parentWindow&&this.parentWindow.name===e.windowName?(l.Logger.system.debug("FinsembleWindow.setParentOnWrap already set",e),t(null,this.parentWindow)):this.queryWindowService("setParent",e,(()=>{l.Logger.system.debug("FinsembleWindow.setParentOnWrap",e),m.getInstance(e,((r,n)=>{r?l.Logger.system.error("FinsembleWindow.setParentOnWrap error",r):(l.Logger.system.debug("FinsembleWindow.setParentOnWrap success getting wrap",e),this.parentWindow=n,!1===this.parentWindow.windowType.includes("StackedWindow")&&!1===this.parentWindow.windowName.includes("StackedWindow")&&l.Logger.system.error("FinsembleWindow.setParentOnWrap error",this.parentWindow.name,e.windowName)),t(r,n)}))}))}clearParent(){l.Logger.system.debug("FinsembleWindow.clearParent",this.parentWindow),this.parentWindow=null}setTitle(e){l.Logger.system.debug("Title change",e),a.RouterClient.publish(this.TITLE_CHANGED_CHANNEL,{title:e,windowName:this.windowName})}getOptions(e){return new Promise((t=>{this.queryWindowService("getOptions",{},((r,n)=>{null==e||e(r,n),t({err:r,data:n})}))}))}_privateManagementPreface(e,t){var r,n;return"function"==typeof t&&l.Logger.system.error("StackedWindowWrapper.wrapPreface bad params",t),(t=t||{}).stackedWindowIdentifier={windowName:null===(r=this.identifier)||void 0===r?void 0:r.windowName,windowType:null===(n=this.identifier)||void 0===n?void 0:n.windowType},l.Logger.system.debug(`StackedWindow.${e} _privateManagementPreface`,t),t}addWindow(e,t=Function.prototype){return e=this._privateManagementPreface("addWindow",e),new Promise((r=>{a.RouterClient.query("StackedWindow.addWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.removeWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.deleteWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.setVisibleWindow",e,((e,n)=>{l.Logger.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.RouterClient.query("StackedWindow.reorder",e,((e,n)=>{l.Logger.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.RouterClient.transmit("DockingService.formGroup",{windowName:e})}ejectFromGroup(){const e=this.parentWindow?this.parentWindow.name:this.name;a.RouterClient.query("DockingService.leaveGroup",{name:e},(()=>{}))}}t.FinsembleWindow=m,m.WINDOWSTATE=d.WINDOWSTATE,m.wrap=m.getInstance,m.cache={},m._windowReady=function(e){let t;return l.Logger.system.debug(`windowServiceReady: ${e} starting`),new Promise((async(r,n)=>{l.Logger.system.debug(`windowServiceReady: ${e} waiting`),t=a.RouterClient.subscribe(`Finsemble.Component.State.${e}`,((n,i)=>{const{state:o}=i.data;switch(l.Logger.system.debug(`windowServiceReady: ${e} state change: ${o}`),o){case"ready":case"reloading":case"closing":l.Logger.system.debug(`windowServiceReady: ${e} ${o}`),a.RouterClient.unsubscribe(t),r()}}))}))}},44137:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FreestandingGlobals=t.FEAGlobals=t.Globals=void 0,t.Globals="undefined"==typeof window?r.g:window,t.FEAGlobals="undefined"==typeof window?r.g:window,t.FreestandingGlobals="undefined"==typeof window?r.g:window},94017:function(e,t,r){"use strict";var n,i,o=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)},s=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},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getTaskbar=t.adjustBoundsToBeOnMonitorAsync=t.adjustBoundsToBeOnMonitor=t.getBoundsWhenMovedOffDockedWindow=t.getMonitorsInstance=t.getMonitor=t.getAllMonitors=t.getAllMonitorsClientSide=t.getWhichMonitor=t.getWhichMonitorClientSide=t.getMonitorFromWindow=t.getMonitorFromScaledXY=t.onMonitorsChanged=void 0;const l=r(17187),c=a(r(2518)),u=r(91374),d=r(7860),f=r(23099),p=r(23099),h=a(r(84795));class g extends l.EventEmitter{constructor(){super(),this.allMonitors=[],this.ready=!1}static async getInstance(){return o(g,n,"f",i)||(s(g,n,(0,d.singleton)("Monitors",g),"f",i),await o(g,n,"f",i).initialize()),o(g,n,"f",i)}async initialize(){await this.refreshMonitors(),u.System.addEventListener("monitor-info-changed",(()=>{this.refreshMonitors()}))}async refreshMonitors(){c.default.system.info("refreshing cached monitors");const e=await u.System.getMonitorInfo();this.allMonitors=[];let{primaryMonitor:t}=e;t.whichMonitor="primary",t.position=0,this.allMonitors.push(Object.assign({},t));for(let t=0;t<e.nonPrimaryMonitors.length;t++){let r=e.nonPrimaryMonitors[t];r.whichMonitor=t,r.position=t+1,this.allMonitors.push(r)}return this.emit("monitors-changed",{monitors:this.allMonitors}),this.ready=!0,this.allMonitors}}n=g,i={value:null},t.onMonitorsChanged=async e=>{(await g.getInstance()).on("monitors-changed",e)},t.getMonitorFromScaledXY=async(e,r)=>{const n=await g.getInstance();if(!n.ready)return await n.refreshMonitors(),await(0,t.getMonitorFromScaledXY)(e,r);let i=null;const o=n.allMonitors;for(let t of o){const{monitorRect:n}=t;if(e>=n.left&&e<n.right&&r>=n.top&&r<n.bottom){i=t;break}}return null!=i?i:o[0]},t.getMonitorFromWindow=async e=>{var r,n,i,o;const s=null!==(r=Number.isFinite(e.x)?e.x:e.defaultLeft)&&void 0!==r?r:0,a=null!==(n=Number.isFinite(e.y)?e.y:e.defaultTop)&&void 0!==n?n:0,l=s+(null!==(i=e.defaultWidth)&&void 0!==i?i:0),u=a+(null!==(o=e.defaultHeight)&&void 0!==o?o:0);let d=await(0,t.getMonitorFromScaledXY)(s,a);if(d)return(0,f.clone)(d);{c.default.system.debug("getMonitorFromWindow - top-left is off screen, trying bottom right");let e=await(0,t.getMonitorFromScaledXY)(l,u);if(e)return(0,f.clone)(e);{c.default.system.debug("getMonitorFromWindow - bottom-right is off screen, getting primary");const e=await(0,t.getAllMonitors)();return(0,f.clone)(e[0])}}},t.getWhichMonitorClientSide=async(e,t={},r)=>{var n;await h.default.waitForStartup("windowService");const i=await(0,p.getMyWindowIdentifier)();t.windowIdentifier=null!==(n=t.windowIdentifier)&&void 0!==n?n:i;const{err:o,response:s}=await e.query("Launcher.getMonitorInfo",t);return null==r||r(o,s.data),{err:o,data:s.data}},t.getWhichMonitor=e=>new Promise((r=>{let n,{commandMonitor:i,monitors:o,launchingMonitorPosition:s}=e;const a="number"==typeof i;if("mine"!==i){if("primary"===i)n=o.find((e=>"primary"===e.whichMonitor));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 a?(i>=o.length&&(i=o.length-1),n=o.filter((e=>e.position===i))[0]):s&&(n=o[s]);n||(n=o[0]),r(n)}else{const i=e.activeWindows.getWindow(e.windowIdentifier.windowName);i?i._getBounds({},(async(e,i)=>{if(e)n=o[0],r(n);else{const e=await(0,t.getMonitorFromScaledXY)(i.left,i.top);r(e)}})):(n=o[0],r(n))}})),t.getAllMonitorsClientSide=async(e,t)=>{await h.default.waitForStartup("windowService");const{err:r,response:n}=await e.query("Launcher.getMonitorInfoAll",{});return null==t||t(r,n.data),{err:r,data:n.data}},t.getAllMonitors=async()=>{const e=await g.getInstance(),t=e.ready?e.allMonitors:await e.refreshMonitors();return JSON.parse(JSON.stringify(t))},t.getMonitor=async e=>{const r=await(0,f.getWindowDescriptor)(e);if(r)return await(0,t.getMonitorFromWindow)(r);throw"getMonitor: Can't locate windowDescriptor."},t.getMonitorsInstance=async()=>await g.getInstance(),t.getBoundsWhenMovedOffDockedWindow=(e,t,r)=>{const{availableRect:n}=e,i=(0,f.clone)(t);let o=!1;return"top"===r&&t.top<n.top?(i.top=n.top,o=!0):"bottom"===r&&t.top>n.bottom&&(i.top=n.bottom-t.height,o=!0),i.bottom=i.top+i.height,{shouldMove:o,newBounds:i}},t.adjustBoundsToBeOnMonitor=(e,t,r="availableRect")=>{if(!e)return t;if(((e,t)=>e.allMonitors.some((e=>{const{monitorRect:r}=e;return t.left>=r.left&&t.left<=r.right&&t.right>=r.left&&t.right<=r.right&&t.top>=r.top&&t.top<=r.bottom&&t.bottom>=r.top&&t.bottom<=r.bottom&&t.height<=r.height&&t.width<=r.width})))(e,t))return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: on monitor."),t;const n=e.allMonitors.map((e=>((e,t,r="availableRect")=>{const n=e[r]||e.availableRect||e.monitorRect,i=(0,f.clone)(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}})(e.rawMonitor?e.rawMonitor:e,t,r))),i=n.sort(((e,t)=>e.distanceMoved-t.distanceMoved))[0];return c.default.system.info("Launcher.adjustWindowDescriptorBoundsToBeOnMonitor: not on monitor. bounds",t,"monitor name",i.monitor.name,"newBounds",i.newBounds),i.newBounds},t.adjustBoundsToBeOnMonitorAsync=async(e,r="availableRect")=>{const n=await g.getInstance();return(0,t.adjustBoundsToBeOnMonitor)(n,e,r)},t.getTaskbar=e=>e.monitorRect.bottom!=e.availableRect.bottom?{top:e.availableRect.bottom,left:e.availableRect.left,right:e.availableRect.right,bottom:e.monitorRect.bottom,width:e.availableRect.width,height:e.monitorRect.bottom-e.availableRect.bottom,edge:"bottom"}:e.monitorRect.top!=e.availableRect.top?{top:e.monitorRect.top,left:e.availableRect.left,right:e.availableRect.right,bottom:e.availableRect.top,width:e.availableRect.width,height:e.monitorRect.top-e.availableRect.top,edge:"top"}:e.monitorRect.right!=e.availableRect.right?{top:e.monitorRect.top,left:e.availableRect.right,right:e.monitorRect.right,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"right"}:e.monitorRect.left!=e.availableRect.left?{top:e.monitorRect.top,left:e.monitorRect.left,right:e.availableRect.left,bottom:e.availableRect.bottom,width:e.monitorRect.width-e.availableRect.width,height:e.monitorRect.height,edge:"left"}:null},31219:(e,t,r)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Performance=void 0;const i=r(44137),o={navigationStart:Date.now()};t.Performance={now:()=>{var e;return i.Globals.performance?null===(e=i.Globals.performance)||void 0===e?void 0:e.now():Date.now()},timing:(null===(n=i.Globals.performance)||void 0===n?void 0:n.timing)?i.Globals.performance.timing:o}},7860:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleton=void 0,t.singleton=(e,t,...n)=>{const i=Symbol.for(`com.finsemble.singleton.${e}`);return Object.getOwnPropertySymbols(r.g).indexOf(i)>-1||(r.g[i]=new t(...n)),r.g[i]}},64324: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.ConfigUtilInstance=t.ConfigUtil=void 0;const i=n(r(2518)),o=r(91374),s=n(r(96486)),a=async()=>new Promise((e=>{o.System.getManifest((t=>{e({err:null,data:t})}))})),l=(e,t)=>{var r,n;return null!==(r=e.finsemble[t])&&void 0!==r?r:null===(n=e.finsemble)||void 0===n?void 0:n.custom[t]},c=(e,t)=>{let r=!1;const n=t.split(/[/\\:?=&\s]/);for(let o=0;o<n.length;o++)if("$"===n[o][0]){const s=n[o].substring(1),a=l(e,s);if(void 0===a)i.default.system.warn("ConfigUtil.resolveString",`Missing [${s}] variable from finsemble.custom configuration object`);else{const e=t.replace(n[o],a);i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveString configString",n[o],s,a,"old value=",t,"value=",e),r=!0,t=e}}return{configString:t,replacedMacro:r}},u=(e,t,r)=>{let n=!1;if(r>1e3)return i.default.system.error("ConfigUtil resolveArray maxiumum recursion level reached"),{replacedMacro:n};i.default.system.verbose("forceObjectsToLogger","resolveArray","recursionLevel",r,"configArray:",t);for(let i=0;i<t.length;i++){const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const r=c(e,o);t[i]=r.configString,n=n||r.replacedMacro}else o instanceof Array?u(e,o,r+1):"object"==typeof o&&d(e,o,r+1)}return{replacedMacro:n}},d=(e,t,r)=>{let n=!1;return r>1e3?(i.default.system.error("ConfigUtil resolveObject maxiumum recursion level reached"),{replacedMacro:n}):(t=t||{},i.default.system.verbose("forceObjectsToLogger","ConfigUtil.resolveManifestMacros:resolveObject","recursionLevel",r,"configObject:",t),Object.keys(t).forEach((i=>{const o=t[i];if("string"==typeof o&&o.indexOf("$")>-1){const r=c(e,o);t[i]=r.configString,n=n||r.replacedMacro}else o instanceof Array?u(e,o,r+1):"object"==typeof o&&d(e,o,r+1)})),{replacedMacro:n})};class f{resolveManifestMacros(e,t){let r;for(r=0;r<100;r++){const{replacedMacro:r}=d(e,t,1);if(!r)break}r>=100&&i.default.system.error("forceObjectsToLogger","resolveManifestMacros exceeded maximum passes so continuing -- probably a recursive macro definitions. Look in this config for unresolved macro variables",e)}async getExpandedRawManifest(){i.default.system.debug("ConfigUtil.getExpandedRawManifest starting");const{err:e,data:t}=await a();return e||!t?i.default.system.error("ConfigUtil.getExpandedRawManifest:application.getManifest:err",e):(i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest: manifest retrieved. Pre-variable resolution",t),this.resolveManifestMacros(t,t.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getExpandedRawManifest:getExpandedRawManifest:Complete. post-variable resolution",t)),{err:e,data:t}}async captureAndLogBadFileData(e){let t,r=null;i.default.system.debug(`captureAndLogBadFileData for ${e}`);try{const n=await fetch(e,{credentials:"include",cache:"no-cache"});200!=n.status?r=`HTTP get error for ${e}: ${n.status} ${n.statusText}}`:t=await n.text()}catch(t){r=`Failure importing config from ${e} ${t.toString()}`}r?i.default.system.error("forceObjectsToLogger",`captureAndLogBadFileData failed for ${e}`,r):i.default.system.error("forceObjectsToLogger",`captureAndLogBadFileData successful for ${e}`,t)}async fetchConfigFile(e){let t,r=null;i.default.system.debug(`fetching import ${e}`);try{const n=await fetch(e,{credentials:"include",cache:"no-cache"});200!=n.status?r=`HTTP get error for ${e}: ${n.status} ${n.statusText}`:t=await n.json()}catch(t){r=`Failure importing config from ${e} ${t.toString()}`}return r&&(i.default.system.error("forceObjectsToLogger",r),this.captureAndLogBadFileData(e)),{err:r,data:t}}graftImportOnToManifest(e,t){Object.keys(t).forEach((r=>{if("importConfig"===r){e.finsemble.importConfig=e.finsemble.importConfig||[];for(let r=0;r<t.importConfig.length;r++)e.finsemble.importConfig.unshift(t.importConfig[r])}else if("importThirdPartyConfig"===r){e.finsemble.importThirdPartyConfig=e.finsemble.importThirdPartyConfig||[];for(let r=0;r<t.importThirdPartyConfig.length;r++)e.finsemble.importThirdPartyConfig.unshift(t.importThirdPartyConfig[r])}else e.finsemble[r]=t[r]})),this.resolveManifestMacros(e,e.finsemble),i.default.system.debug("forceObjectsToLogger","ConfigUtil.getInitialManifest:getCoreConfig:Initial Manifest after variables Resolved",e)}async getInitialManifest(){const{err:e,data:t}=await a();if(!e&&t){t.finsemble=t.finsemble||{},this.resolveManifestMacros(t,t.finsemble),t.finsemble.applicationRoot||i.default.system.error("FATAL ERROR: applicationRoot was not defined in manifest file.");const e=`${t.finsemble.moduleRoot}/configs/core/config.json`,{err:r,data:n}=await this.fetchConfigFile(e);!r&&n?this.graftImportOnToManifest(t,n):i.default.system.error(`ConfigUtil.getInitialManifest:getCoreConfig:failed importing into finsemble config. $moduleRoot=${t.finsemble.moduleRoot}; Full Path=${e}`,r)}return{err:e,data:t}}promptAndSaveJSONToLocalFile(e,t){i.default.system.debug("saveJSONToLocalFile",e,t);const r=JSON.stringify(t,null,"\t"),n=`data:application/json;charset=utf-8,${encodeURIComponent(r)}`,o=`${e}.json`,s=document.createElement("a");s.setAttribute("href",n),s.setAttribute("download",o),s.click()}configFormatForExport(e,t){i.default.system.debug("configFormatForExport starting",e,t);let r=s.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}getDefault(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}}t.ConfigUtil=f,t.ConfigUtilInstance=new f},26604:(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",hotkeyClient:"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","launchGroupComponentData","allowAutoArrange"],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"}},25495: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(17187),o=r(51848),s=r(26604),a=n(r(84795)),l=r(2518);class c extends i.EventEmitter{constructor(e){var t;super(),this.callback=e.callback,this.dependencies=e.dependencies,this.startupTimer=null,this.whoAmI=null!==(t=e.whoAmI)&&void 0!==t?t:"Source unknown. Look for `waitFor()` and add third parameter",this.setStartupTimer=this.setStartupTimer.bind(this),this.clearStartupTimer=this.clearStartupTimer.bind(this)}clearStartupTimer(){this.startupTimer&&clearTimeout(this.startupTimer),this.startupTimer=null}setStartupTimer(){const e=this;this.startupTimer=+setTimeout((()=>{e.emit("timeout"),this.callback("StartupDependency timeout error")}),1e4)}}function u(){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,r){const n=u();e.clients||(e.clients=[]),e.clients.length&&(e.clients=e.clients.map((e=>e.charAt(0).toLowerCase()+e.slice(1))));const i=new c({dependencies:e,callback:t,whoAmI:r});return i.setStartupTimer(),i.on("timeout",(()=>{this.onDependencyTimeout(i)})),this.dependencies[n]=i,this.checkDependencies(),i}onDependencyTimeout(e){const t=this.getOfflineClients();let r=`APPLICATION LIFECYCLE:STARTUP:Dependency (${e.whoAmI}) not online after 10 seconds.`;t.length&&(r=`${r} Waiting for these clients: ${t.join(", ")}.`),l.Logger.system.warn(r),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){l.Logger.system.debug("DependencyManager:waitFor",e),e.services||(e.services=[]);const r=u();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];(l.Logger.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){l.Logger.system.debug("setServiceOffline",e),console.debug("setServiceOffline",e),this.offlineServices.push(e),this.checkDependencies()}}class p extends i.EventEmitter{constructor(){super(),this.startup=new d,this.shutdown=new f,this.RouterClient=o.RouterClient,this.AuthorizationCompleted=!1,this.bindCorrectContext(),this.onAuthorizationCompleted(this.startup.checkDependencies),o.RouterClient.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(){l.Logger.system.debug("DependencyManager:listenForServices before wait"),a.default.waitForBootStage("kernel","stageEntered",(()=>{l.Logger.system.debug("DependencyManager:listenForServices after wait"),this.RouterClient.subscribe(s.SERVICES_STATE_CHANNEL,((e,t)=>{l.Logger.system.debug("DependencyManager:listenForServices SERVICES_STATE_CHANNEL",t.data),this.onServiceStateChange(t.data)})),this.RouterClient.addListener(s.SERVICE_CLOSED_CHANNEL,((e,t)=>{l.Logger.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)=>{"closing"===t.data.state&&this.shutdown.checkDependencies()}))}))}onAuthorizationCompleted(e){this.AuthorizationCompleted?e():this.addListener("AuthorizationCompleted",e)}}t.FSBLDependencyManager=p,t.FSBLDependencyManagerSingleton=new p,t.default=t.FSBLDependencyManagerSingleton},28936:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(51848),a=o(r(26604));t.default=class{constructor(e,t){var r;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,a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].DELAYABLE_EVENTS.includes(this.event)&&(this.allowDelay=!0),a[this.sourceType.toUpperCase()]&&a[this.sourceType.toUpperCase()].CANCELABLE_EVENTS.includes(this.event)&&(this.allowCancel=!0),this.handler=e.handler,this.queryMessage=t,this.guid=null===(r=null==t?void 0:t.data)||void 0===r?void 0:r.guid,this.internalHandler()}async internalHandler(){var e,t;this.data=null===(t=null===(e=this.queryMessage)||void 0===e?void 0:e.data)||void 0===t?void 0:t.data,this.handler&&await this.handler(this),this.delayed||this.canceled||this.completed||this.done()}cancel(){this.allowCancel&&(this.canceled=!0,this.done())}wait(){var e;this.allowDelay?(this.delayed=!0,null===(e=this.queryMessage)||void 0===e||e.sendQueryResponse(null,{delayed:!0})):this.done()}done(e){var t;this.completed=!0,this.delayed?s.RouterClient.transmit(`Finsemble.Listener.Done.${this.guid}.${this.listenerGuid}`,{canceled:this.canceled,data:e}):null===(t=this.queryMessage)||void 0===t||t.sendQueryResponse(null,{canceled:this.canceled,data:e})}}},9060: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(51848),o=r(2518),s=n(r(28936));t.default=class{constructor(e){var t;this.eventList=[],this.cleanedUp=!1,this.openResponders=[],this.handlers=[],this.name=e.name,this.thisWindowName=window.name,this.sourceType=null!==(t=e.sourceType)&&void 0!==t?t:"undefined",window.addEventListener("beforeunload",(()=>{this.cleanup()}))}addListener(e,t){return this.addEventListener(e,t)}removeListener(e,t){return this.removeEventListener(e,t)}addEventListener(e,t){o.Logger.system.debug("PublicEventmanager.addEventListener:",e);const r=`${this.name}_public_${Date.now()}_${Math.random()}`;this.handlers.push({event:e,handler:t,listenerGuid:r}),i.RouterClient.transmit(`Finsemble.RegisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:r,windowName:this.thisWindowName});const n=`Finsemble.Interrupt.${r}`;return i.RouterClient.addResponder(n,((n,i)=>{new s.default({source:this.name,sourceType:this.sourceType,listenerGuid:r,handler:t,event:e},i)})),this.openResponders.push(n),()=>{this.removeEventListener(e,t)}}removeEventListener(e,t,r=!0){if(o.Logger.system.debug("PublicEventManager.removeEventListener:",e),this.cleanedUp)return;const n=this.handlers.findIndex((r=>r.event===e&&r.handler===t));if(-1===n)return void(r&&o.Logger.system.warn(`PublicEventManager.removeEventListener() attempt to remove unregistered event "${e}"`));const{listenerGuid:s}=this.handlers[n];i.RouterClient.transmit(`Finsemble.UnregisterInterruptibleEvent.${this.name}`,{event:e,listenerGuid:s,windowName:this.thisWindowName}),i.RouterClient.removeResponder(`Finsemble.Interrupt.${s}`),this.handlers.splice(n,1)}cleanup(){this.cleanedUp=!0,this.handlers=[],this.openResponders.forEach((e=>{i.RouterClient.removeResponder(e)}))}}},91374:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.System=void 0;const n=r(10166),i=r(2518),o=r(51848);class s{static createNew(e,t){fin.desktop.Window.createNew(e,t)}static getCurrent(){return fin.desktop.Window.getCurrent()}static wrap(e){return fin.desktop.Window.wrap(e)}}class a{static createNew(e,t){t("Cannot create freestanding windows")}static getCurrent(){const{windowName:e}=n.Startup.getInstance().getStartupData();return{name:e,uuid:`${e}-uuid`,getOptions:e=>{null==e||e({})},addEventListener:()=>{},removeEventListener:()=>{},updateOptions:()=>{},close:()=>{},startMovingWindow:()=>{},stopMovingWindow:()=>{},isShowing:()=>{},bringToFront:()=>{},show:()=>{},hide:()=>{},setTaskbarIcon:()=>{}}}static wrap(){return this.getCurrent()}}class l{constructor(){return new fin.desktop.System.Clipboard}static writeText(e,t,r,n){return i.Logger.deprecated("FSBL.System.Clipboard.writeText is deprecated"),fin.desktop.System.Clipboard.writeText(e,t,r,n)}static writeHTML(e,t,r,n){return i.Logger.deprecated("FSBL.System.Clipboard.writeHTML is deprecated"),fin.desktop.System.Clipboard.writeHTML(e,t,r,n)}static writeRTF(e,t,r,n){return i.Logger.deprecated("FSBL.System.Clipboard.writeRTF is deprecated"),fin.desktop.System.Clipboard.writeRTF(e,t,r,n)}static readText(e,t,r){return i.Logger.deprecated("FSBL.System.Clipboard.readText is deprecated"),fin.desktop.System.Clipboard.readText(e,t,r)}static readHTML(e,t,r){return i.Logger.deprecated("FSBL.System.Clipboard.readHTML is deprecated"),fin.desktop.System.Clipboard.readHTML(e,t,r)}static readRTF(e,t,r){return i.Logger.deprecated("FSBL.System.Clipboard.readRTF is deprecated"),fin.desktop.System.Clipboard.readRTF(e,t,r)}}class c{static get Application(){return{getCurrent:()=>(i.Logger.deprecated("FSBL.System.Application is deprecated"),{restart:()=>{o.RouterClient.transmit("Application.restart",{})},getWindow:()=>fin.desktop.Window,addEventListener:(e,t,r,n)=>{fin.desktop.Window.addEventListener(e,t,r,n)},close:(e,t,r)=>{fin.desktop.Window.close(e,t,r)},getChildWindows:(e,t)=>{null==e||e([fin.desktop.Window])},getGroups:(e,t)=>{null==e||e([])},getManifest:(e,t)=>{c.getManifest(e)},getParentUuid:(e,t)=>{null==e||e("Finsemble")},getInfo:(e,t)=>{c.getVersion(e)},getTrayIconInfo:(e,t)=>{null==e||e({})},isRunning:(e,t)=>{null==e||e(!0)},registerUser:(e,t,r,n)=>{null==r||r()},removeEventListener:(e,t,r,n)=>{fin.desktop.Window.removeEventListener(e,t,r,n)},removeTrayIcon:(e,t)=>{fin.desktop.Window.removeTrayIcon(e,t)},run:(e,t)=>{},scheduleRestart:(e,t)=>{null==e||e()},setTrayIcon:(e,t,r,n)=>{fin.desktop.Window.setTrayIcon(e,t,r,n)},terminate:(e,t)=>{c.terminate()},wait:(e,t)=>{null==e||e()},window:{name:fin.desktop.Window.name},uuid:"Finsemble"})}}static isFreestanding(){return"undefined"==typeof fin}static get Window(){return c.isFreestanding()?a:s}static get Notification(){return{send:e=>{fin.desktop.Notification.send(e)}}}static get Clipboard(){return l}static getManifest(e){return new Promise((t=>{fin.desktop.System.getManifest((r=>{null==e||e(r),t(r)}))}))}static async getMousePosition(e){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),null==e||e(null,r),t(r)}),(t=>{null==e||e(t),r(t)}))}))}static async deleteAssets(e){return await fin.desktop.System.deleteAssets(e)}static getSDServerInfo(e=Function.prototype){return new Promise((t=>{fin.desktop.System.getSDServerInfo((r=>{t(r),e(r)}))}))}static getMonitorInfo(e){return new Promise((t=>{fin.desktop.System.getMonitorInfo((r=>{t(r),e&&e(r)}))}))}static isBrowserView(){return!c.isFreestanding()&&fin.isBrowserView()}static getViewId(){return i.Logger.deprecated("FSBL.system.getViewId() is deprecated. Use FSBL.system.getWebContentsId()"),fin.getWebContentsId()}static getWebContentsId(){return fin.getWebContentsId()}static hasBrowserView(){return i.Logger.deprecated("FSBL.system.hasBrowserView() is deprecated. Use FSBL.system.isTitlebarWindow()"),c.isTitlebarWindow()}static isTitlebarWindow(){return!c.isFreestanding()&&fin.isTitlebarWindow()}static get fin(){return fin||{}}static ready(e){return new Promise((t=>{fin.desktop.main((()=>{e&&e(),t()}))}))}static setTrayIcon(e,t){fin.desktop.System.setTrayIcon(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 exit(){return fin.desktop.System.exit}static get clearCache(){return fin.desktop.System.clearCache}static get showDeveloperTools(){return fin.desktop.System.showDeveloperTools}static get addEventListener(){return c.isFreestanding()?window.addEventListener:fin.desktop.System.addEventListener}static get addSelectClientCertificateListener(){return fin.desktop.System.addSelectClientCertificateListener}static get addCertificateErrorListener(){return fin.desktop.System.addCertificateErrorListener}static getFEAInfo(e){return new Promise((t=>{fin.desktop.System.getFEAInfo((r=>{null==e||e(r),t(r)}))}))}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 getProcessList(){return fin.desktop.System.getProcessList}static get getProtocolString(){return fin.desktop.System.getProtocolString}static get hideSplashScreen(){return fin.desktop.System.hideSplashScreen}static notifyLoggerReady(){fin.desktop.System.notifyLoggerReady()}static updateCentralLoggerState(e){fin.desktop.System.updateCentralLoggerState(e)}static startupApplicationHandshake(){fin.desktop.System.startupApplicationHandshake&&fin.desktop.System.startupApplicationHandshake()}static terminate(){fin.desktop.System.terminate()}static restart(){fin.desktop.System.restart()}static getEnvironmentVariable(e,t){return new Promise((r=>{fin.desktop.System.getEnvironmentVariable(e,(e=>{null==t||t(e),r(e)}))}))}}t.System=c},84795:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(51848),i=r(2518),o=r(38144),s=r(38144),a=r(37331),l=new class{publishBootStatus(e,t,r,o){i.Logger.system.debug("publishBootStatus",e,t,r),n.RouterClient.publish((0,a.statusChannel)(e),{name:e,type:t,state:r,error:o})}waitForBootStage(e,t,r=Function.prototype){return new Promise(((a,l)=>{i.Logger.system.debug("SystemManagerClient.waitForBootStage entry",e,t);const c=o.ALL_BOOT_STAGES.indexOf(e);"microkernel"===e&&"stageEntered"===t&&i.Logger.system.error("Cannot wait on `stageEntered` for microkernel because router isn't up yet. So will instead wait for microkernal stage complete.");const u=n.RouterClient.subscribe(s.STAGE_CHANNEL,((s,d)=>{if(i.Logger.system.debug("SystemManagerClient.waitForBootStage new stage",d.data.stage,u),s)i.Logger.system.error("SystemManagerClient.waitForBootStage subscribe error",s),r(s),l(s);else if(-1===c)s="illegal stage argument",i.Logger.system.debug("SystemManagerClient.waitForBootStage subscribe error",s,e),r(s),l(s);else{const s=o.ALL_BOOT_STAGES.indexOf(d.data.stage);i.Logger.system.debug("SystemManagerClient.waitForBootStage new stage",d.data,u),"stageEntered"===t&&s+1>=c?(i.Logger.system.debug("SystemManagerClient.waitForBootStage stageEntered",e,u,r.name),r(),a(),n.RouterClient.unsubscribe(u)):"stageCompleted"===t&&s>=c?(i.Logger.system.debug("SystemManagerClient.waitForBootStage completed",e,u),r(),a(),n.RouterClient.unsubscribe(u)):i.Logger.system.debug(`SystemManagerClient.waitForBootStage else currentStageIndex=${s} stageIndex=${c} `,s,c,e,u)}}))}))}waitForStartup(e,t=Function.prototype){return new Promise(((r,o)=>{i.Logger.system.debug(`SystemManagerClient.waitForStartup.${e}`,e);const s=n.RouterClient.subscribe((0,a.statusChannel)(e),((a,l)=>{i.Logger.system.debug("SystemManagerClient.waitForStartup subscribe",e,a,l),a?(i.Logger.system.error("SystemManagerClient.waitForStartup subscribe error",a),t(a),o()):l.data.name===e&&"completed"===l.data.state&&(i.Logger.system.debug("SystemManagerClient.waitForStartup completed",e),t(),r(),n.RouterClient.unsubscribe(s))}))}))}publishCheckpointState(e,t,r){i.Logger.system.debug("publishCheckpoint",e,t,r,(0,a.checkpointChannel)(e,t)),n.RouterClient.publish((0,a.checkpointChannel)(e,t),{windowName:e,checkpointName:t,state:r})}showSystemLog(){i.Logger.system.debug("SystemManagerClient.showSystemLog"),n.RouterClient.transmit(s.SHOW_SYSLOG_CHANNEL,!0)}systemLog(e,t){i.Logger.system.debug("SystemManagerClient.systemLog",e,t),n.RouterClient.transmit(s.SYSLOG_CHANNEL,{params:e,logMessage:t})}};t.default=l},44343: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.toast=void 0;const i=r(2518),o=r(91374),s=n(r(84795)),a=r(7860);class l{constructor(){this.alertOnceSinceStartUp={},this.alertCurrentCount={}}}t.toast=(e,t,r,n,c)=>{const u=(0,a.singleton)("Toast",l);let d=!1;const f=`toast.${r}`,p=(c=c||{}).duration||864e5;switch(t){case"ONCE-SINCE-STARTUP":f in u.alertOnceSinceStartUp?d=!1:(d=!0,u.alertOnceSinceStartUp[f]=!0);break;case"MAX-COUNT":{let e=0;const t=c.maxCount||1;f in u.alertCurrentCount&&(e=u.alertCurrentCount[f]),u.alertCurrentCount[f]=++e,e<=t&&(d=!0);break}default:d=!0}if(i.Logger.log("toast",e,d,t,r,n,c),d){const t=Object.assign(Object.assign({message:n,timeout:p},c),{devModeOnly:"devModeOnly"===e});s.default.systemLog({notification:!0},`Notification: ${n}`),o.System.Notification.send(t)}},t.default={toast:t.toast,alert:t.toast}},23099: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.isEqualIgnoringArrayOrder=t.sleep=t.checkIfBoundsAreEqual=t.isStackedWindow=t.wrapWithTimeout=t.timeoutPromise=t.promisify=t.identity=t.fastClone=t.isMouseOverDOMElement=t.isPointInBox=t.getDesktopBoundingBox=t.getWindowType=t.isWindows=t.camelCase=t.getMyWindowIdentifier=t.getWindowDescriptor=t.getFinWindow=t.crossDomain=t.isPercentage=t.clone=void 0;const i=r(91374),o=r(2518),s=r(10166),a=r(83823),l=n(r(27361)),c=n(r(78718)),u=n(r(18446)),d=n(r(28368));function f(e,t){return new Promise(((r,n)=>{const o=i.System.Window.getCurrent();if(null==e?void 0:e.windowName)try{const n=i.System.Window.wrap(e.windowName);null==t||t(n),r(n)}catch(r){null==t||t(null),n(`Window ${e.windowName} not found. UUID: ${e.uuid}`),console.debug(`util.getFinWindow: Window ${e.windowName} not found`)}else if(null==e?void 0:e.componentType){const i="LauncherService";if(void 0!==window[i]){const o=window[i].componentFinder(e);o?(r(o),null==t||t(o)):(n(`util.getFinWindow: Component ${e.componentType} not found.`),null==t||t(null))}else n("getFinWindow by componentType is currently only operable within LaunchService"),null==t||t(null)}else null==t||t(o),r(o)}))}function p(e,t){return new Promise(((r,n)=>{const i=setTimeout((()=>{clearTimeout(i),n(t)}),e)}))}t.clone=function e(t,r={}){if(null===t||"object"!=typeof t)return t;if(t.constructor==Date||t.constructor==RegExp||t.constructor==Function||t.constructor==String||t.constructor==Number||t.constructor==Boolean)return new t.constructor(t);r=r||new t.constructor;for(const n in t)r[n]=void 0===r[n]?e(t[n],null):r[n];return r},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),s=!(r&&i&&n);return o.Logger.system.debug(`Launcher crossDomain=${s} (${r}:${n}:${i})`),s},t.getFinWindow=f,t.getWindowDescriptor=function(e,t){return new Promise(((r,n)=>{f(e).then((e=>{e.getOptions((e=>{null==t||t(e),r(e)}))})).catch((e=>{console.warn(e),null==t||t(null),n(e)}))}))},t.getMyWindowIdentifier=e=>{const t=i.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,componentType:i};null==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.isWindows=async function(e){const t=(await i.System.getHostSpecs()).name.toUpperCase().includes("WINDOWS");return null==e||e(t),t},t.getWindowType=function(e){const t="WebWindow";if(e.windowType&&!["assimilation","assimilated","native","application","NativeWindow","FinsembleNativeWindow","CompoundWindow","WebWindow","WebApplication","StackedWindow","Citrix"].includes(e.windowType))return o.Logger.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.compound&&(r="CompoundWindow"),r},t.getDesktopBoundingBox=async e=>{var t,r;const n="string"==typeof e?document.querySelector(e):e;n||o.Logger.system.error("getDesktopBoundingBox can't find element",e);const i=n?n.getBoundingClientRect():{top:0,left:0,width:0,height:0},{windowName:l}=s.Startup.getInstance().getStartupData(),{wrap:c}=await a.FinsembleWindow.getInstance({name:l}),u=await c.getBounds(),d=u.data;u.err&&o.Logger.system.error("getDesktopBoundingBox: finsembleWindow.getBounds() error",u.err);const f=null!==(t=null==d?void 0:d.top)&&void 0!==t?t:0,p=null!==(r=null==d?void 0:d.left)&&void 0!==r?r:0,h={top:f+i.top,left:p+i.left,width:i.width,height:i.height,right:0,bottom:0};return h.right=h.left+h.width,h.bottom=h.top+h.height,h},t.isPointInBox=(e,t)=>(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),t.isMouseOverDOMElement=async(e,r=Function.prototype)=>{const n=await(0,t.getDesktopBoundingBox)(e),o=await i.System.getMousePosition(),s=(0,t.isPointInBox)(o,n);return r(s),s},t.fastClone=e=>{if(!e)return e;if(Array.isArray(e))return e.slice();try{return JSON.parse(JSON.stringify(e))}catch(e){o.Logger.error("fastClone error, falling back to structured clone",e)}try{return structuredClone(e)}catch(e){o.Logger.error("fastClone error, structured clone failed",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.timeoutPromise=p,t.wrapWithTimeout=function(e,t,r){return Promise.race([e,p(t,r)])},t.isStackedWindow=function(e){return e&&"StackedWindow"===((0,l.default)(e,"windowIdentifier.windowType")||e.windowType)},t.checkIfBoundsAreEqual=function(e,t){if(!e||!t)return!1;const r=["left","right","top","bottom","width","height"],n=(0,c.default)(e,r),i=(0,c.default)(t,r);return(0,u.default)(n,i)},t.sleep=function(e,t=!1){return new Promise(((r,n)=>{t?setTimeout((()=>{try{n("timeout expired")}catch(e){}}),e):setTimeout(r,e)}))},t.isEqualIgnoringArrayOrder=(e,r)=>{const n=(0,t.fastClone)(e),i=(0,t.fastClone)(r);return(0,d.default)(n,i,((e,t)=>{if(Array.isArray(e)&&Array.isArray(t))return(0,d.default)(e.sort(),t.sort())}))}},24137: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.openSharedData=t.deprecatedGetWindowNameForDocking=t.deprecatedSetActive=t.deprecatedGetActiveAndPendingWindowNames=void 0;const i=r(2518),o=r(49136),s=n(r(95393));function a(e,t){return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}t.deprecatedGetActiveAndPendingWindowNames=(e,t=Function.prototype)=>new Promise((r=>{e.query("Launcher.getActiveAndPendingWindowNames",{},((e,n)=>{e&&i.Logger.system.error(e),t(e,n.data),r({err:e,data:n.data})}))})),t.deprecatedSetActive=e=>{var t,r;e?(r="desktop-active",(t=document.documentElement).classList?t.classList.add(r):a(t,r)||(t.className=`${t.className} ${r}`)):function(e,t){if(e.classList)e.classList.remove(t);else if(a(e,t)){const r=new RegExp(`(\\s|^)${t}(\\s|$)`);e.className=e.className.replace(r," ")}}(document.documentElement,"desktop-active")},t.deprecatedGetWindowNameForDocking=e=>{const t=e.parentWindow;return t?t.name:e.name},t.openSharedData=function(e,t){const r=o.LauncherClient,n=s.default;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 a=[],l={};r.getComponentsThatCanReceiveDataTypes({dataTypes:Object.keys(e.data)},((o,s)=>{for(const e of Object.keys(s))if(s[e].componentTypes.length)for(const t of s[e].componentTypes)l[t]?l[t].push(e):l[t]=[e];else{const t=`No Components Available to Handle the type: ${e}`;a.push(t),i.Logger.system.error(t)}let c=Object.keys(l);if(c.length){c.length>1&&(c=e.multipleOpenerHandler(l));const i=Object.keys(n.channels);if(i.length)if(n.getLinkedComponents({componentTypes:c,windowIdentifier:n.windowIdentifier()}).length||e.publishOnly)n.publish({dataType:"Finsemble.DragAndDropClient",data:e.data},(()=>{})),t&&t(a.length?a:null,"Data published");else{for(const t of c)r.spawn(t,{data:{sharedData:e.data,linker:{channels:i}},addToWorkspace:!0});t&&t(a.length?a:null,"Linked Window(s) spawned with data")}else if(!e.publishOnly){for(const t of c)r.spawn(t,{data:{sharedData:e.data},addToWorkspace:!0});t&&t(a.length?a:null,"New Window(s) spawned with data")}}else t&&t(a.length?a:null,null)}))}},96512: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.addToGroups=t.getGroupsForWindow=t.removeWindowsFromGroup=t.addWindowsToGroup=t.createWindowGroup=t.hyperFocus=t.getComponentsThatCanReceiveDataTypes=t.getPendingWindows=t.getActiveAndPendingWindowNames=t.getMonitor=t.unRegisterComponent=t.registerComponent=void 0;const i=r(23099),o=r(2518),s=r(51848),a=n(r(84795)),l=r(24137),c=r(94017),u=r(10166),d=r(83823);t.registerComponent=async(e,t)=>{await a.default.waitForStartup("windowService");const{err:r,response:n}=await s.RouterClient.query("LauncherService.registerComponent",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.unRegisterComponent=async(e,t)=>{if(!e.componentType){const e="No componentType provided";return null==t||t(e),{err:e}}await a.default.waitForStartup("windowService");const{err:r,response:n}=await s.RouterClient.query("LauncherService.unRegisterComponent",e);return null==t||t(r,n.data),{err:r,data:n.data}},t.getMonitor=async(e,t)=>(o.Logger.system.deprecated("This method is deprecated and will be removed in a future release. Use the method getMonitorInfo instead."),(0,c.getWhichMonitorClientSide)(s.RouterClient,{windowIdentifier:e},t)),t.getActiveAndPendingWindowNames=(e=Function.prototype)=>(o.Logger.deprecated("LauncherClient.getActiveAndPendingWindowNames is deprecated and will be removed"),(0,l.deprecatedGetActiveAndPendingWindowNames)(s.RouterClient,e)),t.getPendingWindows=async()=>{o.Logger.deprecated("LauncherClient.getPendingWindows is deprecated and will be removed"),await a.default.waitForStartup("windowService");const{err:e,response:t}=await s.RouterClient.query("Launcher.getPendingWindows",{});return{err:e,data:t.data}},t.getComponentsThatCanReceiveDataTypes=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.getComponentsThatCanReceiveDataTypes is deprecated and will be removed"),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]),s.RouterClient.query("LauncherService.getComponentsThatCanReceiveDataTypes",e,((e,n)=>{t(e,n.data),r({err:e,data:n.data})}))}))),t.hyperFocus=async(e,t)=>{o.Logger.system.deprecated("hyperFocus is deprecated as of version 4.0.0. This functionality may be removed in a future release"),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList]);const r=await(0,i.getMyWindowIdentifier)();e.windowList||e.groupName||e.componentType||(e.windowList=r?[r]:[]),await a.default.waitForStartup("windowService"),await s.RouterClient.transmit("LauncherService.hyperFocus",e),null==t||t()},t.createWindowGroup=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.createWindowGroup is deprecated and will be removed"),e.windowList&&!Array.isArray(e.windowList)&&(e.windowList=[e.windowList],delete e.groupName),new Promise((async r=>{if(!e.groupName){const e="Invalid Parameters";return r({err:e}),void t(e)}await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.createWindowGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))),t.addWindowsToGroup=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.addWindowsToGroup is deprecated and will be removed"),new Promise((async 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]),await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.addWindowsToGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))),t.removeWindowsFromGroup=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.removeWindowsFromGroup is deprecated and will be removed"),new Promise((async 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]),await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.removeWindowsFromGroup",e,((e,n)=>{t(e,n),r({err:e,data:n})}))}))),t.getGroupsForWindow=(e,t=Function.prototype)=>(o.Logger.deprecated("LauncherClient.getGroupsForWindow is deprecated and will be removed"),"function"==typeof e&&(t=e,e=null),new Promise((async r=>{if(e&&e.windowIdentifier)await a.default.waitForStartup("windowService"),s.RouterClient.query("LauncherService.getGroupsForWindow",e,((e,n)=>{r({err:e,data:n.data}),t(e,n.data)}));else{const{windowName:e}=u.Startup.getInstance().getStartupData(),{wrap:n}=await d.FinsembleWindow.getInstance({name:e});n.getComponentState({field:"finsemble:windowGroups"},((e,n)=>{r({err:e,data:n}),t(e,n)}))}}))),t.addToGroups=async(e,t)=>{var r;o.Logger.deprecated("LauncherClient.addToGroups is deprecated and will be removed");const n=await(0,i.getMyWindowIdentifier)();e.windowIdentifier=null!==(r=e.windowIdentifier)&&void 0!==r?r:n,await a.default.waitForStartup("windowService");const{err:l}=await s.RouterClient.query("LauncherService.addWindowToGroups",e);return null==t||t(l),{err:l}}},95393: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.LinkerClient=void 0;const i=n(r(97525)),o=n(r(47913)),s=n(r(2518)),a=n(r(18446)),l=r(31755),c=r(96512),u=r(51848),d=n(r(84795));s.default.system.debug("Starting LinkerClient");const f=s.default.system.info,p=s.default.system.debug;function h(e){return e.windowName.replace(/\./g,"_")}function g(e,t){return t&&t(null,e),e}class m{constructor(){this.stateChangeListeners=[],this.allChannels=[],this.channels={},this.clients={},this.channelListenerList=[],this.dataListenerList={},this.handleListeners=(e,t)=>{const r=this.dataListenerList[t.data.type];if(r&&r.length>0)for(let e=0;e<r.length;e++)r[e](t.data.data,{data:t.data.data,header:t.header,originatedHere:t.originatedHere})},this.onClose=e=>{const t=h(i.default.getWindowIdentifier());this.clients[t]&&(this.clients[t]=null,this.updateClientInStore(t)),this.linkerStore.removeListener({field:`clients.${t}`},this.clientsKeyValueChangeStoreListener,((e,r)=>{r||s.default.system.warn("Linker Client Onclose: clientsKeyValueChangeStoreListener removeListener failed",t)})),this.linkerStore.removeListener({field:{}},this.anyFieldChangeStoreListener,((e,t)=>{t||s.default.system.warn("Linker Client Onclose: anyFieldChangeStoreListener removeListener failed")})),s.default.system.debug("LINKER-4 cleanup",t),e&&e()},this.groups=this.channels,this.allGroups=this.allChannels,this.onLinksUpdate={push:e=>{this.stateChangeListeners.push(((t,r)=>{r&&(r.groups=r.channels),e(t,{groups:r})}))}},this.linkerWindow=null,this.loading=!1,this.clientsKeyValueChangeStoreListener=this.clientsKeyValueChangeStoreListener.bind(this),this.anyFieldChangeStoreListener=this.anyFieldChangeStoreListener.bind(this)}getChannel(e){return this.allChannels.filter((t=>t.name===e)).length>0}createChannel(e,t){return s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.createChannel","PARAMS",e),e.name?this.getChannel(e.name)?(p(`LinkerClient.createChannel: Channel ${e.name} Already Exists`),g(this.allChannels,t)):(this.allChannels.push(e),this.allGroups=this.allChannels,this.linkerStore.setValue({field:"channels",value:this.allChannels}),g(this.allChannels,t)):(p("LinkerClient.createChannel: Name is required"),g(this.allChannels,t))}removeChannel(e,t){if(f("LinkerClient.removeChannel","NAME",e),s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),!this.getChannel(e))return p(`Channel ${e}does not exist`,null),g(this.allChannels,t);const r=this.allChannels;for(let t=0;t<r.length;t++)if(e===r[t].name){r.splice(t,1);break}this.linkerStore.setValue({field:"channels",value:this.allChannels});const{clients:n}=this;for(const t in n){const r=n[t];for(const t in r.channels)if(e===t){delete r[t];break}}return this.linkerStore.setValue({field:"clients",value:this.clients}),g(this.allChannels,t)}updateClientInStore(e){this.linkerStore.setValue({field:`clients.${e}`,value:this.clients[e]})}linkToChannel(e,t,r){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.linkToChannel","CHANNEL",e,"COMPONENT",t),t||(t=i.default.getWindowIdentifier());const n=h(t);if(this.clients[n]||(this.clients[n]={client:t,channels:{}}),Array.isArray(e))for(let t=0;t<e.length;t++)this.clients[n].channels[e[t]]=!0;else this.clients[n].channels[e]=!0;return this.updateClientInStore(n),g(this.getState(t),r)}unlinkFromChannel(e,t,r){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unlinkFromChannel","CHANNEL",e,"WINDOW IDENTIFIER",t),t||(t=i.default.getWindowIdentifier());const n=h(t),o=this.clients[n];if(Array.isArray(e))for(let t=0;t<e.length;t++)delete o.channels[e[t]];else if(e){if(!o||!o.channels[e]){const i=this.clients[n];return p(`Component was not in specified channel ${e}`,i,i.channels[e]),g(this.getState(t),r)}delete o.channels[e]}else for(const e in o.channels)delete o.channels[e];return this.updateClientInStore(n),g(this.getState(t),r)}getAllChannels(e){return f("LinkerClient.getAllChannels"),g(this.allChannels,e)}getState(e,t){f("LinkerClient.getState","WINDOW IDENTIFIER",e);const r={channels:[],allChannels:this.allChannels};if(e||(e=i.default.getWindowIdentifier()),!Object.keys(this.clients).length)return g(r,t);const n=h(e),o=this.clients[n];return o?(r.channels=this.allChannels.filter((e=>o.channels&&!0===o.channels[e.name])),s.default.system.debug("LINKER-3",this.allChannels,"state.channels",r.channels,"key",n,"windowIdentifier",e,"componentEntry",o),o.active||(o.active=!0,this.linkerStore.setValue({field:`clients.${n}`,value:o})),g(r,t)):g(r,t)}unsubscribe(e,t){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.unsubscribe","DATA TYPE",e),this.dataListenerList[e]&&(t?this.dataListenerList[e]=this.dataListenerList[e].filter((e=>e!==t)):delete this.dataListenerList[e])}publish(e,t){f("LinkerClient.publish","PARAMS",e);let{channels:r}=e;r||(r=Object.keys(this.channels));for(let t=0;t<r.length;t++){const n=r[t];u.RouterClient.transmit(`${n}.${e.dataType}`,{type:e.dataType,data:e.data}),u.RouterClient.transmit(n,{type:e.dataType,data:e.data})}return g({},t)}subscribe(e,t){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.subscribe","DATA TYPE",e),this.dataListenerList[e]?this.dataListenerList[e].includes(t)||this.dataListenerList[e].push(t):this.dataListenerList[e]=[t]}getLinkedComponents(e,t){s.default.system.deprecated("This method is deprecated and will be removed in a future release. Please use FSBL.Interop which provides channel linking automatically."),f("LinkerClient.getLinkedComponents","PARAMS",e);const r=[];if(e||(e={}),e.channels&&!Array.isArray(e.channels)&&(e.channels=[e.channels]),e.componentTypes&&!Array.isArray(e.componentTypes)&&(e.componentTypes=[e.componentTypes]),e.windowIdentifier){const t=h(e.windowIdentifier),r=Object.keys(this.clients[t].channels);e.channels?e.channels=e.channels.filter((e=>r.includes(e))):e.channels=r}e.channels||(e.channels=this.getAllChannels().map((e=>e.name)));for(const t in this.clients){let n=this.clients[t];if(!n)continue;n.channels||(n=n[Object.keys(n)[0]]);const i=Object.keys(n.channels).filter((t=>{var r;return null===(r=null==e?void 0:e.channels)||void 0===r?void 0:r.includes(t)})).length;let o=!0;e.componentTypes&&(o=e.componentTypes.includes(n.client.componentType)),n.active&&i&&o&&r.push({windowName:n.client.windowName,componentType:n.client.componentType,uuid:n.client.uuid,channels:Object.keys(n.channels)})}return g(r,t)}updateListeners(){for(let e=this.channelListenerList.length-1;e>=0;e--){const t=this.channelListenerList[e];Object.keys(this.channels).filter((e=>e==t)).length||(u.RouterClient.removeListener(t,this.handleListeners),this.channelListenerList.splice(e,1))}const e=Object.keys(this.channels);for(let t=0;t<e.length;t++){const r=e[t];this.channelListenerList.includes(r)||(u.RouterClient.addListener(r,this.handleListeners),this.channelListenerList.push(r))}const t=this.getState();for(let e=0;e<this.stateChangeListeners.length;e++)this.stateChangeListeners[e](null,t)}onStateChange(e){this.stateChangeListeners.push(e)}persistState(e){i.default.setComponentState({field:"Finsemble_Linker",value:e})}clientsKeyValueChangeStoreListener(e,t){if(p("My Channels Updated"),!t.value)return;const r=t.value.channels||t.value.groups,n=(0,a.default)(r,this.channels);(r&&0!==Object.keys(r).length&&!n||0===Object.keys(r).length&&0!==Object.keys(this.channels).length)&&(this.persistState(r),this.channels=r,this.updateListeners())}anyFieldChangeStoreListener(e,t){const{values:r}=t.value;this.allChannels=r.channels,r.groups&&(this.allChannels=r.groups),s.default.system.debug("LINKER-2",this.allChannels),this.allGroups=this.allChannels,this.clients=r.clients}start(e){return new Promise((async t=>{await d.default.waitForStartup("linkerService"),this.dontPersistYet=!0,p("LinkerClient Loading Channels");const r=i.default.getWindowIdentifier(),n=h(r);o.default.getStore({store:"Finsemble_Linker",global:!0},((o,a)=>{this.linkerStore=a,null==a||a.addListener({field:`clients.${n}`},this.clientsKeyValueChangeStoreListener),null==a||a.addListener({},this.anyFieldChangeStoreListener),null==a||a.getValues(["channels",`clients.${n}`],((o,a)=>{a&&a.channels&&(this.allChannels=a.channels,s.default.system.debug("LINKER-1",this.allChannels),this.allGroups=this.allChannels),i.default.getComponentState({field:"Finsemble_Linker"},((o,s)=>{var l;this.channels=[],this.clients[n]={client:r,active:!0,channels:{}},s?(this.channels=s,this.clients[n].channels=s):(null===(l=a[`clients.${n}`])||void 0===l?void 0:l.channels)&&(this.clients[n].channels=a[`clients.${n}`].channels),this.updateClientInStore(n);const c=i.default.getSpawnData();if(c&&c.linker){let e=c.linker.channels;c.linker.groups&&(e=c.linker.groups),this.linkToChannel(e,r)}else this.updateListeners();null==e||e(),t()}))}))}))}))}initialize(){s.default.system.deprecated("It is no longer necessary to call LinkerClient.initialize()")}hyperFocus(e){(0,c.hyperFocus)({windowList:this.getLinkedComponents({channels:e})})}bringAllToFront(e){const{channel:t}=e;(0,l.bringWindowsToFront)({windowList:this.getLinkedComponents({channels:t})})}createGroup(e,t){return this.createChannel(e,t)}deleteGroup(e,t){return this.removeChannel(e,t)}addToGroup(e,t,r){const n=this.linkToChannel(e,t);return r&&r(null,n),n}removeFromGroup(e,t,r){const n=this.unlinkFromChannel(e,t);return r&&r(null,n),n}getAllGroups(e){const t=this.getAllChannels();return e&&e(t),t}getGroups(e,t){const r=this.getState(e);return r.groups=r.channels,g(r,t)}unSubscribe(e,t){this.unsubscribe(e,t)}getLinkedWindows(e,t){return e||(e={}),e.groups=e.channels,e.windowIdentifier=e.client,this.getLinkedComponents(e,t)}windowIdentifier(e,t){return g(i.default.getWindowIdentifier(),t)}openLinkerWindow(e){if(this.loading)return;const t=()=>{u.RouterClient.query("Finsemble.LinkerWindow.Show",{groups:this.getGroups().groups,windowIdentifier:i.default.getWindowIdentifier(),windowBounds:i.default.getWindowBounds()},(()=>{}))};this.linkerWindow?this.linkerWindow.isShowing((e=>{e?this.linkerWindow.hide():t()})):t()}}t.LinkerClient=m;const y=new m;t.default=y},55470:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(2518)),l=o(r(23099));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?l.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?l.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}`)}deprecatedRequest(e,t){if(Array.isArray(e.set)){let r=e.set;delete e.set;for(let n=0;n<r.length;n++){let i=Object.keys(r[n]);for(let t=0;t<i.length;t++)e[i[t]]=r[n][i[t]];this.processDeprecatedProperty(context,t,e)}}else a.default.system.log("DeprecatedConfigUtil.processDeprecatedProperty skipping illegal set operation",e)}singlePathOperation(e,t){const r=this.getWildCardListItems(t,e.property);if(0===r.length)switch(e.operation){case"setValue":a.default.system.debug(`DeprecatedConfigUtil.setValue for property ${e.property}`,e),this.setPropertyValue(t,e);break;case"removeProperty":a.default.system.debug(`DeprecatedConfigUtil.removeProperty for ${e.property}`,e),this.removeProperty(t,e);break;case"logMessage":a.default.system.debug(`DeprecatedConfigUtil.logMessageOnly for ${e.property}`,e),this.displayDeprecationMessage(t,e)}else{let n,i=e.property.slice();for(;n=r.pop();)e.property=i.replace(".*.",`.${n}.`),this.processDeprecatedProperty(context,t,e)}}moveProperty(e,t){if(this.wildCardMismatch(e.oldProperty,e.newProperty))a.default.system.warn(`DeprecatedConfig: wildCards are mismatched for ${e.oldProperty} and ${e.newProperty} so ignoring`,e);else{const r=this.getWildCardListItems(t,e.newProperty);if(0===r.length)a.default.system.debug(`DeprecatedConfigUtil.moveProperty from ${e.oldProperty} to ${e.newProperty}`,e),this.moveConfigProperty(t,e);else{let n,i=e.oldProperty.slice(),o=e.newProperty.slice();for(;n=r.pop();)e.oldProperty=i.replace(".*.",`.${n}.`),e.newProperty=o.replace(".*.",`.${n}.`),this.processDeprecatedProperty(context,t,e)}}}processDeprecatedProperty(e,r,n){try{void 0===n.when||n.when[e]?n.set?this.deprecatedRequest(n,r):t.SINGLE_PATH_OPERATIONS.includes(n.operation)?this.singlePathOperation(n,r):"moveProperty"===n.operation?this.moveProperty(n,r):a.default.system.warn("DeprecatedConfigUtil.processDeprecatedProperty skipping unknown operation",n):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}}},88478: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(2518)),o=r(64324),s=n(r(1581)),a=n(r(5477)),l="%&%",c="%%";t.SchemaUtilInstance=new class{constructor(){this.generatedDocLines=[],this.knownPropertiesMap={},this.previousLevel=0}formatValidationErrors(e){return e.map((e=>`In '${e.instancePath}', error: '${e.message}', with params '${JSON.stringify(e.params)}'`))}schemaValidate(e,t,r,n){let o=!1;try{var s=e.getSchema(`Finsemble${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=!1,n={strict:"log",allErrors:!0,verbose:!0,useDefaults:!1};if(this.finsembleSchema&&this.ajv)r=!0;else try{const{err:t,data:l}=await o.ConfigUtilInstance.fetchConfigFile(e.finsemble.configSchemaURL);this.finsembleSchema=l,t&&i.default.system.error(`getFile error: ${t}`),this.ajv=new s.default(n),(0,a.default)(this.ajv),this.ajv.addSchema(this.finsembleSchema,"Finsemble"),r=!0}catch(e){i.default.system.error(`validateConfig: Error thrown reading or adding schema: ${e}`)}let l=!1;return r?(i.default.system.debug("ConfigService: schema read",this.finsembleSchema),this.schemaValidate(this.ajv,this.finsembleSchema,t,e)||(l=!0)):(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."),l=!0),l}setDefaultForForOneProperty(e,t,r){i.default.system.debug(`setDefaultForForOneProperty: ${t}=${r}`);let n=null,o=e,s=t.split(c);for(let e=1;e<s.length-1;e++){let t=s[e];if(t.includes(l)){let e=t.split(l),r=e[0],n=e[1];o=o[r][n]}else o[t]||(o[t]={}),o=o[t]}let a=s[s.length-1];n=o[a],"object"==typeof o&&void 0===n&&(o[a]=r,i.default.system.debug(`config-default-set property: path=${t}, originalPropertyValue=${n} defaultValue=${r},`))}getAdditionalProperties(e,t){i.default.system.verbose(`getAdditionalProperties for ${t}`);let r=e,n=t.split(c);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.verbose(`getAdditionalProperties-additionalProperties for ${t}`,s,o),s}getLengthOfArrayInConfig(e,t){i.default.system.verbose(`getLengthOfArrayInConfig for ${t}`);let r=0,n=e,o=t.split(c);for(let e=1;e<o.length;e++){let t=o[e];if(t.includes(l)){let e=t.split(l),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.verbose(`getLengthOfArrayInConfig value is ${r} for path=${t}`,n)),r}processSchemaItems({schemaObject:e,manifest:t,path:r,currentForceDefaults:n,previousPathProperty:o,level:s}){"array"===e.type||Array.isArray(e.type)||i.default.system.error(`recursiveWalkerForDefaults expected items of type array for ${r}`,e);let a=this.getLengthOfArrayInConfig(t,r);for(let l=0;l<a;l++){let a=`${r}%&%${l}`;i.default.system.debug(`processing items for ${a}`,e.items),this.recursiveWalkerForDefaults(t,n,e.items,o,`${a}`,s)}}processSchemaProperties({schemaObject:e,manifest:t,path:r,currentForceDefaults:n,previousPathProperty:i,level:o}){let s=Object.keys(e.properties);for(let a of s){let s=`${r}%%${a}`;a!=i&&"object"==typeof e.properties[a]&&(this.knownPropertiesMap[s]=!0,this.recursiveWalkerForDefaults(t,n,e.properties[a],a,`${s}`,o))}}processSchemaAdditionalProperties({schemaObject:e,manifest:t,path:r,currentForceDefaults:n,previousPathProperty:o,level:s}){let a=this.getAdditionalProperties(t,r);for(let l=0;l<a.length;l++){let c=`${r}%%${a[l]}`;i.default.system.debug(`processing additionalProperties for ${c}`,e.additionalProperties),this.recursiveWalkerForDefaults(t,n,e.additionalProperties,o,`${c}`,s)}}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)}r.items&&this.processSchemaItems({schemaObject:r,manifest:e,path:o,currentForceDefaults:t,previousPathProperty:n,level:s}),r.properties&&this.processSchemaProperties({schemaObject:r,manifest:e,path:o,currentForceDefaults:t,previousPathProperty:n,level:s}),r.additionalProperties&&this.processSchemaAdditionalProperties({schemaObject:r,manifest:e,path:o,currentForceDefaults:t,previousPathProperty:n,level:s})}--s}async initializeSchema(e){let t=!0;if(!this.finsembleSchema){const{data:t}=await o.ConfigUtilInstance.fetchConfigFile(e);this.finsembleSchema=t}return 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")}}},32466:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkForObjectChange=t.mapField=t.initObject=t.setPath=t.byString=void 0,t.byString=(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},t.setPath=(e,t,r)=>t.split(".").reduce(((e,n)=>e[n]=t.split(".").pop()===n?r:e[n]||{}),e),t.initObject=function e(t,r,n){let i;if(r||(r=null),"object"!=typeof t)return i=r?`${r}.${t}`:t,void(n[i]=r);for(const o in t)"object"==typeof t[o]&&"undefined"!==t[o]?(i=r?`${r}.${o}`:o,n[i]=r,e(t[o],i,n)):(i=r?`${r}.${o}`:o,n[i]=r)},t.mapField=(e,r,n)=>{if(n[r])return;const i=(r=(r=r.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=r;if(!n.hasOwnProperty(o)){let e=null;i.length>1&&(i.pop(),e=i.join(".")),n[o]=e}const s=(0,t.byString)(e,o);if("undefined"!==s&&"object"==typeof s)for(const r in s)(0,t.mapField)(e,`${o}.${r}`,n)};t.checkForObjectChange=(e,r,n)=>{const i=(0,t.byString)(e,r);return null!==i&&("object"==typeof i||"object"!=typeof i&&"object"==typeof r?((e,t)=>{const r=[];for(const n in e){const i=`${t}.`;n.includes(i)&&(r.push(n),delete e[n])}return r})(n,r):null)}},41552:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Action=void 0,t.Action=class{constructor(){this.id="",this.buttonText="",this.type=""}}},99259:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),t.FinsembleNotificationOptions=t.ActionTypes=void 0,(n=t.ActionTypes||(t.ActionTypes={})).DISMISS="DISMISS",n.SNOOZE="SNOOZE",n.SPAWN="SPAWN",n.QUERY="QUERY",n.PUBLISH="PUBLISH",n.TRANSMIT="TRANSMIT",(r=t.FinsembleNotificationOptions||(t.FinsembleNotificationOptions={})).MARK_AS_UNREAD="MARK_AS_UNREAD",r.MARK_AS_READ="MARK_AS_READ",r.SNOOZE="SNOOZE",r.DISMISS="DISMISS",r.SETTINGS="SETTINGS",r.DETAILS="DETAILS"},47505:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},98379:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=void 0,t.Filter=class{constructor(){this.include=[],this.exclude=[]}}},45115:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},27749:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},42303:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},15074:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},90382:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2094:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},68994:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},62671:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},12573:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},85058:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},61765:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},77610:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LastIssued=void 0,t.LastIssued=class{constructor(e,t){this.source=e,this.issuedAt=t}}},56164:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Meta=void 0,t.Meta=class{}},42649:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Notification=void 0;const n=r(56164);t.Notification=class{constructor(){this.actions=[],this.isRead=!1,this.isSnoozed=!1,this.isMuted=!1,this.isDeleted=!1,this.actionsHistory=[],this.meta=new n.Meta,this.stateHistory=[],this.issuedAt="",this.title="",this.devModeOnly=!1}}},39195:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},71039:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},12758:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PerformedAction=void 0,t.PerformedAction=class{constructor(){this.id="",this.type="",this.datePerformed=""}}},70887:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SnoozeTimer=void 0,t.SnoozeTimer=class{}},35874:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Subscription=void 0,t.Subscription=class{constructor(e,t){this.id=e||null,this.filter=t,this.channel=""}}},46215:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(41552),t),i(r(99259),t),i(r(47505),t),i(r(98379),t),i(r(45115),t),i(r(27749),t),i(r(42303),t),i(r(15074),t),i(r(90382),t),i(r(2094),t),i(r(68994),t),i(r(62671),t),i(r(12573),t),i(r(85058),t),i(r(61765),t),i(r(77610),t),i(r(56164),t),i(r(42649),t),i(r(39195),t),i(r(71039),t),i(r(12758),t),i(r(70887),t),i(r(35874),t)},87132: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(2518)),o=r(91374),s={},a={activeTransports:{},liveTransport:null,setTransports(){a.addTransport("SharedWorker",s.SharedWorkerTransport),a.addTransport("IPCBus",s.IPCTransport),a.addTransport("FinsembleTransport",s.FinsembleTransport)},addTransport(e,t){this.activeTransports[e]=t},getActiveTransports(e){const t=[],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,o)=>new Promise(((s,l)=>{const c=a.activeTransports[t];if(c)a.liveTransport=new c(e,r,n,o,(e=>{s(e)}));else{const e=`routerTransport.getTransport() Unknown router transport name: ${t}`;i.default.warn(e),l(e)}})),close(){a.liveTransport&&(a.liveTransport.close(),a.liveTransport=null)}};s.SharedWorkerTransport=function(e,t,r,n,o){let s;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=()=>"SharedWorker";const a=e.transportSettings.SharedWorker&&e.transportSettings.SharedWorker.workerPath?e.transportSettings.SharedWorker.workerPath:`${e.routerDomainRoot}/common/routerSharedWorker.js`;i.default.console.log(`SharedWorker Transport Initializing for ${r} using ${a}`),s=new SharedWorker(a,{name:"Finsemble",credentials:"include"}),s.port.onmessage=e=>{const r=e.data[0],n=e.data[1],o={transportID:this.identifier(),port:r};i.default.system.verbose("SharedWorkerTransport Incoming Transport",o,"Message",n),t(o,n)},s.onerror=e=>{i.default.console.error(`SharedWorkerTransport Transport Error ${JSON.stringify(e)}`)},s.port.start(),"RouterService"===r&&s.port.postMessage({data:"connect",source:"RouterService"}),this.close=()=>s.port.close(),null==o||o(this)},s.IPCTransport=function(e,t,r,n,s){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",r,"Message",t),o.System.InterApplicationBus.publish(r,t,(()=>{}),(()=>{}))},this.identifier=()=>"IPCBus",i.default.console.log(`IPCBus Transport Initializing for ${r}`);const a=o.System.InterApplicationBus.subscribe("*",r,(e=>{const r={transportID:this.identifier(),name:e.header.origin};i.default.system.verbose("IPCTransport Incoming Transport",r,"Message",e),t(r,e)}),(()=>{}),(e=>i.default.console.error(`IPCBus Subscribe Failure: ${e}`)));this.close=()=>o.System.InterApplicationBus.unsubscribe(a),null==s||s(this)},s.FinsembleTransport=function(e,t,r,n,o){var s,a,l,c,u;const d=`${null!==(u=null!==(l=null===(a=null===(s=null==e?void 0:e.transportSettings)||void 0===s?void 0:s.FinsembleTransport)||void 0===a?void 0:a.serverAddress)&&void 0!==l?l:null===(c=null==e?void 0:e.transportSettings)||void 0===c?void 0:c.serverAddress)&&void 0!==u?u:"ws://127.0.0.1:3376"}/router`;let f;const p=e=>{const r={transportID:this.identifier(),client:e.clientMessage.header.origin};i.default.system.verbose("FinsembleTransport Incoming Transport",r,"Message",e),t(r,e.clientMessage)},h=()=>{i.default.console.error(`FinsembleTransport Connection Timeout for ${r}`),null==o||o(this)},g=()=>{i.default.console.log(`FinsembleTransport Transport Initializing for ${r} using ${d}`),d.startsWith("ws:")||d.startsWith("wss:")||i.default.system.error(`Illegal WebSocket address "${d}" (Missing ws:// or wss:// ?)`),f=new WebSocket(d);const e=setTimeout(h,3e3);f.addEventListener("open",(()=>{clearTimeout(e),i.default.console.log("FinsembleTransport connected to server"),f.addEventListener("message",(e=>{const t=JSON.parse(e.data);(r===t.message.client||"RouterService"===r&&"ROUTER_SERVICE"==t.dest)&&p(t.message)})),null==o||o(this)}))};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),f.readyState===WebSocket.OPEN&&f.send(JSON.stringify({dest:r,message:n})),f.readyState===WebSocket.CONNECTING&&f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:r,message:n}))})),f.readyState===WebSocket.CLOSED&&(g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:r,message:n}))}))),f.readyState===WebSocket.CLOSING&&(f.onclose=()=>{g(),f.addEventListener("open",(()=>{f.send(JSON.stringify({dest:r,message:n}))}))})},this.identifier=()=>"FinsembleTransport",this.close=()=>f.close(),g()},t.default=a},38144:(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","pre-authentication","authentication","system-preuser","preuser","preuser2","preuser3","preuser4","earlyuser","user"],t.CRITICAL_BOOT_STAGES=["microkernel","kernel"],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"},40539:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(2518),l=r(51848),c=r(89285),u=s(r(40601)),d=o(r(23099)),f=r(37331);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.defaultTimeoutInterval=1e6,this.parentName=e,this.currentStage=t,this.defaultTimeoutInterval=r,this.originalConfig=n,this.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.run()}getResults(e){var t;a.Logger.system.debug("bootCheckpointEngine.getResults",this.currentStatus,this.checkpointTimers,this.checkpointConfig);let r=new p(!0);const n=[];"error"===(null===(t=this.currentStatus)||void 0===t?void 0:t.graphState)&&(r=new p(!1,this.currentStatus.errorDiag));for(const t in this.checkpointTimers)this.findConfigElement(t).postStartupCompletion?"failed"===e&&clearTimeout(this.checkpointTimers[t]):(n.push(`checkpoint ${t} for ${this.parentName} did not complete`),clearTimeout(this.checkpointTimers[t]));if(n.length>0)if(r.okay){const e=new c.DGDiagnostics(void 0,n);r=new p(!1,e)}else r.errorDiag.errorData.push(...n);return r}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.Logger.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(),u.default.error({},`"checkpointEngine: ${e}`)}}cleanupStagesOutStandingTimers(){Object.keys(this.checkpointTimers).forEach((e=>{clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]}))}getCheckpoingConfigElement(e,t){var r;const n=d.clone(t),i={name:e,type:"checkpoints",stage:this.currentStage,dependencies:null!==(r=n.dependencies)&&void 0!==r?r:[],postStartupCompletion:n.postStartupCompletion||!1,stopOnFailure:!0,autoStart:!0,customFailureMessage:n.customFailureMessage||"",originalConfig:n,timeout:n.timeout||this.defaultTimeoutInterval,checkpointsIncluded:!1,checkpointConfig:{}};return Array.isArray(i.dependencies)||(u.default.error({leadingBlankLine:!1},`Checkpoint CONFIG: dependencies for ${e} must be an array`),i.dependencies=[""]),i}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.Logger.system.debug("checkpointEngine subscribe",e,t,(0,f.checkpointChannel)(e,t)),l.RouterClient.subscribe((0,f.checkpointChannel)(e,t),((e,t)=>{e?a.Logger.system.error("checkpointEngine subscribe error",e):(a.Logger.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.Logger.system.debug("checkpointEngine.genericHandlerForStateChange",this.parentName,e,t,r),this.checkpointTimers[e]&&(clearTimeout(this.checkpointTimers[e]),delete this.checkpointTimers[e]),"completed"===t?this.dependencyGraph&&(this.dependencyGraph.setBootDependencyState(e,t),this.processWhatIsReady(this.dependencyGraph)):"failed"===t&&(r.timedOut?u.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} timed out. ${this.findConfigElement(e).customFailureMessage}`):u.default.warn({indent:!0},`checkpoint ${e} for ${this.parentName} failed. ${this.findConfigElement(e).customFailureMessage}`),this.dependencyGraph&&(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.Logger.system.debug(`checkpointEngine.processReadyList starting checkpoint ${e.name} in ${this.currentStage}`,e)}setStateForList(e,t){var r;for(let n=0;n<e.length;n++){const i=e[n];null===(r=this.dependencyGraph)||void 0===r||r.setBootDependencyState(i.name,t)}}processReadyList(e){a.Logger.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){this.currentStatus=e.getCurrentStatus(),a.Logger.system.debug("checkpointEngine processWhatIsReady",status,e),console.log("processWhatIsReady",status),++this.processStatusCounter>500?a.Logger.system.error("checkpointEngine.processWhatIsReady is in infinite loop -- breaking out",this.processStatusCounter):"notFinished"===this.currentStatus.graphState&&this.processReadyList(this.currentStatus.readyToStartList)}}},89285: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(53912),o=n(r(2518));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 l{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 c{constructor(){this.nodes={}}}const u=["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),this.context=e,this.bootConfig=t,this.allPreviousBootConfig=r,this.graph=this.buildGraph(this.bootConfig);try{this.checkNodesForValidDependencies(this.bootConfig,this.allPreviousBootConfig),this.checkNodesForCircularDependencies(),this.iterativelySetAllGraphStates(this.graph)}catch(e){"error"!=this.graphState&&(this.graphState="error",this.errorDiag.description=e.toString()),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, setting state "${t}" for unknown dependency name "${e}" (may be a late checkpoint received from an earlier boot stage). 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 c;for(let r=0;r<e.length;r++){const n=e[r],i=new l(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=!1,n=!1,i=!1;const s=[];for(const a in this.graph.nodes){const l=this.graph.nodes[a];let c=l.dependencies.length;for(;c--;){const u=l.dependencies[c];n=this.checkForKnownDependency(u,e),n||(i=this.checkForKnownDependency(u,t)),!n&&i?(o.default.system.debug(`dependencyGraphy.checkNodesForValidDependencies removing dependency ${l.dependencies[c]} in node ${a}`),l.dependencies.splice(c,1)):n||i||(r=!0,s.push(`${a} dependency "${u}" 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(u.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}(u.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){const r=this.graph.nodes[t];if("readyToStart"===r.currentState&&this.bootConfig){const n=this.bootConfig.findIndex((e=>e.name==t));if(n>=0){const r=this.bootConfig[n];e.push(new i.BootReadyItem(t,r.type,r))}else o.default.system.error(`getNewReadyList: could not find bootConfig for ${t}`,r,this.bootConfig)}}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++:u.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=!1,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)}}},84503:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(2518),l=r(51848),c=r(9381),u=r(49136),d=r(64324),f=r(40539),p=r(89285),h=s(r(40601)),g=o(r(23099)),m=r(38144),y=r(37331),v=s(r(84795)),w=r(51806),b=["bootTasks","services","components"],S=15e3;t.BootEngine=class{constructor(e,t,r){this.currentStage="undefined",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.genericHandlerForStateChange=this.genericHandlerForStateChange.bind(this),this.startServiceTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startServiceTimeout",S),this.startComponentTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startComponentTimeout",S),this.startTaskTimeout=d.ConfigUtilInstance.getDefault(this.finsembleConfig,"finsembleConfig.bootConfig.defaults.startTaskTimeout",S),this.setupDependencyBootStatusPubSubs()}helpData(){const e=this.dependencyGraphs[this.currentStage];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`,e&&e.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:h.default.error({},`BootEngine: registerBootTask failed because of illegal input. Task Name = ${e}. Task Function Type = ${typeof t}`)}async run(){try{for(let e=0;e<m.ALL_BOOT_STAGES.length;e++){const t=e=>{if(this.logDiagnostics(e),m.CRITICAL_BOOT_STAGES.includes(this.currentStage))throw"*** Terminating Boot ***"};this.currentStage=m.ALL_BOOT_STAGES[e],a.Logger.system.log("BootEngine.run stage entered",this.currentStage),await this.runBootStage(this.currentStage).catch(t);const{data:r}=await c.ConfigClient.getValue({field:"finsemble"});this.finsembleConfig=r,this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),a.Logger.system.log("BootEngine.run stage complete",this.currentStage),l.RouterClient.publish(m.STAGE_CHANNEL,{stage:this.currentStage})}}catch(e){this.shutdownManager.addActiveServicesToDependencyManager(this.activeServices),this.cleanupStagesOutStandingTimers(),this.processingTerminated=!0,h.default.error({},`"BootEngine: ${e}`)}}async startServiceDeprecated(e){const t=this.manifest.finsembleConfig.services[e];if(t)return h.default.log({indent:!0},`Starting service ${e}`),a.Logger.system.debug(`bootEngine.startServiceDeprecated starting service ${e} in ${this.currentStage}`),await this.serviceLauncher.createService(t);{const t=`"BootEngine.startServiceDeprecated failed for ${e} because config not found in "finsemble.services"`;return h.default.error({},t),{err:t}}}logDiagnostics(e){h.default.error({leadingBlankLine:!0,indent:!0},`Error in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)h.default.error({doubleIndent:!0},`"${t}: ${e.errorData[t]}`);h.default.error({leadingBlankLine:!0,indent:!0},`"${this.currentStage}" stage failed. See SystemManager console for additional information.`)}checkpointLogDiagnostics(e){if(e.description){h.default.warn({indent:!0},`checkpoint issue in stage "${this.currentStage}": ${e.description}`);for(let t=0;t<e.errorData.length;t++)h.default.warn({doubleIndent:!0},`${t}: ${e.errorData[t]}`)}else for(let t=0;t<e.errorData.length;t++)h.default.warn({indent:!0},`${e.errorData[t]}`)}findConfigElement(e){const t=this.bootConfigs[this.currentStage];if(t){const r=t.findIndex((t=>t.name===e)),n=t[r];return n||a.Logger.system.error("bootEngine.findConfigElement could not find expected config element",e,t),n}return null}outputDependencyGraphs(e){for(let t=0;t<m.ALL_BOOT_STAGES.length;t++){const r=m.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]}))}processBootModuleType({bootParams:e,config:t,currentStage:r,name:n,type:i}){var o;if("services"===i){const{debugServiceDelay:i}=t,o=e.stage||"earlyuser";let s=e.timeout||this.startServiceTimeout;return i&&o===r&&(s+=i,h.default.warn({leadingBlankLine:!1},`==> timeout value for ${n} will be increased to ${s} (debugServiceDelay=${i})`)),{stage:o,timeout:s}}if("bootTasks"===i)return{stage:e.stage||"earlyuser",timeout:e.timeout||this.startTaskTimeout};if("components"===i){const{component:s={}}=t,a=e.stage||"user";return!1===e.autoStart&&s.spawnOnStartup&&a===r&&h.default.error({leadingBlankLine:!1},`BOOT CONFIG: autoStart conflicts with spawnOnStartup value for ${n} in ${i} -- using spawnOnStartup value`),e.autoStart=null!==(o=s.spawnOnStartup)&&void 0!==o&&o,{stage:a,timeout:e.timeout||this.startComponentTimeout}}return{stage:"undefined",timeout:6e4}}getBootConfigElement(e,t,r,n){const i=g.clone(n);let{bootParams:o}=i;o?m.ALL_BOOT_STAGES.includes(o.stage)||((o.stage||!1!==o.autoStart)&&h.default.error({leadingBlankLine:!1},`BOOT CONFIG: unknown boot stage "${o.stage}" for ${t} in ${r} -- assigning default value`),o.stage=null):o={};const{stage:s,timeout:a}=this.processBootModuleType({bootParams:o,config:i,currentStage:e,name:t,type:r}),{checkpointConfig:l={},autoStart:c=!0,stopOnFailure:u=!0,customFailureMessage:d=""}=o;let f=o.dependencies||[];return Array.isArray(f)||s!==e||(h.default.error({leadingBlankLine:!1},`BOOT CONFIG: bootparams.dependencies for ${t} in ${r} must be an array`),f=[""]),{name:n.name||t,type:r,stage:s,timeout:a,checkpointsIncluded:Object.keys(l).length>0,checkpointConfig:l,stopOnFailure:u,autoStart:c,customFailureMessage:d,originalConfig:n,dependencies:f,postStartupCompletion:!1}}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<b.length;n++){const i=b[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)=>{var n;try{h.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,null!==(n=this.bootConfigs[e])&&void 0!==n?n:[],this.cumulativePreviousBootConfig),a.Logger.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]);const i=this.dependencyGraphs[e];i&&this.processWhatIsReady(i);const o=this.bootConfigs[e];o&&(this.cumulativePreviousBootConfig=[...this.cumulativePreviousBootConfig,...o])}catch(e){r(new p.DGDiagnostics(`BootEngine:runBootStage.reject${e}`))}}))}async setupDependencyBootStatusPubSubs(){await(new w.FSBLService).startApp()}subscribeToDependencyBootStatus(e){l.RouterClient.subscribe((0,y.statusChannel)(e),((e,t)=>{e?a.Logger.system.error("BootEngine subscribe error",e):this.genericHandlerForStateChange(t.data.name,t.data.type,t.data.state,t.data.error)}))}waitForLastCheckpoint(e,t){setTimeout((()=>{const r=this.checkpointEngines[e].getResults(t);r.okay||this.checkpointLogDiagnostics(r.errorDiag),delete this.checkpointEngines[e],a.Logger.system.debug("bootEngine.genericHandlerForStateChange checkpointEngine results",e,r)}),50)}handleOneDependencyStateChange(e,t,r,n){if("completed"===r&&"services"===t?this.activeServices.push(e):"completed"===r&&"bootTasks"===t&&v.default.publishBootStatus(e,"bootTasks","completed"),"completed"===r||"failed"===r){const t=this.dependencyGraphs[this.currentStage];if(this.checkpointEngines[e]&&this.waitForLastCheckpoint(e,r),"failed"===r){const t=this.findConfigElement(e);h.default.error({doubleIndent:!0},`BootState=${r} for ${e}. ${n}. ${null==t?void 0:t.customFailureMessage}`)}t&&(t.setBootDependencyState(e,r),this.processWhatIsReady(t))}}genericHandlerForStateChange(e,t,r,n){a.Logger.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,n)}handleStartTimeout(e,t){delete this.startTimers[e],h.default.error({indent:!1},`${e} ${t} startup failed due to a time out`),this.genericHandlerForStateChange(e,t,"failed",`${e} startup failed due to a time out`)}startBootTaskDependency(e){if(h.default.log({indent:!0},`starting boot task: ${e.name}`),a.Logger.system.debug(`bootEngine.startBootTaskDependency starting boot task ${e.name} in ${this.currentStage}`,e),this.registeredTasks[e.name]){const t=this.registeredTasks[e.name];null==t||t(((e,t,r)=>{setTimeout((()=>{this.genericHandlerForStateChange(e,t,r)}),0)}))}else a.Logger.system.error(`bootEngine.startBootTaskDependency: unknown task ${e.name}`,e),h.default.error({},`bootEngine.startBootTaskDependency: unknown task ${e.name}`)}async startServiceDependency(e){h.default.log({indent:!0},`starting service: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.Logger.system.debug(`bootEngine.startServiceDependency starting service ${e.name} in ${this.currentStage}`,e);const t=await this.serviceLauncher.createService(e.config.originalConfig);if(t.err){const r=`Error starting service ${e.name}: ${t.err}`;h.default.error({indent:!0},r),a.Logger.system.error(r,e)}return t}startComponentDependency(e){if("microkernel"===this.currentStage||"kernel"===this.currentStage)h.default.error({indent:!0},`cannot config in bootParams for component ${e.name} to start until after "kernel" stage`);else{let t=e.config.originalConfig.isAnApp?"fdc3 app":"component";h.default.log({indent:!0},`starting ${t}: ${e.name}`),this.subscribeToDependencyBootStatus(e.name),a.Logger.system.debug(`bootEngine.startComponentDependency starting ${t} ${e.name} in ${this.currentStage}`,e,e.config.originalConfig),u.LauncherClient.spawn(e.name,{})}}startReadyItem(e){var t;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.Logger.system.error("bootEngine.startReadyItem: unknown boot type",e)}e.config.checkpointsIncluded&&(a.Logger.system.debug("bootEngine.startReadyItem new BootCheckpointEngine",e.config.name,e),e.config.name&&(this.checkpointEngines[e.config.name]=new f.BootCheckpointEngine(e.config.name,this.currentStage,null!==(t=e.config.timeout)&&void 0!==t?t:1e6,e.config.checkpointConfig)))}setStateForList(e,t){for(let r=0;r<e.length;r++){const n=e[r],i=this.dependencyGraphs[this.currentStage];i&&i.setBootDependencyState(n.name,t)}}processReadyList(e){a.Logger.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.Logger.system.debug("bootEngine processWhatIsReady",t,e),console.log("processWhatIsReady",t),++this.processStatusCounter>500)a.Logger.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()}}}},80170: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(2518)),o=n(r(9381)),s=new(n(r(92161)).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")}}},71184:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CheckForScheduledRestartTask=void 0;const n=r(2518),i=r(51848),o=r(9381),s=r(2740),a=r(60434),l=r(45478);let c=6e4;t.CheckForScheduledRestartTask=class{start(e){n.Logger.system.debug("checkForScheduledRestartTask start"),this.checkForScheduledRestart(),e("checkForScheduledRestartTask","bootTasks","completed")}checkForScheduledRestart(){let e=null;const t=(t,r)=>{if(n.Logger.system.log("checkForScheduledRestart scheduleRestart.",t,r),e&&clearTimeout(e),!r.value)return;const u=(0,l.calculateTimeout)(r.value);n.Logger.system.log("checkForScheduledRestart scheduleRestart.",t,r),e=setTimeout((async()=>{n.Logger.system.log("Scheduling restart");let{err:e,data:r=!1}=await o.ConfigClient.getValue("finsemble.scheduledCloseDiscardUnsavedChanges");e&&n.Logger.system.warn("checkForScheduledRestart unable to get config value for finsemble.scheduledCloseDiscardUnsavedChanges - will save workspace",t),a.DialogManagerClient.open("yesNo",{monitor:"primary",title:"Automatic Restart",question:`The application will restart in one minute. ${r?"Unsaved changes in your workspace will be discarded":"Your workspace will be saved"}.`,showTimer:!0,timerDuration:c,showNegativeButton:!1,affirmativeResponseLabel:"Restart Now"},(async(e,a)=>{"cancel"===a.choice?o.ConfigClient.getValue({field:"finsemble.scheduledRestart"},((e,t)=>{o.ConfigClient.setPreference({field:"finsemble.scheduledRestart",value:t})})):(r?n.Logger.system.info("checkForScheduledRestart discarding workspace unsaved changes",t):(n.Logger.system.info("checkForScheduledRestart saving current unsaved workspace changes",t),await s.WorkspaceClient.save()),i.RouterClient.transmit("Application.restart",{scheduledCloseDiscardUnsavedChanges:r}))}))}),u)};o.ConfigClient.getValue({field:"finsemble.scheduledRestart"},((e,r)=>{r&&!isNaN(r.dialogTimeout)&&(c=r.dialogTimeout),n.Logger.system.log("scheduledRestart initial config",r),t(e,{value:r})})),o.ConfigClient.addListener({field:"finsemble.scheduledRestart"},((e,r)=>{n.Logger.system.log("scheduledRestart new config",r),r.value?n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART TIME CHANGED. NEW TIME:",r.value):n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART DISABLED."),t(e,r)}))}}},45478:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CheckForScheduledShutdownTask=t.calculateTimeout=void 0;const n=r(2518),i=r(51848),o=r(9381),s=r(2740),a=r(60434),l="finsemble.scheduledShutdown",c="finsemble.scheduledCloseDiscardUnsavedChanges";t.calculateTimeout=e=>{const t=new Date,r=new Date;r.setSeconds(0);let i=1;var o,s;null!=e.dayOfWeek&&(r.setDate(t.getDate()+((o=e.dayOfWeek)-(s=t.getDay())==0?0:o-s<0?o-s+6:o-s)),i=7);const{hour:a}=e;return r.setHours(a),r.setMinutes(e.minute),r.getTime()-t.getTime()<=0&&r.setDate(r.getDate()+i),n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED RESTART/SHUTDOWN at: ",r),r.getTime()-t.getTime()},t.CheckForScheduledShutdownTask=class{constructor(){this.shutdownTimer=null,this.discardUnsavedChanges=!1,this.processShutdownConfig=(e,t)=>{let r;(null==t?void 0:t.value)?(r=t.value,n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - CONFIG CHANGED. NEW CONFIG:",r)):t?(r=t,n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - config:",r)):e||n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - not configured."),e?n.Logger.error(e):this.scheduleShutdown(r)},this.processDiscardConfig=(e,t)=>{if(e)n.Logger.error(e);else{let e=!1;(null==t?void 0:t.value)?e=t.value:t&&(e=t),this.discardUnsavedChanges=e,n.Logger.system.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - DISCARD UNSAVED CHANGES CHANGED. NEW CONFIG:",this.discardUnsavedChanges)}},this.shutdown=async()=>{a.DialogManagerClient.open("yesNo",{monitor:"primary",title:"Scheduled Shutdown",question:`The application will shutdown in one minute. ${this.discardUnsavedChanges?"Unsaved changes in your workspace will be discarded":"Your workspace will be saved"}.`,showTimer:!0,timerDuration:6e4,showNegativeButton:!1,affirmativeResponseLabel:"Shutdown Now"},(async(e,t)=>{if(e)throw new Error(e.toString());n.Logger.log("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - done with shutdown dialog, response",t);try{"cancel"===t.choice?(n.Logger.system.warn("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Scheduled shutdown cancelled by user"),o.ConfigClient.getValue({field:l},this.processShutdownConfig)):(this.discardUnsavedChanges?n.Logger.system.info("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Discarding unsaved workspace changes."):(n.Logger.system.info("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Saving workspace."),await s.WorkspaceClient.save()),n.Logger.system.info("APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Workspace saved successfully."),i.RouterClient.transmit("Application.shutdown",{scheduledCloseDiscardUnsavedChanges:this.discardUnsavedChanges}))}catch(e){const t="APPLICATION LIFECYCLE:SCHEDULED SHUTDOWN - Scheduled shutdown cancelled as we failed to save the workspace";n.Logger.warn(t,e)}}))}}start(e){n.Logger.system.debug("checkForScheduledShutdownTask start"),this.bindFunctions(),this.checkConfig(),e("checkForScheduledShutdownTask","bootTasks","completed")}bindFunctions(){this.processShutdownConfig=this.processShutdownConfig.bind(this),this.processDiscardConfig=this.processDiscardConfig.bind(this)}isValidConfig(e){return!(!e||null==e.hour||e.hour>23||e.hour<0||null==e.minute||e.minute>59||e.minute<0||e.dayOfWeek&&(e.dayOfWeek<0||e.dayOfWeek>6))}scheduleShutdown(e){if(!this.isValidConfig(e))return;this.shutdownTimer&&clearTimeout(this.shutdownTimer);const r=(0,t.calculateTimeout)(e);this.shutdownTimer=setTimeout(this.shutdown,r)}checkConfig(){o.ConfigClient.getValue({field:l},this.processShutdownConfig),o.ConfigClient.addListener({field:l},this.processShutdownConfig),o.ConfigClient.getValue({field:c},this.processDiscardConfig),o.ConfigClient.addListener({field:c},this.processDiscardConfig)}}},45071: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(2518)),o=n(r(9381)),s=r(91374);t.HideSplashScreenTask=class{start(e){i.default.system.log("Hide Splash Screen Task Started."),o.default.getValue("splashScreenTimeout",((t,r)=>{s.System.hideSplashScreen(),e("hideSplashScreenTask","bootTasks","completed")}))}}},82286: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(2518)),o=r(91374);t.InitializeDeepLinkingTask=class{start(e){o.System.getProtocolString().then((e=>{i.default.system.log(`initializeDeepLinkingTask startup ${e}`)})),e("initializeDeepLinkingTask","bootTasks","completed")}}},22275:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeFinsemblePubsubTask=void 0;const n=r(2518),i=r(51848);t.InitializeFinsemblePubsubTask=class{start(e){n.Logger.system.debug("initializeFinsemblePubsubTask start"),i.RouterClient.addPubSubResponder(/.*Finsemble.*/,{}),e("initializeFinsemblePubsubTask","bootTasks","completed")}}},95189:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InitializeRouterTask=void 0;const n=r(51848),i=r(2518);t.InitializeRouterTask=class{constructor(e){this.serviceLauncher=e.serviceLauncher}start(e){const t=this.serviceLauncher.getServiceConfig("router");this.serviceLauncher.createService(t),i.Logger.system.log("initializeRouterService",t),n.RouterClient.onReady((()=>{e("initializeRouterTask","bootTasks","completed")}))}}},67996:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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}),t.InitializeSystemManagerAPITask=void 0;const s=o(r(26604)),a=r(51848),l=r(2518),c=r(38144);t.InitializeSystemManagerAPITask=class{constructor(e){this.systemLog=e.systemLog,this.bootEngine=e.bootEngine}start(e){l.Logger.system.debug("initializeSystemManagerAPITask start"),a.RouterClient.addListener(c.SYSLOG_CHANNEL,((e,t)=>{(null==t?void 0:t.data.params.error)?this.systemLog.error(t.data.params,t.data.logMessage):(null==t?void 0:t.data.params.notification)?this.systemLog.notification(t.data.params,t.data.logMessage):this.systemLog.log(null==t?void 0:t.data.params,null==t?void 0:t.data.logMessage)})),a.RouterClient.addListener(s.SERVICE_START_CHANNEL,((e,t)=>{this.bootEngine.startServiceDeprecated(null==t?void 0:t.data.name)})),e("initializeSystemManagerAPITask","bootTasks","completed")}}},5506:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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=r(51848),l=r(2518),c=o(r(26604)),u=s(r(84795));t.InitializeSystemStateHandersTask=class{constructor(){this.ServiceStates={}}start(e){l.Logger.system.debug("initializeSystemStateHandersTask start"),a.RouterClient.addPubSubResponder("AuthorizationState",{state:"undefined"}),a.RouterClient.addPubSubResponder(/WorkspaceService.*/,{state:"start"}),a.RouterClient.addPubSubResponder(c.APPLICATION_STATE_CHANNEL,{state:"initializing"},{publishCallback:(e,t)=>{l.Logger.system.log("APPLICATION LIFECYCLE: STATE CHANGE",t.data.state),t.sendNotifyToAllSubscribers(null,t.data)}}),a.RouterClient.addListener(c.SERVICE_INITIALIZING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.name,state:"initializing"})})),a.RouterClient.addListener(c.SERVICE_READY_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.serviceName,state:"ready"})})),a.RouterClient.addListener(c.SERVICE_CLOSING_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.name,state:"closing"})})),a.RouterClient.addListener(c.SERVICE_CLOSED_CHANNEL,((e,t)=>{this.handleServiceStateChange({name:null==t?void 0:t.data.name,state:"closed"})})),u.default.waitForStartup("dataStoreService",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"configuring"})})),u.default.waitForBootStage("kernel","stageEntered",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"initializing"})})),u.default.waitForBootStage("authentication","stageEntered",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"authenticating"})})),u.default.waitForBootStage("authentication","stageCompleted",(()=>{a.RouterClient.publish(c.APPLICATION_STATE_CHANNEL,{state:"authenticated"})})),u.default.waitForBootStage("user","stageEntered",(()=>{a.RouterClient.publish(c.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}`;l.Logger.system.log(n,t),a.RouterClient.publish(`Finsemble.Service.State.${t}`,{state:r}),a.RouterClient.publish(c.SERVICES_STATE_CHANNEL,this.ServiceStates)}}},59920: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(1641),o=n(r(2518)),s=n(r(49136)),a=n(r(9381)),l=n(r(47913)),c=n(r(95495)),u=n(r(16107));let d,f;const p="loadAppDInstalledComponentsTask";t.LoadAppDInstalledComponentsTask=class{async start(e){var t;o.default.system.debug("LoadAppDInstalledComponentsTask start");const{data:r}=await a.default.getValue({field:"finsemble.appDirectoryEndpoint"});if(null===r)return o.default.system.debug("LoadAppDInstalledComponentsTask appDirectoryEndpoint is not set. No components to load."),void e(p,"bootTasks","completed");const{err:n,data:c}=await l.default.getStore({store:"Finsemble-AppLauncher-Store",global:!0,waitForPersistentStoreToLoad:!0});let u={};if(n)return o.default.system.debug("LoadAppDInstalledComponentsTask error",n),void e(p,"bootTasks","completed");(null===(t=null==c?void 0:c.values)||void 0===t?void 0:t.appDefinitions)?(u=c.values.appDefinitions,(0,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")}))):e(p,"bootTasks","completed")}getApp(e,t=Function.prototype){f.get(e).then((e=>t(null,e))).catch((e=>t(e)))}lazyLoadAppD(e){d||(d=new u.default({url:e})),f||(f=new c.default(d))}}},22575: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.LoadSystemTrayIconTask=void 0;const i=n(r(2518)),o=n(r(49136)),s=r(91374),a=n(r(9381)),l=n(r(25495)),c=r(94017),u=r(31755);t.LoadSystemTrayIconTask=class{async start(e){i.default.system.debug("loadSystemTrayIconTask start"),l.default.shutdown.waitFor({},this.handleShutdown.bind(this));const{data:t}=await a.default.getValue({field:"finsemble.systemTrayIcon"});let{data:r}=await a.default.getValue({field:"finsemble.systemTrayComponent"});a.default.addListener({field:"finsemble.systemTrayIcon"},((e,t)=>{let r=t.value;i.default.system.log("Setting system tray icon",r),s.System.setTrayIcon(r)})),t&&r&&(i.default.system.log("Setting system tray icon",t),s.System.setTrayIcon(t)),r&&this.setupSystemTrayListeners(r),e("loadSystemTrayIconTask","bootTasks","completed")}setupSystemTrayListeners(e){s.System.addEventListener("system-tray-click",(()=>{o.default.getActiveDescriptors(((e,t)=>{if(!e&&t){const e=Object.keys(t);(0,u.bringWindowsToFront)({windowList:e})}}))})),s.System.addEventListener("system-tray-right-click",(()=>{(async()=>{var t,r;const n=await s.System.getMousePosition();let i=null!==(t=null==n?void 0:n.left)&&void 0!==t?t:0,a=null!==(r=null==n?void 0:n.top)&&void 0!==r?r:0;const l=await(0,c.getMonitorFromScaledXY)(i,a);let u={position:"monitor",spawnIfNotFound:!0,monitor:l.position};const d=(0,c.getTaskbar)(l);d&&(u=(({spawnParams:e,taskbar:t,md:r,mouseX:n,mouseY:i})=>(n-r.left<=r.right-n?(e.left=n,"left"===t.edge&&e.left<t.right&&(e.left=t.right+1)):("right"===t.edge&&n<t.right&&(n=t.right-1),e.right=r.right-n),i-r.top<=r.bottom-i?(e.top=i,"top"===t.edge&&e.top<t.top&&(e.top=t.top+1)):("bottom"===t.edge&&i>t.top&&(i=t.top-1),e.bottom=r.bottom-i),e))({spawnParams:u,taskbar:d,md:l.monitorRect,mouseX:i,mouseY:a})),e&&o.default.showWindow({componentType:e},u)})()}))}handleShutdown(){s.System.Window.getCurrent().removeTrayIcon((()=>{i.default.system.debug("System Tray Icon removed")}),(()=>{i.default.system.error("Unable to remove System Tray Icon")}))}}},25105: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(1641),o=n(r(2518)),s=n(r(49136)),a=n(r(95085));t.LoadUserDefinedComponentsTask=class{start(e){o.default.system.debug("loadUserDefinedComponentsTask start"),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);(0,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")}))}}))}}},56903: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(2518)),o=n(r(49136)),s=n(r(80752)),a=n(r(9381));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"})};s.default.addGlobalHotkey(r.component.spawnOnHotkey,t)}})),e("registerHotkeysTask","bootTasks","completed")}}},54443: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(74221)),o=n(r(9996)),s=n(r(2518)),a=n(r(10449)),l=n(r(49136)),c=n(r(9381));t.SetupSearchLauncherTask=class{async start(e){s.default.system.debug("setupSearchLauncherTask start");const{data:t}=await c.default.getValue({field:"finsemble.servicesConfig"});let r={title:null,providerActionComponent:null};t&&t.launcher&&t.launcher.searchProviderAction&&(r.title=t.launcher.searchProviderAction.title,r.providerActionComponent=t.launcher.searchProviderAction.component),a.default.register({name:"Installed Components",searchCallback:this.searchComponents.bind(this),itemActionCallback:(e,t)=>{e.action&&e.item&&"Spawn"===e.action.name&&l.default.spawn(e.item.name,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:t}})},providerActionTitle:r.title,providerActionCallback:e=>{s.default.system.debug("setupSearchLauncherTask providerActionCallback",e),r.providerActionComponent&&l.default.spawn(r.providerActionComponent,{addToWorkspace:!0,monitor:"mine",relativeWindow:{windowName:e}})}},(()=>{e("setupSearchLauncherTask","bootTasks","completed")}))}async searchComponents(e,t){var r;let n={shouldSort:!0,includeScore:!0,includeMatches:!0,threshold:.4,location:0,distance:100,minMatchCharLength:1,keys:["component.displayName","component.type"]};const{data:s}=await c.default.getValue({field:"finsemble.servicesConfig.launcher.search"});if(!1===(null==s?void 0:s.enabled))return void t(null,[]);(null==s?void 0:s.options)&&(n=(0,o.default)(n,s.options));const{err:a,data:u}=await l.default.getComponentList();if(a||!u)return void t(null,[]);const d=null!==(r=Object.values(u))&&void 0!==r?r:[],f=d.map((e=>({item:e,score:100,matches:1}))),p=(e.text.length?new i.default(d,n).search(e.text):f).flatMap((e=>{var t,r,n,i;const{item:o}=e,s=o.component,a={name:s.type,displayName:s.displayName||s.type,score:e.score,matches:e.matches,icon:null===(t=o.icons)||void 0===t?void 0:t.toolbarIcon,type:"Application",description:"",actions:[{name:"Spawn"}],tags:[]};return(null===(i=null===(n=null===(r=e.item.foreign)||void 0===r?void 0:r.components)||void 0===n?void 0:n["App Launcher"])||void 0===i?void 0:i.launchableByUser)?[a]:[]}));t(null,p)}}},71667: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(2518));t.StartLoggerTask=class{start(e){i.default.system.debug("startLoggerTask start"),i.default.start(),e("startLoggerTask","bootTasks","completed")}}},37181: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(84795)),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)}}},16048: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(84795)),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)}}},83516: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(84795)),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)}}},67329:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForceErrorTestTask=void 0,t.ForceErrorTestTask=class{start(e){e("forceErrorTestTask","bootTasks","failed")}}},86616: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(9381));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")}}},38137:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForAuthenticatedTask=void 0;const n=r(51848),i=r(2518);t.WaitForAuthenticatedTask=class{start(e){i.Logger.system.debug("waitForAuthenticatedTask start");const t=n.RouterClient.subscribe("Authorization",(r=>{r||(n.RouterClient.unsubscribe(t),e("waitForAuthenticatedTask","bootTasks","completed"))}))}}},36197:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WaitForUpdateDownloadTask=void 0;const n=r(2518),i=r(51848),o=r(91374),s=r(9381),a=r(44343);t.WaitForUpdateDownloadTask=class{async start(e){n.Logger.system.debug("waitForUpdateDownloadTask start");const{data:t}=await s.ConfigClient.getValue({field:"finsemble.waitForUpdate"});t?o.System.getUpdateAvailable((t=>{t?(n.Logger.system.debug("Waiting for update to download"),(0,a.toast)("alert","ONCE-SINCE-STARTUP","Waiting for download","Update available. Waiting for it to download before starting."),o.System.addEventListener("apply-update-requested",(()=>{n.Logger.system.debug("Update downloaded... restarting"),i.RouterClient.transmit("Application.restart",{forceRestart:!0})}))):(n.Logger.system.debug("Update not available... continue startup"),e("waitForUpdateDownloadTask","bootTasks","completed"))})):(n.Logger.system.debug("Starting without waiting for update to download"),e("waitForUpdateDownloadTask","bootTasks","completed"))}}},37331:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkpointChannel=t.statusChannel=void 0;const n=r(38144);t.statusChannel=function(e){return`${n.STATUS_CHANNEL_BASE}.${e}`},t.checkpointChannel=function(e,t){return`${n.CHECKPOINT_CHANNEL_BASE}.${e}.${t}`}},87579: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(2518)),o=r(91374),s=n(r(13973)),a=n(r(84795)),l=n(r(27361)),c=n(r(9996));t.ServiceLauncher=class{constructor(e){this.runningServices={},this.workerTop=100,this.workerLeft=100,this.webWorkers={},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}])}async createService(e){if(this.runningServices[e.name])return{};this.runningServices[e.name]=!0;const t=Object.assign({},this.getServiceConfig(e.name)),r=this.composeWorkerConfig(Object.assign({},e,t));if(!r.name){let r="Tried to create a service without a name. Check your config.";return e&&t&&(r=`${r}\n\t\t\t\tconfig: ${JSON.stringify(e,null,4)}\n\t\t\t\tupdatedConfig: ${JSON.stringify(t,null,4)}`),a.default.systemLog({error:!0},r),{err:r}}const n=r.isolate?"process":"window",{spawnAs:o=n}=r;let s;switch(i.default.console.debug(`serviceLauncher: createService() ${e.name}`,o,r),o){default:s=await this.launchServiceAsWindow(t,r);break;case"process":r.affinity=!1,s=await this.launchServiceAsWindow(t,r);break;case"script":s=await this.launchServiceAsScript(t)}return i.default.console.debug(`serviceLauncher: createService() ${e.name} successfully spawned`),this.workerTop=this.workerTop+25,this.workerLeft=this.workerLeft+25,s}mergeConfig(e){let t={};return e.forEach((e=>{t=(0,c.default)(t,(0,l.default)(this.finsembleConfig,`${e.path}.${e.entry}`,{}))})),t}launchServiceAsScript(e){return new Promise((t=>{const r=e.file,n=document.createElement("script");n.setAttribute("src",r),document.head.appendChild(n),t({})}))}launchServiceAsWindow(e,t){return new Promise((e=>{o.System.Window.createNew(Object.assign(Object.assign({},t),{windowName:t.name,affinity:t.affinity}),(t=>{e(t?{err:t}:{})}))}))}composeWorkerConfig(e){var t,r,n,o,a,l;const u=(0,c.default)(e,{manifest:this.manifest}),d=null!==(o=null===(n=null===(r=null===(t=this.finsembleConfig)||void 0===t?void 0:t.servicesConfig)||void 0===r?void 0:r.launcher)||void 0===n?void 0:n.defaultServiceAffinity)&&void 0!==o?o:null;!0===e.affinity&&(i.default.system.error("An invalid affinity setting: true was passed in an application config. Affinity values must be strings or false"),delete e.affinity);const f={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:u,alwaysOnTop:!1,fixedPosition:!1,saveWindowState:!1,cornerRounding:!0,waitForPageLoad:!0,isolate:e.isolate,spawnAs:e.spawnAs,affinity:null!==(l=null!==(a=e.affinity)&&void 0!==a?a:d)&&void 0!==l?l:"Finsemble",securityPolicy:e.securityPolicy||null,permissions:e.permissions||{},icon:this.manifest.startup_app?this.manifest.startup_app.applicationIcon:null},p=(0,c.default)(f,e.window||{});return this.finsembleConfig.securityPolicies&&(p.securityPolicy=s.default.getSecurityPolicy(p,this.finsembleConfig),p.permissions=s.default.getPermissions(p,this.finsembleConfig)),p}}},20547:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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}),t.ShutdownManager=void 0;const s=r(2518),a=r(91374),l=r(51848),c=r(60434),u=o(r(26604)),d=r(25495),f=r(94017),p=r(23099);class h{constructor(e){this.runningServices=[],this.hasShutdownGracefully=!1,this.gracefulShutdownResolver=null,this.timeout=e}async isAllClaimedSpaceIsReleased(){const e=await(0,f.getAllMonitors)();return!await(0,p.isWindows)()||e.every((e=>this.isMonitorReleased(e)))}isMonitorReleased(e){const{taskbar:t}=e;if(!t)return!0;const r=e.monitorRect.width*e.monitorRect.height-t.width*t.height;return e.availableRect.width*e.availableRect.height===r}async waitForClaimedSpaceRelease(){let e;s.Logger.system.debug("APPLICATION LIFECYCLE:SHUTDOWN: waiting for claimed space to be released.");let t=null;const r=new Promise((t=>{e=setTimeout((()=>{e=null,s.Logger.system.error("Monitors were not released within the allotted time. Was the system asleep?"),t()}),this.timeout)})),n=new Promise((e=>{const r=async()=>{await this.isAllClaimedSpaceIsReleased()?(s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: Claimed space has been released."),clearTimeout(t),t=null,e()):(s.Logger.console.error("APPLICATION LIFECYCLE:SHUTDOWN: Claimed space not released. Checking again in 250ms."),t=setTimeout(r,250))};r()}));await Promise.race([n,r]),e&&clearTimeout(e),t&&clearTimeout(t)}servicesHaveShutdown(){this.hasShutdownGracefully=!0,this.gracefulShutdownResolver&&this.gracefulShutdownResolver()}async waitForGracefulShutdown(e){let t;s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: waitForGracefulShutdown.");const r=new Promise((e=>{this.gracefulShutdownResolver=()=>{s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: graceful shutdown resolved."),e()}}));if(!e)return s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: waitForGracefulShutdown. Waiting (not ForceRestart)."),r;{s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: waitForGracefulShutdown. ForceRestart.");const e=new Promise((e=>{t=setTimeout((()=>{t=null,s.Logger.console.error("Timed out waiting for graceful shutdown. Forcing restart."),e()}),this.timeout)}));s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: Before Promise.race().",this.timeout),await Promise.race([r,e]),s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN: After Promise.race()."),t&&clearTimeout(t)}}async shutdownEverythingButThisWindow(e){this.hasShutdownGracefully?s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:shutdownEverythingButThisWindow services are already shut down, proceeding to wait for claimed space."):(s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:shutdownEverythingButThisWindow:Before waitForGracefulShutdown."),await this.waitForGracefulShutdown(e)),s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:shutdownEverythingButThisWindow:Before waitForClaimedSpaceRelease."),await this.waitForClaimedSpaceRelease()}async transmitShutdownRequest(){a.System.hideSplashScreen(),s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:transmitShutdownRequest:Sending out message to shut down."),l.RouterClient.publish(u.APPLICATION_STATE_CHANNEL,{state:"closing"}),await this.shutdownEverythingButThisWindow(),a.System.terminate()}async transmitRestartRequest(e){s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:transmitRestartRequest:Sending out message to shut down."),s.Logger.console.debug("shutdownManager.transmitRestartRequest"),l.RouterClient.publish(u.APPLICATION_STATE_CHANNEL,{state:"closing"}),await this.shutdownEverythingButThisWindow(null==e?void 0:e.forceRestart),a.System.restart()}}t.ShutdownManager=class{constructor(e){var t;this.mostRecentListOfServices=[],s.Logger.system.log("shutdownManager",e);const r=null!==(t=e.manifest.finsemble.shutdownTimeout)&&void 0!==t?t:1e4;this.shutdown=new h(r),s.Logger.system.debug("Adding Listeners for shutdown and restart"),l.RouterClient.addListener("Application.shutdown",(()=>{this.shutdown.transmitShutdownRequest()})),l.RouterClient.addListener("Application.restart",((e,t)=>{this.shutdown.transmitRestartRequest(t.data)})),a.System.addEventListener("apply-update-requested",(()=>{s.Logger.system.log("Apply update requested: after onReady"),c.DialogManagerClient.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&&l.RouterClient.transmit("Application.restart",{})}))}))}addActiveServicesToDependencyManager(e){const t=e.filter((e=>"routerService"!==e));this.mostRecentListOfServices=t,s.Logger.console.debug("shutdownManager.addActiveServicesToDependencyManager: Will wait for the following services at shutdown",t),(new d.FSBLDependencyManager).shutdown.waitFor({services:t},(()=>{s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:servicesHaveShutdown",t,this.mostRecentListOfServices),t===this.mostRecentListOfServices&&(s.Logger.console.debug("APPLICATION LIFECYCLE:SHUTDOWN:servicesHaveShutdown DONE"),this.shutdown.servicesHaveShutdown())}))}}},40601:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SystemLog=void 0;const n=r(91374),i=r(2518),o=r(38144),s=r(51848);class a{constructor(){this.onErrorMakeSystemManagerVisible=!0,this.catastrophicFailure=!1}initialize(e){this.onErrorMakeSystemManagerVisible=e;const t=n.System.Window.getCurrent();setTimeout((()=>{s.RouterClient.addListener(o.SHOW_SYSLOG_CHANNEL,(()=>{this.showSystemLog()}))}),2e3),setTimeout((()=>{t.bringToFront()}),15e3),t.addEventListener("close-requested",(()=>{this.catastrophicFailure?n.System.exit():this.hideSystemLog()}))}updateElement(e,t,r,n,i){const o=document.getElementById(e);if(o){let e="";r.leadingBlankLine&&(o.innerHTML=`${o.innerHTML}<br />`),r.indent?e="        ":r.doubleIndent&&(e="               ");const s=t?`style="color: ${t};""`:"";if(o.innerHTML=`${o.innerHTML}<span ${s}>${e}${n}<br /></span>`,""!=i){const t=JSON&&JSON.stringify?JSON.stringify(i):i;o.innerHTML=`${o.innerHTML}<span ${s}>${e}${t}<br /></span>`}}}log(e,t,r=""){i.Logger.system.debug("SystemLog.log",e,t,r),console.log("SYSTEM LOG",t,r),this.updateElement("log",null,e,t,r)}warn(e,t,r=""){i.Logger.system.warn("SystemLog.warn",e,t,r),this.onErrorMakeSystemManagerVisible&&this.showSystemLog(),console.warn("SYSTEM LOG ERROR",t,r),this.updateElement("log","#DC951F",e,t,r)}error(e,t,r=""){i.Logger.system.error("SystemLog.error",e,t,r),t.includes("Terminating Boot")&&(this.catastrophicFailure=!0),this.onErrorMakeSystemManagerVisible?this.showSystemLog():this.catastrophicFailure&&n.System.exit(),console.error("SYSTEM LOG ERROR",t,r),this.updateElement("log","#F26666",e,t,r)}notification(e,t,r=""){i.Logger.system.debug("SystemLog.notification",e,t,r),console.warn("SYSTEM LOG NOTIFICATION",t,r),this.updateElement("notification","#0A8CF4",e,t,r)}showSystemLog(){const e=n.System.Window.getCurrent();e.show(),e.bringToFront(),n.System.hideSplashScreen()}hideSystemLog(){n.System.Window.getCurrent().hide()}}t.SystemLog=a;const l=new a;t.default=l},9097: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=r(2518),o=n(r(40601)),s=r(84503),a=r(87579),l=r(20547),c=r(91374),u=r(64324),d=r(88478),f=r(55470),p=r(82286),h=r(5506),g=r(95189),m=r(22275),y=r(38137),v=r(67996),w=r(71667),b=r(56903),S=r(54443),C=r(25105),_=r(59920),k=r(22575),E=r(67329),L=r(83516),T=r(37181),A=r(16048),O=r(86616),P=r(71184),I=r(45478),R=r(45071),$=r(36197),N=r(80170),D=r(51848),W=r(44137);let M=window;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 j{constructor(e){console.debug("Starting System Manager",e),c.System.startupApplicationHandshake(),this.manifest=e.manifest,this.onErrorMakeSystemManagerVisible=e.onErrorMakeSystemManagerVisible}static async verifyConfig(e){let t=!0;const r=await d.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(){var e;return console.log("1) finsemble.bootConfig onErrorMakeSystemManagerVisible:",this.onErrorMakeSystemManagerVisible),console.log(""),null===(e=this.bootEngine)||void 0===e||e.helpData(),"helpData complete"}boot(){try{this.shutdownManager=new l.ShutdownManager({manifest:this.manifest}),this.serviceLauncher=new a.ServiceLauncher({manifest:this.manifest,shutdownManager:this.shutdownManager}),M.bootEngine=this.bootEngine=new s.BootEngine(this.manifest,this.serviceLauncher,this.shutdownManager),this.registerBootTasks(this.bootEngine,this.manifest,this.serviceLauncher),this.bootEngine.run()}catch(e){o.default.error({leadingBlankLine:!0},e)}}async start(){await j.verifyConfig(this.manifest)?(i.Logger.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",this.manifest.finsemble.system.FSBLVersion),this.manifest.finsemble.debugSystemManager?c.System.showDeveloperTools(window.name,null,(()=>{setTimeout((()=>{this.boot()}),2e3)})):this.boot()):o.default.error({leadingBlankLine:!0},"FATAL ERROR: Prematurely terminating Finsemble.")}registerBootTasks(e,t,r){var n,i,s,a,l,c,u,d,f,D,W,M,j,F,x,B,G,U,V,H,z,q,K;null===(n=this.bootEngine)||void 0===n||n.registerBootTask("initializeDeepLinkingTask",(e=>{(new p.InitializeDeepLinkingTask).start(e)})),null===(i=this.bootEngine)||void 0===i||i.registerBootTask("initializeRouterTask",(e=>{new g.InitializeRouterTask({manifest:t,serviceLauncher:r}).start(e)})),null===(s=this.bootEngine)||void 0===s||s.registerBootTask("updateServiceLauncherConfigTask",(e=>{new O.UpdateServiceLauncherConfigTask({serviceLauncher:r}).start(e)})),null===(a=this.bootEngine)||void 0===a||a.registerBootTask("initializeFinsemblePubsubTask",(e=>{(new m.InitializeFinsemblePubsubTask).start(e)})),null===(l=this.bootEngine)||void 0===l||l.registerBootTask("initializeSystemStateHandersTask",(e=>{(new h.InitializeSystemStateHandersTask).start(e)})),null===(c=this.bootEngine)||void 0===c||c.registerBootTask("waitForUpdateDownloadTask",(e=>{(new $.WaitForUpdateDownloadTask).start(e)})),null===(u=this.bootEngine)||void 0===u||u.registerBootTask("waitForAuthenticatedTask",(e=>{(new y.WaitForAuthenticatedTask).start(e)})),null===(d=this.bootEngine)||void 0===d||d.registerBootTask("initializeSystemManagerAPITask",(t=>{new v.InitializeSystemManagerAPITask({bootEngine:e,systemLog:o.default}).start(t)})),null===(f=this.bootEngine)||void 0===f||f.registerBootTask("startLoggerTask",(e=>{(new w.StartLoggerTask).start(e)})),null===(D=this.bootEngine)||void 0===D||D.registerBootTask("loadUserDefinedComponentsTask",(e=>{(new C.LoadUserDefinedComponentsTask).start(e)})),null===(W=this.bootEngine)||void 0===W||W.registerBootTask("loadAppDInstalledComponentsTask",(e=>{(new _.LoadAppDInstalledComponentsTask).start(e)})),null===(M=this.bootEngine)||void 0===M||M.registerBootTask("registerHotkeysTask",(e=>{(new b.RegisterHotkeysTask).start(e)})),null===(j=this.bootEngine)||void 0===j||j.registerBootTask("setupSearchLauncherTask",(e=>{(new S.SetupSearchLauncherTask).start(e)})),null===(F=this.bootEngine)||void 0===F||F.registerBootTask("loadSystemTrayIconTask",(e=>{(new k.LoadSystemTrayIconTask).start(e)})),null===(x=this.bootEngine)||void 0===x||x.registerBootTask("checkForScheduledRestartTask",(e=>{(new P.CheckForScheduledRestartTask).start(e)})),null===(B=this.bootEngine)||void 0===B||B.registerBootTask("checkForScheduledShutdownTask",(e=>{(new I.CheckForScheduledShutdownTask).start(e)})),null===(G=this.bootEngine)||void 0===G||G.registerBootTask("hideSplashScreenTask",(e=>{(new R.HideSplashScreenTask).start(e)})),null===(U=this.bootEngine)||void 0===U||U.registerBootTask("addAppDefinitionsToDesktopAgentTask",(e=>{(new N.AddAppDefinitionsToDesktopAgentTask).start(e)})),null===(V=this.bootEngine)||void 0===V||V.registerBootTask("forceErrorTestTask",(new E.ForceErrorTestTask).start),null===(H=this.bootEngine)||void 0===H||H.registerBootTask("checkpointErrorTestTask",(new L.CheckpointErrorTestTask).start),null===(z=this.bootEngine)||void 0===z||z.registerBootTask("checkpointCircularDependencyTestTask",(new T.CheckpointBadDependencyTestTask).start),null===(q=this.bootEngine)||void 0===q||q.registerBootTask("checkpointBadDependencyTestTask",(new A.CheckpointCircularDependencyTestTask).start),null===(K=this.bootEngine)||void 0===K||K.registerBootTask("checkpointBadDependencyTestTask",(new A.CheckpointCircularDependencyTestTask).start)}}t.SystemManager=j,(async()=>{W.FEAGlobals.finsembleServices=[{name:"System Manager"}];const{err:e,data:t}=await u.ConfigUtilInstance.getInitialManifest();if(!e&&t){const e=u.ConfigUtilInstance.getDefault(t,"manifest.finsemble.bootConfig.onErrorMakeSystemManagerVisible",!1);o.default.initialize(!!e),await f.DeprecatedConfigUtilInstance.modifyConfigBasedOnDeprecatedDefinitions("bootConfig",t),await d.SchemaUtilInstance.walkSchemaAndSetConfigDefaults(t),await j.verifyConfig(t),M.mainWindow=c.System.Window.getCurrent(),i.Logger.system.log("APPLICATION LIFECYCLE:STARTUP: Finsemble Version",t.finsemble.system.FSBLVersion),i.Logger.console.log("forceObjectsToLogger","APPLICATION LIFECYCLE:STARTUP: *** Initial manifest ***",t);const r=new j({manifest:t,onErrorMakeSystemManagerVisible:e});r.start(),M.systemManager=r,M.helpData=r.helpData.bind(r),M.openCentralLogger=()=>{D.RouterClient.transmit("CentralConsole-Show",!0)},M.showDeveloperTools=()=>{c.System.showDeveloperTools(window.name,null)}}else i.Logger.console.error(`systemManager.main() error getting initial manifest ${e}`)})()},53912:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BootReadyItem=void 0,t.BootReadyItem=class{constructor(e,t,r){this.name=e,this.type=t,this.config=r}}},13973:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(23099)),l=s(r(2518)),c=s(r(9996));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&&l.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){l.default.system.error("SpawnUtils:getPermissions: Unexpected JSON parsing error.")}r=(0,c.default)(r,n);const i=e.securityPolicy&&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&&(l.default.system.error("Window Service cannot be restricted from closing windows, disabling restriction."),r.Window.close=!0),r}}},81064:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeWindowReferenceFromActiveWorkspace=t.addWindowReferenceToActiveWorkspace=void 0;const n=r(2518),i=r(51848);t.addWindowReferenceToActiveWorkspace=async(e,t=null)=>{const{err:r,response:o}=await i.RouterClient.query("WorkspaceService.addWindow",e,(()=>{}));if(n.Logger.system.log(`WORKSPACE LIFECYCLE: Window added:WorkspaceClient.addWindow: Name (${e.name})`),t&&t(r,o),!t&&r)throw r;return o},t.removeWindowReferenceFromActiveWorkspace=(e,t=Function.prototype)=>{i.RouterClient.query("WorkspaceService.removeWindow",e,((r,i)=>{if(r)return n.Logger.system.error(r);n.Logger.system.log(`WORKSPACE LIFECYCLE:WorkspaceClient.removeWindow:Window removed: Name (${e.name})`),t(r,i?i.data:null)}))}},10600:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},57746:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},24508:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},74443:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},46888:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95281:(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"},14414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},56911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},27154:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},86414:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},22225:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},896:(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"},80976:(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=p[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 l(e){return{arrayItems:e}}function c(...e){return{unionMembers:e}}function u(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 p={Context:u([{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")},{json:"type",js:"type",typ:""}],"any"),ContactList:u([{json:"contacts",js:"contacts",typ:l(f("Contact"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Contact:u([{json:"id",js:"id",typ:f("ContactID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),ContactID:u([{json:"email",js:"email",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")}],""),InstrumentList:u([{json:"instruments",js:"instruments",typ:l(f("Instrument"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Instrument:u([{json:"id",js:"id",typ:f("InstrumentID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),InstrumentID:u([{json:"BBG",js:"BBG",typ:c(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:c(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"FIGI",js:"FIGI",typ:c(void 0,"")},{json:"ISIN",js:"ISIN",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")},{json:"RIC",js:"RIC",typ:c(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:c(void 0,"")},{json:"ticker",js:"ticker",typ:c(void 0,"")}],""),Country:u([{json:"id",js:"id",typ:f("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),CountryID:u([{json:"ISOALPHA2",js:"ISOALPHA2",typ:c(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:c(void 0,"")}],""),Organization:u([{json:"id",js:"id",typ:f("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:c(void 0,"")}],"any"),OrganizationID:u([{json:"FDS_ID",js:"FDS_ID",typ:c(void 0,"")},{json:"LEI",js:"LEI",typ:c(void 0,"")},{json:"PERMID",js:"PERMID",typ:c(void 0,"")}],""),Portfolio:u([{json:"positions",js:"positions",typ:l(f("Position"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any"),Position:u([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:f("Instrument")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:c(void 0,d(""))},{json:"name",js:"name",typ:c(void 0,"")}],"any")}},63250:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}: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(10600),t),i(r(57746),t),i(r(24508),t),i(r(22225),t),i(r(74443),t),i(r(46888),t),i(r(95281),t),i(r(56911),t),i(r(27154),t),i(r(86414),t),i(r(14414),t),i(r(896),t),i(r(80976),t),i(r(59579),t)},59579:(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"},60540: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="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",l=t("[\\:\\/\\?\\#\\[\\]\\@]",a),c=e?"[\\uE000-\\uF8FF]":"[]",u=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(u,a,"[\\:]"))+"*"),p=(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)),h=r(p+"\\."+p+"\\."+p+"\\."+p),g=r(o+"{1,4}"),m=r(r(g+"\\:"+g)+"|"+h),y=r(r(g+"\\:")+"{6}"+m),v=r("\\:\\:"+r(g+"\\:")+"{5}"+m),w=r(r(g)+"?\\:\\:"+r(g+"\\:")+"{4}"+m),b=r(r(r(g+"\\:")+"{0,1}"+g)+"?\\:\\:"+r(g+"\\:")+"{3}"+m),S=r(r(r(g+"\\:")+"{0,2}"+g)+"?\\:\\:"+r(g+"\\:")+"{2}"+m),C=r(r(r(g+"\\:")+"{0,3}"+g)+"?\\:\\:"+g+"\\:"+m),_=r(r(r(g+"\\:")+"{0,4}"+g)+"?\\:\\:"+m),k=r(r(r(g+"\\:")+"{0,5}"+g)+"?\\:\\:"+g),E=r(r(r(g+"\\:")+"{0,6}"+g)+"?\\:\\:"),L=r([y,v,w,b,S,C,_,k,E].join("|")),T=r(r(u+"|"+s)+"+"),A=(r(L+"\\%25"+T),r(L+r("\\%25|\\%(?!"+o+"{2})")+T)),O=r("[vV]"+o+"+\\."+t(u,a,"[\\:]")+"+"),P=r("\\["+r(A+"|"+L+"|"+O)+"\\]"),I=r(r(s+"|"+t(u,a))+"*"),R=r(P+"|"+h+"(?!"+I+")|"+I),$=r("[0-9]*"),N=r(r(f+"@")+"?"+R+r("\\:"+$)+"?"),D=r(s+"|"+t(u,a,"[\\:\\@]")),W=r(D+"*"),M=r(D+"+"),j=r(r(s+"|"+t(u,a,"[\\@]"))+"+"),F=r(r("\\/"+W)+"*"),x=r("\\/"+r(M+F)+"?"),B=r(j+F),G=r(M+F),U="(?!"+D+")",V=(r(F+"|"+x+"|"+B+"|"+G+"|"+U),r(r(D+"|"+t("[\\/\\?]",c))+"*")),H=r(r(D+"|[\\/\\?]")+"*"),z=r(r("\\/\\/"+N+F)+"|"+x+"|"+G+"|"+U),q=r(d+"\\:"+z+r("\\?"+V)+"?"+r("\\#"+H)+"?"),K=r(r("\\/\\/"+N+F)+"|"+x+"|"+B+"|"+U),Y=r(K+r("\\?"+V)+"?"+r("\\#"+H)+"?");return r(q+"|"+Y),r(d+"\\:"+z+r("\\?"+V)+"?"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+$+")")+"?)")+"?("+F+"|"+x+"|"+G+"|"+U+")"),r("\\?("+V+")"),r("\\#("+H+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+$+")")+"?)")+"?("+F+"|"+x+"|"+B+"|"+U+")"),r("\\?("+V+")"),r("\\#("+H+")"),r(r("\\/\\/("+r("("+f+")@")+"?("+R+")"+r("\\:("+$+")")+"?)")+"?("+F+"|"+x+"|"+G+"|"+U+")"),r("\\?("+V+")"),r("\\#("+H+")"),r("("+f+")@"),r("\\:("+$+")"),{NOT_SCHEME:new RegExp(t("[^]",n,i,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",u,a),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",u,a),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",u,a),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",u,a),"g"),NOT_QUERY:new RegExp(t("[^\\%]",u,a,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",u,a,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",u,a),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",u,l),"g"),PCT_ENCODED:new RegExp(s,"g"),IPV4ADDRESS:new RegExp("^("+h+")$"),IPV6ADDRESS:new RegExp("^\\[?("+L+")"+r(r("\\%25|\\%(?!"+o+"{2})")+"("+T+")")+"?\\]?$")}}var s=o(!1),a=o(!0),l=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")},c=2147483647,u=36,d=/^xn--/,f=/[^\0-\x7E]/,p=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},g=Math.floor,m=String.fromCharCode;function y(e){throw new RangeError(h[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(p,".")).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?g(e/700):e>>1,e+=g(e/t);e>455;n+=u)e=g(e/35);return g(n+36*e/(e+38))},C=function(e){var t,r=[],n=e.length,i=0,o=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var l=0;l<a;++l)e.charCodeAt(l)>=128&&y("not-basic"),r.push(e.charCodeAt(l));for(var d=a>0?a+1:0;d<n;){for(var f=i,p=1,h=u;;h+=u){d>=n&&y("invalid-input");var m=(t=e.charCodeAt(d++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:u;(m>=u||m>g((c-i)/p))&&y("overflow"),i+=m*p;var v=h<=s?1:h>=s+26?26:h-s;if(m<v)break;var w=u-v;p>g(c/w)&&y("overflow"),p*=w}var b=r.length+1;s=S(i-f,b,0==f),g(i/b)>c-o&&y("overflow"),o+=g(i/b),i%=b,r.splice(i++,0,o)}return String.fromCodePoint.apply(String,r)},_=function(e){var t=[],r=(e=w(e)).length,n=128,i=0,o=72,s=!0,a=!1,l=void 0;try{for(var d,f=e[Symbol.iterator]();!(s=(d=f.next()).done);s=!0){var p=d.value;p<128&&t.push(m(p))}}catch(e){a=!0,l=e}finally{try{!s&&f.return&&f.return()}finally{if(a)throw l}}var h=t.length,v=h;for(h&&t.push("-");v<r;){var C=c,_=!0,k=!1,E=void 0;try{for(var L,T=e[Symbol.iterator]();!(_=(L=T.next()).done);_=!0){var A=L.value;A>=n&&A<C&&(C=A)}}catch(e){k=!0,E=e}finally{try{!_&&T.return&&T.return()}finally{if(k)throw E}}var O=v+1;C-n>g((c-i)/O)&&y("overflow"),i+=(C-n)*O,n=C;var P=!0,I=!1,R=void 0;try{for(var $,N=e[Symbol.iterator]();!(P=($=N.next()).done);P=!0){var D=$.value;if(D<n&&++i>c&&y("overflow"),D==n){for(var W=i,M=u;;M+=u){var j=M<=o?1:M>=o+26?26:M-o;if(W<j)break;var F=W-j,x=u-j;t.push(m(b(j+F%x,0))),W=g(F/x)}t.push(m(b(W,0))),o=S(i,O,v==h),i=0,++v}}}catch(e){I=!0,R=e}finally{try{!P&&N.return&&N.return()}finally{if(I)throw R}}++i,++n}return t.join("")},k=function(e){return v(e,(function(e){return f.test(e)?"xn--"+_(e):e}))},E=function(e){return v(e,(function(e){return d.test(e)?C(e.slice(4).toLowerCase()):e}))},L={};function T(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 O(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,T).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,r).toLowerCase().replace(t.NOT_HOST,T).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,T).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,r).replace(t.NOT_QUERY,T).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,r).replace(t.NOT_FRAGMENT,T).replace(t.PCT_ENCODED,i)),e}function P(e){return e.replace(/^0*(.*)/,"$1")||"0"}function I(e,t){var r=e.match(t.IPV4ADDRESS)||[],n=l(r,2)[1];return n?n.split(".").map(P).join("."):e}function R(e,t){var r=e.match(t.IPV6ADDRESS)||[],n=l(r,3),i=n[1],o=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=l(s,2),c=a[0],u=a[1],d=u?u.split(":").map(P):[],f=c.split(":").map(P),p=t.IPV4ADDRESS.test(f[f.length-1]),h=p?7:8,g=f.length-h,m=Array(h),y=0;y<h;++y)m[y]=d[y]||f[g+y]||"";p&&(m[h-1]=I(m[h-1],t));var v=m.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=m.slice(0,v.index),S=m.slice(v.index+v.length);w=b.join(":")+"::"+S.join(":")}else w=m.join(":");return o&&(w+="%"+o),w}return e}var $=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,N=void 0==="".match(/(){0}/)[1];function D(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($);if(i){N?(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=L[(t.scheme||r.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)O(r,n);else{if(r.host&&(t.domainHost||o&&o.domainHost))try{r.host=k(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}O(r,s)}o&&o.parse&&o.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}function W(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 M=/^\.\.?\//,j=/^\/\.(\/|$)/,F=/^\/\.\.(\/|$)/,x=/^\/?(?:.|\n)*?(?=\/|$)/;function B(e){for(var t=[];e.length;)if(e.match(M))e=e.replace(M,"");else if(e.match(j))e=e.replace(j,"/");else if(e.match(F))e=e.replace(F,"/"),t.pop();else if("."===e||".."===e)e="";else{var r=e.match(x);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 G(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.iri?a:s,n=[],i=L[(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?E(e.host):k(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}O(e,r),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var o=W(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 l=e.path;t.absolutePath||i&&i.absolutePath||(l=B(l)),void 0===o&&(l=l.replace(/^\/\//,"/%2F")),n.push(l)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function U(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=D(G(e,r),r),t=D(G(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 H={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:H.domainHost,parse:H.parse,serialize:H.serialize};function q(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var K={scheme:"ws",domainHost:!0,parse:function(e,t){var r=e;return r.secure=q(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!==(q(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=l(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}},Y={scheme:"wss",domainHost:K.domainHost,parse:K.parse,serialize:K.serialize},J={},Q="[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(Q,"g"),re=new RegExp(X,"g"),ne=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',ee),"g"),ie=new RegExp(t("[^]",Q,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"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,l=s.length;a<l;++a){var c=s[a].split("=");switch(c[0]){case"to":for(var u=c[1].split(","),d=0,f=u.length;d<f;++d)n.push(u[d]);break;case"subject":r.subject=V(c[1],t);break;case"body":r.body=V(c[1],t);break;default:i=!0,o[V(c[0],t)]=V(c[1],t)}}i&&(r.headers=o)}r.query=void 0;for(var p=0,h=n.length;p<h;++p){var g=n[p].split("@");if(g[0]=V(g[0]),t.unicodeSupport)g[1]=V(g[1],t).toLowerCase();else try{g[1]=k(V(g[1],t).toLowerCase())}catch(e){r.error=r.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}n[p]=g.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 l=String(o[s]),c=l.lastIndexOf("@"),u=l.slice(0,c).replace(re,se).replace(re,i).replace(ne,T),d=l.slice(c+1);try{d=t.iri?E(d):k(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]=u+"@"+d}n.path=o.join(",")}var f=e.headers=e.headers||{};e.subject&&(f.subject=e.subject),e.body&&(f.body=e.body);var p=[];for(var h in f)f[h]!==J[h]&&p.push(h.replace(re,se).replace(re,i).replace(ie,T)+"="+f[h].replace(re,se).replace(re,i).replace(oe,T));return p.length&&(n.query=p.join("&")),n}},le=/^([^\:]+)\:(.*)/,ce={scheme:"urn",parse:function(e,t){var r=e.path&&e.path.match(le),n=e;if(r){var i=t.scheme||n.scheme||"urn",o=r[1].toLowerCase(),s=r[2],a=i+":"+(t.nid||o),l=L[a];n.nid=o,n.nss=s,n.path=void 0,l&&(n=l.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=L[i];o&&(e=o.serialize(e,t));var s=e,a=e.nss;return s.path=(n||t.nid)+":"+a,s}},ue=/^[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(ue)||(r.error=r.error||"UUID is not valid."),r},serialize:function(e,t){var r=e;return r.nss=(e.uuid||"").toLowerCase(),r}};L[H.scheme]=H,L[z.scheme]=z,L[K.scheme]=K,L[Y.scheme]=Y,L[ae.scheme]=ae,L[ce.scheme]=ce,L[de.scheme]=de,e.SCHEMES=L,e.pctEncChar=T,e.pctDecChars=A,e.parse=D,e.removeDotSegments=B,e.serialize=G,e.resolveComponents=U,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 G(U(D(e,n),D(t,n),n,!0),n)},e.normalize=function(e,t){return"string"==typeof e?e=G(D(e,t),t):"object"===n(e)&&(e=D(G(e,t),t)),e},e.equal=function(e,t,r){return"string"==typeof e?e=G(D(e,r),r):"object"===n(e)&&(e=G(e,r)),"string"==typeof t?t=G(D(t,r),r):"object"===n(t)&&(t=G(t,r)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,T)},e.unescapeComponent=V,Object.defineProperty(e,"__esModule",{value:!0})}(t)},62043:(e,t,r)=>{"use strict";!function(){var t,n,i,o=0,s=[];for(n=0;n<256;n++)s[n]=(n+256).toString(16).substr(1);function a(){var e=(16,(!t||o+16>l.BUFFER_SIZE)&&(o=0,t=l.randomBytes(l.BUFFER_SIZE)),t.slice(o,o+=16));return e[6]=15&e[6]|64,e[8]=63&e[8]|128,e}function l(){var e=a();return s[e[0]]+s[e[1]]+s[e[2]]+s[e[3]]+"-"+s[e[4]]+s[e[5]]+"-"+s[e[6]]+s[e[7]]+"-"+s[e[8]]+s[e[9]]+"-"+s[e[10]]+s[e[11]]+s[e[12]]+s[e[13]]+s[e[14]]+s[e[15]]}l.BUFFER_SIZE=4096,l.bin=a,l.clearBuffer=function(){t=null,o=0},l.test=function(e){return"string"==typeof e&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)},"undefined"!=typeof crypto?i=crypto:"undefined"!=typeof window&&void 0!==window.msCrypto&&(i=window.msCrypto),i=i||r(39061),e.exports=l,l.randomBytes=function(){if(i){if(i.randomBytes)return i.randomBytes;if(i.getRandomValues)return"function"!=typeof Uint8Array.prototype.slice?function(e){var t=new Uint8Array(e);return i.getRandomValues(t),Array.from(t)}:function(e){var t=new Uint8Array(e);return i.getRandomValues(t),t}}return function(e){var t,r=[];for(t=0;t<e;t++)r.push(Math.floor(256*Math.random()));return r}}()}()},39061:()=>{},1641:(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,{all:()=>he,allLimit:()=>ge,allSeries:()=>me,any:()=>et,anyLimit:()=>tt,anySeries:()=>rt,apply:()=>n,applyEach:()=>P,applyEachSeries:()=>$,asyncify:()=>d,auto:()=>W,autoInject:()=>B,cargo:()=>H,cargoQueue:()=>z,compose:()=>Y,concat:()=>Z,concatLimit:()=>Q,concatSeries:()=>X,constant:()=>ee,default:()=>ht,detect:()=>re,detectLimit:()=>ne,detectSeries:()=>ie,dir:()=>se,doDuring:()=>ae,doUntil:()=>le,doWhilst:()=>ae,during:()=>dt,each:()=>ue,eachLimit:()=>de,eachOf:()=>A,eachOfLimit:()=>E,eachOfSeries:()=>I,eachSeries:()=>fe,ensureAsync:()=>pe,every:()=>he,everyLimit:()=>ge,everySeries:()=>me,filter:()=>be,filterLimit:()=>Se,filterSeries:()=>Ce,find:()=>re,findLimit:()=>ne,findSeries:()=>ie,flatMap:()=>Z,flatMapLimit:()=>Q,flatMapSeries:()=>X,foldl:()=>q,foldr:()=>Ge,forEach:()=>ue,forEachLimit:()=>de,forEachOf:()=>A,forEachOfLimit:()=>E,forEachOfSeries:()=>I,forEachSeries:()=>fe,forever:()=>_e,groupBy:()=>Ee,groupByLimit:()=>ke,groupBySeries:()=>Le,inject:()=>q,log:()=>Te,map:()=>O,mapLimit:()=>J,mapSeries:()=>R,mapValues:()=>Oe,mapValuesLimit:()=>Ae,mapValuesSeries:()=>Pe,memoize:()=>Ie,nextTick:()=>Re,parallel:()=>Ne,parallelLimit:()=>De,priorityQueue:()=>xe,queue:()=>We,race:()=>Be,reduce:()=>q,reduceRight:()=>Ge,reflect:()=>Ue,reflectAll:()=>Ve,reject:()=>ze,rejectLimit:()=>qe,rejectSeries:()=>Ke,retry:()=>Je,retryable:()=>Ze,select:()=>be,selectLimit:()=>Se,selectSeries:()=>Ce,seq:()=>K,series:()=>Xe,setImmediate:()=>u,some:()=>et,someLimit:()=>tt,someSeries:()=>rt,sortBy:()=>nt,timeout:()=>it,times:()=>st,timesLimit:()=>ot,timesSeries:()=>at,transform:()=>lt,tryEach:()=>ct,unmemoize:()=>ut,until:()=>ft,waterfall:()=>pt,whilst:()=>dt,wrapSync:()=>d});var o="function"==typeof queueMicrotask&&queueMicrotask,s="function"==typeof setImmediate&&setImmediate,a="object"==typeof process&&"function"==typeof process.nextTick;function l(e){setTimeout(e,0)}function c(e){return(t,...r)=>e((()=>t(...r)))}var u=c(o?queueMicrotask:s?setImmediate:a?process.nextTick:l);function d(e){return h(e)?function(...t){const r=t.pop();return f(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 f(n,r);r(null,n)}))}function f(e,t){return e.then((e=>{p(t,null,e)}),(e=>{p(t,e&&e.message?e:new Error(e))}))}function p(e,t,r){try{e(t,r)}catch(e){u((e=>{throw e}),e)}}function h(e){return"AsyncFunction"===e[Symbol.toStringTag]}function g(e){if("function"!=typeof e)throw new Error("expected a function");return h(e)?d(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 y(e){return function(t,...r){return m((function(n){var i=this;return e(t,((e,t)=>{g(e).apply(i,r.concat(t))}),n)}))}}function v(e,t,r,n){t=t||[];var i=[],o=0,s=g(r);return e(t,((e,t,r)=>{var n=o++;s(e,((e,t)=>{i[n]=t,r(e)}))}),(e=>{n(e,i)}))}function w(e){return e&&"number"==typeof e.length&&e.length>=0&&e.length%1==0}const b={};function S(e){function t(...t){if(null!==e){var r=e;e=null,r.apply(this,t)}}return Object.assign(t,e),t}function C(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,l=0;function c(){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,l,u),l++,c()}})).catch(d))}function u(e,t){if(a-=1,!o)return e?d(e):!1===e?(i=!0,void(o=!0)):t===b||i&&a<=0?(i=!0,n(null)):void c()}function d(e){o||(s=!1,i=!0,n(e))}c()}var k=e=>(t,r,n)=>{if(n=S(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(w(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 e(){var o=r[++n];return"__proto__"===o?e():n<i?{value:t[o],key:o}:null})}(t),o=!1,s=!1,a=0,l=!1;function c(e,t){if(!s)if(a-=1,e)o=!0,n(e);else if(!1===e)o=!0,s=!0;else{if(t===b||o&&a<=0)return o=!0,n(null);l||u()}}function u(){for(l=!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,C(c))}l=!1}u()},E=m((function(e,t,r,n){return k(t)(e,g(r),n)}),4);function L(e,t,r){r=S(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!==b||r(null))}for(0===o&&r(null);n<o;n++)t(e[n],n,C(a))}function T(e,t,r){return E(e,1/0,t,r)}var A=m((function(e,t,r){return(w(e)?L:T)(e,g(t),r)}),3),O=m((function(e,t,r){return v(A,e,t,r)}),3),P=y(O),I=m((function(e,t,r){return E(e,1,t,r)}),3),R=m((function(e,t,r){return v(I,e,t,r)}),3),$=y(R);const N=Symbol("promiseCallback");function D(){let e,t;function r(r,...n){if(r)return t(r);e(n.length>1?n:n[0])}return r[N]=new Promise(((r,n)=>{e=r,t=n})),r}function W(e,t,r){"number"!=typeof t&&(r=t,t=null),r=S(r||D());var n=Object.keys(e).length;if(!n)return r(null);t||(t=n);var i={},o=0,s=!1,a=!1,l=Object.create(null),c=[],u=[],d={};function f(e,t){c.push((()=>function(e,t){if(!a){var n=C(((t,...n)=>{if(o--,!1!==t)if(n.length<2&&([n]=n),t){var c={};if(Object.keys(i).forEach((e=>{c[e]=i[e]})),c[e]=n,a=!0,l=Object.create(null),s)return;r(t,c)}else i[e]=n,(l[e]||[]).forEach((e=>e())),p();else s=!0}));o++;var c=g(t[t.length-1]);t.length>1?c(i,n):c(n)}}(e,t)))}function p(){if(!s){if(0===c.length&&0===o)return r(null,i);for(;c.length&&o<t;)c.shift()()}}function h(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 u.push(t);var n=r.slice(0,r.length-1),i=n.length;if(0===i)return f(t,r),void u.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=l[s=o])||(a=l[s]=[]),a.push((()=>{0==--i&&f(t,r)}))}))})),function(){for(var e=0;u.length;)e++,h(u.pop()).forEach((e=>{0==--d[e]&&u.push(e)}));if(e!==n)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),p(),r[N]}var M=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,j=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,F=/,/,x=/(=.+)?(\s*)$/;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=function(e){let t="",r=0,n=e.indexOf("*/");for(;r<e.length;)if("/"===e[r]&&"/"===e[r+1]){let t=e.indexOf("\n",r);r=-1===t?e.length:t}else if(-1!==n&&"/"===e[r]&&"*"===e[r+1]){let i=e.indexOf("*/",r);-1!==i?(r=i+2,n=e.indexOf("*/",r)):(t+=e[r],r++)}else t+=e[r],r++;return t}(e.toString());let r=t.match(M);if(r||(r=t.match(j)),!r)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,n]=r;return n.replace(/\s/g,"").split(F).map((e=>e.replace(x,"").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),g(i)(...r)}})),W(r,t)}class G{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):U(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):U(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 U(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=g(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 l(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=y._createTaskItem(e,r?s:n||s);if(t?y._tasks.unshift(a):y._tasks.push(a),c||(c=!0,u((()=>{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],c=o.indexOf(a);0===c?o.shift():c>0&&o.splice(c,1),a.callback(t,...r),null!=t&&l("error",t,a.data)}i<=y.concurrency-y.buffer&&l("unsaturated"),y.idle()&&l("drain"),y.process()}}function p(e){return!(0!==e.length||!y.idle()||(u((()=>l("drain"))),0))}const h=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 m=!1,y={_tasks:new G,_createTaskItem:(e,t)=>({data:e,callback:t}),*[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(p(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(p(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(p(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(p(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(!m){for(m=!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&&l("empty"),i===y.concurrency&&l("saturated");var c=C(f(e));n(t,c)}m=!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,u(y.process))}};return Object.defineProperties(y,{saturated:{writable:!1,value:h("saturated")},unsaturated:{writable:!1,value:h("unsaturated")},empty:{writable:!1,value:h("empty")},drain:{writable:!1,value:h("drain")},error:{writable:!1,value:h("error")}}),y}function H(e,t){return V(e,1,t)}function z(e,t,r){return V(e,t,r)}var q=m((function(e,t,r,n){n=S(n);var i=g(r);return I(e,((e,r,n)=>{i(t,e,((e,r)=>{t=r,n(e)}))}),(e=>n(e,t)))}),4);function K(...e){var t=e.map(g);return function(...e){var r=this,n=e[e.length-1];return"function"==typeof n?e.pop():n=D(),q(t,e,((e,t,n)=>{t.apply(r,e.concat(((e,...t)=>{n(e,t)})))}),((e,t)=>n(e,...t))),n[N]}}function Y(...e){return K(...e.reverse())}var J=m((function(e,t,r,n){return v(k(t),e,r,n)}),4),Q=m((function(e,t,r,n){var i=g(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 Q(e,1/0,t,r)}),3),X=m((function(e,t,r){return Q(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 l=g(i);r(n,((r,n,i)=>{l(r,((n,o)=>n||!1===n?i(n):e(o)&&!s?(a=!0,s=t(!0,r),i(null,b)):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))(A,e,t,r)}),3),ne=m((function(e,t,r,n){return te((e=>e),((e,t)=>t))(k(t),e,r,n)}),4),ie=m((function(e,t,r){return te((e=>e),((e,t)=>t))(k(1),e,t,r)}),3);function oe(e){return(t,...r)=>g(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=C(r);var n,i=g(e),o=g(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 le(e,t,r){const n=g(t);return ae(e,((...e)=>{const t=e.pop();n(...e,((e,r)=>t(e,!r)))}),r)}function ce(e){return(t,r,n)=>e(t,n)}var ue=m((function(e,t,r){return A(e,ce(g(t)),r)}),3),de=m((function(e,t,r,n){return k(t)(e,ce(g(r)),n)}),4),fe=m((function(e,t,r){return de(e,1,t,r)}),3);function pe(e){return h(e)?e:function(...t){var r=t.pop(),n=!0;t.push(((...e)=>{n?u((()=>r(...e))):r(...e)})),e.apply(this,t),n=!1}}var he=m((function(e,t,r){return te((e=>!e),(e=>!e))(A,e,t,r)}),3),ge=m((function(e,t,r,n){return te((e=>!e),(e=>!e))(k(t),e,r,n)}),4),me=m((function(e,t,r){return te((e=>!e),(e=>!e))(I,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(w(t)?ye:ve)(e,t,g(r),n)}var be=m((function(e,t,r){return we(A,e,t,r)}),3),Se=m((function(e,t,r,n){return we(k(t),e,r,n)}),4),Ce=m((function(e,t,r){return we(I,e,t,r)}),3),_e=m((function(e,t){var r=C(t),n=g(pe(e));return function e(t){if(t)return r(t);!1!==t&&n(e)}()}),2),ke=m((function(e,t,r,n){var i=g(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 Ee(e,t,r){return ke(e,1/0,t,r)}function Le(e,t,r){return ke(e,1,t,r)}var Te=oe("log"),Ae=m((function(e,t,r,n){n=S(n);var i={},o=g(r);return k(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 Oe(e,t,r){return Ae(e,1/0,t,r)}function Pe(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=g(e),s=i(((e,i)=>{var s=t(...e);s in r?u((()=>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=c(a?process.nextTick:s?setImmediate:l),$e=m(((e,t,r)=>{var n=w(t)?[]:{};e(t,((e,t,r)=>{g(e)(((e,...i)=>{i.length<2&&([i]=i),n[t]=i,r(e)}))}),(e=>r(e,n)))}),3);function Ne(e,t){return $e(A,e,t)}function De(e,t,r){return $e(k(t),e,r)}function We(e,t){var r=g(e);return V(((e,t)=>{r(e[0],t)}),t,1)}class Me{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&&Fe(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&&Fe(this.heap[t+1],this.heap[t])&&(t+=1),!Fe(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 Fe(e,t){return e.priority!==t.priority?e.priority<t.priority:e.pushCount<t.pushCount}function xe(e,t){var r=We(e,t),{push:n,pushAsync:i}=r;function o(e,t){return Array.isArray(e)?e.map((e=>({data:e,priority:t}))):{data:e,priority:t}}return r._tasks=new Me,r._createTaskItem=({data:e,priority:t},r)=>({data:e,priority:t,callback:r}),r.push=function(e,t=0,r){return n(o(e,t),r)},r.pushAsync=function(e,t=0,r){return i(o(e,t),r)},delete r.unshift,delete r.unshiftAsync,r}var Be=m((function(e,t){if(t=S(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++)g(e[r])(t)}),2);function Ge(e,t,r,n){var i=[...e].reverse();return q(i,t,r,n)}function Ue(e){var t=g(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(Ue):(t={},Object.keys(e).forEach((r=>{t[r]=Ue.call(this,e[r])}))),t}function He(e,t,r,n){const i=g(r);return we(e,t,((e,t)=>{i(e,((e,r)=>{t(e,!r)}))}),n)}var ze=m((function(e,t,r){return He(A,e,t,r)}),3),qe=m((function(e,t,r,n){return He(k(t),e,r,n)}),4),Ke=m((function(e,t,r){return He(I,e,t,r)}),3);function Ye(e){return function(){return e}}function Je(e,t,r){var n={times:5,intervalFunc:Ye(0)};if(arguments.length<3&&"function"==typeof e?(r=t||D(),t=e):(Qe(n,e),r=r||D()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var i=g(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[N]}function Qe(e,t){if("object"==typeof t)e.times=+t.times||5,e.intervalFunc="function"==typeof t.interval?t.interval:Ye(+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=g(t);return i(((t,i)=>{function o(e){n(...t,e)}return(t.length<r-1||null==i)&&(t.push(i),i=D()),e?Je(e,o,i):Je(o,i),i[N]}))}function Xe(e,t){return $e(I,e,t)}var et=m((function(e,t,r){return te(Boolean,(e=>e))(A,e,t,r)}),3),tt=m((function(e,t,r,n){return te(Boolean,(e=>e))(k(t),e,r,n)}),4),rt=m((function(e,t,r){return te(Boolean,(e=>e))(I,e,t,r)}),3),nt=m((function(e,t,r){var n=g(t);return O(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=g(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=g(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 lt(e,t,r,n){arguments.length<=3&&"function"==typeof t&&(n=r,r=t,t=Array.isArray(e)?[]:{}),n=S(n||D());var i=g(r);return A(e,((e,r,n)=>{i(t,e,r,n)}),(e=>n(e,t))),n[N]}var ct=m((function(e,t){var r,n=null;return fe(e,((e,t)=>{g(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 ut(e){return(...t)=>(e.unmemoized||e)(...t)}var dt=m((function(e,t,r){r=C(r);var n=g(t),i=g(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=g(e);return dt((e=>n(((t,r)=>e(t,!r)))),t,r)}var pt=m((function(e,t){if(t=S(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){g(e[r++])(...t,C(i))}function i(i,...o){if(!1!==i)return i||r===e.length?t(i,...o):void n(o)}n([])}));const ht={apply:n,applyEach:P,applyEachSeries:$,asyncify:d,auto:W,autoInject:B,cargo:H,cargoQueue:z,compose:Y,concat:Z,concatLimit:Q,concatSeries:X,constant:ee,detect:re,detectLimit:ne,detectSeries:ie,dir:se,doUntil:le,doWhilst:ae,each:ue,eachLimit:de,eachOf:A,eachOfLimit:E,eachOfSeries:I,eachSeries:fe,ensureAsync:pe,every:he,everyLimit:ge,everySeries:me,filter:be,filterLimit:Se,filterSeries:Ce,forever:_e,groupBy:Ee,groupByLimit:ke,groupBySeries:Le,log:Te,map:O,mapLimit:J,mapSeries:R,mapValues:Oe,mapValuesLimit:Ae,mapValuesSeries:Pe,memoize:Ie,nextTick:Re,parallel:Ne,parallelLimit:De,priorityQueue:xe,queue:We,race:Be,reduce:q,reduceRight:Ge,reflect:Ue,reflectAll:Ve,reject:ze,rejectLimit:qe,rejectSeries:Ke,retry:Je,retryable:Ze,seq:K,series:Xe,setImmediate:u,some:et,someLimit:tt,someSeries:rt,sortBy:nt,timeout:it,times:st,timesLimit:ot,timesSeries:at,transform:lt,tryEach:ct,unmemoize:ut,until:ft,waterfall:pt,whilst:dt,all:he,allLimit:ge,allSeries:me,any:et,anyLimit:tt,anySeries:rt,find:re,findLimit:ne,findSeries:ie,flatMap:Z,flatMapLimit:Q,flatMapSeries:X,forEach:ue,forEachSeries:fe,forEachLimit:de,forEachOf:A,forEachOfSeries:I,forEachOfLimit:E,inject:q,foldl:q,foldr:Ge,select:be,selectLimit:Se,selectSeries:Ce,wrapSync:d,during:dt,doDuring:ae}},83027:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});class n{value;next;constructor(e){this.value=e}}class i{#e;#t;#r;constructor(){this.clear()}enqueue(e){const t=new n(e);this.#e?(this.#t.next=t,this.#t=t):(this.#e=t,this.#t=t),this.#r++}dequeue(){const e=this.#e;if(e)return this.#e=this.#e.next,this.#r--,e.value}clear(){this.#e=void 0,this.#t=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}}function o(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new i;let r=0;const n=async(e,n,i)=>{r++;const o=(async()=>e(...i))();n(o);try{await o}catch{}r--,t.size>0&&t.dequeue()()},o=(i,...o)=>new Promise((s=>{((i,o,s)=>{t.enqueue(n.bind(void 0,i,o,s)),(async()=>{await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()})()})(i,s,o)}));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}},64775:e=>{"use strict";e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},98: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}')}},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 n=r(9097);return n.default})()));
|
|
9
9
|
//# sourceMappingURL=systemManager.js.map
|