@accordproject/concerto-core 3.20.2 → 3.20.3
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/dist/concerto-core.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see concerto-core.js.LICENSE.txt */
|
|
2
|
-
!function(e,u){"object"==typeof exports&&"object"==typeof module?module.exports=u():"function"==typeof define&&define.amd?define([],u):"object"==typeof exports?exports["concerto-core"]=u():e["concerto-core"]=u()}(self,(()=>(()=>{var e={3348:(e,u,t)=>{"use strict";const r=t(3954);e.exports={MetaModelUtil:r,MetaModelNamespace:"concerto.metamodel@1.0.0"}},4702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},3954:(e,u,t)=>{"use strict";const r=t(4865),n="concerto.metamodel@1.0.0",a=t(4702);function o(e,u){return e.declarations.find((e=>e.name===u))}function s(e,u){if(!u[e])throw new Error(`Name ${e} not found`);return u[e].namespace}function i(e,u){switch((e.decorators||[]).forEach((e=>{i(e,u)})),e.$class){case`${n}.Model`:(e.declarations||[]).forEach((e=>{i(e,u)}));break;case`${n}.AssetDeclaration`:case`${n}.ConceptDeclaration`:case`${n}.EventDeclaration`:case`${n}.TransactionDeclaration`:case`${n}.ParticipantDeclaration`:if(e.superType){const t=e.superType.name;e.superType.namespace=s(t,u),e.superType.name=u[t].name}(e.properties||[]).forEach((e=>{i(e,u)}));break;case`${n}.MapDeclaration`:i(e.key,u),i(e.value,u);break;case`${n}.Decorator`:(e.arguments||[]).forEach((e=>{i(e,u)}));break;case`${n}.EnumProperty`:case`${n}.ObjectProperty`:case`${n}.RelationshipProperty`:case`${n}.DecoratorTypeReference`:case`${n}.ObjectMapKeyType`:case`${n}.ObjectMapValueType`:e.type.namespace=s(e.type.name,u),e.type.name=u[e.type.name].name;break;case`${n}.StringScalar`:case`${n}.BooleanScalar`:case`${n}.DateTimeScalar`:case`${n}.DoubleScalar`:case`${n}.LongScalar`:case`${n}.IntegerScalar`:e.namespace=s(e.name,u),e.name=u[e.name].name}return e}function c(e,u){const t=JSON.parse(JSON.stringify(u)),r=function(e,u){const t="concerto@1.0.0",r={Concept:{namespace:t,name:"Concept"},Asset:{namespace:t,name:"Asset"},Participant:{namespace:t,name:"Participant"},Transaction:{namespace:t,name:"Transaction"},Event:{namespace:t,name:"Event"}};return(u.imports||[]).forEach((u=>{const t=u.namespace,a=function(e,u){return e.models.find((e=>e.namespace===u))}(e,t);if(u.$class===`${n}.ImportType`){if(!o(a,u.name))throw new Error(`Declaration ${u.name} in namespace ${t} not found`);r[u.name]={namespace:t,name:u.name}}else if(u.$class===`${n}.ImportTypes`){const e=u.aliasedTypes?new Map(u.aliasedTypes.map((({name:e,aliasedName:u})=>[e,u]))):new Map;u.types.forEach((u=>{const n=e.get(u)||u;if(!o(a,u))throw new Error(`Declaration ${u} in namespace ${t} not found`);r[n]={namespace:t,name:u}}))}else(a.declarations||[]).forEach((e=>{r[e.name]={namespace:t,name:e.name}}))})),(u.declarations||[]).forEach((e=>{r[e.name]={namespace:u.namespace,name:e.name}})),r}(e,u);return i(t,r),t}function l(e){const u=[];switch(e.$class){case`${n}.ImportAll`:u.push(`${e.namespace}.*`);break;case`${n}.ImportType`:u.push(`${e.namespace}.${e.name}`);break;case`${n}.ImportTypes`:e.types.forEach((t=>{u.push(`${e.namespace}.${t}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return u}e.exports={metaModelAst:r,metaModelCto:a,resolveLocalNames:c,resolveLocalNamesForAll:function(e){const u={$class:`${n}.Models`,models:[]};return e.models.forEach((t=>{const r=c(e,t);u.models.push(r)})),u},importFullyQualifiedNames:l,getExternalImports:function(e){const u={};return e.imports&&e.imports.forEach((e=>{const t=l(e);e.uri&&(u[t[0]]=e.uri)})),u}}},3832:(e,u,t)=>{"use strict";var r=t(9907);function n(e,u){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);u&&(r=r.filter((function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable}))),t.push.apply(t,r)}return t}function a(e,u,t){return(u=function(e){var u=function(e){if("object"!=typeof e||!e)return e;var u=e[Symbol.toPrimitive];if(void 0!==u){var t=u.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof u?u:u+""}(u))in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t,e}const o=t(5558),{DefaultFileLoader:s,FileDownloader:i,ModelWriter:c}=t(8487),{MetaModelUtil:l,MetaModelNamespace:D}=t(3348),p=t(1595),d=t(2438),A=t(1861),E=t(6226),C=t(1768),m=t(3673),F=t(5477),{getRootModel:h}=t(6128),{getDecoratorModel:f}=t(1051),g=t(5430);void 0===t.g&&(t(5437),t(953),t(9869),t(3135),t(6341),t(8088),t(2302),t(7337),t(3218),t(745));const y=t(7833)("concerto:BaseModelManager"),B=(e,u)=>({ast:u,definitions:null,fileName:e}),v={missingDecorator:void 0,invalidDecorator:void 0},b=["concerto@1.0.0","concerto","concerto.decorator@1.0.0"];class w{constructor(e,u){this.processFile=u||B,this.modelFiles={},this.factory=new p(this),this.serializer=new m(this.factory,this,e),this.decoratorFactories=[],this.strict=!(null==e||!e.strict),this.options=e,this.addDecoratorModel(),this.addRootModel(),this.decoratorValidation=null!=e&&e.decoratorValidation?null==e?void 0:e.decoratorValidation:v,this.enableMapType=!(null==e||!e.enableMapType),this.importAliasing="true"===(null==r||null===(r={NODE_ENV:"production"})||void 0===r?void 0:r.IMPORT_ALIASING)||!(null==e||!e.importAliasing),this.metamodelModelFile=new E(this,l.metaModelAst,void 0,D),null!=e&&e.addMetamodel&&this.addModelFile(this.metamodelModelFile)}isModelManager(){return!0}isStrict(){return this.strict}isAliasedTypeEnabled(){return this.importAliasing}addRootModel(){const{rootModelAst:e,rootModelCto:u,rootModelFile:t}=h(!0),r=new E(this,e,u,t);if(this.strict)this.addModelFile(r,u,t,!0);else{this.addModelFile(r,u,t,!0);const e=h(!1),n=new E(this,e.rootModelAst,e.rootModelCto,e.rootModelFile);this.addModelFile(n,e.rootModelCto,e.rootModelFile,!0)}}addDecoratorModel(){const{decoratorModelAst:e,decoratorModelCto:u,decoratorModelFile:t}=f(),r=new E(this,e,u,t);this.addModelFile(r,u,t,!0)}accept(e,u){return e.visit(this,u)}validateModelFile(e,u){if("string"==typeof e){const{ast:t}=this.processFile(u,e);new E(this,t,e,u).validate()}else e.validate()}_throwAlreadyExists(e){const u=this.modelFiles[e.getNamespace()].getName(),t=u?" in file ".concat(u):"",r=e.getName()?" specified in file ".concat(e.getName()):"";let n="Namespace ".concat(e.getNamespace()).concat(r," is already declared").concat(t);throw new Error(n)}addModelFile(e,u,t,r){if(y("addModelFile","addModelFile",e,t),this.isStrict()&&!e.getVersion())throw new Error("Cannot add an unversioned namespace when 'strict' is true");var n;this.modelFiles[e.getNamespace()]?this._throwAlreadyExists(e):(r||(null!==(n=this.options)&&void 0!==n&&n.metamodelValidation&&this.validateAst(e),e.validate()),this.modelFiles[e.getNamespace()]=e);return e}validateAst(e){const{version:u}=C.parseNamespace(C.getNamespace(e.getAst().$class)),{version:t}=C.parseNamespace(D);if(u!==t)throw new g("Model file version ".concat(u," does not match metamodel version ").concat(t));const r=!!this.getModelFile(D);r||this.addModelFile(this.metamodelModelFile,void 0,D,!0);try{this.getSerializer().fromJSON(e.getAst())}catch(e){if(this.isStrict())throw new g(e.message);console.warn("Invalid metamodel found. This will throw an exception in a future release. ",e.message)}r||this.deleteModelFile(D)}addModel(e,u,t,r){y("addModel","addModel",e,t);const{ast:n,definitions:a}=this.processFile(t,e),o=u||a,s=new E(this,n,o,t);return this.addModelFile(s,o,t,r),s}updateModelFile(e,u,t){if(y("updateModelFile","updateModelFile",e,u),"string"==typeof e){const{ast:r}=this.processFile(u,e);let n=new E(this,r,e,u);return this.updateModelFile(n,u,t)}if(!this.modelFiles[e.getNamespace()])throw new Error("Model file for namespace ".concat(e.getNamespace()," not found"));return t||e.validate(),this.modelFiles[e.getNamespace()]=e,e}deleteModelFile(e){if(!this.modelFiles[e])throw new Error("Model file does not exist");delete this.modelFiles[e]}addModelFiles(e,u,t){const r="addModelFiles";y(r,"addModelFiles",e,u);const n={};Object.assign(n,this.modelFiles);let a=[];try{for(let t=0;t<e.length;t++){const r=e[t];let n,o=null;if(u&&(o=u[t]),"string"==typeof r){const{ast:e}=this.processFile(o,r);n=new E(this,e,r,o)}else n=r;this.modelFiles[n.getNamespace()]?this._throwAlreadyExists(n):(this.modelFiles[n.getNamespace()]=n,a.push(n))}return t||this.validateModelFiles(),a}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,n),e}finally{y(r,a)}}validateModelFiles(){for(let e in this.modelFiles)this.modelFiles[e].validate()}async updateExternalModels(e,u){y("updateExternalModels","updateExternalModels",e),u||(u=new i(new s(this.processFile),(e=>l.getExternalImports(e.ast))));const t={};Object.assign(t,this.modelFiles);try{const t=await u.downloadExternalDependencies(this.getModelFiles(),e),r=[];return t.forEach((e=>{const u=new E(this,e.ast,e.definitions,e.fileName);this.modelFiles[u.getNamespace()]?r.push(this.updateModelFile(u,u.getName(),!0)):r.push(this.addModelFile(u,null,u.getName(),!0))})),this.validateModelFiles(),r}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,t),e}}writeModelsToFileSystem(e){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c.writeModelsToFileSystem(this.getModelFiles(),e,u)}getDecoratorValidation(){return this.decoratorValidation}getModelFiles(e){let u=Object.keys(this.modelFiles),t=[];for(let r=0;r<u.length;r++){const n=u[r];!e&&b.includes(n)||t.push(this.modelFiles[n])}return t}getModels(e){const u=this.getModelFiles();let t=[];const r=Object.assign({includeExternalModels:!0},e);return u.forEach((function(e){if(e.isExternal()&&!r.includeExternalModels)return;let u;if("UNKNOWN"!==e.fileName&&null!==e.fileName&&e.fileName){let t=e.fileName;u=o.basename(t)}else u=e.namespace+".cto";t.push({name:u,content:e.definitions})})),t}resolveType(e,u){if(C.isPrimitiveType(u))return u;let t=C.getNamespace(u),r=this.getModelFile(t);if(!r){let t=d.messageFormatter("modelmanager-resolvetype-nonsfortype");throw new A(t({type:u,context:e}))}if(r.isLocalType(u))return u;let n=d.messageFormatter("modelmanager-resolvetype-notypeinnsforcontext");throw new A(n({context:e,type:u,namespace:r.getNamespace()}))}clearModelFiles(){this.modelFiles={},this.addDecoratorModel(),this.addRootModel()}getModelFile(e){return this.modelFiles[e]}getModelFileByFileName(e){return this.getModelFiles().filter((u=>u.getName()===e))[0]}getNamespaces(){return Object.keys(this.modelFiles)}getType(e){const u=C.getNamespace(e),t=this.getModelFile(u);if(!t){const u=d.messageFormatter("modelmanager-gettype-noregisteredns");throw new F(e,u({type:e}))}const r=t.getType(e);if(!r){const t=d.messageFormatter("modelmanager-gettype-notypeinns");throw new F(e,t({type:C.getShortName(e),namespace:u}))}return r}getAssetDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getAssetDeclarations())),[])}getTransactionDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getTransactionDeclarations())),[])}getEventDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getEventDeclarations())),[])}getParticipantDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getParticipantDeclarations())),[])}getMapDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getMapDeclarations())),[])}getEnumDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getEnumDeclarations())),[])}getConceptDeclarations(){return this.getModelFiles().reduce(((e,u)=>e.concat(u.getConceptDeclarations())),[])}getFactory(){return this.factory}getSerializer(){return this.serializer}getDecoratorFactories(){return this.decoratorFactories}addDecoratorFactory(e){this.decoratorFactories.push(e)}derivesFrom(e,u){let t=this.getType(e);for(;t;){if(t.getFullyQualifiedName()===u)return!0;t=t.getSuperTypeDeclaration()}return!1}resolveMetaModel(e){const u=this.getAst(!1,!0);return l.resolveLocalNames(u,e)}fromAst(e){this.clearModelFiles(),e.models.forEach((e=>{if(!b.includes(e.namespace)){const u=new E(this,e);this.addModelFile(u,null,null,!0)}})),this.validateModelFiles()}getAst(e,u){const t={$class:"".concat(D,".Models"),models:[]};return this.getModelFiles(u).forEach((u=>{let r=u.getAst();e&&(r=this.resolveMetaModel(r)),t.models.push(r)})),t}filter(e){const u=new w(function(e){for(var u=1;u<arguments.length;u++){var t=null!=arguments[u]?arguments[u]:{};u%2?n(Object(t),!0).forEach((function(u){a(e,u,t[u])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(u){Object.defineProperty(e,u,Object.getOwnPropertyDescriptor(t,u))}))}return e}({},this.options),this.processFile),t=[];let r=Object.values(this.modelFiles).map((r=>r.filter(e,u,t))).filter(Boolean);r=r.filter((e=>!e.isSystemModelFile()));const o=r.map((e=>{const u=e.getAst();let r=!1;return t.forEach((t=>{const n=C.getNamespace(t);if(!n.startsWith("concerto@")&&"concerto"!==n&&e.getImports().includes(t)){const e=C.getShortName(t),n=C.getNamespace(t);u.imports=u.imports.filter((u=>{const t="ImportType"===C.getShortName(u.$class)&&u.name===e&&u.namespace===n;return t&&(r=!0),!t})),u.imports.forEach((u=>{u.namespace===n&&"ImportTypes"===C.getShortName(u.$class)&&(u.types=u.types.filter((u=>{const t=u===e;return t&&(r=!0),!t})))}))}})),r?new E(this,u,void 0,e.fileName):e}));return u.addModelFiles(o),u}}e.exports=w},7662:(e,u,t)=>{"use strict";const r=t(9472),n="resource",{TypedStack:a}=t(8487),o=t(3561);void 0===t.g&&t(9481),e.exports=class{constructor(e){this.modelManager=e}validate(e,u){const t=this.getTypeDeclaration(e),r={};r.stack=new a(e);const n=new o(this,u);t.accept(n,r)}getModelManager(){return this.modelManager}isObject(e){return"object"==typeof e&&e.$class}getTypeDeclaration(e){if(!e.$class)throw new Error("Input object does not have a $class attribute.");return this.modelManager.getType(e.$class)}getIdentifier(e){const u=this.getTypeDeclaration(e).getIdentifierFieldName();if(!u)throw new Error("Object does not have an identifier: ".concat(JSON.stringify(e)));return e[u]}isIdentifiable(e){const u=this.getTypeDeclaration(e);return!u.isSystemIdentified()&&null!==u.getIdentifierFieldName()}isRelationship(e){return"string"==typeof e&&e.startsWith("".concat(n,":"))}setIdentifier(e,u){const t=this.getTypeDeclaration(e).getIdentifierFieldName(),r=JSON.parse(JSON.stringify(e));return r[t]=u,r}getFullyQualifiedIdentifier(e){return this.getTypeDeclaration(e),"".concat(e.$class,"#").concat(this.getIdentifier(e))}toURI(e){return this.getTypeDeclaration(e),"".concat(n,":").concat(e.$class,"#").concat(encodeURI(this.getIdentifier(e)))}fromURI(e){let u;try{u=r.parse(e)}catch(u){throw new Error("Invalid URI: "+e)}const t=u.protocol;if(t&&t!==n)throw new Error("Invalid URI scheme: "+e);if(u.username||u.password||u.port||u.query)throw new Error("Invalid resource URI format: "+e);return{typeDeclaration:this.getTypeDeclaration({$class:u.path}),id:decodeURIComponent(u.fragment)}}getType(e){return this.getTypeDeclaration(e).getName()}getNamespace(e){return this.getTypeDeclaration(e).getNamespace()}}},7624:(e,u,t)=>{"use strict";const r=t(3464),n=t(7657);r.extend(n);const a=t(4491);r.extend(a);const o=t(3221);r.extend(o);const s=t(279);r.extend(s),e.exports={setCurrentTime:function(e,u){const t="number"==typeof u?u:r().utcOffset(),n=e?r.utc(e):r().utc();if(!n.isValid())throw new Error("Current time '".concat(e,"' is not in standard UTC format"));const a=n.utcOffset(t);if(!a.isValid())throw new Error("Cannot set current time to '".concat(e,"' with UTC offset '").concat(u,"'"));return{currentTime:a,utcOffset:t}}}},8298:(e,u,t)=>{"use strict";function r(e,u){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);u&&(r=r.filter((function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable}))),t.push.apply(t,r)}return t}function n(e){for(var u=1;u<arguments.length;u++){var t=null!=arguments[u]?arguments[u]:{};u%2?r(Object(t),!0).forEach((function(u){a(e,u,t[u])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(u){Object.defineProperty(e,u,Object.getOwnPropertyDescriptor(t,u))}))}return e}function a(e,u,t){return(u=function(e){var u=function(e){if("object"!=typeof e||!e)return e;var u=e[Symbol.toPrimitive];if(void 0!==u){var t=u.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof u?u:u+""}(u))in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t,e}const o=t(9481),s=t(1768),{MetaModelNamespace:i}=t(3348);class c{constructor(e,u,t,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:c.Action.EXTRACT_ALL;this.extractionDictionary={},this.removeDecoratorsFromModel=e,this.locale=u,this.dcs_version=t,this.sourceModelAst=r,this.updatedModelAst=r,this.action=Object.values(c.Action).includes(n)?n:c.Action.EXTRACT_ALL}isVocabDecorator(e){return"Term"===e||e.startsWith("Term_")}constructDCSDictionary(e,u,t){const r={declaration:(null==t?void 0:t.declaration)||"",property:(null==t?void 0:t.property)||"",mapElement:(null==t?void 0:t.mapElement)||"",dcs:JSON.stringify(u)};this.extractionDictionary[e]&&Array.isArray(this.extractionDictionary[e])?this.extractionDictionary[e].push(r):this.extractionDictionary[e]=[r]}transformNonVocabularyDecorators(e,u,t){const{name:r,version:n}=s.parseNamespace(u),a=r,o=n;if((null==e?void 0:e.length)>0){const u={$class:"org.accordproject.decoratorcommands@".concat(this.dcs_version,".DecoratorCommandSet"),name:a,version:o,commands:e};t.push(u)}return t}transformVocabularyDecorators(e,u,t){if(Object.keys(e).length>0){let r="";r+="locale: ".concat(this.locale,"\n"),r+="namespace: ".concat(u,"\n"),r+="declarations:\n",Object.keys(e).forEach((u=>{e[u].term&&(r+=" - ".concat(u,": ").concat(e[u].term,"\n"));const t=Object.keys(e[u]).filter((e=>"term"!==e&&"propertyVocabs"!==e));t.length>0&&(e[u].term||(r+=" - ".concat(u,": ").concat(u,"\n")),t.forEach((t=>{r+=" ".concat(t,": ").concat(e[u][t],"\n")}))),e[u].propertyVocabs&&Object.keys(e[u].propertyVocabs).length>0&&(e[u].term||0!==t.length||(r+=" - ".concat(u,": ").concat(u,"\n")),r+=" properties:\n",Object.keys(e[u].propertyVocabs).forEach((t=>{r+=" - ".concat(t,": ").concat(e[u].propertyVocabs[t].term||"","\n"),Object.keys(e[u].propertyVocabs[t]).filter((e=>"term"!==e)).forEach((n=>{r+=" ".concat(n,": ").concat(e[u].propertyVocabs[t][n],"\n")}))})))})),t.push(r)}return t}constructTarget(e,u){const t={$class:"org.accordproject.decoratorcommands@".concat(this.dcs_version,".CommandTarget"),namespace:e};return u.declaration&&""!==u.declaration&&(t.declaration=u.declaration),u.property&&""!==u.property&&(t.property=u.property),u.mapElement&&""!==u.mapElement&&(t.mapElement=u.mapElement),t}parseNonVocabularyDecorators(e,u,t,r){const n={$class:"concerto.metamodel@1.0.0.Decorator",name:u.name};if(u.arguments){const e=u.arguments.map((e=>({$class:e.$class,value:e.value})));n.arguments=e}let a={$class:"org.accordproject.decoratorcommands@".concat(t,".Command"),type:"UPSERT",target:r,decorator:n};return e.push(a),e}parseVocabularies(e,u,t){if(e[u.declaration]=e[u.declaration]||{propertyVocabs:{}},""!==u.property)if(e[u.declaration].propertyVocabs[u.property]||(e[u.declaration].propertyVocabs[u.property]={}),"Term"===t.name)e[u.declaration].propertyVocabs[u.property].term=t.arguments[0].value;else{const r=t.name.split("Term_")[1];e[u.declaration].propertyVocabs[u.property][r]=t.arguments[0].value}else if(""!==u.mapElement)if(e[u.declaration].propertyVocabs[u.mapElement]||(e[u.declaration].propertyVocabs[u.mapElement]={}),"Term"===t.name)e[u.declaration].propertyVocabs[u.mapElement].term=t.arguments[0].value;else{const r=t.name.split("Term_")[1];e[u.declaration].propertyVocabs[u.mapElement][r]=t.arguments[0].value}else if("Term"===t.name)e[u.declaration].term=t.arguments[0].value;else{const r=t.name.split("Term_")[1];e[u.declaration][r]=t.arguments[0].value}return e}transformDecoratorsAndVocabularies(){let e=[],u=[];return Object.keys(this.extractionDictionary).forEach((t=>{const r=this.extractionDictionary[t];let n=[],a={};r.forEach((e=>{const u=JSON.parse(e.dcs),r=this.constructTarget(t,e);u.forEach((u=>{const t=this.isVocabDecorator(u.name);t||this.action===c.Action.EXTRACT_VOCAB||(n=this.parseNonVocabularyDecorators(n,u,this.dcs_version,r)),t&&this.action!==c.Action.EXTRACT_NON_VOCAB&&(a=this.parseVocabularies(a,e,u))}))})),this.action!==c.Action.EXTRACT_VOCAB&&(e=this.transformNonVocabularyDecorators(n,t,e)),this.action!==c.Action.EXTRACT_NON_VOCAB&&(u=this.transformVocabularyDecorators(a,t,u))})),{decoratorCommandSet:e,vocabularies:u}}filterOutDecorators(e){return this.removeDecoratorsFromModel?this.action===c.Action.EXTRACT_ALL?void 0:this.action===c.Action.EXTRACT_VOCAB?e.filter((e=>!this.isVocabDecorator(e.name))):e.filter((e=>this.isVocabDecorator(e.name))):e}processMapDeclaration(e,u){if(e.key&&e.key.decorators){const t={declaration:e.name,mapElement:"KEY"};this.constructDCSDictionary(u,e.key.decorators,t),e.key.decorators=this.filterOutDecorators(e.key.decorators)}if(e.value&&e.value.decorators){const t={declaration:e.name,mapElement:"VALUE"};this.constructDCSDictionary(u,e.value.decorators,t),e.value.decorators=this.filterOutDecorators(e.value.decorators)}return e}processProperties(e,u,t){return e.map((e=>{if(e.decorators){const r={declaration:u,property:e.name};this.constructDCSDictionary(t,e.decorators,r),e.decorators=this.filterOutDecorators(e.decorators)}return e}))}processDeclarations(e,u){return e.map((e=>{if(e.decorators){const t={declaration:e.name};this.constructDCSDictionary(u,e.decorators,t),e.decorators=this.filterOutDecorators(e.decorators)}if(e.$class==="".concat(i,".MapDeclaration")&&(e=this.processMapDeclaration(e,u)),e.properties){const t=this.processProperties(e.properties,e.name,u);e.properties=t}return e}))}processModels(){const e=this.sourceModelAst.models.map((e=>{var u;(null==e||null===(u=e.decorators)||void 0===u?void 0:u.length)>0&&(this.constructDCSDictionary(e.namespace,e.decorators,{}),e.decorators=this.filterOutDecorators(e.decorators));const t=this.processDeclarations(e.declarations,e.namespace);return e.declarations=t,e}));this.updatedModelAst=n(n({},this.updatedModelAst),{},{models:e})}extract(){this.processModels();const e=new o;e.fromAst(this.updatedModelAst);const u=this.transformDecoratorsAndVocabularies();return{updatedModelManager:e,decoratorCommandSet:u.decoratorCommandSet,vocabularies:u.vocabularies}}}a(c,"Action",{EXTRACT_ALL:0,EXTRACT_VOCAB:1,EXTRACT_NON_VOCAB:2}),e.exports=c},6033:(e,u,t)=>{"use strict";function r(e,u){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);u&&(r=r.filter((function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable}))),t.push.apply(t,r)}return t}function n(e){for(var u=1;u<arguments.length;u++){var t=null!=arguments[u]?arguments[u]:{};u%2?r(Object(t),!0).forEach((function(u){a(e,u,t[u])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(u){Object.defineProperty(e,u,Object.getOwnPropertyDescriptor(t,u))}))}return e}function a(e,u,t){return(u=function(e){var u=function(e){if("object"!=typeof e||!e)return e;var u=e[Symbol.toPrimitive];if(void 0!==u){var t=u.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof u?u:u+""}(u))in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t,e}const o=t(9481),s=t(3673),i=t(1595),c=t(1768),{MetaModelNamespace:l}=t(3348),D=t(2722),p=t(8298),{Warning:d,ErrorCodes:A}=t(8487);void 0===t.g&&t(6226);const E="0.4.0",C="concerto version \"^3.0.0\"\nnamespace org.accordproject.decoratorcommands@0.4.0\n\nimport concerto.metamodel@1.0.0.Decorator\n\n/**\n * A reference to an existing named & versioned DecoratorCommandSet\n */\nconcept DecoratorCommandSetReference {\n o String name\n o String version\n}\n\n/**\n * Whether to upsert or append the decorator\n */\nenum CommandType {\n o UPSERT\n o APPEND\n}\n\n/**\n * Which models elements to add the decorator to. Any null\n * elements are 'wildcards'.\n */\nconcept CommandTarget {\n o String namespace optional\n o String declaration optional\n o String property optional\n o String[] properties optional // property and properties are mutually exclusive\n o String type optional\n o MapElement mapElement optional\n}\n\n/**\n * Map Declaration elements which might be used as a target\n */\nenum MapElement {\n o KEY\n o VALUE\n o KEY_VALUE\n}\n\n/**\n * Applies a decorator to a given target\n */\nconcept Command {\n o CommandTarget target\n o Decorator decorator\n o CommandType type\n o String decoratorNamespace optional\n}\n\n/**\n * A named and versioned set of commands. Includes are supported for modularity/reuse.\n */\nconcept DecoratorCommandSet {\n o String name\n o String version\n o DecoratorCommandSetReference[] includes optional // not yet supported\n o Command[] commands\n}\n";class m{constructor(e,u){this.command=e,this.index=u}getCommand(){return this.command}getIndex(){return this.index}}class F{static validate(e,u){const t=new o({strict:!0,metamodelValidation:!0,addMetamodel:!0});u&&t.addModelFiles(u),t.addCTOModel(C,"decoratorcommands@0.3.0.cto");const r=new i(t);return new s(r,t).fromJSON(e),t}static migrateTo(e,u){if(e instanceof Object)for(let t in e){if("$class"===t&&e[t].includes("org.accordproject.decoratorcommands")){const u=c.getNamespace(e.$class);e[t]=e[t].replace(c.parseNamespace(u).version,E)}(e[t]instanceof Object||e[t]instanceof Array)&&this.migrateTo(e[t],u)}return e}static canMigrate(e,u){const t=c.parseNamespace(c.getNamespace(e.$class)).version;return D.major(t)===D.major(u)&&D.minor(t)<D.minor(u)}static addDcsWithIndexToMap(e,u,t){const r=e.get(u);r?r.push(t):e.set(u,[t])}static getDecoratorMaps(e){const u=new Map,t=new Map,r=new Map,n=new Map,a=new Map;return e.commands.map(((e,o)=>{var s,i,c,l,D,p;const d=new m(e,o);switch(!0){case!(null==e||null===(s=e.target)||void 0===s||!s.type):this.addDcsWithIndexToMap(a,e.target.type,d);break;case!(null==e||null===(i=e.target)||void 0===i||!i.property):this.addDcsWithIndexToMap(r,e.target.property,d);break;case!(null==e||null===(c=e.target)||void 0===c||!c.properties):e.target.properties.forEach((e=>{this.addDcsWithIndexToMap(r,e,d)}));break;case!(null==e||null===(l=e.target)||void 0===l||!l.mapElement):this.addDcsWithIndexToMap(n,e.target.mapElement,d);break;case!(null==e||null===(D=e.target)||void 0===D||!D.declaration):this.addDcsWithIndexToMap(t,e.target.declaration,d);break;case!(null==e||null===(p=e.target)||void 0===p||!p.namespace):this.addDcsWithIndexToMap(u,e.target.namespace,d)}})),{namespaceCommandsMap:u,declarationCommandsMap:t,propertyCommandsMap:r,mapElementCommandsMap:n,typeCommandsMap:a}}static migrateAndValidate(e,u,t,r,n){if(t&&this.canMigrate(u,E)&&(u=this.migrateTo(u,E)),r){const t=!(null==e||!e.enableMapType),r=new o({strict:!0,metamodelValidation:!0,addMetamodel:!0,enableMapType:t,importAliasing:e.isAliasedTypeEnabled()});r.addModelFiles(e.getModelFiles()),r.addCTOModel(C,"decoratorcommands@0.4.0.cto");const a=new i(r);new s(a,r).fromJSON(u),n&&u.commands.forEach((e=>{F.validateCommand(r,e)}))}}static pushMapValues(e,u,t){const r=u.get(t);r&&e.push(...r)}static decorateModels(e,u,t){this.migrateAndValidate(e,u,null==t?void 0:t.migrate,null==t?void 0:t.validate,null==t?void 0:t.validateCommands);const r=u.commands.map((e=>{var u;return[{$class:"".concat(l,".ImportType"),name:e.decorator.name,namespace:e.decorator.namespace?e.decorator.namespace:null==t?void 0:t.defaultNamespace}].concat(e.decorator.arguments?null===(u=e.decorator.arguments)||void 0===u?void 0:u.filter((e=>e.type)).map((e=>({$class:"".concat(l,".ImportType"),name:e.type.name,namespace:e.type.namespace?e.type.namespace:null==t?void 0:t.defaultNamespace}))):[])})).flat().filter((e=>e.namespace)),{namespaceCommandsMap:n,declarationCommandsMap:a,propertyCommandsMap:s,mapElementCommandsMap:i,typeCommandsMap:D}=this.getDecoratorMaps(u),p=e.getAst(!0,!0),d=JSON.parse(JSON.stringify(p));d.models.forEach((e=>{const u=r.filter((u=>u.namespace!==e.namespace));e.imports=e.imports?e.imports.concat(u):u,e.declarations.forEach((u=>{const r=[],{name:o,$class:p}=u;this.pushMapValues(r,a,o),this.pushMapValues(r,n,e.namespace);const d=c.parseNamespace(e.namespace).name;if(this.pushMapValues(r,n,d),this.pushMapValues(r,D,p),r.sort(((e,u)=>e.getIndex()-u.getIndex())).forEach((r=>{this.executeCommand(e.namespace,u,r.getCommand(),null,t),this.isNamespaceTargetEnabled(null==t?void 0:t.enableDcsNamespaceTarget)&&this.executeNamespaceCommand(e,r.getCommand())})),p==="".concat(l,".MapDeclaration")){const t=[];this.pushMapValues(t,D,u.key.$class),this.pushMapValues(t,D,u.value.$class),this.pushMapValues(t,i,"KEY"),this.pushMapValues(t,i,"VALUE"),this.pushMapValues(t,i,"KEY_VALUE"),t.sort(((e,u)=>e.getIndex()-u.getIndex())).forEach((t=>{this.executeCommand(e.namespace,u,t.getCommand())}))}u.properties&&u.properties.forEach((t=>{const r=[],{name:n,$class:a}=t;this.pushMapValues(r,s,n),this.pushMapValues(r,D,a),r.sort(((e,u)=>e.getIndex()-u.getIndex())).forEach((r=>{this.executeCommand(e.namespace,u,r.getCommand(),t)}))}))}))}));const A=!(null==e||!e.enableMapType),E=new o({strict:e.isStrict(),enableMapType:A,importAliasing:e.isAliasedTypeEnabled(),decoratorValidation:e.getDecoratorValidation()});return E.fromAst(d),E}static extractDecorators(e,u){u=n({removeDecoratorsFromModel:!1,locale:"en"},u);const t=e.getAst(!0,!0),r=new p(u.removeDecoratorsFromModel,u.locale,E,t,p.Action.EXTRACT_ALL).extract();return{modelManager:r.updatedModelManager,decoratorCommandSet:r.decoratorCommandSet,vocabularies:r.vocabularies}}static extractVocabularies(e,u){u=n({removeDecoratorsFromModel:!1,locale:"en"},u);const t=e.getAst(!0,!0),r=new p(u.removeDecoratorsFromModel,u.locale,E,t,p.Action.EXTRACT_VOCAB).extract();return{modelManager:r.updatedModelManager,vocabularies:r.vocabularies}}static extractNonVocabDecorators(e,u){u=n({removeDecoratorsFromModel:!1,locale:"en"},u);const t=e.getAst(!0),r=new p(u.removeDecoratorsFromModel,u.locale,E,t,p.Action.EXTRACT_NON_VOCAB).extract();return{modelManager:r.updatedModelManager,decoratorCommandSet:r.decoratorCommandSet}}static validateCommand(e,u){u.target.type&&e.resolveType("DecoratorCommand.type",u.target.type);let t=null;if(u.target.namespace&&(t=e.getModelFile(u.target.namespace),!t)){const{name:r,version:n}=c.parseNamespace(u.target.namespace);n||(t=e.getModelFiles().find((e=>function(e,u){const{name:t}=c.parseNamespace(e.getNamespace());return t===u}(e,r))))}if(u.target.namespace&&!t)throw new Error('Decorator Command references namespace "'.concat(u.target.namespace,'" which does not exist: ').concat(JSON.stringify(u,null,2)));if(u.target.namespace&&u.target.declaration&&e.resolveType("DecoratorCommand.target.declaration","".concat(t.getNamespace(),".").concat(u.target.declaration)),u.target.properties&&u.target.property)throw new Error("Decorator Command references both property and properties. You must either reference a single property or a list of properites.");if(u.target.namespace&&u.target.declaration&&u.target.property&&!e.getType("".concat(t.getNamespace(),".").concat(u.target.declaration)).getProperty(u.target.property))throw new Error('Decorator Command references property "'.concat(u.target.namespace,".").concat(u.target.declaration,".").concat(u.target.property,'" which does not exist.'));if(u.target.namespace&&u.target.declaration&&u.target.properties){const r=e.getType("".concat(t.getNamespace(),".").concat(u.target.declaration));u.target.properties.forEach((e=>{if(!r.getProperty(e))throw new Error('Decorator Command references property "'.concat(u.target.namespace,".").concat(u.target.declaration,".").concat(e,'" which does not exist.'))}))}}static applyDecoratorForMapElement(e,u,t,r,n){const a="KEY"===e?t.key:t.value;u.type?this.falsyOrEqual(u.type,a.$class)&&this.applyDecorator(a,r,n):this.applyDecorator(a,r,n)}static falsyOrEqual(e,u){return Array.isArray(e)?function(e,u){const t=new Set(e),r=new Set(u),n=new Set([...t].filter((e=>r.has(e))));return Array.from(n)}(e,u).length>0:!e||u.includes(e)}static applyDecorator(e,u,t){if("UPSERT"===u){let u=!1;if(e.decorators)for(let r=0;r<e.decorators.length;r++)e.decorators[r].name===t.name&&(e.decorators[r]=t,u=!0);u||(e.decorators?e.decorators.push(t):e.decorators=[t])}else{if("APPEND"!==u)throw new Error("Unknown command type ".concat(u));e.decorators?e.decorators.push(t):e.decorators=[t]}}static executeNamespaceCommand(e,u){const{target:t,decorator:r,type:n}=u;if(2===Object.keys(t).length&&t.namespace){const{name:u}=c.parseNamespace(e.namespace);this.falsyOrEqual(t.namespace,[e.namespace,u])&&this.applyDecorator(e,n,r)}}static executeCommand(e,u,t,r,n){const{target:a,decorator:o,type:s}=t,{name:i}=c.parseNamespace(e);if(this.falsyOrEqual(a.namespace,[e,i])&&this.falsyOrEqual(a.declaration,[u.name]))if(u.$class==="".concat(l,".MapDeclaration"))if(a.mapElement)switch(a.mapElement){case"KEY":case"VALUE":this.applyDecoratorForMapElement(a.mapElement,a,u,s,o);break;case"KEY_VALUE":this.applyDecoratorForMapElement("KEY",a,u,s,o),this.applyDecoratorForMapElement("VALUE",a,u,s,o)}else a.type?(this.falsyOrEqual(a.type,u.key.$class)&&this.applyDecorator(u.key,s,o),this.falsyOrEqual(a.type,u.value.$class)&&this.applyDecorator(u.value,s,o)):this.checkForNamespaceTargetAndApplyDecorator(u,s,o,a,null==n?void 0:n.enableDcsNamespaceTarget);else a.property||a.properties||a.type?r&&this.executePropertyCommand(r,t):this.checkForNamespaceTargetAndApplyDecorator(u,s,o,a,null==n?void 0:n.enableDcsNamespaceTarget)}static executePropertyCommand(e,u){const{target:t,decorator:r,type:n}=u;(t.properties||t.property||t.type)&&this.falsyOrEqual(t.property?t.property:t.properties,[e.name])&&this.falsyOrEqual(t.type,[e.$class])&&this.applyDecorator(e,n,r)}static checkForNamespaceTargetAndApplyDecorator(e,u,t,r,n){this.isNamespaceTargetEnabled(n)?r.declaration&&this.applyDecorator(e,u,t):this.applyDecorator(e,u,t)}static isNamespaceTargetEnabled(e){return!(!e&&"true"!=={NODE_ENV:"production"}.ENABLE_DCS_NAMESPACE_TARGET&&(d.printDeprecationWarning("Functionality for namespace targeted Decorator Command Sets has changed. Using namespace targets to apply decorators on all declarations in a namespace will be deprecated soon.",A.DEPRECATION_WARNING,A.CONCERTO_DEPRECATION_001,"Please refer to https://concerto.accordproject.org/deprecation/001"),1))}}e.exports=F},1051:(e,u,t)=>{"use strict";const r=t(480);e.exports={getDecoratorModel:function(){return{decoratorModelFile:"concerto_decorator_1.0.0.cto",decoratorModelCto:"namespace concerto.decorator@1.0.0\n abstract concept Decorator {}\n concept DotNetNamespace extends Decorator {\n o String namespace\n }",decoratorModelAst:JSON.parse(JSON.stringify(r))}}}},1595:(e,u,t)=>{"use strict";const{TypedStack:r}=t(8487),n=t(7833)("concerto:Factory"),a=t(2438),o=t(1768),s=t(6422),i=t(7854),c=t(2552),l=t(6113),D=t(7755),p=t(289),d=t(182),A=t(3464),E=t(7657);A.extend(E),void 0===t.g&&t(9481);class C{static newId(){return d.v4()}constructor(e){this.modelManager=e}newResource(e,u,t,r){r=r||{};const s=o.getFullyQualifiedName(e,u),i=this.modelManager.getType(s);if(i.isAbstract()){let t=a.messageFormatter("factory-newinstance-abstracttype");throw new Error(t({namespace:e,type:u}))}let l=i.getIdentifierFieldName();if(i.isSystemIdentified()&&(t=null==t?C.newId():t),l){if("string"!=typeof t){let t=a.messageFormatter("factory-newinstance-invalididentifier");throw new Error(t({namespace:e,type:u}))}if(0===t.trim().length){let t=a.messageFormatter("factory-newinstance-missingidentifier");throw new Error(t({namespace:e,type:u}))}if(t){var d,E,m,F;let e=i.getProperty(l);var h;if(null!==(d=e)&&void 0!==d&&null!==(E=d.isTypeScalar)&&void 0!==E&&E.call(d)&&(e=e.getScalarField()),null!==(m=e)&&void 0!==m&&null!==(m=m.validator)&&void 0!==m&&m.regex&&!1===(null===(F=e.validator)||void 0===F?void 0:F.regex.test(t)))throw new Error("Provided id does not match regex: "+(null===(h=e)||void 0===h||null===(h=h.validator)||void 0===h?void 0:h.regex))}}else if(t)throw new Error("Type is not identifiable "+i.getFullyQualifiedName());let f=null,g=null;return(i.isTransaction()||i.isEvent())&&(g=A.utc()),f=r.disableValidation?new D(this.modelManager,i,e,u,t,g):new p(this.modelManager,i,e,u,t,g,new c),f.assignFieldDefaults(),this.initializeNewObject(f,i,r),l&&(f[l]=t),n("newResource","Factory.newResource created ",t||"valid"),f}newConcept(e,u,t,r){return this.newResource(e,u,t,r)}newRelationship(e,u,t){const r=o.getFullyQualifiedName(e,u),n=this.modelManager.getType(r);if(!n.isIdentified())throw new Error("Cannot create a relationship to ".concat(r,", it is not identifiable."));return new l(this.modelManager,n,e,u,t)}newTransaction(e,u,t,r){if(!e)throw new Error("ns not specified");if(!u)throw new Error("type not specified");let n=this.newResource(e,u,t,r);if(!n.getClassDeclaration().isTransaction())throw new Error(n.getClassDeclaration().getFullyQualifiedName()+" is not a transaction");return n}newEvent(e,u,t,r){if(!e)throw new Error("ns not specified");if(!u)throw new Error("type not specified");let n=this.newResource(e,u,t,r);if(!n.getClassDeclaration().isEvent())throw new Error(n.getClassDeclaration().getFullyQualifiedName()+" is not an event");return n}initializeNewObject(e,u,t){const n=this.parseGenerateOptions(t);if(n){n.stack=new r(e),n.seen=[e.getFullyQualifiedType()];const t=new s;u.accept(t,n)}}parseGenerateOptions(e){if(!e.generate)return null;const u={};return u.modelManager=this.modelManager,u.factory=this,/^empty$/i.test(e.generate)?u.valueGenerator=i.empty():u.valueGenerator=i.sample(),u.includeOptionalFields=!!e.includeOptionalFields,u}}e.exports=C},2438:(e,u,t)=>{"use strict";const r=t(8168);function n(e){return function(u){let t=r.en[e];for(let e in u)t=t.replace(new RegExp("\\{".concat(e,"\\}"),"g"),u[e]);return t}}function a(e){return r.en[e]}function o(e){return{messageFormatter:n,formatMessage:a}}o.messageFormatter=n,o.formatMessage=a,e.exports=o},953:(e,u,t)=>{"use strict";const r=t(8058);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u)}declarationKind(){return"AssetDeclaration"}}},9869:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(3348),n=t(5437),a=t(8171),o=t(1529),s=t(2438),i=t(1861),c=t(4471),l=t(6099),D=t(1768);void 0===t.g&&t(9852),e.exports=class extends n{process(){if(super.process(),this.properties=[],this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.type=this.ast.$class,this.ast.isAbstract&&(this.abstract=!0),this.ast.superType?this.superType=this.ast.superType.name:this.modelFile.isSystemModelFile()&&"Concept"===this.name||(this.superType="Concept"),this.ast.identified&&(this.ast.identified.$class==="".concat(r,".IdentifiedBy")?this.idField=this.ast.identified.name:(this.idField="$identifier",this.addIdentifierField())),!Array.isArray(this.ast.properties)){let e=s.messageFormatter("classdeclaration-validate-undefined-properties");throw new i(e({class:this.name}),this.modelFile,this.ast.location)}for(let e=0;e<this.ast.properties.length;e++){let u=this.ast.properties[e];if(D.isSystemProperty(u.name))throw new i("Invalid field name '".concat(u.name,"'"),this.modelFile,this.ast.location);if(u.$class==="".concat(r,".RelationshipProperty"))this.properties.push(new l(this,u));else if(u.$class==="".concat(r,".EnumProperty"))this.properties.push(new a(this,u));else{if(u.$class!=="".concat(r,".BooleanProperty")&&u.$class!=="".concat(r,".StringProperty")&&u.$class!=="".concat(r,".IntegerProperty")&&u.$class!=="".concat(r,".LongProperty")&&u.$class!=="".concat(r,".DoubleProperty")&&u.$class!=="".concat(r,".DateTimeProperty")&&u.$class!=="".concat(r,".ObjectProperty")){let e=s.messageFormatter("classdeclaration-process-unrecmodelelem");throw new i(e({type:u.$class}),this.modelFile,this.ast.location)}this.properties.push(new o(this,u))}}"concerto@1.0.0.Transaction"!==this.fqn&&"concerto@1.0.0.Event"!==this.fqn||this.addTimestampField()}addTimestampField(){const e={};e.$class="".concat(r,".DateTimeProperty"),e.name="$timestamp",this.properties.push(new o(this,e))}addIdentifierField(){const e={};e.$class="".concat(r,".StringProperty"),e.name="$identifier",this.properties.push(new o(this,e))}_resolveSuperType(){if(!this.superType)return null;this.superTypeDeclaration=null;let e=null;if(this.getModelFile().isImportedType(this.superType)){let u=this.getModelFile().resolveImport(this.superType);e=this.modelFile.getModelManager().getType(u)}else e=this.getModelFile().getType(this.superType);if(!e)throw new i("Could not find super type "+this.superType,this.modelFile,this.ast.location);if("ConceptDeclaration"!==e.declarationKind()&&this.declarationKind()!==e.declarationKind())throw new i("".concat(this.declarationKind()," (").concat(this.getName(),") cannot extend ").concat(e.declarationKind()," (").concat(e.getName(),")"),this.modelFile,this.ast.location);return this.superTypeDeclaration=e,e}validate(){if(super.validate(),null!==this.superType){if(this.superType===this.name&&!["Asset","Concept","Event","Participant","Transaction"].includes(this.superType)){let e=s("en").messageFormatter("classdeclaration-validate-selfextending");throw new i(e({class:this.name}),this.modelFile,this.ast.location)}this._resolveSuperType()}if(this.idField){const t=this.getProperty(this.idField);if(!t){let e=s("en").messageFormatter("classdeclaration-validate-identifiernotproperty");throw new i(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}{var e,u;const r="String"===t.getType(),n=t.getParent().getModelFile().getType(t.getType()),a=null!==n&&(null===(e=n.isScalarDeclaration)||void 0===e?void 0:e.call(n))&&"String"===(null===(u=n.getType)||void 0===u?void 0:u.call(n));if(!r&&!a){let e=s("en").messageFormatter("classdeclaration-validate-identifiernotstring");throw new i(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}if(t.isOptional())throw new i("Identifying fields cannot be optional.",this.modelFile,this.ast.location);if(this.superType){const e=this.getModelFile().getType(this.superType);if(e&&e.isIdentified())if(this.isSystemIdentified()){if(!e.isSystemIdentified())throw new i("Super class ".concat(e.getFullyQualifiedName()," has an explicit identifier ").concat(e.getIdentifierFieldName()," that cannot be redeclared."),this.modelFile,this.ast.location)}else if(e.isExplicitlyIdentified())throw new i("Super class ".concat(e.getFullyQualifiedName()," has an explicit identifier ").concat(e.getIdentifierFieldName()," that cannot be redeclared."),this.modelFile,this.ast.location)}}}const t=this.getProperties(),r=new Set;t.forEach((e=>{const u=e.getName();if(r.has(u)){const e=s("en").messageFormatter("classdeclaration-validate-duplicatefieldname");throw new i(e({class:this.name,fieldName:u}),this.modelFile,this.ast.location)}r.add(u)}));for(let e=0;e<t.length;e++){let u=t[e];if(u.isPrimitive()||this.isEnum()||u.getNamespace()===this.getNamespace())u.validate(this);else{const e=u.getFullyQualifiedTypeName(),t=this.modelFile.getModelManager().getType(e);u.validate(t)}}}isAbstract(){return this.abstract}isIdentified(){return!!this.getIdentifierFieldName()}isSystemIdentified(){return"$identifier"===this.getIdentifierFieldName()}isExplicitlyIdentified(){return!!this.idField&&"$identifier"!==this.idField}getIdentifierFieldName(){if(this.idField)return this.idField;if(this.getSuperType()){let e=this.getModelFile().getLocalType(this.getSuperType());return e||(e=this.modelFile.getModelManager().getType(this.getSuperType())),e.getIdentifierFieldName()}return null}getOwnProperty(e){for(let u=0;u<this.properties.length;u++){const t=this.properties[u];if(t.getName()===e)return t}return null}getOwnProperties(){return this.properties}getSuperType(){const e=this.getSuperTypeDeclaration();return e?e.getFullyQualifiedName():null}getSuperTypeDeclaration(){return this.superType?this.superTypeDeclaration?this.superTypeDeclaration:this._resolveSuperType():null}getAssignableClassDeclarations(){const e=new Set,u=this.getModelFile().getModelManager(),t=new c(u).getClassDeclarations(),r=new Map;t.forEach((e=>{const u=e.getSuperType();if(u){const t=r.get(u)||new Set;t.add(e),r.set(u,t)}}));const n=u=>{u.forEach((u=>{e.add(u);const t=u.getFullyQualifiedName(),a=r.get(t);a&&n(a)}))};return n([this]),Array.from(e)}getDirectSubclasses(){const e=this.getModelFile().getModelManager(),u=new c(e).getClassDeclarations(),t=new Map;u.forEach((e=>{const u=e.getSuperType();if(u){const r=t.get(u)||new Set;r.add(e),t.set(u,r)}}));const r=this.getFullyQualifiedName(),n=t.get(r);return n?Array.from(n):[]}getAllSuperTypeDeclarations(){const e=[];for(let u=this;u=u.getSuperTypeDeclaration();)e.push(u);return e}getProperty(e){let u=this.getOwnProperty(e),t=null;if(null===u&&null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);t=this.modelFile.getModelManager().getType(e)}else t=this.getModelFile().getType(this.superType);u=t.getProperty(e)}return u}getProperties(){let e=this.getOwnProperties(),u=null;if(null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);u=this.modelFile.getModelManager().getType(e)}else u=this.getModelFile().getType(this.superType);if(!u)throw new i("Could not find super type "+this.superType,this.modelFile,this.ast.location);e=e.concat(u.getProperties())}return e}getNestedProperty(e){const u=e.split(".");let t=this,r=null;for(let n=0;n<u.length;n++){if(r=t.getProperty(u[n]),null===r)throw new i("Property "+u[n]+" does not exist on "+t.getFullyQualifiedName(),this.modelFile,this.ast.location);if(n<u.length-1){if(r.isPrimitive()||r.isTypeEnum())throw new Error("Property "+u[n]+" is a primitive or enum. Invalid property path: "+e);t=t.getModelFile().getModelManager().getType(r.getFullyQualifiedTypeName())}}return r}toString(){let e="";return this.superType&&(e=" super="+this.superType),"ClassDeclaration {id="+this.getFullyQualifiedName()+e+" enum="+this.isEnum()+" abstract="+this.isAbstract()+"}"}isAsset(){return this.type==="".concat(r,".AssetDeclaration")}isParticipant(){return this.type==="".concat(r,".ParticipantDeclaration")}isTransaction(){return this.type==="".concat(r,".TransactionDeclaration")}isEvent(){return this.type==="".concat(r,".EventDeclaration")}isConcept(){return this.type==="".concat(r,".ConceptDeclaration")}isEnum(){return this.type==="".concat(r,".EnumDeclaration")}isMapDeclaration(){return this.type==="".concat(r,".MapDeclaration")}isClassDeclaration(){return!0}}},6341:(e,u,t)=>{"use strict";const r=t(9869);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u)}declarationKind(){return"ConceptDeclaration"}}},5437:(e,u,t)=>{"use strict";const r=t(7688),n=t(1768),a=t(1861);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(u),this.modelFile=e,this.process()}process(){if(super.process(),!n.isValidIdentifier(this.ast.name))throw new a("Invalid class name '".concat(this.ast.name,"'"),this.modelFile,this.ast.location);this.name=this.ast.name,this.fqn=n.getFullyQualifiedName(this.modelFile.getNamespace(),this.name)}getModelFile(){return this.modelFile}getName(){return this.name}getNamespace(){return this.modelFile.getNamespace()}getFullyQualifiedName(){return this.fqn}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return null}toString(){return null}isEnum(){return!1}isClassDeclaration(){return!1}isScalarDeclaration(){return!1}isMapDeclaration(){return!1}}},7688:(e,u,t)=>{"use strict";const r=t(4404),n=t(1861);void 0===t.g&&t(6226),e.exports=class{constructor(e){if(!e)throw new Error("ast not specified");this.ast=e}getModelFile(){throw new Error("not implemented")}accept(e,u){return e.visit(this,u)}process(){if(this.decorators=[],this.ast.decorators)for(let e=0;e<this.ast.decorators.length;e++){let u,t=this.ast.decorators[e],n=this.getModelFile().getModelManager().getDecoratorFactories();for(let e of n)if(u=e.newDecorator(this,t),u)break;u||(u=new r(this,t)),this.decorators.push(u)}}validate(){if(this.decorators&&this.decorators.length>0){for(let e=0;e<this.decorators.length;e++)this.decorators[e].validate();const e=new Set;this.decorators.forEach((u=>{const t=u.getName();if(e.has(t)){const e=this.getModelFile();throw new n("Duplicate decorator ".concat(t),e,this.ast.location)}e.add(t)}))}}getDecorators(){return this.decorators}getDecorator(e){for(let u=0;u<this.decorators.length;u++){let t=this.decorators[u];if(t.getName()===e)return t}return null}}},4404:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(3348),{Logger:n}=t(8487),a=t(1768),o=t(1861);void 0===t.g&&(t(9869),t(9852)),e.exports=class{constructor(e,u){this.ast=u,this.parent=e,this.arguments=null,this.process()}handleError(e,u){if(n.dispatch(e,u),"error"===e)throw new o(u,this.getParent().getModelFile(),this.ast.location)}accept(e,u){return e.visit(this,u)}getParent(){return this.parent}process(){if(this.name=this.ast.name,this.arguments=[],this.ast.arguments)for(let e=0;e<this.ast.arguments.length;e++){let u=this.ast.arguments[e];u&&(u.$class==="".concat(r,".DecoratorTypeReference")?this.arguments.push({type:"Identifier",name:u.type.name,array:u.isArray}):this.arguments.push(u.value))}}validate(){var e,u;const t=this.getParent().getModelFile(),r=null===(e=(u=this.getParent()).getFullyQualifiedName)||void 0===e?void 0:e.call(u),n=t.getModelManager().getDecoratorValidation();if(n.missingDecorator||n.invalidDecorator)try{t.resolveType(r,this.getName(),this.ast.location);const e=t.getType(this.getName()),u=e.getProperties().filter((e=>!e.isOptional())),o=e.getProperties().filter((e=>e.isOptional())),s=[...u,...o];if(this.getArguments().length<u.length){const e="Decorator ".concat(this.getName()," has too few arguments. Required properties are: [").concat(u.map((e=>e.getName())).join(),"]");this.handleError(n.invalidDecorator,e)}const i=this.getArguments();for(let e=0;e<i.length;e++){const u=i[e];if(e>s.length-1){const e="Decorator ".concat(this.getName()," has too many arguments. Properties are: [").concat(s.map((e=>e.getName())).join(),"]");this.handleError(n.invalidDecorator,e)}else{const r=s[e],o=typeof u;switch(r.getType()){case"Integer":case"Double":case"Long":if("number"!==o){const e="Decorator ".concat(this.getName()," has invalid decorator argument. Expected number. Found ").concat(o,", with value ").concat(JSON.stringify(u));this.handleError(n.invalidDecorator,e)}break;case"String":if("string"!==o){const e="Decorator ".concat(this.getName()," has invalid decorator argument. Expected string. Found ").concat(o,", with value ").concat(JSON.stringify(u));this.handleError(n.invalidDecorator,e)}break;case"Boolean":if("boolean"!==o){const e="Decorator ".concat(this.getName()," has invalid decorator argument. Expected boolean. Found ").concat(o,", with value ").concat(JSON.stringify(u));this.handleError(n.invalidDecorator,e)}break;default:{if("object"!==o||"Identifier"!==(null==u?void 0:u.type)){const e="Decorator ".concat(this.getName()," has invalid decorator argument. Expected object. Found ").concat(o,", with value ").concat(JSON.stringify(u));this.handleError(n.invalidDecorator,e)}const e=t.getType(u.name);if(e){if(!a.isAssignableTo(e.getModelFile(),e.getFullyQualifiedName(),r)){const e="Decorator ".concat(this.getName()," references a type ").concat(u.name," which cannot be assigned to the declared type ").concat(r.getFullyQualifiedTypeName());this.handleError(n.invalidDecorator,e)}}else{const e="Decorator ".concat(this.getName()," references a type ").concat(u.name," which has not been defined/imported.");this.handleError(n.invalidDecorator,e)}break}}}}}catch(e){this.handleError(n.missingDecorator,e)}}getName(){return this.name}getArguments(){return this.arguments}isDecorator(){return!0}}},8088:(e,u,t)=>{"use strict";void 0===t.g&&(t(9869),t(4404),t(9852)),e.exports=class{newDecorator(e,u){throw new Error("abstract function called")}}},2302:(e,u,t)=>{"use strict";const r=t(9869);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u)}toString(){return"EnumDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"EnumDeclaration"}}},8171:(e,u,t)=>{"use strict";const r=t(9852);void 0===t.g&&t(9869),e.exports=class extends r{constructor(e,u){super(e,u)}validate(e){super.validate(e)}isEnumValue(){return!0}}},7337:(e,u,t)=>{"use strict";const r=t(8058);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u)}process(){super.process()}declarationKind(){return"EventDeclaration"}}},1529:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(3348),n=t(9852),a=t(1976),o=t(516),s=t(8487).NullUtil;void 0===t.g&&(t(9869),t(6375));class i extends n{constructor(e,u){super(e,u),this.scalarField=null}process(){switch(super.process(),this.validator=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new a(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new o(this,this.ast.validator,this.ast.lengthValidator))}s.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"Field {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isField(){return!0}isTypeScalar(){if(this.isPrimitive())return!1;{var e;this.getParent().getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.getType());const u=this.getParent().getModelFile().getType(this.getType());return null===(e=u.isScalarDeclaration)||void 0===e?void 0:e.call(u)}}getScalarField(){if(this.scalarField)return this.scalarField;if(!this.isTypeScalar())throw new Error("Field ".concat(this.name," is not a scalar property."));const e=this.getParent().getModelFile().getType(this.getType()),u=JSON.parse(JSON.stringify(e.ast));switch(e.ast.$class){case"".concat(r,".StringScalar"):u.$class="".concat(r,".StringProperty");break;case"".concat(r,".BooleanScalar"):u.$class="".concat(r,".BooleanProperty");break;case"".concat(r,".DateTimeScalar"):u.$class="".concat(r,".DateTimeProperty");break;case"".concat(r,".DoubleScalar"):u.$class="".concat(r,".DoubleProperty");break;case"".concat(r,".IntegerScalar"):u.$class="".concat(r,".IntegerProperty");break;case"".concat(r,".LongScalar"):u.$class="".concat(r,".LongProperty");break;default:throw new Error("Unrecognized scalar type ".concat(e.ast.$class))}return u.name=this.ast.name,this.scalarField=new i(this.getParent(),u),this.scalarField.array=this.isArray(),this.scalarField}}e.exports=i},8058:(e,u,t)=>{"use strict";const r=t(9869);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u),this.process()}}},1861:(e,u,t)=>{"use strict";const{BaseFileException:r}=t(8487);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u,t,r){let n="",a=null;u&&u.getName()&&(a=u.getName(),n="File '"+a+"': "),t&&(n=n+"line "+t.start.line+" column "+t.start.column+", to line "+t.end.line+" column "+t.end.column+". "),n=n.charAt(0).toUpperCase()+n.slice(1),super(e,t,e+" "+n,a,r)}}},4471:(e,u,t)=>{"use strict";void 0===t.g&&(t(9869),t(9481)),e.exports=class{constructor(e){this.modelManager=e}accept(e,u){return e.visit(this,u)}getClassDeclarations(){let e=[];const u=this.modelManager.getModelFiles();for(let t=0;t<u.length;t++){const r=u[t].getAllDeclarations().filter((e=>{var u,t;return!(null!==(u=e.isMapDeclaration)&&void 0!==u&&u.call(e)||null!==(t=e.isScalarDeclaration)&&void 0!==t&&t.call(e))}));e=e.concat(r)}return e}getClassDeclaration(e){return this.modelManager.getType(e)}getModelManager(){return this.modelManager}}},3135:(e,u,t)=>{"use strict";const r=t(5437),n=t(1861),a=t(7046),o=t(8968),s=t(1768);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){const t=e.getModelManager();if("true"!=={NODE_ENV:"production"}.ENABLE_MAP_TYPE&&!t.enableMapType)throw new Error('MapType feature is not enabled. Please set the environment variable "ENABLE_MAP_TYPE=true", or add {enableMapType: true} to the ModelManger options, to access this functionality.');super(e,u),this.modelFile=e,this.process()}process(){if(super.process(),!this.ast.key||!this.ast.value)throw new n("MapDeclaration must contain Key & Value properties ".concat(this.ast.name),this.modelFile,this.ast.location);if(!s.isValidMapKey(this.ast.key))throw new n("MapDeclaration must contain valid MapKeyType ".concat(this.ast.name),this.modelFile,this.ast.location);if(!s.isValidMapValue(this.ast.value))throw new n("MapDeclaration must contain valid MapValueType, for MapDeclaration ".concat(this.ast.name),this.modelFile,this.ast.location);this.name=this.ast.name,this.key=new o(this,this.ast.key),this.value=new a(this,this.ast.value),this.fqn=s.getFullyQualifiedName(this.modelFile.getNamespace(),this.ast.name)}validate(){super.validate(),this.key.validate(),this.value.validate()}getFullyQualifiedName(){return this.fqn}getModelFile(){return this.modelFile}getName(){return this.name}getKey(){return this.key}getValue(){return this.value}toString(){return"MapDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"MapDeclaration"}isMapDeclaration(){return!0}}},8968:(e,u,t)=>{"use strict";const r=t(1768),{MetaModelNamespace:n}=t(3348),a=t(7688),o=t(1861);void 0===t.g&&(t(6226),t(3135)),e.exports=class extends a{constructor(e,u){super(u),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!r.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(!r.isValidMapKeyScalar(e))throw new o("Scalar must be one of StringScalar, DateTimeScalar in context of MapKeyType. Invalid Scalar: ".concat(this.type,", for MapDeclaration ").concat(this.parent.name))}}processType(e){switch(e.$class){case"".concat(n,".DateTimeMapKeyType"):this.type="DateTime";break;case"".concat(n,".StringMapKeyType"):this.type="String";break;case"".concat(n,".ObjectMapKeyType"):this.type=String(this.ast.type.name)}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapKeyType {id="+this.getType()+"}"}isKey(){return!0}isValue(){return!1}getNamespace(){return this.modelFile.getNamespace()}}},7046:(e,u,t)=>{"use strict";const r=t(7688),{MetaModelNamespace:n}=t(3348),a=t(1861),o=t(1768);void 0===t.g&&(t(6226),t(3135)),e.exports=class extends r{constructor(e,u){super(u),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!o.isPrimitiveType(this.type)){var e;const u=this.modelFile.getType(this.ast.type.name);if(null!==(e=u.isMapDeclaration)&&void 0!==e&&e.call(u))throw new a("MapDeclaration as Map Type Value is not supported: ".concat(this.type))}}processType(e){switch(this.ast.$class){case"".concat(n,".ObjectMapValueType"):if(!("type"in e))throw new a("ObjectMapValueType must contain property 'type', for MapDeclaration named ".concat(this.parent.name));if(!("$class"in e.type)||!("name"in e.type))throw new a("ObjectMapValueType type must contain property '$class' and property 'name', for MapDeclaration named ".concat(this.parent.name));if("concerto.metamodel@1.0.0.TypeIdentifier"!==e.type.$class)throw new a("ObjectMapValueType type $class must be of TypeIdentifier for MapDeclaration named ".concat(this.parent.name));this.type=String(this.ast.type.name);break;case"".concat(n,".BooleanMapValueType"):this.type="Boolean";break;case"".concat(n,".DateTimeMapValueType"):this.type="DateTime";break;case"".concat(n,".StringMapValueType"):this.type="String";break;case"".concat(n,".IntegerMapValueType"):this.type="Integer";break;case"".concat(n,".LongMapValueType"):this.type="Long";break;case"".concat(n,".DoubleMapValueType"):this.type="Double"}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapValueType {id="+this.getType()+"}"}isKey(){return!1}isValue(){return!0}getNamespace(){return this.modelFile.getNamespace()}}},3899:(e,u,t)=>{"use strict";const{MetaModelUtil:r}=t(3348),n=t(9481),a=t(1595),o=t(3673),s=t(6226);function i(){const e=new n,u=new s(e,r.metaModelAst,r.metaModelCto,"concerto.metamodel",!0);return e.addModelFile(u,r.metaModelCto,"concerto.metamodel"),e}function c(e){const u=i(),t=new a(u);return new o(t,u).fromJSON(e),e}e.exports={newMetaModelManager:i,validateMetaModel:c,modelManagerFromMetaModel:function(e){const u=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?e:c(e),t=new n;return u.models.forEach((e=>{const u=new s(t,e,null,null,!0);t.addModelFile(u,null,null)})),t.validateModelFiles(),t}}},6226:(e,u,t)=>{"use strict";function r(e,u){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);u&&(r=r.filter((function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable}))),t.push.apply(t,r)}return t}function n(e){for(var u=1;u<arguments.length;u++){var t=null!=arguments[u]?arguments[u]:{};u%2?r(Object(t),!0).forEach((function(u){a(e,u,t[u])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(u){Object.defineProperty(e,u,Object.getOwnPropertyDescriptor(t,u))}))}return e}function a(e,u,t){return(u=function(e){var u=function(e){if("object"!=typeof e||!e)return e;var u=e[Symbol.toPrimitive];if(void 0!==u){var t=u.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof u?u:u+""}(u))in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t,e}const{MetaModelNamespace:o}=t(3348),s=t(8330),i=t(2722),c=t(953),l=t(2302),D=t(9869),p=t(6341),d=t(7189),A=t(3218),E=t(745),C=t(7337),m=t(1861),F=t(3135),h=t(1768),f=t(2438),g=t(7688),{Warning:y,ErrorCodes:B}=t(8487);void 0===t.g&&(t(9869),t(9481),t(5437));class v extends g{constructor(e,u,t,r){if(super(u),this.modelManager=e,this.external=!1,this.declarations=[],this.localTypes=null,this.imports=[],this.importShortNames=new Map,this.importWildcardNamespaces=[],this.importUriMap={},this.fileName="UNKNOWN",this.concertoVersion=null,this.version=null,!u||"object"!=typeof u)throw new Error("ModelFile expects a Concerto model AST as input.");if(this.ast=u,t&&"string"!=typeof t)throw new Error("ModelFile expects an (optional) Concerto model definition as a string.");if(this.definitions=t,r&&"string"!=typeof r)throw new Error("ModelFile expects an (optional) filename as a string.");this.fileName=r,r&&(this.external=r.startsWith("@")),this.process(),this.fromAst(this.ast),this.isCompatibleVersion(),this.localTypes=new Map;for(let e in this.declarations){let u=this.declarations[e],t=this.getNamespace()+"."+u.getName();this.localTypes.set(t,this.declarations[e])}}getModelFile(){return this}isModelFile(){return!0}getVersion(){return this.version}isSystemModelFile(){return this.namespace.startsWith("concerto@")||"concerto"===this.namespace}isExternal(){return this.external}getImportURI(e){return this.importUriMap[e]||null}getExternalImports(){return this.importUriMap}accept(e,u){return e.visit(this,u)}getModelManager(){return this.modelManager}getImports(){let e=[];return this.imports.forEach((u=>{e=e.concat(h.importFullyQualifiedNames(u))})),e}validate(){super.validate();const e=new Map;this.getImports().forEach((u=>{const t=h.getNamespace(u),r=h.getShortName(u),n=this.getModelManager().getModelFile(t),{name:a,version:o}=h.parseNamespace(t);if(!n){let e=f.messageFormatter("modelmanager-gettype-noregisteredns");throw new m(e({type:u}),this)}const s=e.get(a);if("concerto"!==a&&void 0!==s&&s!==o){let e=f.messageFormatter("modelmanager-gettype-duplicatensimport");throw new m(e({namespace:t,version1:s,version2:o}),this)}if(e.set(a,o),!u.endsWith("*")&&!n.isLocalType(r)){let e=f.messageFormatter("modelmanager-gettype-notypeinns");throw new m(e({type:r,namespace:t}),this)}}));const u=new Set;this.declarations.forEach((e=>{const t=e.getFullyQualifiedName();if(u.has(t))throw new m("Duplicate class name ".concat(t));u.add(t)}));for(let e=0;e<this.declarations.length;e++)this.declarations[e].validate()}resolveType(e,u,t){if(!h.isPrimitiveType(u))if(this.isImportedType(u))this.getModelManager().resolveType(e,this.resolveImport(u));else if(!this.isLocalType(u)){let r=f("en").messageFormatter("modelfile-resolvetype-undecltype");throw new m(r({type:u,context:e}),this,t)}}isLocalType(e){return e&&null!==this.getLocalType(e)}isImportedType(e){if(this.importShortNames.has(e))return!0;for(let u in this.importWildcardNamespaces){let t=this.importWildcardNamespaces[u];const r=this.getModelManager().getModelFile(t);if(r&&r.isLocalType(e))return!0}return!1}resolveImport(e){if(this.importShortNames.has(e))return this.importShortNames.get(e);for(let u in this.importWildcardNamespaces){let t=this.importWildcardNamespaces[u];const r=this.getModelManager().getModelFile(t);if(r&&r.isLocalType(e))return t+"."+e}let u=f("en").messageFormatter("modelfile-resolveimport-failfindimp");throw new m(u({type:e,imports:JSON.stringify(this.imports),namespace:this.getNamespace()}),this)}getImportedType(e){return this.resolveImport(e).split(".").pop()}isDefined(e){return h.isPrimitiveType(e)||null!==this.getLocalType(e)}getType(e){if(h.isPrimitiveType(e))return e;if(this.isImportedType(e)){const u=this.resolveImport(e),t=this.getModelManager().getModelFile(h.getNamespace(u));return t?t.getLocalType(u):null}return this.isLocalType(e)?this.getLocalType(e):null}getFullyQualifiedTypeName(e){return h.isPrimitiveType(e)?e:this.isImportedType(e)?this.resolveImport(e):this.isLocalType(e)?this.getLocalType(e).getFullyQualifiedName():null}getLocalType(e){if(!this.localTypes)throw new Error("Internal error: local types are not yet initialized. Do not try to resolve types inside `process`.");return e.startsWith(this.getNamespace())||(e=this.getNamespace()+"."+e),this.localTypes.has(e)?this.localTypes.get(e):null}getAssetDeclaration(e){let u=this.getLocalType(e);return u&&u.isAsset()?u:null}getTransactionDeclaration(e){let u=this.getLocalType(e);return u&&u.isTransaction()?u:null}getEventDeclaration(e){let u=this.getLocalType(e);return u&&u.isEvent()?u:null}getParticipantDeclaration(e){let u=this.getLocalType(e);return u&&u.isParticipant()?u:null}getNamespace(){return this.namespace}getName(){return this.fileName}getAssetDeclarations(){return this.getDeclarations(c)}getTransactionDeclarations(){return this.getDeclarations(E)}getEventDeclarations(){return this.getDeclarations(C)}getParticipantDeclarations(){return this.getDeclarations(A)}getClassDeclarations(){return this.getDeclarations(D)}getConceptDeclarations(){return this.getDeclarations(p)}getEnumDeclarations(){return this.getDeclarations(l)}getMapDeclarations(){return this.getDeclarations(F)}getScalarDeclarations(){return this.getDeclarations(d)}getDeclarations(e){let u=[];for(let t=0;t<this.declarations.length;t++){let r=this.declarations[t];r instanceof e&&u.push(r)}return u}getAllDeclarations(){return this.declarations}getDefinitions(){return this.definitions}getAst(){return this.ast}getConcertoVersion(){return this.concertoVersion}isCompatibleVersion(){if(this.ast.concertoVersion){if(!i.satisfies(s.version,this.ast.concertoVersion,{includePrerelease:!0}))throw new Error("ModelFile expects Concerto version ".concat(this.ast.concertoVersion," but this is ").concat(s.version));this.concertoVersion=this.ast.concertoVersion}}enforceImportVersioning(e){if(this.getModelManager().isStrict()&&!h.parseNamespace(e.namespace).version)throw new Error("Cannot use an unversioned import ".concat(e.namespace," when 'strict' option on Model Manager is set."))}fromAst(e){const u=h.parseNamespace(e.namespace);u.name.split(".").forEach((e=>{if(!h.isValidIdentifier(e))throw new m("Invalid namespace part '".concat(e,"'"),this.modelFile,this.ast.location)})),this.namespace=e.namespace,this.version=u.version;const t=e.imports?e.imports.concat([]):[];if(this.isSystemModelFile()||t.push({$class:"".concat(o,".ImportTypes"),namespace:"concerto@1.0.0",types:["Concept","Asset","Transaction","Participant","Event"]}),this.imports=t,this.imports.forEach((e=>{switch(this.enforceImportVersioning(e),e.$class){case"".concat(o,".ImportAll"):if(this.getModelManager().isStrict())throw new Error("Wilcard Imports are not permitted in strict mode.");y.printDeprecationWarning("Wilcard Imports are deprecated in this version of Concerto and will be removed in a future version.",B.DEPRECATION_WARNING,B.CONCERTO_DEPRECATION_002,"Please refer to https://concerto.accordproject.org/deprecation/002"),this.importWildcardNamespaces.push(e.namespace);break;case"".concat(o,".ImportTypes"):if(this.getModelManager().isAliasedTypeEnabled()){const u=new Map;e.aliasedTypes&&e.aliasedTypes.forEach((e=>{let{name:t,aliasedName:r}=e;if(h.isPrimitiveType(r))throw new Error("Types cannot be aliased to primitive type");u.set(t,r)})),e.types.forEach((t=>u.has(t)?this.importShortNames.set(u.get(t),"".concat(e.namespace,".").concat(t)):this.importShortNames.set(t,"".concat(e.namespace,".").concat(t))))}else{if(e.aliasedTypes)throw new Error("Aliasing disabled, set importAliasing to true");e.types.forEach((u=>{this.importShortNames.set(u,"".concat(e.namespace,".").concat(u))}))}break;default:this.importShortNames.set(e.name,h.importFullyQualifiedNames(e)[0])}e.uri&&(this.importUriMap[h.importFullyQualifiedNames(e)[0]]=e.uri)})),e.declarations)for(let u=0;u<e.declarations.length;u++){let t=Object.assign({},e.declarations[u]);if(t.$class==="".concat(o,".AssetDeclaration"))t.superType||(t.superType={$class:"".concat(o,".TypeIdentified"),name:"Asset"}),this.declarations.push(new c(this,t));else if(t.$class==="".concat(o,".TransactionDeclaration"))t.superType||(t.superType={$class:"".concat(o,".TypeIdentified"),name:"Transaction"}),this.declarations.push(new E(this,t));else if(t.$class==="".concat(o,".EventDeclaration"))t.superType||(t.superType={$class:"".concat(o,".TypeIdentified"),name:"Event"}),this.declarations.push(new C(this,t));else if(t.$class==="".concat(o,".ParticipantDeclaration"))t.superType||(t.superType={$class:"".concat(o,".TypeIdentified"),name:"Participant"}),this.declarations.push(new A(this,t));else if(t.$class==="".concat(o,".EnumDeclaration"))this.declarations.push(new l(this,t));else if(t.$class==="".concat(o,".MapDeclaration"))this.declarations.push(new F(this,t));else if(t.$class==="".concat(o,".ConceptDeclaration"))this.declarations.push(new p(this,t));else{if(!["".concat(o,".BooleanScalar"),"".concat(o,".IntegerScalar"),"".concat(o,".LongScalar"),"".concat(o,".DoubleScalar"),"".concat(o,".StringScalar"),"".concat(o,".DateTimeScalar")].includes(t.$class)){let e=f("en").messageFormatter("modelfile-constructor-unrecmodelelem");throw new m(e({type:t.$class}),this)}this.declarations.push(new d(this,t))}}}filter(e,u,t){var r,a;let o=[];null===(r=this.declarations)||void 0===r||r.forEach((u=>{e(u)?o.push(u.ast):t.push(u.getFullyQualifiedName())}));const s=n(n({},this.ast),{},{declarations:o});return(null===(a=s.declarations)||void 0===a?void 0:a.length)>0?new v(u,s,void 0,this.fileName):null}}e.exports=v},1976:(e,u,t)=>{"use strict";const{isNull:r}=t(8487).NullUtil,n=t(6375);void 0===t.g&&(t(1529),t(7189));class a extends n{constructor(e,u){super(e,u),this.lowerBound=null,this.upperBound=null,Object.prototype.hasOwnProperty.call(u,"lower")&&(this.lowerBound=u.lower),Object.prototype.hasOwnProperty.call(u,"upper")&&(this.upperBound=u.upper),null===this.lowerBound&&null===this.upperBound?this.reportError(null,"Invalid range, lower and-or upper bound must be specified."):null===this.lowerBound||null===this.upperBound||this.lowerBound>this.upperBound&&this.reportError(null,"Lower bound must be less than or equal to upper bound.")}getLowerBound(){return this.lowerBound}getUpperBound(){return this.upperBound}validate(e,u){null!==u&&(null!==this.lowerBound&&u<this.lowerBound&&this.reportError(e,"Value ".concat(u," is outside lower bound ").concat(this.lowerBound)),null!==this.upperBound&&u>this.upperBound&&this.reportError(e,"Value ".concat(u," is outside upper bound ").concat(this.upperBound)))}toString(){return"NumberValidator lower: "+this.lowerBound+" upper: "+this.upperBound}compatibleWith(e){if(!(e instanceof a))return!1;const u=this.getLowerBound(),t=e.getLowerBound();if(r(u)&&!r(t))return!1;if(!r(u)&&!r(t)&&u<t)return!1;const n=this.getUpperBound(),o=e.getUpperBound();return!(r(n)&&!r(o)||!r(n)&&!r(o)&&n>o)}}e.exports=a},3218:(e,u,t)=>{"use strict";const r=t(8058);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u)}declarationKind(){return"ParticipantDeclaration"}}},9852:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(3348),n=t(1768),a=t(1861),o=t(7688);void 0===t.g&&(t(9869),t(6226)),e.exports=class extends o{constructor(e,u){super(u),this.parent=e,this.process()}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}process(){if(super.process(),!n.isValidIdentifier(this.ast.name))throw new a("Invalid property name '".concat(this.ast.name,"'"),this.modelFile,this.ast.location);if(this.name=this.ast.name,this.decorator=null,!this.name)throw new Error("No name for type "+JSON.stringify(this.ast));switch(this.ast.$class){case"".concat(r,".EnumProperty"):break;case"".concat(r,".BooleanProperty"):this.type="Boolean";break;case"".concat(r,".DateTimeProperty"):this.type="DateTime";break;case"".concat(r,".DoubleProperty"):this.type="Double";break;case"".concat(r,".IntegerProperty"):this.type="Integer";break;case"".concat(r,".LongProperty"):this.type="Long";break;case"".concat(r,".StringProperty"):this.type="String";break;case"".concat(r,".ObjectProperty"):this.type=this.ast.type?this.ast.type.name:null;break;case"".concat(r,".RelationshipProperty"):this.type=this.ast.type.name}this.array=!1,this.ast.isArray&&(this.array=!0),this.ast.isOptional?this.optional=!0:this.optional=!1}validate(e){super.validate(),this.type&&e.getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.type)}getName(){return this.name}getType(){return this.type}isOptional(){return this.optional}getFullyQualifiedTypeName(){if(this.isPrimitive())return this.type;const e=this.getParent();if(!e)throw new Error("Property "+this.name+" does not have a parent.");const u=e.getModelFile();if(!u)throw new Error("Parent of property "+this.name+" does not have a ModelFile!");const t=u.getFullyQualifiedTypeName(this.type);if(!t)throw new Error("Failed to find fully qualified type name for property "+this.name+" with type "+this.type);return t}getFullyQualifiedName(){return this.getParent().getFullyQualifiedName()+"."+this.getName()}getNamespace(){return this.getParent().getNamespace()}isArray(){return this.array}isTypeEnum(){return!this.isPrimitive()&&this.getParent().getModelFile().getType(this.getType()).isEnum()}isPrimitive(){return n.isPrimitiveType(this.getType())}}},6099:(e,u,t)=>{"use strict";const r=t(9852),n=t(1861),a=t(1768);void 0===t.g&&t(9869),e.exports=class extends r{constructor(e,u){super(e,u)}validate(e){if(super.validate(e),!this.getType())throw new n("Relationship must have a type",e.getModelFile(),this.ast.location);let u=null;if(a.isPrimitiveType(this.getType()))throw new n("Relationship "+this.getName()+" cannot be to the primitive type "+this.getType(),e.getModelFile(),this.ast.location);if(this.getParent().getNamespace()===a.getNamespace(this.getFullyQualifiedTypeName()))u=this.getParent().getModelFile().getType(this.getType());else try{u=this.getParent().getModelFile().getModelManager().getType(this.getFullyQualifiedTypeName())}catch(e){}if(null===u)throw new n("Relationship "+this.getName()+" points to a missing type "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location);if(!u.isIdentified())throw new n("Relationship "+this.getName()+" must be to a class that has an identifier, but this is to "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location)}toString(){return"RelationshipDeclaration {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isRelationship(){return!0}}},7189:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(3348),n=t(5437),a=t(1976),o=t(516),s=t(8487).NullUtil;void 0===t.g&&(t(6375),t(9869)),e.exports=class extends n{process(){switch(super.process(),this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.validator=null,this.ast.$class==="".concat(r,".BooleanScalar")?this.type="Boolean":this.ast.$class==="".concat(r,".IntegerScalar")?this.type="Integer":this.ast.$class==="".concat(r,".LongScalar")?this.type="Long":this.ast.$class==="".concat(r,".DoubleScalar")?this.type="Double":this.ast.$class==="".concat(r,".StringScalar")?this.type="String":this.ast.$class==="".concat(r,".DateTimeScalar")?this.type="DateTime":this.type=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new a(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new o(this,this.ast.validator,this.ast.lengthValidator))}s.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}validate(){super.validate()}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return this.type}getSuperType(){return null}getSuperTypeDeclaration(){return null}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"ScalarDeclaration {id="+this.getFullyQualifiedName()+"}"}isAbstract(){return!0}isScalarDeclaration(){return!0}isAsset(){return!1}isParticipant(){return!1}isTransaction(){return!1}isEvent(){return!1}isConcept(){return!1}}},516:(e,u,t)=>{"use strict";const{ErrorCodes:r}=t(8487),{isNull:n}=t(8487).NullUtil,a=t(6375);void 0===t.g&&(t(1529),t(7189));class o extends a{constructor(e,u,t){if(super(e,u),this.minLength=null,this.maxLength=null,this.regex=null,t&&(this.minLength=null==t?void 0:t.minLength,this.maxLength=null==t?void 0:t.maxLength,null===this.minLength&&null===this.maxLength?this.reportError(e.getName(),"Invalid string length, minLength and-or maxLength must be specified."):this.minLength<0||this.maxLength<0?this.reportError(e.getName(),"minLength and-or maxLength must be positive integers."):null===this.minLength||null===this.maxLength||this.minLength>this.maxLength&&this.reportError(e.getName(),"minLength must be less than or equal to maxLength.")),u)try{var n;const t=(null==e||null===(n=e.parent)||void 0===n||null===(n=n.getModelFile())||void 0===n||null===(n=n.getModelManager())||void 0===n||null===(n=n.options)||void 0===n?void 0:n.regExp)||RegExp;this.regex=new t(u.pattern,u.flags)}catch(u){this.reportError(e.getName(),u.message,r.REGEX_VALIDATOR_EXCEPTION)}}validate(e,u){null!==u&&(null!==this.minLength&&u.length<this.minLength&&this.reportError(e,"The string length of '".concat(u,"' should be at least ").concat(this.minLength," characters.")),null!==this.maxLength&&u.length>this.maxLength&&this.reportError(e,"The string length of '".concat(u,"' should not exceed ").concat(this.maxLength," characters.")),this.regex&&!this.regex.test(u)&&this.reportError(e,"Value '".concat(u,"' failed to match validation regex: ").concat(this.regex)))}getMinLength(){return this.minLength}getMaxLength(){return this.maxLength}getRegex(){return this.regex}compatibleWith(e){var u,t,r,a;if(!(e instanceof o))return!1;if((null===(u=this.validator)||void 0===u?void 0:u.pattern)!==(null===(t=e.validator)||void 0===t?void 0:t.pattern))return!1;if((null===(r=this.validator)||void 0===r?void 0:r.flags)!==(null===(a=e.validator)||void 0===a?void 0:a.flags))return!1;const s=this.getMinLength(),i=e.getMinLength();if(n(s)&&!n(i))return!1;if(!n(s)&&!n(i)&&s<i)return!1;const c=this.getMaxLength(),l=e.getMaxLength();return!(n(c)&&!n(l)||!n(c)&&!n(l)&&c>l)}}e.exports=o},745:(e,u,t)=>{"use strict";const r=t(8058);void 0===t.g&&t(6226),e.exports=class extends r{constructor(e,u){super(e,u)}declarationKind(){return"TransactionDeclaration"}}},6375:(e,u,t)=>{"use strict";const{BaseException:r,ErrorCodes:n}=t(8487);void 0===t.g&&(t(1529),t(7189)),e.exports=class{constructor(e,u){this.validator=u,this.field=e}reportError(e,u){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n.DEFAULT_VALIDATOR_EXCEPTION;throw new r("Validator error for field `"+e+"`. "+this.getFieldOrScalarDeclaration().getFullyQualifiedName()+": "+u,void 0,t)}accept(e,u){return e.visit(this,u)}getFieldOrScalarDeclaration(){return this.field}validate(e,u){}compatibleWith(e){return!1}}},5430:(e,u,t)=>{"use strict";const{BaseException:r}=t(8487);e.exports=class extends r{constructor(e){super(e)}}},9259:(e,u,t)=>{"use strict";const r=t(2410),n=t(2523);e.exports=class extends n{constructor(e,u,t,r,n,a){super(e,u,t,r);const o=this.$modelManager.getModelFile(this.getNamespace()),s=null==o?void 0:o.getType(this.getFullyQualifiedType());this.$identifierFieldName=(null==s?void 0:s.getIdentifierFieldName())||"$identifier",this.setIdentifier(n),this.$timestamp=a}getTimestamp(){return this.$timestamp}getIdentifier(){return this[this.$identifierFieldName]}setIdentifier(e){this.$identifier=e,this[this.$identifierFieldName]=e}getFullyQualifiedIdentifier(){return this.getIdentifier()?this.getFullyQualifiedType()+"#"+this.getIdentifier():this.getFullyQualifiedType()}toString(){return"Identifiable {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!1}isResource(){return!1}toURI(){return new r(this.getNamespace(),this.getType(),this.getIdentifier()).toURI()}}},6113:(e,u,t)=>{"use strict";const r=t(9259),n=t(1768),a=t(2410);void 0===t.g&&t(9481);class o extends r{constructor(e,u,t,r,n,a){super(e,u,t,r,n,a),this.$class="Relationship"}toString(){return"Relationship {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!0}static fromURI(e,u,t,r){const s=a.fromURI(u,t,r);let i=n.getFullyQualifiedName(s.namespace,s.type),c=e.getType(i);return new o(e,c,s.namespace,s.type,s.id)}}e.exports=o},7755:(e,u,t)=>{"use strict";const r=t(9259);e.exports=class extends r{constructor(e,u,t,r,n,a){super(e,u,t,r,n,a)}toString(){return"Resource {id="+this.getFullyQualifiedIdentifier()+"}"}isResource(){return!0}isConcept(){return this.getClassDeclaration().isConcept()}isIdentifiable(){return this.getClassDeclaration().isIdentified()}toJSON(){return this.getModelManager().getSerializer().toJSON(this)}}},2410:(e,u,t)=>{"use strict";const r=t(9472),n=t(1768),a="resource";class o{constructor(e,u,t){if(!e)throw new Error("Missing namespace");if(!u)throw new Error("Missing type");if(!t)throw new Error("Missing id");this.namespace=e,this.type=u,this.id=t}static fromURI(e,u,t){let s;try{s=r.parse(e)}catch(u){throw new Error("Invalid URI: "+e)}const i=s.protocol;if(i&&i!==a)throw new Error("Invalid URI scheme: "+e);if(s.username||s.password||s.port||s.query)throw new Error("Invalid resource URI format: "+e);let c,l,D=s.fragment;if(D){const e=s.path;c=n.getNamespace(e),l=n.getShortName(e)}else c=u,l=t,D=s.path;return new o(c,l,decodeURIComponent(D))}toURI(){const e=n.getFullyQualifiedName(this.namespace,this.type);return a+":"+e+"#"+encodeURI(this.id)}}e.exports=o},2523:(e,u,t)=>{"use strict";const r=t(3464),n=t(7657),a=t(8487).NullUtil;r.extend(n),void 0===t.g&&(t(9869),t(9481)),e.exports=class{constructor(e,u,t,r){this.$modelManager=e,this.$classDeclaration=u,this.$namespace=t,this.$type=r}accept(e,u){return e.visit(this,u)}getModelManager(){return this.$modelManager}getType(){return this.$type}getFullyQualifiedType(){return this.$classDeclaration.getFullyQualifiedName()}getNamespace(){return this.$namespace}getClassDeclaration(){return this.$classDeclaration}setPropertyValue(e,u){this[e]=u}addArrayValue(e,u){this[e]?this[e].push(u):this[e]=[u]}assignFieldDefaults(){let e=this.getClassDeclaration().getProperties();for(let s=0;s<e.length;s++){var u,t,n,o;let i,c,l=e[s];if(null!==(u=(t=l).isTypeScalar)&&void 0!==u&&u.call(t)&&(l=l.getScalarField()),null!==(n=(o=l).isField)&&void 0!==n&&n.call(o)&&(i=l.getDefaultValue(),c=l.getType()),!a.isNull(i))if("String"===c)this.setPropertyValue(l.getName(),i);else if("Integer"===c)this.setPropertyValue(l.getName(),parseInt(i));else if("Long"===c)this.setPropertyValue(l.getName(),parseInt(i));else if("Double"===c)this.setPropertyValue(l.getName(),parseFloat(i));else if("Boolean"===c)this.setPropertyValue(l.getName(),!0===i);else if("DateTime"===c){const e=r.utc(i);this.setPropertyValue(l.getName(),e)}else this.setPropertyValue(l.getName(),i)}}instanceOf(e){const u=this.getClassDeclaration();if(u.getFullyQualifiedName()===e)return!0;let t=u.getSuperTypeDeclaration();for(;t;){if(t.getFullyQualifiedName()===e)return!0;t=t.getSuperTypeDeclaration()}return!1}toJSON(){throw new Error("Use Serializer.toJSON to convert resource instances to JSON objects.")}}},289:(e,u,t)=>{"use strict";const r=t(8487).TypedStack,n=t(7755);e.exports=class extends n{constructor(e,u,t,r,n,a,o){super(e,u,t,r,n,a),this.$validator=o}setPropertyValue(e,u){let t=this.getClassDeclaration().getProperty(e);if(!t)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");const n={};n.stack=new r(u),n.modelManager=this.getModelManager(),n.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),t.accept(this.$validator,n),super.setPropertyValue(e,u)}addArrayValue(e,u){let t=this.getClassDeclaration().getProperty(e);if(!t)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");if(!t.isArray())throw new Error("The instance with id "+this.getIdentifier()+" trying to add array item "+e+" which is not declared as an array in the model.");const n={};let a=[];this[e]&&(a=this[e].slice(0)),a.push(u),n.stack=new r(a),n.modelManager=this.getModelManager(),n.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),t.accept(this.$validator,n),super.addArrayValue(e,u)}validate(){const e=this.getClassDeclaration(),u={};u.stack=new r(this),u.modelManager=this.getModelManager(),u.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),e.accept(this.$validator,u)}}},6803:(e,u,t)=>{"use strict";const r=t(6686),n=t(9967).Parser,a=t(8487).DefaultFileLoader,o=t(6226),s=t(9481);class i{static async addModel(e,u,t){let a=null;if(e.accepts(t))a=await e.load(t);else{const e=r.readFileSync(t,"utf8"),s=n.parse(e,t);a=new o(u,s,e,t)}return u.addModelFile(a,null,a.getName(),!0),u}static async loadModelManager(e){let u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offline:!1,strict:!1},t=new s(u);const r=new a(((e,u)=>{const r=n.parse(u);return new o(t,r,u,e)}));for(let u of e)t=await i.addModel(r,t,u);return u&&u.offline?(t.validateModelFiles(),t):(await t.updateExternalModels(),t)}static async loadModelManagerFromModelFiles(e,u){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{offline:!1,strict:!1},r=new s(t);return r.addModelFiles(e,u,!0),t&&t.offline?(r.validateModelFiles(),r):(await r.updateExternalModels(),r)}}e.exports=i},9481:(e,u,t)=>{"use strict";const r=t(9967).Parser,n=t(3832),a=t(7833)("concerto:BaseModelManager");void 0===t.g&&t(6226),e.exports=class extends n{constructor(e){super(e,(e=>(u,t)=>{const n={skipLocationNodes:null==e?void 0:e.skipLocationNodes};return{ast:r.parse(t,u,n),definitions:t,fileName:u}})(e))}addCTOModel(e,u,t){return a("addCTOModel","addCTOModel",e,u),this.addModel(e,e,u,t)}}},1768:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(3348),{MetaModelUtil:n}=t(3348),a=t(2722),o=t(2438);void 0===t.g&&t(6226);const s=/^((?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7D0\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])|(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43])|[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]|(?:[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDD4E\uDD6F]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDD40-\uDD42\uDD6B\uDD6C\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDC30-\uDC6D\uDD37-\uDD3D]|\uD839\uDCEB|\uD83A\uDD4B)|(?:[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDD4A-\uDD4D\uDD4F\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD43-\uDD6A\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEA\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])|(?:[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]|\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E])|\$|_|\\u[0-9A-Fa-f]{4})(?:(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7D0\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])|(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43])|[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]|(?:[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDD4E\uDD6F]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDD40-\uDD42\uDD6B\uDD6C\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDC30-\uDC6D\uDD37-\uDD3D]|\uD839\uDCEB|\uD83A\uDD4B)|(?:[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDD4A-\uDD4D\uDD4F\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD43-\uDD6A\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEA\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])|(?:[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]|\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E])|\$|_|\\u[0-9A-Fa-f]{4}|(?:[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFC-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74\uDFBB-\uDFC0\uDFCE\uDFD0\uDFD2\uDFE1\uDFE2]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD29\uDD2D-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])|(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CF3\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDFB8-\uDFBA\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC\uDFCD\uDFCF]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF1E\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6\uDF03\uDF34\uDF35\uDF3E\uDF3F\uDF41]|\uD818[\uDD2A-\uDD2C]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72])|(?:[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD801[\uDCA0-\uDCA9]|[\uD803\uD818][\uDD30-\uDD39\uDD40-\uDD49]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDED0-\uDEE3\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59\uDFF0-\uDFF9]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD81B[\uDD70-\uDD79]|\uD833[\uDCF0-\uDCF9]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9\uDDF1-\uDDFA]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9])|[_\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]|\u200C|\u200D)*$/,i=["$classDeclaration","$namespace","$type","$modelManager","$validator","$identifierFieldName","$imports","$superTypes","$id"],c=["$class","$identifier","$timestamp",...i];class l{static getShortName(e){let u=e,t=e.lastIndexOf(".");return t>-1&&(u=e.substr(t+1)),u}static getNamespace(e){if(!e)throw new Error(o.formatMessage("modelutil-getnamespace-nofnq"));let u="",t=e.lastIndexOf(".");return t>-1&&(u=e.substr(0,t)),u}static parseNamespace(e){if(!e)throw new Error("Namespace is null or undefined.");const u=e.split("@");if(u.length>2)throw new Error("Invalid namespace ".concat(e));if(2===u.length&&!a.valid(u[1]))throw new Error("Invalid namespace ".concat(e));return{name:u[0],escapedNamespace:e.replace("@","_"),version:u.length>1?u[1]:null,versionParsed:u.length>1?a.parse(u[1]):null}}static importFullyQualifiedNames(e){return n.importFullyQualifiedNames(e)}static isPrimitiveType(e){return["Boolean","String","DateTime","Double","Integer","Long"].indexOf(e)>=0}static isAssignableTo(e,u,t){const r=t.getFullyQualifiedTypeName(),n=u===r;if(n||l.isPrimitiveType(u)||l.isPrimitiveType(r))return n;const a=e.getType(u);if(!a)throw new Error("Cannot find type "+u);return a.getAllSuperTypeDeclarations().some((e=>e.getFullyQualifiedName()===r))}static capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}static isEnum(e){const u=e.getParent().getModelFile().getType(e.getType());return null==u?void 0:u.isEnum()}static isMap(e){var u;const t=e.getParent().getModelFile().getType(e.getType());return null==t||null===(u=t.isMapDeclaration)||void 0===u?void 0:u.call(t)}static isScalar(e){var u;const t=e.getParent().getModelFile().getType(e.getType());return null==t||null===(u=t.isScalarDeclaration)||void 0===u?void 0:u.call(t)}static isValidIdentifier(e){return s.test(e)}static getFullyQualifiedName(e,u){return e?"".concat(e,".").concat(u):u}static removeNamespaceVersionFromFullyQualifiedName(e){if(l.isPrimitiveType(e))return e;const u=l.getNamespace(e),{name:t}=l.parseNamespace(u),r=l.getShortName(e);return l.getFullyQualifiedName(t,r)}static isSystemProperty(e){return c.includes(e)}static isPrivateSystemProperty(e){return i.includes(e)}static isValidMapKey(e){return["".concat(r,".StringMapKeyType"),"".concat(r,".DateTimeMapKeyType"),"".concat(r,".ObjectMapKeyType")].includes(e.$class)}static isValidMapKeyScalar(e){var u,t;return(null==e||null===(u=e.isScalarDeclaration)||void 0===u?void 0:u.call(e))&&(null==e?void 0:e.ast.$class)==="".concat(r,".StringScalar")||(null==e||null===(t=e.isScalarDeclaration)||void 0===t?void 0:t.call(e))&&(null==e?void 0:e.ast.$class)==="".concat(r,".DateTimeScalar")}static isValidMapValue(e){return["".concat(r,".BooleanMapValueType"),"".concat(r,".DateTimeMapValueType"),"".concat(r,".StringMapValueType"),"".concat(r,".IntegerMapValueType"),"".concat(r,".LongMapValueType"),"".concat(r,".DoubleMapValueType"),"".concat(r,".ObjectMapValueType")].includes(e.$class)}}e.exports=l},6128:(e,u,t)=>{"use strict";const r=t(6391);e.exports={getRootModel:function(e){const u=e?"concerto_1.0.0.cto":"concerto.cto",t=e?"concerto@1.0.0":"concerto",n='@DotNetNamespace("AccordProject.Concerto")\n namespace '.concat(t,"\n import concerto.decorator@1.0.0.DotNetNamespace\n abstract concept Concept {}\n abstract concept Asset identified {}\n abstract concept Participant identified {}\n abstract concept Transaction {}\n abstract concept Event {}\n "),a=JSON.parse(JSON.stringify(r));return a.namespace=t,{rootModelFile:u,rootModelCto:n,rootModelAst:a}}}},3686:(e,u,t)=>{"use strict";const{BaseException:r}=t(8487);e.exports=class extends r{constructor(e){super(e)}}},3673:(e,u,t)=>{"use strict";const{TypedStack:r}=t(8487),n=t(7624),a=t(2438),o=t(9),s=t(8998),i=t(2523),c=t(2552),{utcOffset:l}=n.setCurrentTime(),D={validate:!0,utcOffset:l};void 0===t.g&&(t(1595),t(9481),t(7755)),e.exports=class{constructor(e,u,t){if(!e)throw new Error(a.formatMessage("serializer-constructor-factorynull"));if(!u)throw new Error(a.formatMessage("serializer-constructor-modelmanagernull"));this.factory=e,this.modelManager=u,this.defaultOptions=Object.assign({},D,t||{})}setDefaultOptions(e){this.defaultOptions=Object.assign({},D,e)}toJSON(e,u){if(!(e instanceof i))throw new Error(a.formatMessage("serializer-tojson-notcobject"));const t={};t.stack=new r(e),t.modelManager=this.modelManager,t.seenResources=new Set,t.dedupeResources=new Set;const n=this.modelManager.getType(e.getFullyQualifiedType());if((u=u?Object.assign({},this.defaultOptions,u):this.defaultOptions).validate){const e=new c(u);n.accept(e,t)}const s=new o(!0===u.convertResourcesToRelationships,!0===u.permitResourcesForRelationships,!0===u.deduplicateResources,!0===u.convertResourcesToId,!1,u.utcOffset);return t.stack.clear(),t.stack.push(e),n.accept(s,t)}fromJSON(e,u){var t,n,a,o;if(u=u?Object.assign({},this.defaultOptions,u):this.defaultOptions,!e.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier.");const i=this.modelManager.getType(e.$class);let c;if(null!==(t=i.isTransaction)&&void 0!==t&&t.call(i))c=this.factory.newTransaction(i.getNamespace(),i.getName(),e[i.getIdentifierFieldName()]);else if(null!==(n=i.isEvent)&&void 0!==n&&n.call(i))c=this.factory.newEvent(i.getNamespace(),i.getName(),e[i.getIdentifierFieldName()]);else if(null!==(a=i.isConcept)&&void 0!==a&&a.call(i))c=this.factory.newConcept(i.getNamespace(),i.getName(),e[i.getIdentifierFieldName()]);else{if(null!==(o=i.isMapDeclaration)&&void 0!==o&&o.call(i))throw new Error("Attempting to create a Map declaration is not supported.");if(i.isEnum())throw new Error("Attempting to create an ENUM declaration is not supported.");c=this.factory.newResource(i.getNamespace(),i.getName(),e[i.getIdentifierFieldName()])}const l={};l.jsonStack=new r(e),l.resourceStack=new r(c),l.modelManager=this.modelManager,l.factory=this.factory;const D=new s(!0===u.acceptResourcesForRelationships,!1,u.utcOffset,!0===u.strictQualifiedDateTimes);return i.accept(D,l),u.validate&&c.validate(),c}}},6422:(e,u,t)=>{"use strict";const r=t(8487).NullUtil,n=t(2438);e.exports=class{visit(e,u){var t,r,n,a,o;if(null!==(t=e.isClassDeclaration)&&void 0!==t&&t.call(e))return this.visitClassDeclaration(e,u);if(null!==(r=e.isMapDeclaration)&&void 0!==r&&r.call(e))return this.visitMapDeclaration(e,u);if(null!==(n=e.isRelationship)&&void 0!==n&&n.call(e))return this.visitRelationshipDeclaration(e,u);if(null!==(a=e.isTypeScalar)&&void 0!==a&&a.call(e))return this.visitField(e.getScalarField(),u);if(null!==(o=e.isField)&&void 0!==o&&o.call(e))return this.visitField(e,u);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,u){const t=u.stack.pop(),n=e.getProperties();for(const e of n){if(!u.includeOptionalFields&&e.isOptional())continue;const n=t[e.getName()];r.isNull(n)&&(t[e.getName()]=e.accept(this,u))}return t}visitField(e,u){if(e.isPrimitive())u.seen.push("Primitve");else{let t=e.getFullyQualifiedTypeName(),r=u.modelManager.getType(t);r=this.findConcreteSubclass(r);let n=r.getFullyQualifiedName();if(u.seen.includes(n)){if(e.isArray())return[];if(e.isOptional())return null;throw new Error("Model is recursive.")}u.seen.push(n)}let t;if(e.isArray()){const r=()=>this.getFieldValue(e,u);t=u.valueGenerator.getArray(r)}else t=this.getFieldValue(e,u);return u.seen.pop(),t}getFieldValue(e,u){var t,r,n,a,o,s;let i=e;null!==(t=e.isTypeScalar)&&void 0!==t&&t.call(e)&&(i=e.getScalarField());let c=e.getFullyQualifiedTypeName();if(e.isPrimitive())switch(c){case"DateTime":return u.valueGenerator.getDateTime();case"Integer":return i.validator?u.valueGenerator.getRange(i.validator.lowerBound,i.validator.upperBound,c):u.valueGenerator.getInteger();case"Long":return i.validator?u.valueGenerator.getRange(i.validator.lowerBound,i.validator.upperBound,c):u.valueGenerator.getLong();case"Double":return i.validator?u.valueGenerator.getRange(i.validator.lowerBound,i.validator.upperBound,c):u.valueGenerator.getDouble();case"Boolean":return u.valueGenerator.getBoolean();default:return null!==(r=i.validator)&&void 0!==r&&r.regex?u.valueGenerator.getRegex(i.validator.regex,i.validator.minLength,i.validator.maxLength):u.valueGenerator.getString(null===(n=i.validator)||void 0===n?void 0:n.minLength,null===(a=i.validator)||void 0===a?void 0:a.maxLength)}let l=u.modelManager.getType(c);if(l.isEnum()){let e=l.getOwnProperties();return u.valueGenerator.getEnum(e).getName()}if(l=this.findConcreteSubclass(l),null===(o=(s=l).isMapDeclaration)||void 0===o||!o.call(s)){let e=null;if(l.isIdentified()){var D,p,d;let t=l.getIdentifierFieldName(),r=l.getProperty(t);null!==(D=r)&&void 0!==D&&null!==(p=D.isTypeScalar)&&void 0!==p&&p.call(D)&&(r=r.getScalarField()),e=null!==(d=r)&&void 0!==d&&null!==(d=d.validator)&&void 0!==d&&d.regex?u.valueGenerator.getRegex(i.validator.regex):this.generateRandomId(l)}let t=u.factory.newResource(l.getNamespace(),l.getName(),e);u.stack.push(t)}return l.accept(this,u)}findConcreteSubclass(e){var u;if(null!==(u=e.isMapDeclaration)&&void 0!==u&&u.call(e)||!e.isAbstract())return e;const t=e.getAssignableClassDeclarations().filter((e=>!e.isAbstract()));if(0===t.length){const u=n.messageFormatter("instancegenerator-newinstance-noconcreteclass");throw new Error(u({type:e.getFullyQualifiedName()}))}return t[0]}visitRelationshipDeclaration(e,u){let t=u.modelManager.getType(e.getFullyQualifiedTypeName());t=this.findConcreteSubclass(t);const r=u.factory,n=()=>{const e=this.generateRandomId(t);return r.newRelationship(t.getNamespace(),t.getName(),e)};return e.isArray()?u.valueGenerator.getArray(n):n()}visitMapDeclaration(e,u){return u.valueGenerator.getMap()}generateRandomId(e){let u=Math.round(9999*Math.random()).toString();return u=u.padStart(4,"0"),u}}},9:(e,u,t)=>{"use strict";const r=t(7755),n=t(2523),a=t(1768),o=t(8487).NullUtil;e.exports=class{constructor(e,u,t,r,n,a){this.convertResourcesToRelationships=e,this.permitResourcesForRelationships=u,this.deduplicateResources=t,this.convertResourcesToId=r,this.utcOffset=a||0}visit(e,u){var t,r,n,a,o;if(null!==(t=e.isClassDeclaration)&&void 0!==t&&t.call(e))return this.visitClassDeclaration(e,u);if(null!==(r=e.isRelationship)&&void 0!==r&&r.call(e))return this.visitRelationshipDeclaration(e,u);if(null!==(n=e.isMapDeclaration)&&void 0!==n&&n.call(e))return this.visitMapDeclaration(e,u);if(null!==(a=e.isTypeScalar)&&void 0!==a&&a.call(e))return this.visitField(e.getScalarField(),u);if(null!==(o=e.isField)&&void 0!==o&&o.call(e))return this.visitField(e,u);throw new Error("Unrecognised "+JSON.stringify(e))}visitMapDeclaration(e,u){const t=u.stack.pop();let r=new Map;return t.forEach(((t,n)=>{if(!a.isSystemProperty(n)){if("object"==typeof t){let r=e.getModelFile().getAllDeclarations().find((e=>e.name===t.getType()));u.stack.push(t);const n=r.accept(this,u);t=n}r.set(n,t)}})),Object.fromEntries(r)}visitClassDeclaration(e,u){const t=u.stack.pop();if(!(t instanceof r))throw new Error("Expected a Resource, but found "+t);let n={},a=null;if(t.isIdentifiable()&&this.deduplicateResources){if(a=t.toURI(),u.dedupeResources.has(a))return a;u.dedupeResources.add(a)}n.$class=e.getFullyQualifiedName(),this.deduplicateResources&&a&&(n.$id=a);const s=e.getProperties();for(let e in s){const r=s[e],a=t[r.getName()];o.isNull(a)||(u.stack.push(a),n[r.getName()]=r.accept(this,u))}return n}visitField(e,u){const t=u.stack.pop();let r;if(e.isArray()){let o=[];for(let r in t){const s=t[r];if(e.isPrimitive()||a.isEnum(e))o.push(this.convertToJSON(e,s));else{u.stack.push(s,n);const e=u.modelManager.getType(s.getFullyQualifiedType());o.push(e.accept(this,u))}}r=o}else e.isPrimitive()||a.isEnum(e)?r=this.convertToJSON(e,t):a.isMap(e)?(u.stack.push(t),r=u.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,u)):(u.stack.push(t),r=u.modelManager.getType(t.getFullyQualifiedType()).accept(this,u));return r}convertToJSON(e,u){if("DateTime"===e.getType()){const e=u.utc().utcOffset(this.utcOffset),t=0===e.utcOffset();return e.format("YYYY-MM-DDTHH:mm:ss.SSS".concat(t?"[Z]":"Z"))}return u}visitRelationshipDeclaration(e,u){const t=u.stack.pop();let n;if(e.isArray()){let a=[];for(let n in t){const o=t[n];if(this.permitResourcesForRelationships&&o instanceof r){let t=o.getFullyQualifiedIdentifier();if(u.seenResources.has(t)){let u=this.getRelationshipText(e,o);a.push(u)}else{u.seenResources.add(t),u.stack.push(o,r);const n=u.modelManager.getType(e.getFullyQualifiedTypeName());a.push(n.accept(this,u)),u.seenResources.delete(t)}}else{let u=this.getRelationshipText(e,o);a.push(u)}}n=a}else if(this.permitResourcesForRelationships&&t instanceof r){let a=t.getFullyQualifiedIdentifier();u.seenResources.has(a)?n=this.getRelationshipText(e,t):(u.seenResources.add(a),u.stack.push(t,r),n=u.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,u),u.seenResources.delete(a))}else n=this.getRelationshipText(e,t);return n}getRelationshipText(e,u){if(u instanceof r&&!this.convertResourcesToRelationships&&!this.permitResourcesForRelationships)throw new Error("Did not find a relationship for "+e.getFullyQualifiedTypeName()+" found "+u);return this.convertResourcesToId?u.getIdentifier():u.toURI()}}},8998:(e,u,t)=>{"use strict";const{TypedStack:r}=t(8487),n=t(6113),a=t(8487).NullUtil,o=t(1768),s=t(390),i=t(3464),c=t(7657);i.extend(c);const l=t(4491);i.extend(l);const D=t(3221);i.extend(D);const p=t(279);function d(e,u){var t,r;const n=Object.keys(e),i=n.filter(o.isPrivateSystemProperty);if(i.length>0){const e="Unexpected reserved properties for type ".concat(u.getFullyQualifiedName(),": ")+i.join(", ");throw new s(e)}if(n.includes("$timestamp")&&!(null!==(t=u.isTransaction)&&void 0!==t&&t.call(u)||null!==(r=u.isEvent)&&void 0!==r&&r.call(u))){const e="Unexpected property for type ".concat(u.getFullyQualifiedName(),": $timestamp");throw new s(e)}return n.filter((u=>!o.isSystemProperty(u)&&!a.isNull(e[u])))}i.extend(p),e.exports=class{constructor(e,u,t,r){this.acceptResourcesForRelationships=e,this.utcOffset=t||0,this.strictQualifiedDateTimes=r,{NODE_ENV:"production"}.TZ&&console.warn("Environment variable 'TZ' is set to '".concat({NODE_ENV:"production"}.TZ,"', this can cause unexpected behaviour when using unqualified date time formats."))}visit(e){var u,t,n,a,o,s;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==(u=i.path)&&void 0!==u||(i.path=new r("$")),null!==(t=e.isClassDeclaration)&&void 0!==t&&t.call(e))return this.visitClassDeclaration(e,i);if(null!==(n=e.isMapDeclaration)&&void 0!==n&&n.call(e))return this.visitMapDeclaration(e,i);if(null!==(a=e.isRelationship)&&void 0!==a&&a.call(e))return this.visitRelationshipDeclaration(e,i);if(null!==(o=e.isTypeScalar)&&void 0!==o&&o.call(e))return this.visitField(e.getScalarField(),i);if(null!==(s=e.isField)&&void 0!==s&&s.call(e))return this.visitField(e,i);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,u){var t;const n=u.jsonStack.pop(),a=u.resourceStack.pop();null!==(t=u.path)&&void 0!==t||(u.path=new r("$"));const o=d(n,e);return function(e,u){const t=u.getProperties().map((e=>e.getName())),r=e.filter((e=>!t.includes(e)));if(r.length>0){const e="Unexpected properties for type ".concat(u.getFullyQualifiedName(),": ")+r.join(", ");throw new s(e)}}(o,e),o.forEach((t=>{let r=n[t];if(null!==r){u.path.push(".".concat(t)),u.jsonStack.push(r);const n=e.getProperty(t);a[t]=n.accept(this,u),u.path.pop()}})),a}visitMapDeclaration(e,u){var t;let n=u.jsonStack.pop();null!==(t=u.path)&&void 0!==t||(u.path=new r("$")),d(n,e),n=new Map(Object.entries(n));let a=new Map;return n.forEach(((t,r)=>{"$class"!==r?(o.isPrimitiveType(e.getKey().getType())||(r=this.processMapType(e,u,r,e.getKey().getType())),o.isPrimitiveType(e.getValue().getType())||(t=this.processMapType(e,u,t,e.getValue().getType())),a.set(r,t)):a.set(r,t)})),a}processMapType(e,u,t,r){let n=e.getModelFile().getAllDeclarations().find((e=>e.name===r));if(null!=n&&n.isClassDeclaration()){let e=u.factory.newConcept(n.getNamespace(),n.getName(),n.getIdentifierFieldName());return u.jsonStack.push(t),u.resourceStack.push(e),n.accept(this,u)}return t}visitField(e,u){var t;null!==(t=u.path)&&void 0!==t||(u.path=new r("$"));let n=u.jsonStack.pop(),a=null;if(e.isArray()){a=[];for(let t=0;t<n.length;t++){u.path.push("[".concat(t,"]"));const r=n[t];a.push(this.convertItem(e,r,u)),u.path.pop()}}else a=this.convertItem(e,n,u);return a}convertItem(e,u,t){var r,n;let a=null;if(null!==(r=e.isPrimitive)&&void 0!==r&&r.call(e)||null!==(n=e.isTypeEnum)&&void 0!==n&&n.call(e))a=this.convertToObject(e,u,t);else{var o;let r=u.$class;r||(r=e.getFullyQualifiedTypeName());const n=t.modelManager.getType(r);if(null===(o=n.isMapDeclaration)||void 0===o||!o.call(n)){let e=null;e=n.isIdentified()?t.factory.newResource(n.getNamespace(),n.getName(),u[n.getIdentifierFieldName()]):t.factory.newConcept(n.getNamespace(),n.getName()),t.resourceStack.push(e)}t.jsonStack.push(u),a=n.accept(this,t)}return a}convertToObject(e,u){var t;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=null;null!==(t=n.path)&&void 0!==t||(n.path=new r("$"));const o=n.path.stack.join("");switch(e.getType()){case"DateTime":if(u&&"object"==typeof u&&"function"==typeof u.isBefore)a=u;else{if("string"!=typeof u)throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));if(this.strictQualifiedDateTimes){if(this.strictQualifiedDateTimes){if(!u.match(/^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[+-]\d{2}:\d{2}))$/))throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"` with format YYYY-MM-DDTHH:mm:ss[Z]"));a=i.utc(u)}}else a=i.utc(u).utcOffset(this.utcOffset)}if(!a||!a.isValid())throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));break;case"Integer":case"Long":{const t=u;if("number"!=typeof t)throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));if(Math.trunc(t)!==t)throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));a=t}break;case"Double":if("number"!=typeof u)throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));a=parseFloat(u);break;case"Boolean":if("boolean"!=typeof u)throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));a=u;break;case"String":if("string"!=typeof u)throw new s("Expected value at path `".concat(o,"` to be of type `").concat(e.getType(),"`"));a=u;break;default:a=u}return a}visitRelationshipDeclaration(e,u){var t;null!==(t=u.path)&&void 0!==t||(u.path=new r("$"));let a=u.jsonStack.pop(),s=null,i=e.getFullyQualifiedTypeName(),c=o.getNamespace(i);c||(c=e.getNamespace());let l=o.getShortName(i);if(e.isArray()){s=[];for(let t=0;t<a.length;t++){let r=a[t];if("string"==typeof r)s.push(n.fromURI(u.modelManager,r,c,l));else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+a+" for relationship "+e);if(!r.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+r+" for relationship "+e);const t=u.modelManager.getType(r.$class);let n=u.factory.newResource(t.getNamespace(),t.getName(),r[t.getIdentifierFieldName()]);u.jsonStack.push(r),u.resourceStack.push(n),t.accept(this,u),s.push(n)}}}else if("string"==typeof a)s=n.fromURI(u.modelManager,a,c,l);else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+a+" for relationship "+e);if(!a.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+a+" for relationship "+e);const t=u.modelManager.getType(a.$class);let r=u.factory.newResource(t.getNamespace(),t.getName(),a[t.getIdentifierFieldName()]);u.jsonStack.push(a),u.resourceStack.push(r),t.accept(this,u),s=r}return s}}},3561:(e,u,t)=>{"use strict";const r=t(8487).NullUtil,n=t(1768),a=t(390),o=t(2438),s=t(3464),i=t(7657);s.extend(i);class c{constructor(e,u){if(this.options=u||{},this.concerto=e,!this.concerto)throw new Error("Missing concerto instance")}visit(e,u){var t,r,n,a,o;return null!==(t=e.isEnum)&&void 0!==t&&t.call(e)?this.visitEnumDeclaration(e,u):null!==(r=e.isClassDeclaration)&&void 0!==r&&r.call(e)?this.visitClassDeclaration(e,u):null!==(n=e.isRelationship)&&void 0!==n&&n.call(e)?this.visitRelationshipDeclaration(e,u):null!==(a=e.isTypeScalar)&&void 0!==a&&a.call(e)?this.visitField(e.getScalarField(),u):null!==(o=e.isField)&&void 0!==o&&o.call(e)?this.visitField(e,u):void 0}visitEnumDeclaration(e,u){const t=u.stack.pop(),r=e.getProperties();let n=!1;for(let e=0;e<r.length;e++)r[e].getName()===t&&(n=!0);return n||c.reportInvalidEnumValue(u.rootResourceIdentifier,e,t),null}visitClassDeclaration(e,u){const t=u.stack.pop();this.concerto.isIdentifiable(t)&&(u.rootResourceIdentifier=this.concerto.getFullyQualifiedIdentifier(t));const n=this.concerto.getModelManager().getType(t.$class),a=n.getFullyQualifiedName();n.isAbstract()&&c.reportAbstractClass(n);let o=Object.getOwnPropertyNames(t);for(let e=0;e<o.length;e++){let r=o[e];this.isSystemProperty(r)||n.getProperty(r)||(this.concerto.isIdentifiable(t)?c.reportUndeclaredField(this.concerto.getIdentifier(t),r,a):c.reportUndeclaredField(u.currentIdentifier,r,a))}if(this.concerto.isIdentifiable(t)){const e=this.concerto.getIdentifier(t);e&&0!==e.trim().length||c.reportEmptyIdentifier(u.rootResourceIdentifier),u.currentIdentifier=this.concerto.getFullyQualifiedIdentifier(t)}const s=n.getProperties();for(let e=0;e<s.length;e++){const n=s[e],a=t[n.getName()];r.isNull(a)?n.isOptional()||this.isSystemProperty(n.getName())||c.reportMissingRequiredProperty(u.rootResourceIdentifier,n):(u.stack.push(a),n.accept(this,u))}return null}isSystemProperty(e){return"$"===e.charAt(0)}visitField(e,u){const t=u.stack.pop();let r=typeof t,n=e.getName();return"symbol"===r&&c.reportFieldTypeViolation(u.rootResourceIdentifier,n,t,e,this.concerto),e.isTypeEnum()?this.checkEnum(t,e,u):e.isArray()?this.checkArray(t,e,u):this.checkItem(t,e,u),null}checkEnum(e,u,t){!u.isArray()||e instanceof Array||c.reportFieldTypeViolation(t.rootResourceIdentifier,u.getName(),e,u,this.concerto);const r=u.getParent().getModelFile().getType(u.getType());if(u.isArray())for(let u=0;u<e.length;u++){const n=e[u];t.stack.push(n),r.accept(this,t)}else{const u=e;t.stack.push(u),r.accept(this,t)}}checkArray(e,u,t){e instanceof Array||c.reportFieldTypeViolation(t.rootResourceIdentifier,u.getName(),e,u,this.concerto);for(let r=0;r<e.length;r++){const n=e[r];this.checkItem(n,u,t)}}checkItem(e,u,t){let r=typeof e,a=u.getName();if("symbol"===r&&c.reportFieldTypeViolation(t.rootResourceIdentifier,a,e,u,this.concerto),u.isPrimitive()){let n=!1;switch(u.getType()){case"String":"string"!==r&&(n=!0);break;case"Double":case"Long":case"Integer":"number"!==r&&(n=!0);break;case"Boolean":"boolean"!==r&&(n=!0);break;case"DateTime":"string"==typeof e&&s.utc(e).isValid()||(n=!0)}n?c.reportFieldTypeViolation(t.rootResourceIdentifier,a,e,u,this.concerto):null!==u.getValidator()&&u.getValidator().validate(t.currentIdentifier,e)}else{let r=this.concerto.getModelManager().getType(u.getFullyQualifiedTypeName());try{r=this.concerto.getModelManager().getType(e.$class)}catch(r){c.reportFieldTypeViolation(t.rootResourceIdentifier,a,e,u,this.concerto)}n.isAssignableTo(r.getModelFile(),r.getFullyQualifiedName(),u)||c.reportInvalidFieldAssignment(t.rootResourceIdentifier,a,e,u),t.stack.push(e),r.accept(this,t)}}visitRelationshipDeclaration(e,u){const t=u.stack.pop();if(e.isArray()){t instanceof Array||c.reportInvalidFieldAssignment(u.rootResourceIdentifier,e.getName(),t,e);for(let r=0;r<t.length;r++){const n=t[r];this.checkRelationship(u,e,n)}}else this.checkRelationship(u,e,t);return null}checkRelationship(e,u,t){this.concerto.isRelationship(t)||this.concerto.isIdentifiable(t)&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||c.reportNotRelationshipViolation(e.rootResourceIdentifier,u,t);const r=this.concerto.isRelationship(t)?this.concerto.fromURI(t).typeDeclaration:this.concerto.getTypeDeclaration(t);if(!r.getIdentifierFieldName())throw new Error("Relationship can only be to identified types.");n.isAssignableTo(r.getModelFile(),r.getFullyQualifiedName(),u)||c.reportInvalidFieldAssignment(e.rootResourceIdentifier,u.getName(),t,u)}static reportFieldTypeViolation(e,u,t,r,n){let s=r.isArray()?"[]":"",i=typeof t;if(n.isObject(t)&&n.isIdentifiable(t))i=n.getType(t),t=n.getIdentifier(t);else if(t)try{t=JSON.stringify(t)}catch(e){t=t.toString()}let c=o.messageFormatter("resourcevalidator-fieldtypeviolation");throw new a(c({resourceId:e,propertyName:u,fieldType:r.getType()+s,value:t,typeOfValue:i}))}static reportNotRelationshipViolation(e,u,t){let r=o.messageFormatter("resourcevalidator-notrelationship");throw new a(r({resourceId:e,classFQN:u.getFullyQualifiedTypeName(),invalidValue:t.toString()}))}static reportMissingRequiredProperty(e,u){let t=o.messageFormatter("resourcevalidator-missingrequiredproperty");throw new a(t({resourceId:e,fieldName:u.getName()}))}static reportEmptyIdentifier(e){let u=o.messageFormatter("resourcevalidator-emptyidentifier");throw new a(u({resourceId:e}))}static reportInvalidEnumValue(e,u,t){let r=o.messageFormatter("resourcevalidator-invalidenumvalue");throw new a(r({resourceId:e,value:t,fieldName:u.getName()}))}static reportAbstractClass(e){let u=o.messageFormatter("resourcevalidator-abstractclass");throw new a(u({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,u,t){let r=o.messageFormatter("resourcevalidator-undeclaredfield");throw new a(r({resourceId:e,propertyName:u,fullyQualifiedTypeName:t}))}static reportInvalidFieldAssignment(e,u,t,r){let n=o.messageFormatter("resourcevalidator-invalidfieldassignment"),s=r.getFullyQualifiedTypeName();throw r.isArray()&&(s+="[]"),new a(n({resourceId:e,propertyName:u,objectType:t.$class,fieldType:s}))}}e.exports=c},2552:(e,u,t)=>{"use strict";const r=t(6113),n=t(7755),a=t(9259),o=t(8487).NullUtil,s=t(1768),i=t(390),c=t(2438),l=t(3464),D=t(7657);l.extend(D);class p{constructor(e){this.options=e||{}}visit(e,u){var t,r,n,a,o,s;return null!==(t=e.isEnum)&&void 0!==t&&t.call(e)?this.visitEnumDeclaration(e,u):null!==(r=e.isClassDeclaration)&&void 0!==r&&r.call(e)?this.visitClassDeclaration(e,u):null!==(n=e.isMapDeclaration)&&void 0!==n&&n.call(e)?this.visitMapDeclaration(e,u):null!==(a=e.isRelationship)&&void 0!==a&&a.call(e)?this.visitRelationshipDeclaration(e,u):null!==(o=e.isTypeScalar)&&void 0!==o&&o.call(e)?this.visitField(e.getScalarField(),u):null!==(s=e.isField)&&void 0!==s&&s.call(e)?this.visitField(e,u):void 0}visitEnumDeclaration(e,u){const t=u.stack.pop(),r=e.getProperties();let n=!1;for(let e=0;e<r.length;e++)r[e].getName()===t&&(n=!0);return n||p.reportInvalidEnumValue(u.rootResourceIdentifier,e,t),null}checkMapType(e,u,t,r){if(s.isPrimitiveType(e.getType()))e=e.getType();else{var n;let a=r.getModelFile().getAllDeclarations().find((u=>u.name===e.getType()));if(s.isScalar(r.getKey())&&(e=a.getType()),null!=a&&null!==(n=a.isClassDeclaration)&&void 0!==n&&n.call(a))return t.stack.push(u),void a.accept(this,t)}switch(e){case"String":if("string"!=typeof u)throw new Error("Model violation in ".concat(r.getFullyQualifiedName(),". Expected Type of String but found '").concat(u,"' instead."));break;case"DateTime":if(!l.utc(u).isValid())throw new Error("Model violation in ".concat(r.getFullyQualifiedName(),". Expected Type of DateTime but found '").concat(u,"' instead."));break;case"Boolean":if("boolean"!=typeof u){const e=typeof u;throw new Error("Model violation in ".concat(r.getFullyQualifiedName(),". Expected Type of Boolean but found ").concat(e," instead, for value '").concat(u,"'."))}}}visitMapDeclaration(e,u){const t=u.stack.pop();if(!(t instanceof Map))throw new Error("Expected a Map, but found "+JSON.stringify(t));return t.forEach(((t,r)=>{s.isSystemProperty(r)||(this.checkMapType(e.getKey(),r,u,e),this.checkMapType(e.getValue(),t,u,e))})),null}visitClassDeclaration(e,u){const t=u.stack.pop();t instanceof n||p.reportNotResouceViolation(u.rootResourceIdentifier,e,t),t instanceof a&&(u.rootResourceIdentifier=t.getFullyQualifiedIdentifier());const r=u.modelManager.getType(t.getFullyQualifiedType()),i=r.getFullyQualifiedName(),c=r.getIdentifierFieldName();r.isAbstract()&&p.reportAbstractClass(r);let l=Object.getOwnPropertyNames(t);for(let n=0;n<l.length;n++){let a=l[n];s.isSystemProperty(a)||r.getProperty(a)||(e.isIdentified()&&"$identifier"!==a?p.reportUndeclaredField(t.getIdentifier(),a,i):p.reportUndeclaredField(u.currentIdentifier,a,i))}if(e.isIdentified()){const e=t.getIdentifier();e&&0!==e.trim().length||p.reportEmptyIdentifier(u.rootResourceIdentifier),"$identifier"!==c&&(t.$identifier=e),u.currentIdentifier=t.getFullyQualifiedIdentifier()}const D=r.getProperties();for(let e=0;e<D.length;e++){const r=D[e],n=t[r.getName()];if(o.isNull(n)){if(!r.isOptional()){if("$identifier"===r.getName()&&"$identifier"!==c)continue;if(!o.isNull(null==r?void 0:r.defaultValue))continue;p.reportMissingRequiredProperty(u.rootResourceIdentifier,r)}}else u.stack.push(n),r.accept(this,u)}return null}visitField(e,u){const t=u.stack.pop();let r=typeof t,n=e.getName();return"undefined"!==r&&"symbol"!==r||p.reportFieldTypeViolation(u.rootResourceIdentifier,n,t,e),e.isTypeEnum()?this.checkEnum(t,e,u):e.isArray()?this.checkArray(t,e,u):this.checkItem(t,e,u),null}checkEnum(e,u,t){!u.isArray()||e instanceof Array||p.reportFieldTypeViolation(t.rootResourceIdentifier,u.getName(),e,u);const r=u.getParent().getModelFile().getType(u.getType());if(u.isArray())for(let u=0;u<e.length;u++){const n=e[u];t.stack.push(n),r.accept(this,t)}else{const u=e;t.stack.push(u),r.accept(this,t)}}checkArray(e,u,t){e instanceof Array||p.reportFieldTypeViolation(t.rootResourceIdentifier,u.getName(),e,u);for(let r=0;r<e.length;r++){const n=e[r];this.checkItem(n,u,t)}}checkItem(e,u,t){let r=typeof e,n=u.getName();if("undefined"!==r&&"symbol"!==r||p.reportFieldTypeViolation(t.rootResourceIdentifier,n,e,u),u.isPrimitive()){let a=!1;switch(u.getType()){case"String":"string"!==r&&(a=!0);break;case"Long":case"Integer":case"Double":"number"!==r&&(a=!0),isFinite(e)||(a=!0);break;case"Boolean":"boolean"!==r&&(a=!0);break;case"DateTime":"object"==typeof e&&"function"==typeof e.isBefore||(a=!0)}a?p.reportFieldTypeViolation(t.rootResourceIdentifier,n,e,u):null!==u.getValidator()&&u.getValidator().validate(t.currentIdentifier,e)}else{let r=t.modelManager.getType(u.getFullyQualifiedTypeName());if(e instanceof a){try{r=t.modelManager.getType(e.getFullyQualifiedType())}catch(r){p.reportFieldTypeViolation(t.rootResourceIdentifier,n,e,u)}s.isAssignableTo(r.getModelFile(),r.getFullyQualifiedName(),u)||p.reportInvalidFieldAssignment(t.rootResourceIdentifier,n,e,u)}t.stack.push(e),r.accept(this,t)}}visitRelationshipDeclaration(e,u){const t=u.stack.pop();if(e.isArray()){t instanceof Array||p.reportInvalidFieldAssignment(u.rootResourceIdentifier,e.getName(),t,e);for(let r=0;r<t.length;r++){const n=t[r];this.checkRelationship(u,e,n)}}else this.checkRelationship(u,e,t);return null}checkRelationship(e,u,t){t instanceof r||t instanceof n&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||p.reportNotRelationshipViolation(e.rootResourceIdentifier,u,t);const a=e.modelManager.getType(t.getFullyQualifiedType());if(!a.getIdentifierFieldName())throw new Error("Cannot have a relationship to a field that is not identifiable.");s.isAssignableTo(a.getModelFile(),t.getFullyQualifiedType(),u)||p.reportInvalidFieldAssignment(e.rootResourceIdentifier,u.getName(),t,u)}static reportFieldTypeViolation(e,u,t,r){let n=r.isArray()?"[]":"",o=typeof t;if(t instanceof a)o=t.getFullyQualifiedType(),t=t.getFullyQualifiedIdentifier();else if(t)try{t="number"!=typeof t||isFinite(t)?JSON.stringify(t):t.toString()}catch(e){t=t.toString()}let s=c.messageFormatter("resourcevalidator-fieldtypeviolation");throw new i(s({resourceId:e,propertyName:u,fieldType:r.getType()+n,value:t,typeOfValue:o}))}static reportNotResouceViolation(e,u,t){let r=c.messageFormatter("resourcevalidator-notresourceorconcept");throw new i(r({resourceId:e,classFQN:u.getFullyQualifiedName(),invalidValue:t.toString()}))}static reportNotRelationshipViolation(e,u,t){let r=c.messageFormatter("resourcevalidator-notrelationship");throw new i(r({resourceId:e,classFQN:u.getFullyQualifiedTypeName(),invalidValue:t.toString()}))}static reportMissingRequiredProperty(e,u){let t=c.messageFormatter("resourcevalidator-missingrequiredproperty");throw new i(t({resourceId:e,fieldName:u.getName()}))}static reportEmptyIdentifier(e){let u=c.messageFormatter("resourcevalidator-emptyidentifier");throw new i(u({resourceId:e}))}static reportInvalidEnumValue(e,u,t){let r=c.messageFormatter("resourcevalidator-invalidenumvalue");throw new i(r({resourceId:e,value:t,fieldName:u.getName()}))}static reportAbstractClass(e){let u=c.messageFormatter("resourcevalidator-abstractclass");throw new i(u({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,u,t){let r=c.messageFormatter("resourcevalidator-undeclaredfield");throw new i(r({resourceId:e,propertyName:u,fullyQualifiedTypeName:t}))}static reportInvalidFieldAssignment(e,u,t,r){let n=c.messageFormatter("resourcevalidator-invalidfieldassignment"),a=r.getFullyQualifiedTypeName();throw r.isArray()&&(a+="[]"),new i(n({resourceId:e,propertyName:u,objectType:t.getFullyQualifiedType(),fieldType:a}))}}e.exports=p},390:(e,u,t)=>{"use strict";const r=t(8487).BaseException;e.exports=class extends r{constructor(e,u){super(e,u)}}},7854:(e,u,t)=>{"use strict";const{loremIpsum:r}=t(7405),n=t(3174),a=t(3464),o=t(7657);a.extend(o);const s=function(e,u,t,r,n){return null===e&&(e=r),e=Math.min(Math.max(e,r),n),(null===u||u>n)&&(u=n),u=Math.max(Math.min(u,n),r),u+=t,u/=t,e/=t,(Math.random()*(u-e)+e)/(1/t)},i=(e,u,t)=>{let r=e,n=u;switch(null!==n&&null!==r&&n<r&&(r=u,n=e),t){case"Long":return Math.floor(s(r,n,1,-Math.pow(2,32),Math.pow(2,32)));case"Integer":return Math.floor(s(r,n,1,-Math.pow(2,16),Math.pow(2,16)));case"Double":return Number(s(r,n,1e-4,-Math.pow(2,8),Math.pow(2,8)).toFixed(3));default:return 0}},c=(e,u,t,r)=>{var n,a;null!==(n=u)&&void 0!==n||(u=0),null!==(a=t)&&void 0!==a||(t=null);const o=i(u,t,"Integer");for(;e.length<o;)e+=r();return e.substring(0,o)},l=(e,u)=>{let t=r({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5});return(e||u)&&(t=c(t,e,u,(()=>r({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5})))),t},D=(e,u,t)=>{if(!e)return"";const r=new n(e.source,e.flags);let a=r.gen();return(u||t)&&(a=c(a,u,t,(()=>r.gen()))),a};class p{constructor(){this.currentDate=a.utc()}getDateTime(){return this.currentDate}getInteger(){return 0}getLong(){return 0}getDouble(){return 0}getBoolean(){return!1}getString(e,u){return e||u?l(e,u):""}getEnum(e){return e[0]}getMap(){return new Map}getArray(e){return[]}getRegex(e,u,t){return D(e,u,t)}getRange(e,u,t){return i(e,u,t)}}class d extends p{constructor(){super()}getInteger(){return Math.round(Math.random()*Math.pow(2,16))}getLong(){return Math.round(Math.random()*Math.pow(2,32))}getDouble(){return Number((Math.random()*Math.pow(2,8)).toFixed(3))}getBoolean(){return 1===Math.round(Math.random())}getString(e,u){return l(e,u)}getEnum(e){return e[Math.floor(Math.random()*e.length)]}getMap(){return new Map([[this.getString(1,10),this.getString(1,10)]])}getArray(e){return[e()]}getRegex(e,u,t){return D(e,u,t)}getRange(e,u,t){return i(e,u,t)}}e.exports=class{static empty(){return new p}static sample(){return new d}}},5477:(e,u,t)=>{"use strict";const{BaseException:r,ErrorCodes:n}=t(8487),a=t(2438);e.exports=class extends r{constructor(e,u,t){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n.TYPE_NOT_FOUND_EXCEPTION;u||(u=a.messageFormatter("typenotfounderror-defaultmessage")({typeName:e})),super(u,t,r),this.typeName=e}getTypeName(){return this.typeName}}},3464:function(e){e.exports=function(){"use strict";var e=6e4,u=36e5,t="millisecond",r="second",n="minute",a="hour",o="day",s="week",i="month",c="quarter",l="year",D="date",p="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,A=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var u=["th","st","nd","rd"],t=e%100;return"["+e+(u[(t-20)%10]||u[t]||u[0])+"]"}},C=function(e,u,t){var r=String(e);return!r||r.length>=u?e:""+Array(u+1-r.length).join(t)+e},m={s:C,z:function(e){var u=-e.utcOffset(),t=Math.abs(u),r=Math.floor(t/60),n=t%60;return(u<=0?"+":"-")+C(r,2,"0")+":"+C(n,2,"0")},m:function e(u,t){if(u.date()<t.date())return-e(t,u);var r=12*(t.year()-u.year())+(t.month()-u.month()),n=u.clone().add(r,i),a=t-n<0,o=u.clone().add(r+(a?-1:1),i);return+(-(r+(t-n)/(a?n-o:o-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:i,y:l,w:s,d:o,D,h:a,m:n,s:r,ms:t,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},F="en",h={};h[F]=E;var f="$isDayjsObject",g=function(e){return e instanceof b||!(!e||!e[f])},y=function e(u,t,r){var n;if(!u)return F;if("string"==typeof u){var a=u.toLowerCase();h[a]&&(n=a),t&&(h[a]=t,n=a);var o=u.split("-");if(!n&&o.length>1)return e(o[0])}else{var s=u.name;h[s]=u,n=s}return!r&&n&&(F=n),n||!r&&F},B=function(e,u){if(g(e))return e.clone();var t="object"==typeof u?u:{};return t.date=e,t.args=arguments,new b(t)},v=m;v.l=y,v.i=g,v.w=function(e,u){return B(e,{locale:u.$L,utc:u.$u,x:u.$x,$offset:u.$offset})};var b=function(){function E(e){this.$L=y(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[f]=!0}var C=E.prototype;return C.parse=function(e){this.$d=function(e){var u=e.date,t=e.utc;if(null===u)return new Date(NaN);if(v.u(u))return new Date;if(u instanceof Date)return new Date(u);if("string"==typeof u&&!/Z$/i.test(u)){var r=u.match(d);if(r){var n=r[2]-1||0,a=(r[7]||"0").substring(0,3);return t?new Date(Date.UTC(r[1],n,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],n,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(u)}(e),this.init()},C.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},C.$utils=function(){return v},C.isValid=function(){return!(this.$d.toString()===p)},C.isSame=function(e,u){var t=B(e);return this.startOf(u)<=t&&t<=this.endOf(u)},C.isAfter=function(e,u){return B(e)<this.startOf(u)},C.isBefore=function(e,u){return this.endOf(u)<B(e)},C.$g=function(e,u,t){return v.u(e)?this[u]:this.set(t,e)},C.unix=function(){return Math.floor(this.valueOf()/1e3)},C.valueOf=function(){return this.$d.getTime()},C.startOf=function(e,u){var t=this,c=!!v.u(u)||u,p=v.p(e),d=function(e,u){var r=v.w(t.$u?Date.UTC(t.$y,u,e):new Date(t.$y,u,e),t);return c?r:r.endOf(o)},A=function(e,u){return v.w(t.toDate()[e].apply(t.toDate("s"),(c?[0,0,0,0]:[23,59,59,999]).slice(u)),t)},E=this.$W,C=this.$M,m=this.$D,F="set"+(this.$u?"UTC":"");switch(p){case l:return c?d(1,0):d(31,11);case i:return c?d(1,C):d(0,C+1);case s:var h=this.$locale().weekStart||0,f=(E<h?E+7:E)-h;return d(c?m-f:m+(6-f),C);case o:case D:return A(F+"Hours",0);case a:return A(F+"Minutes",1);case n:return A(F+"Seconds",2);case r:return A(F+"Milliseconds",3);default:return this.clone()}},C.endOf=function(e){return this.startOf(e,!1)},C.$set=function(e,u){var s,c=v.p(e),p="set"+(this.$u?"UTC":""),d=(s={},s[o]=p+"Date",s[D]=p+"Date",s[i]=p+"Month",s[l]=p+"FullYear",s[a]=p+"Hours",s[n]=p+"Minutes",s[r]=p+"Seconds",s[t]=p+"Milliseconds",s)[c],A=c===o?this.$D+(u-this.$W):u;if(c===i||c===l){var E=this.clone().set(D,1);E.$d[d](A),E.init(),this.$d=E.set(D,Math.min(this.$D,E.daysInMonth())).$d}else d&&this.$d[d](A);return this.init(),this},C.set=function(e,u){return this.clone().$set(e,u)},C.get=function(e){return this[v.p(e)]()},C.add=function(t,c){var D,p=this;t=Number(t);var d=v.p(c),A=function(e){var u=B(p);return v.w(u.date(u.date()+Math.round(e*t)),p)};if(d===i)return this.set(i,this.$M+t);if(d===l)return this.set(l,this.$y+t);if(d===o)return A(1);if(d===s)return A(7);var E=(D={},D[n]=e,D[a]=u,D[r]=1e3,D)[d]||1,C=this.$d.getTime()+t*E;return v.w(C,this)},C.subtract=function(e,u){return this.add(-1*e,u)},C.format=function(e){var u=this,t=this.$locale();if(!this.isValid())return t.invalidDate||p;var r=e||"YYYY-MM-DDTHH:mm:ssZ",n=v.z(this),a=this.$H,o=this.$m,s=this.$M,i=t.weekdays,c=t.months,l=t.meridiem,D=function(e,t,n,a){return e&&(e[t]||e(u,r))||n[t].slice(0,a)},d=function(e){return v.s(a%12||12,e,"0")},E=l||function(e,u,t){var r=e<12?"AM":"PM";return t?r.toLowerCase():r};return r.replace(A,(function(e,r){return r||function(e){switch(e){case"YY":return String(u.$y).slice(-2);case"YYYY":return v.s(u.$y,4,"0");case"M":return s+1;case"MM":return v.s(s+1,2,"0");case"MMM":return D(t.monthsShort,s,c,3);case"MMMM":return D(c,s);case"D":return u.$D;case"DD":return v.s(u.$D,2,"0");case"d":return String(u.$W);case"dd":return D(t.weekdaysMin,u.$W,i,2);case"ddd":return D(t.weekdaysShort,u.$W,i,3);case"dddd":return i[u.$W];case"H":return String(a);case"HH":return v.s(a,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return E(a,o,!0);case"A":return E(a,o,!1);case"m":return String(o);case"mm":return v.s(o,2,"0");case"s":return String(u.$s);case"ss":return v.s(u.$s,2,"0");case"SSS":return v.s(u.$ms,3,"0");case"Z":return n}return null}(e)||n.replace(":","")}))},C.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},C.diff=function(t,D,p){var d,A=this,E=v.p(D),C=B(t),m=(C.utcOffset()-this.utcOffset())*e,F=this-C,h=function(){return v.m(A,C)};switch(E){case l:d=h()/12;break;case i:d=h();break;case c:d=h()/3;break;case s:d=(F-m)/6048e5;break;case o:d=(F-m)/864e5;break;case a:d=F/u;break;case n:d=F/e;break;case r:d=F/1e3;break;default:d=F}return p?d:v.a(d)},C.daysInMonth=function(){return this.endOf(i).$D},C.$locale=function(){return h[this.$L]},C.locale=function(e,u){if(!e)return this.$L;var t=this.clone(),r=y(e,u,!0);return r&&(t.$L=r),t},C.clone=function(){return v.w(this.$d,this)},C.toDate=function(){return new Date(this.valueOf())},C.toJSON=function(){return this.isValid()?this.toISOString():null},C.toISOString=function(){return this.$d.toISOString()},C.toString=function(){return this.$d.toUTCString()},E}(),w=b.prototype;return B.prototype=w,[["$ms",t],["$s",r],["$m",n],["$H",a],["$W",o],["$M",i],["$y",l],["$D",D]].forEach((function(e){w[e[1]]=function(u){return this.$g(u,e[0],e[1])}})),B.extend=function(e,u){return e.$i||(e(u,b,B),e.$i=!0),B},B.locale=y,B.isDayjs=g,B.unix=function(e){return B(1e3*e)},B.en=h[F],B.Ls=h,B.p={},B}()},279:function(e){e.exports=function(){"use strict";var e,u,t=1e3,r=6e4,n=36e5,a=864e5,o=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,s=31536e6,i=2628e6,c=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,l={years:s,months:i,days:a,hours:n,minutes:r,seconds:t,milliseconds:1,weeks:6048e5},D=function(e){return e instanceof F},p=function(e,u,t){return new F(e,t,u.$l)},d=function(e){return u.p(e)+"s"},A=function(e){return e<0},E=function(e){return A(e)?Math.ceil(e):Math.floor(e)},C=function(e){return Math.abs(e)},m=function(e,u){return e?A(e)?{negative:!0,format:""+C(e)+u}:{negative:!1,format:""+e+u}:{negative:!1,format:""}},F=function(){function A(e,u,t){var r=this;if(this.$d={},this.$l=t,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),u)return p(e*l[d(u)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(u){r.$d[d(u)]=e[u]})),this.calMilliseconds(),this;if("string"==typeof e){var n=e.match(c);if(n){var a=n.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=a[0],this.$d.months=a[1],this.$d.weeks=a[2],this.$d.days=a[3],this.$d.hours=a[4],this.$d.minutes=a[5],this.$d.seconds=a[6],this.calMilliseconds(),this}}return this}var C=A.prototype;return C.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(u,t){return u+(e.$d[t]||0)*l[t]}),0)},C.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=E(e/s),e%=s,this.$d.months=E(e/i),e%=i,this.$d.days=E(e/a),e%=a,this.$d.hours=E(e/n),e%=n,this.$d.minutes=E(e/r),e%=r,this.$d.seconds=E(e/t),e%=t,this.$d.milliseconds=e},C.toISOString=function(){var e=m(this.$d.years,"Y"),u=m(this.$d.months,"M"),t=+this.$d.days||0;this.$d.weeks&&(t+=7*this.$d.weeks);var r=m(t,"D"),n=m(this.$d.hours,"H"),a=m(this.$d.minutes,"M"),o=this.$d.seconds||0;this.$d.milliseconds&&(o+=this.$d.milliseconds/1e3,o=Math.round(1e3*o)/1e3);var s=m(o,"S"),i=e.negative||u.negative||r.negative||n.negative||a.negative||s.negative,c=n.format||a.format||s.format?"T":"",l=(i?"-":"")+"P"+e.format+u.format+r.format+c+n.format+a.format+s.format;return"P"===l||"-P"===l?"P0D":l},C.toJSON=function(){return this.toISOString()},C.format=function(e){var t=e||"YYYY-MM-DDTHH:mm:ss",r={Y:this.$d.years,YY:u.s(this.$d.years,2,"0"),YYYY:u.s(this.$d.years,4,"0"),M:this.$d.months,MM:u.s(this.$d.months,2,"0"),D:this.$d.days,DD:u.s(this.$d.days,2,"0"),H:this.$d.hours,HH:u.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:u.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:u.s(this.$d.seconds,2,"0"),SSS:u.s(this.$d.milliseconds,3,"0")};return t.replace(o,(function(e,u){return u||String(r[e])}))},C.as=function(e){return this.$ms/l[d(e)]},C.get=function(e){var u=this.$ms,t=d(e);return"milliseconds"===t?u%=1e3:u="weeks"===t?E(u/l[t]):this.$d[t],u||0},C.add=function(e,u,t){var r;return r=u?e*l[d(u)]:D(e)?e.$ms:p(e,this).$ms,p(this.$ms+r*(t?-1:1),this)},C.subtract=function(e,u){return this.add(e,u,!0)},C.locale=function(e){var u=this.clone();return u.$l=e,u},C.clone=function(){return p(this.$ms,this)},C.humanize=function(u){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!u)},C.valueOf=function(){return this.asMilliseconds()},C.milliseconds=function(){return this.get("milliseconds")},C.asMilliseconds=function(){return this.as("milliseconds")},C.seconds=function(){return this.get("seconds")},C.asSeconds=function(){return this.as("seconds")},C.minutes=function(){return this.get("minutes")},C.asMinutes=function(){return this.as("minutes")},C.hours=function(){return this.get("hours")},C.asHours=function(){return this.as("hours")},C.days=function(){return this.get("days")},C.asDays=function(){return this.as("days")},C.weeks=function(){return this.get("weeks")},C.asWeeks=function(){return this.as("weeks")},C.months=function(){return this.get("months")},C.asMonths=function(){return this.as("months")},C.years=function(){return this.get("years")},C.asYears=function(){return this.as("years")},A}(),h=function(e,u,t){return e.add(u.years()*t,"y").add(u.months()*t,"M").add(u.days()*t,"d").add(u.hours()*t,"h").add(u.minutes()*t,"m").add(u.seconds()*t,"s").add(u.milliseconds()*t,"ms")};return function(t,r,n){e=n,u=n().$utils(),n.duration=function(e,u){var t=n.locale();return p(e,{$l:t},u)},n.isDuration=D;var a=r.prototype.add,o=r.prototype.subtract;r.prototype.add=function(e,u){return D(e)?h(this,e,1):a.bind(this)(e,u)},r.prototype.subtract=function(e,u){return D(e)?h(this,e,-1):o.bind(this)(e,u)}}}()},3221:function(e){e.exports=function(){"use strict";return function(e,u,t){var r=function(e,u){if(!u||!u.length||1===u.length&&!u[0]||1===u.length&&Array.isArray(u[0])&&!u[0].length)return null;var t;1===u.length&&u[0].length>0&&(u=u[0]),t=(u=u.filter((function(e){return e})))[0];for(var r=1;r<u.length;r+=1)u[r].isValid()&&!u[r][e](t)||(t=u[r]);return t};t.max=function(){var e=[].slice.call(arguments,0);return r("isAfter",e)},t.min=function(){var e=[].slice.call(arguments,0);return r("isBefore",e)}}}()},4491:function(e){e.exports=function(){"use strict";var e="month",u="quarter";return function(t,r){var n=r.prototype;n.quarter=function(e){return this.$utils().u(e)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(e-1))};var a=n.add;n.add=function(t,r){return t=Number(t),this.$utils().p(r)===u?this.add(3*t,e):a.bind(this)(t,r)};var o=n.startOf;n.startOf=function(t,r){var n=this.$utils(),a=!!n.u(r)||r;if(n.p(t)===u){var s=this.quarter()-1;return a?this.month(3*s).startOf(e).startOf("day"):this.month(3*s+2).endOf(e).endOf("day")}return o.bind(this)(t,r)}}}()},7657:function(e){e.exports=function(){"use strict";var e="minute",u=/[+-]\d\d(?::?\d\d)?/g,t=/([+-]|\d\d)/g;return function(r,n,a){var o=n.prototype;a.utc=function(e){return new n({date:e,utc:!0,args:arguments})},o.utc=function(u){var t=a(this.toDate(),{locale:this.$L,utc:!0});return u?t.add(this.utcOffset(),e):t},o.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var s=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),s.call(this,e)};var i=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else i.call(this)};var c=o.utcOffset;o.utcOffset=function(r,n){var a=this.$utils().u;if(a(r))return this.$u?0:a(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(u);if(!r)return null;var n=(""+r[0]).match(t)||["-",0,0],a=n[0],o=60*+n[1]+ +n[2];return 0===o?0:"+"===a?o:-o}(r),null===r))return this;var o=Math.abs(r)<=16?60*r:r,s=this;if(n)return s.$offset=o,s.$u=0===r,s;if(0!==r){var i=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(s=this.local().add(o+i,e)).$offset=o,s.$x.$localOffset=i}else s=this.utc();return s};var l=o.format;o.format=function(e){var u=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return l.call(this,u)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var D=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():D.call(this)};var p=o.diff;o.diff=function(e,u,t){if(e&&this.$u===e.$u)return p.call(this,e,u,t);var r=this.local(),n=a(e).local();return p.call(r,n,u,t)}}}()},8143:e=>{"use strict";class u{constructor(e,u){this.low=e,this.high=u,this.length=1+u-e}overlaps(e){return!(this.high<e.low||this.low>e.high)}touches(e){return!(this.high+1<e.low||this.low-1>e.high)}add(e){return new u(Math.min(this.low,e.low),Math.max(this.high,e.high))}subtract(e){return e.low<=this.low&&e.high>=this.high?[]:e.low>this.low&&e.high<this.high?[new u(this.low,e.low-1),new u(e.high+1,this.high)]:e.low<=this.low?[new u(e.high+1,this.high)]:[new u(this.low,e.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+"-"+this.high}}class t{constructor(e,u){this.ranges=[],this.length=0,null!=e&&this.add(e,u)}_update_length(){this.length=this.ranges.reduce(((e,u)=>e+u.length),0)}add(e,r){var n=e=>{for(var u=0;u<this.ranges.length&&!e.touches(this.ranges[u]);)u++;for(var t=this.ranges.slice(0,u);u<this.ranges.length&&e.touches(this.ranges[u]);)e=e.add(this.ranges[u]),u++;t.push(e),this.ranges=t.concat(this.ranges.slice(u)),this._update_length()};return e instanceof t?e.ranges.forEach(n):(null==r&&(r=e),n(new u(e,r))),this}subtract(e,r){var n=e=>{for(var u=0;u<this.ranges.length&&!e.overlaps(this.ranges[u]);)u++;for(var t=this.ranges.slice(0,u);u<this.ranges.length&&e.overlaps(this.ranges[u]);)t=t.concat(this.ranges[u].subtract(e)),u++;this.ranges=t.concat(this.ranges.slice(u)),this._update_length()};return e instanceof t?e.ranges.forEach(n):(null==r&&(r=e),n(new u(e,r))),this}intersect(e,r){var n=[],a=e=>{for(var t=0;t<this.ranges.length&&!e.overlaps(this.ranges[t]);)t++;for(;t<this.ranges.length&&e.overlaps(this.ranges[t]);){var r=Math.max(this.ranges[t].low,e.low),a=Math.min(this.ranges[t].high,e.high);n.push(new u(r,a)),t++}};return e instanceof t?e.ranges.forEach(a):(null==r&&(r=e),a(new u(e,r))),this.ranges=n,this._update_length(),this}index(e){for(var u=0;u<this.ranges.length&&this.ranges[u].length<=e;)e-=this.ranges[u].length,u++;return this.ranges[u].low+e}toString(){return"[ "+this.ranges.join(", ")+" ]"}clone(){return new t(this)}numbers(){return this.ranges.reduce(((e,u)=>{for(var t=u.low;t<=u.high;)e.push(t),t++;return e}),[])}subranges(){return this.ranges.map((e=>({low:e.low,high:e.high,length:1+e.high-e.low})))}}e.exports=t},8575:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.FORMAT_PLAIN=u.FORMAT_HTML=u.FORMATS=void 0;var t="html";u.FORMAT_HTML=t;var r="plain";u.FORMAT_PLAIN=r;var n=[t,r];u.FORMATS=n},4801:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.LINE_ENDINGS=void 0,u.LINE_ENDINGS={POSIX:"\n",WIN32:"\r\n"}},3647:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.SUPPORTED_PLATFORMS=void 0,u.SUPPORTED_PLATFORMS={DARWIN:"darwin",LINUX:"linux",WIN32:"win32"}},9148:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.UNIT_WORDS=u.UNIT_WORD=u.UNIT_SENTENCES=u.UNIT_SENTENCE=u.UNIT_PARAGRAPHS=u.UNIT_PARAGRAPH=u.UNITS=void 0;var t="words";u.UNIT_WORDS=t;var r="word";u.UNIT_WORD=r;var n="sentences";u.UNIT_SENTENCES=n;var a="sentence";u.UNIT_SENTENCE=a;var o="paragraphs";u.UNIT_PARAGRAPHS=o;var s="paragraph";u.UNIT_PARAGRAPH=s;var i=[t,r,n,a,o,s];u.UNITS=i},938:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.WORDS=void 0,u.WORDS=["ad","adipisicing","aliqua","aliquip","amet","anim","aute","cillum","commodo","consectetur","consequat","culpa","cupidatat","deserunt","do","dolor","dolore","duis","ea","eiusmod","elit","enim","esse","est","et","eu","ex","excepteur","exercitation","fugiat","id","in","incididunt","ipsum","irure","labore","laboris","laborum","Lorem","magna","minim","mollit","nisi","non","nostrud","nulla","occaecat","officia","pariatur","proident","qui","quis","reprehenderit","sint","sit","sunt","tempor","ullamco","ut","velit","veniam","voluptate"]},7405:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),Object.defineProperty(u,"LoremIpsum",{enumerable:!0,get:function(){return s.default}}),u.loremIpsum=void 0;var r,n=t(8575),a=t(9148),o=t(938),s=(r=t(2508))&&r.__esModule?r:{default:r};u.loremIpsum=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},u=e.count,t=void 0===u?1:u,r=e.format,i=void 0===r?n.FORMAT_PLAIN:r,c=e.paragraphLowerBound,l=void 0===c?3:c,D=e.paragraphUpperBound,p=void 0===D?7:D,d=e.random,A=e.sentenceLowerBound,E=void 0===A?5:A,C=e.sentenceUpperBound,m=void 0===C?15:C,F=e.units,h=void 0===F?a.UNIT_SENTENCES:F,f=e.words,g=void 0===f?o.WORDS:f,y=e.suffix,B=void 0===y?"":y,v={random:d,sentencesPerParagraph:{max:p,min:l},words:g,wordsPerSentence:{max:m,min:E}},b=new s.default(v,i,B);switch(h){case a.UNIT_PARAGRAPHS:case a.UNIT_PARAGRAPH:return b.generateParagraphs(t);case a.UNIT_SENTENCES:case a.UNIT_SENTENCE:return b.generateSentences(t);case a.UNIT_WORDS:case a.UNIT_WORD:return b.generateWords(t);default:return""}}},2508:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var r,n=t(8575),a=t(4801),o=(r=t(9888))&&r.__esModule?r:{default:r},s=t(3798);function i(e,u){for(var t=0;t<u.length;t++){var r=u[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c=function(){function e(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.FORMAT_PLAIN,r=arguments.length>2?arguments[2]:void 0;if(function(e,u){if(!(e instanceof u))throw new TypeError("Cannot call a class as a function")}(this,e),this.format=t,this.suffix=r,function(e,u,t){u in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t}(this,"generator",void 0),-1===n.FORMATS.indexOf(t.toLowerCase()))throw new Error("".concat(t," is an invalid format. Please use ").concat(n.FORMATS.join(" or "),"."));this.generator=new o.default(u)}var u,t;return u=e,(t=[{key:"getLineEnding",value:function(){return this.suffix?this.suffix:!(0,s.isReactNative)()&&(0,s.isNode)()&&(0,s.isWindows)()?a.LINE_ENDINGS.WIN32:a.LINE_ENDINGS.POSIX}},{key:"formatString",value:function(e){return this.format===n.FORMAT_HTML?"<p>".concat(e,"</p>"):e}},{key:"formatStrings",value:function(e){var u=this;return e.map((function(e){return u.formatString(e)}))}},{key:"generateWords",value:function(e){return this.formatString(this.generator.generateRandomWords(e))}},{key:"generateSentences",value:function(e){return this.formatString(this.generator.generateRandomParagraph(e))}},{key:"generateParagraphs",value:function(e){var u=this.generator.generateRandomParagraph.bind(this.generator);return this.formatStrings((0,s.makeArrayOfStrings)(e,u)).join(this.getLineEnding())}}])&&i(u.prototype,t),Object.defineProperty(u,"prototype",{writable:!1}),e}(),l=c;u.default=l},9888:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var r=t(938),n=t(3798);function a(e,u){for(var t=0;t<u.length;t++){var r=u[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,u,t){return u in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t,e}var s=function(){function e(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=u.sentencesPerParagraph,n=void 0===t?{max:7,min:3}:t,a=u.wordsPerSentence,s=void 0===a?{max:15,min:5}:a,i=u.random,c=(u.seed,u.words),l=void 0===c?r.WORDS:c;if(function(e,u){if(!(e instanceof u))throw new TypeError("Cannot call a class as a function")}(this,e),o(this,"sentencesPerParagraph",void 0),o(this,"wordsPerSentence",void 0),o(this,"random",void 0),o(this,"words",void 0),n.min>n.max)throw new Error("Minimum number of sentences per paragraph (".concat(n.min,") cannot exceed maximum (").concat(n.max,")."));if(s.min>s.max)throw new Error("Minimum number of words per sentence (".concat(s.min,") cannot exceed maximum (").concat(s.max,")."));this.sentencesPerParagraph=n,this.words=l,this.wordsPerSentence=s,this.random=i||Math.random}var u,t;return u=e,(t=[{key:"generateRandomInteger",value:function(e,u){return Math.floor(this.random()*(u-e+1)+e)}},{key:"generateRandomWords",value:function(e){var u=this,t=this.wordsPerSentence,r=t.min,a=t.max,o=e||this.generateRandomInteger(r,a);return(0,n.makeArrayOfLength)(o).reduce((function(e,t){return"".concat(u.pluckRandomWord()," ").concat(e)}),"").trim()}},{key:"generateRandomSentence",value:function(e){return"".concat((0,n.capitalize)(this.generateRandomWords(e)),".")}},{key:"generateRandomParagraph",value:function(e){var u=this,t=this.sentencesPerParagraph,r=t.min,a=t.max,o=e||this.generateRandomInteger(r,a);return(0,n.makeArrayOfLength)(o).reduce((function(e,t){return"".concat(u.generateRandomSentence()," ").concat(e)}),"").trim()}},{key:"pluckRandomWord",value:function(){var e=this.words.length-1,u=this.generateRandomInteger(0,e);return this.words[u]}}])&&a(u.prototype,t),Object.defineProperty(u,"prototype",{writable:!1}),e}();u.default=s},3670:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;u.default=function(e){var u=e.trim();return u.charAt(0).toUpperCase()+u.slice(1)}},3798:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),Object.defineProperty(u,"capitalize",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(u,"isNode",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(u,"isReactNative",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(u,"isWindows",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(u,"makeArrayOfLength",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(u,"makeArrayOfStrings",{enumerable:!0,get:function(){return i.default}});var r=c(t(3670)),n=c(t(2392)),a=c(t(458)),o=c(t(8855)),s=c(t(2556)),i=c(t(9480));function c(e){return e&&e.__esModule?e:{default:e}}},2392:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;u.default=function(){return!!e.exports}},458:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;u.default=function(){var e=!1;try{e="ReactNative"===navigator.product}catch(u){e=!1}return e}},8855:(e,u,t)=>{"use strict";var r=t(9907);Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var n=t(3647);u.default=function(){var e=!1;try{e=r.platform===n.SUPPORTED_PLATFORMS.WIN32}catch(u){e=!1}return e}},2556:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;u.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return Array.apply(null,Array(e)).map((function(e,u){return u}))}},9480:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=void 0;var r,n=(r=t(2556))&&r.__esModule?r:{default:r};u.default=function(e,u){return(0,n.default)(e).map((function(){return u()}))}},7250:e=>{var u=1e3,t=60*u,r=60*t,n=24*r,a=7*n;function o(e,u,t,r){var n=u>=1.5*t;return Math.round(e/t)+" "+r+(n?"s":"")}e.exports=function(e,s){s=s||{};var i,c,l=typeof e;if("string"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(o){var s=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return s*a;case"days":case"day":case"d":return s*n;case"hours":case"hour":case"hrs":case"hr":case"h":return s*r;case"minutes":case"minute":case"mins":case"min":case"m":return s*t;case"seconds":case"second":case"secs":case"sec":case"s":return s*u;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(e);if("number"===l&&isFinite(e))return s.long?(i=e,(c=Math.abs(i))>=n?o(i,c,n,"day"):c>=r?o(i,c,r,"hour"):c>=t?o(i,c,t,"minute"):c>=u?o(i,c,u,"second"):i+" ms"):function(e){var a=Math.abs(e);return a>=n?Math.round(e/n)+"d":a>=r?Math.round(e/r)+"h":a>=t?Math.round(e/t)+"m":a>=u?Math.round(e/u)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9907:e=>{var u,t,r=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function o(e){if(u===setTimeout)return setTimeout(e,0);if((u===n||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(t){try{return u.call(null,e,0)}catch(t){return u.call(this,e,0)}}}!function(){try{u="function"==typeof setTimeout?setTimeout:n}catch(e){u=n}try{t="function"==typeof clearTimeout?clearTimeout:a}catch(e){t=a}}();var s,i=[],c=!1,l=-1;function D(){c&&s&&(c=!1,s.length?i=s.concat(i):l=-1,i.length&&p())}function p(){if(!c){var e=o(D);c=!0;for(var u=i.length;u;){for(s=i,i=[];++l<u;)s&&s[l].run();l=-1,u=i.length}s=null,c=!1,function(e){if(t===clearTimeout)return clearTimeout(e);if((t===a||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(e);try{return t(e)}catch(u){try{return t.call(null,e)}catch(u){return t.call(this,e)}}}(e)}}function d(e,u){this.fun=e,this.array=u}function A(){}r.nextTick=function(e){var u=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)u[t-1]=arguments[t];i.push(new d(e,u)),1!==i.length||c||o(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=A,r.addListener=A,r.once=A,r.off=A,r.removeListener=A,r.removeAllListeners=A,r.emit=A,r.prependListener=A,r.prependOnceListener=A,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},3174:(e,u,t)=>{const r=t(1309),n=t(8143),a=r.types;e.exports=class e{constructor(e,u){if(this._setDefaults(e),e instanceof RegExp)this.ignoreCase=e.ignoreCase,this.multiline=e.multiline,e=e.source;else{if("string"!=typeof e)throw new Error("Expected a regexp or string");this.ignoreCase=u&&-1!==u.indexOf("i"),this.multiline=u&&-1!==u.indexOf("m")}this.tokens=r(e)}_setDefaults(u){this.max=null!=u.max?u.max:null!=e.prototype.max?e.prototype.max:100,this.defaultRange=u.defaultRange?u.defaultRange:this.defaultRange.clone(),u.randInt&&(this.randInt=u.randInt)}gen(){return this._gen(this.tokens,[])}_gen(e,u){var t,r,n,o,s;switch(e.type){case a.ROOT:case a.GROUP:if(e.followedBy||e.notFollowedBy)return"";for(e.remember&&void 0===e.groupNumber&&(e.groupNumber=u.push(null)-1),r="",o=0,s=(t=e.options?this._randSelect(e.options):e.stack).length;o<s;o++)r+=this._gen(t[o],u);return e.remember&&(u[e.groupNumber]=r),r;case a.POSITION:return"";case a.SET:var i=this._expand(e);return i.length?String.fromCharCode(this._randSelect(i)):"";case a.REPETITION:for(n=this.randInt(e.min,e.max===1/0?e.min+this.max:e.max),r="",o=0;o<n;o++)r+=this._gen(e.value,u);return r;case a.REFERENCE:return u[e.value-1]||"";case a.CHAR:var c=this.ignoreCase&&this._randBool()?this._toOtherCase(e.value):e.value;return String.fromCharCode(c)}}_toOtherCase(e){return e+(97<=e&&e<=122?-32:65<=e&&e<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(e){return e instanceof n?e.index(this.randInt(0,e.length-1)):e[this.randInt(0,e.length-1)]}_expand(e){if(e.type===r.types.CHAR)return new n(e.value);if(e.type===r.types.RANGE)return new n(e.from,e.to);{let u=new n;for(let t=0;t<e.set.length;t++){let r=this._expand(e.set[t]);if(u.add(r),this.ignoreCase)for(let e=0;e<r.length;e++){let t=r.index(e),n=this._toOtherCase(t);t!==n&&u.add(n)}}return e.not?this.defaultRange.clone().subtract(u):this.defaultRange.clone().intersect(u)}}randInt(e,u){return e+Math.floor(Math.random()*(1+u-e))}get defaultRange(){return this._range=this._range||new n(32,126)}set defaultRange(e){this._range=e}static randexp(u,t){var r;return"string"==typeof u&&(u=new RegExp(u,t)),void 0===u._randexp?(r=new e(u,t),u._randexp=r):(r=u._randexp)._setDefaults(u),r.gen()}static sugar(){RegExp.prototype.gen=function(){return e.randexp(this)}}}},1309:(e,u,t)=>{const r=t(4045),n=t(8020),a=t(7732),o=t(5097);e.exports=e=>{var u,t,s=0,i={type:n.ROOT,stack:[]},c=i,l=i.stack,D=[],p=u=>{r.error(e,"Nothing to repeat at column "+(u-1))},d=r.strToChars(e);for(u=d.length;s<u;)switch(t=d[s++]){case"\\":switch(t=d[s++]){case"b":l.push(o.wordBoundary());break;case"B":l.push(o.nonWordBoundary());break;case"w":l.push(a.words());break;case"W":l.push(a.notWords());break;case"d":l.push(a.ints());break;case"D":l.push(a.notInts());break;case"s":l.push(a.whitespace());break;case"S":l.push(a.notWhitespace());break;default:/\d/.test(t)?l.push({type:n.REFERENCE,value:parseInt(t,10)}):l.push({type:n.CHAR,value:t.charCodeAt(0)})}break;case"^":l.push(o.begin());break;case"$":l.push(o.end());break;case"[":var A;"^"===d[s]?(A=!0,s++):A=!1;var E=r.tokenizeClass(d.slice(s),e);s+=E[1],l.push({type:n.SET,set:E[0],not:A});break;case".":l.push(a.anyChar());break;case"(":var C={type:n.GROUP,stack:[],remember:!0};"?"===(t=d[s])&&(t=d[s+1],s+=2,"="===t?C.followedBy=!0:"!"===t?C.notFollowedBy=!0:":"!==t&&r.error(e,`Invalid group, character '${t}' after '?' at column `+(s-1)),C.remember=!1),l.push(C),D.push(c),c=C,l=C.stack;break;case")":0===D.length&&r.error(e,"Unmatched ) at column "+(s-1)),l=(c=D.pop()).options?c.options[c.options.length-1]:c.stack;break;case"|":c.options||(c.options=[c.stack],delete c.stack);var m=[];c.options.push(m),l=m;break;case"{":var F,h,f=/^(\d+)(,(\d+)?)?\}/.exec(d.slice(s));null!==f?(0===l.length&&p(s),F=parseInt(f[1],10),h=f[2]?f[3]?parseInt(f[3],10):1/0:F,s+=f[0].length,l.push({type:n.REPETITION,min:F,max:h,value:l.pop()})):l.push({type:n.CHAR,value:123});break;case"?":0===l.length&&p(s),l.push({type:n.REPETITION,min:0,max:1,value:l.pop()});break;case"+":0===l.length&&p(s),l.push({type:n.REPETITION,min:1,max:1/0,value:l.pop()});break;case"*":0===l.length&&p(s),l.push({type:n.REPETITION,min:0,max:1/0,value:l.pop()});break;default:l.push({type:n.CHAR,value:t.charCodeAt(0)})}return 0!==D.length&&r.error(e,"Unterminated group"),i},e.exports.types=n},5097:(e,u,t)=>{const r=t(8020);u.wordBoundary=()=>({type:r.POSITION,value:"b"}),u.nonWordBoundary=()=>({type:r.POSITION,value:"B"}),u.begin=()=>({type:r.POSITION,value:"^"}),u.end=()=>({type:r.POSITION,value:"$"})},7732:(e,u,t)=>{const r=t(8020),n=()=>[{type:r.RANGE,from:48,to:57}],a=()=>[{type:r.CHAR,value:95},{type:r.RANGE,from:97,to:122},{type:r.RANGE,from:65,to:90}].concat(n()),o=()=>[{type:r.CHAR,value:9},{type:r.CHAR,value:10},{type:r.CHAR,value:11},{type:r.CHAR,value:12},{type:r.CHAR,value:13},{type:r.CHAR,value:32},{type:r.CHAR,value:160},{type:r.CHAR,value:5760},{type:r.RANGE,from:8192,to:8202},{type:r.CHAR,value:8232},{type:r.CHAR,value:8233},{type:r.CHAR,value:8239},{type:r.CHAR,value:8287},{type:r.CHAR,value:12288},{type:r.CHAR,value:65279}];u.words=()=>({type:r.SET,set:a(),not:!1}),u.notWords=()=>({type:r.SET,set:a(),not:!0}),u.ints=()=>({type:r.SET,set:n(),not:!1}),u.notInts=()=>({type:r.SET,set:n(),not:!0}),u.whitespace=()=>({type:r.SET,set:o(),not:!1}),u.notWhitespace=()=>({type:r.SET,set:o(),not:!0}),u.anyChar=()=>({type:r.SET,set:[{type:r.CHAR,value:10},{type:r.CHAR,value:13},{type:r.CHAR,value:8232},{type:r.CHAR,value:8233}],not:!0})},8020:e=>{e.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},4045:(e,u,t)=>{const r=t(8020),n=t(7732),a={0:0,t:9,n:10,v:11,f:12,r:13};u.strToChars=function(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(function(e,u,t,r,n,o,s,i){if(t)return e;var c=u?8:r?parseInt(r,16):n?parseInt(n,16):o?parseInt(o,8):s?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):a[i],l=String.fromCharCode(c);return/[[\]{}^$.|?*+()]/.test(l)&&(l="\\"+l),l}))},u.tokenizeClass=(e,t)=>{for(var a,o,s=[],i=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;null!=(a=i.exec(e));)if(a[1])s.push(n.words());else if(a[2])s.push(n.ints());else if(a[3])s.push(n.whitespace());else if(a[4])s.push(n.notWords());else if(a[5])s.push(n.notInts());else if(a[6])s.push(n.notWhitespace());else if(a[7])s.push({type:r.RANGE,from:(a[8]||a[9]).charCodeAt(0),to:a[10].charCodeAt(0)});else{if(!(o=a[12]))return[s,i.lastIndex];s.push({type:r.CHAR,value:o.charCodeAt(0)})}u.error(t,"Unterminated character class")},u.error=(e,u)=>{throw new SyntaxError("Invalid regular expression: /"+e+"/: "+u)}},1565:(e,u,t)=>{const r=Symbol("SemVer ANY");class n{static get ANY(){return r}constructor(e,u){if(u=a(u),e instanceof n){if(e.loose===!!u.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),c("comparator",e,u),this.options=u,this.loose=!!u.loose,this.parse(e),this.semver===r?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){const u=this.options.loose?o[s.COMPARATORLOOSE]:o[s.COMPARATOR],t=e.match(u);if(!t)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==t[1]?t[1]:"","="===this.operator&&(this.operator=""),t[2]?this.semver=new l(t[2],this.options.loose):this.semver=r}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===r||e===r)return!0;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}return i(e,this.operator,this.semver,this.options)}intersects(e,u){if(!(e instanceof n))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new D(e.value,u).test(this.value):""===e.operator?""===e.value||new D(this.value,u).test(e.semver):!((u=a(u)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!u.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))||(!this.operator.startsWith(">")||!e.operator.startsWith(">"))&&(!this.operator.startsWith("<")||!e.operator.startsWith("<"))&&(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))&&!(i(this.semver,"<",e.semver,u)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))&&!(i(this.semver,">",e.semver,u)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}}e.exports=n;const a=t(3990),{safeRe:o,t:s}=t(2841),i=t(4004),c=t(1361),l=t(4517),D=t(7476)},7476:(e,u,t)=>{const r=/\s+/g;class n{constructor(e,u){if(u=o(u),e instanceof n)return e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease?e:new n(e.raw,u);if(e instanceof s)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease,this.raw=e.trim().replace(r," "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!m(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&F(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");const u=this.set[e];for(let e=0;e<u.length;e++)e>0&&(this.formatted+=" "),this.formatted+=u[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){const u=((this.options.includePrerelease&&E)|(this.options.loose&&C))+":"+e,t=a.get(u);if(t)return t;const r=this.options.loose,n=r?l[D.HYPHENRANGELOOSE]:l[D.HYPHENRANGE];e=e.replace(n,M(this.options.includePrerelease)),i("hyphen replace",e),e=e.replace(l[D.COMPARATORTRIM],p),i("comparator trim",e),e=e.replace(l[D.TILDETRIM],d),i("tilde trim",e),e=e.replace(l[D.CARETTRIM],A),i("caret trim",e);let o=e.split(" ").map((e=>f(e,this.options))).join(" ").split(/\s+/).map((e=>I(e,this.options)));r&&(o=o.filter((e=>(i("loose invalid filter",e,this.options),!!e.match(l[D.COMPARATORLOOSE]))))),i("range list",o);const c=new Map,F=o.map((e=>new s(e,this.options)));for(const e of F){if(m(e))return[e];c.set(e.value,e)}c.size>1&&c.has("")&&c.delete("");const h=[...c.values()];return a.set(u,h),h}intersects(e,u){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some((t=>h(t,u)&&e.set.some((e=>h(e,u)&&t.every((t=>e.every((e=>t.intersects(e,u)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}for(let u=0;u<this.set.length;u++)if(O(this.set[u],e,this.options))return!0;return!1}}e.exports=n;const a=new(t(8953)),o=t(3990),s=t(1565),i=t(1361),c=t(4517),{safeRe:l,t:D,comparatorTrimReplace:p,tildeTrimReplace:d,caretTrimReplace:A}=t(2841),{FLAG_INCLUDE_PRERELEASE:E,FLAG_LOOSE:C}=t(9543),m=e=>"<0.0.0-0"===e.value,F=e=>""===e.value,h=(e,u)=>{let t=!0;const r=e.slice();let n=r.pop();for(;t&&r.length;)t=r.every((e=>n.intersects(e,u))),n=r.pop();return t},f=(e,u)=>(i("comp",e,u),e=v(e,u),i("caret",e),e=y(e,u),i("tildes",e),e=w(e,u),i("xrange",e),e=$(e,u),i("stars",e),e),g=e=>!e||"x"===e.toLowerCase()||"*"===e,y=(e,u)=>e.trim().split(/\s+/).map((e=>B(e,u))).join(" "),B=(e,u)=>{const t=u.loose?l[D.TILDELOOSE]:l[D.TILDE];return e.replace(t,((u,t,r,n,a)=>{let o;return i("tilde",e,u,t,r,n,a),g(t)?o="":g(r)?o=`>=${t}.0.0 <${+t+1}.0.0-0`:g(n)?o=`>=${t}.${r}.0 <${t}.${+r+1}.0-0`:a?(i("replaceTilde pr",a),o=`>=${t}.${r}.${n}-${a} <${t}.${+r+1}.0-0`):o=`>=${t}.${r}.${n} <${t}.${+r+1}.0-0`,i("tilde return",o),o}))},v=(e,u)=>e.trim().split(/\s+/).map((e=>b(e,u))).join(" "),b=(e,u)=>{i("caret",e,u);const t=u.loose?l[D.CARETLOOSE]:l[D.CARET],r=u.includePrerelease?"-0":"";return e.replace(t,((u,t,n,a,o)=>{let s;return i("caret",e,u,t,n,a,o),g(t)?s="":g(n)?s=`>=${t}.0.0${r} <${+t+1}.0.0-0`:g(a)?s="0"===t?`>=${t}.${n}.0${r} <${t}.${+n+1}.0-0`:`>=${t}.${n}.0${r} <${+t+1}.0.0-0`:o?(i("replaceCaret pr",o),s="0"===t?"0"===n?`>=${t}.${n}.${a}-${o} <${t}.${n}.${+a+1}-0`:`>=${t}.${n}.${a}-${o} <${t}.${+n+1}.0-0`:`>=${t}.${n}.${a}-${o} <${+t+1}.0.0-0`):(i("no pr"),s="0"===t?"0"===n?`>=${t}.${n}.${a}${r} <${t}.${n}.${+a+1}-0`:`>=${t}.${n}.${a}${r} <${t}.${+n+1}.0-0`:`>=${t}.${n}.${a} <${+t+1}.0.0-0`),i("caret return",s),s}))},w=(e,u)=>(i("replaceXRanges",e,u),e.split(/\s+/).map((e=>T(e,u))).join(" ")),T=(e,u)=>{e=e.trim();const t=u.loose?l[D.XRANGELOOSE]:l[D.XRANGE];return e.replace(t,((t,r,n,a,o,s)=>{i("xRange",e,t,r,n,a,o,s);const c=g(n),l=c||g(a),D=l||g(o),p=D;return"="===r&&p&&(r=""),s=u.includePrerelease?"-0":"",c?t=">"===r||"<"===r?"<0.0.0-0":"*":r&&p?(l&&(a=0),o=0,">"===r?(r=">=",l?(n=+n+1,a=0,o=0):(a=+a+1,o=0)):"<="===r&&(r="<",l?n=+n+1:a=+a+1),"<"===r&&(s="-0"),t=`${r+n}.${a}.${o}${s}`):l?t=`>=${n}.0.0${s} <${+n+1}.0.0-0`:D&&(t=`>=${n}.${a}.0${s} <${n}.${+a+1}.0-0`),i("xRange return",t),t}))},$=(e,u)=>(i("replaceStars",e,u),e.trim().replace(l[D.STAR],"")),I=(e,u)=>(i("replaceGTE0",e,u),e.trim().replace(l[u.includePrerelease?D.GTE0PRE:D.GTE0],"")),M=e=>(u,t,r,n,a,o,s,i,c,l,D,p)=>`${t=g(r)?"":g(n)?`>=${r}.0.0${e?"-0":""}`:g(a)?`>=${r}.${n}.0${e?"-0":""}`:o?`>=${t}`:`>=${t}${e?"-0":""}`} ${i=g(c)?"":g(l)?`<${+c+1}.0.0-0`:g(D)?`<${c}.${+l+1}.0-0`:p?`<=${c}.${l}.${D}-${p}`:e?`<${c}.${l}.${+D+1}-0`:`<=${i}`}`.trim(),O=(e,u,t)=>{for(let t=0;t<e.length;t++)if(!e[t].test(u))return!1;if(u.prerelease.length&&!t.includePrerelease){for(let t=0;t<e.length;t++)if(i(e[t].semver),e[t].semver!==s.ANY&&e[t].semver.prerelease.length>0){const r=e[t].semver;if(r.major===u.major&&r.minor===u.minor&&r.patch===u.patch)return!0}return!1}return!0}},4517:(e,u,t)=>{const r=t(1361),{MAX_LENGTH:n,MAX_SAFE_INTEGER:a}=t(9543),{safeRe:o,t:s}=t(2841),i=t(3990),{compareIdentifiers:c}=t(3806);class l{constructor(e,u){if(u=i(u),e instanceof l){if(e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>n)throw new TypeError(`version is longer than ${n} characters`);r("SemVer",e,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const t=e.trim().match(u.loose?o[s.LOOSE]:o[s.FULL]);if(!t)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const u=+e;if(u>=0&&u<a)return u}return e})):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(r("SemVer.compare",this.version,this.options,e),!(e instanceof l)){if("string"==typeof e&&e===this.version)return 0;e=new l(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof l||(e=new l(e,this.options)),c(this.major,e.major)||c(this.minor,e.minor)||c(this.patch,e.patch)}comparePre(e){if(e instanceof l||(e=new l(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let u=0;do{const t=this.prerelease[u],n=e.prerelease[u];if(r("prerelease compare",u,t,n),void 0===t&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===t)return-1;if(t!==n)return c(t,n)}while(++u)}compareBuild(e){e instanceof l||(e=new l(e,this.options));let u=0;do{const t=this.build[u],n=e.build[u];if(r("build compare",u,t,n),void 0===t&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===t)return-1;if(t!==n)return c(t,n)}while(++u)}inc(e,u,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",u,t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",u,t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",u,t),this.inc("pre",u,t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",u,t),this.inc("pre",u,t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(t)?1:0;if(!u&&!1===t)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(u===this.prerelease.join(".")&&!1===t)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(u){let r=[u,e];!1===t&&(r=[u]),0===c(this.prerelease[0],u)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=l},2281:(e,u,t)=>{const r=t(3955);e.exports=(e,u)=>{const t=r(e.trim().replace(/^[=v]+/,""),u);return t?t.version:null}},4004:(e,u,t)=>{const r=t(8848),n=t(8220),a=t(9761),o=t(2386),s=t(1262),i=t(9639);e.exports=(e,u,t,c)=>{switch(u){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof t&&(t=t.version),e===t;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof t&&(t=t.version),e!==t;case"":case"=":case"==":return r(e,t,c);case"!=":return n(e,t,c);case">":return a(e,t,c);case">=":return o(e,t,c);case"<":return s(e,t,c);case"<=":return i(e,t,c);default:throw new TypeError(`Invalid operator: ${u}`)}}},6783:(e,u,t)=>{const r=t(4517),n=t(3955),{safeRe:a,t:o}=t(2841);e.exports=(e,u)=>{if(e instanceof r)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let t=null;if((u=u||{}).rtl){const r=u.includePrerelease?a[o.COERCERTLFULL]:a[o.COERCERTL];let n;for(;(n=r.exec(e))&&(!t||t.index+t[0].length!==e.length);)t&&n.index+n[0].length===t.index+t[0].length||(t=n),r.lastIndex=n.index+n[1].length+n[2].length;r.lastIndex=-1}else t=e.match(u.includePrerelease?a[o.COERCEFULL]:a[o.COERCE]);if(null===t)return null;const s=t[2],i=t[3]||"0",c=t[4]||"0",l=u.includePrerelease&&t[5]?`-${t[5]}`:"",D=u.includePrerelease&&t[6]?`+${t[6]}`:"";return n(`${s}.${i}.${c}${l}${D}`,u)}},6106:(e,u,t)=>{const r=t(4517);e.exports=(e,u,t)=>{const n=new r(e,t),a=new r(u,t);return n.compare(a)||n.compareBuild(a)}},2132:(e,u,t)=>{const r=t(7851);e.exports=(e,u)=>r(e,u,!0)},7851:(e,u,t)=>{const r=t(4517);e.exports=(e,u,t)=>new r(e,t).compare(new r(u,t))},3269:(e,u,t)=>{const r=t(3955);e.exports=(e,u)=>{const t=r(e,null,!0),n=r(u,null,!0),a=t.compare(n);if(0===a)return null;const o=a>0,s=o?t:n,i=o?n:t,c=!!s.prerelease.length;if(i.prerelease.length&&!c)return i.patch||i.minor?s.patch?"patch":s.minor?"minor":"major":"major";const l=c?"pre":"";return t.major!==n.major?l+"major":t.minor!==n.minor?l+"minor":t.patch!==n.patch?l+"patch":"prerelease"}},8848:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>0===r(e,u,t)},9761:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>r(e,u,t)>0},2386:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>r(e,u,t)>=0},8868:(e,u,t)=>{const r=t(4517);e.exports=(e,u,t,n,a)=>{"string"==typeof t&&(a=n,n=t,t=void 0);try{return new r(e instanceof r?e.version:e,t).inc(u,n,a).version}catch(e){return null}}},1262:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>r(e,u,t)<0},9639:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>r(e,u,t)<=0},6381:(e,u,t)=>{const r=t(4517);e.exports=(e,u)=>new r(e,u).major},1353:(e,u,t)=>{const r=t(4517);e.exports=(e,u)=>new r(e,u).minor},8220:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>0!==r(e,u,t)},3955:(e,u,t)=>{const r=t(4517);e.exports=(e,u,t=!1)=>{if(e instanceof r)return e;try{return new r(e,u)}catch(e){if(!t)return null;throw e}}},6082:(e,u,t)=>{const r=t(4517);e.exports=(e,u)=>new r(e,u).patch},9428:(e,u,t)=>{const r=t(3955);e.exports=(e,u)=>{const t=r(e,u);return t&&t.prerelease.length?t.prerelease:null}},7555:(e,u,t)=>{const r=t(7851);e.exports=(e,u,t)=>r(u,e,t)},3810:(e,u,t)=>{const r=t(6106);e.exports=(e,u)=>e.sort(((e,t)=>r(t,e,u)))},7229:(e,u,t)=>{const r=t(7476);e.exports=(e,u,t)=>{try{u=new r(u,t)}catch(e){return!1}return u.test(e)}},4042:(e,u,t)=>{const r=t(6106);e.exports=(e,u)=>e.sort(((e,t)=>r(e,t,u)))},8474:(e,u,t)=>{const r=t(3955);e.exports=(e,u)=>{const t=r(e,u);return t?t.version:null}},2722:(e,u,t)=>{const r=t(2841),n=t(9543),a=t(4517),o=t(3806),s=t(3955),i=t(8474),c=t(2281),l=t(8868),D=t(3269),p=t(6381),d=t(1353),A=t(6082),E=t(9428),C=t(7851),m=t(7555),F=t(2132),h=t(6106),f=t(4042),g=t(3810),y=t(9761),B=t(1262),v=t(8848),b=t(8220),w=t(2386),T=t(9639),$=t(4004),I=t(6783),M=t(1565),O=t(7476),S=t(7229),N=t(6364),x=t(5039),P=t(5357),R=t(1280),L=t(7403),_=t(8854),k=t(7226),j=t(7183),V=t(8623),U=t(6486),Q=t(583);e.exports={parse:s,valid:i,clean:c,inc:l,diff:D,major:p,minor:d,patch:A,prerelease:E,compare:C,rcompare:m,compareLoose:F,compareBuild:h,sort:f,rsort:g,gt:y,lt:B,eq:v,neq:b,gte:w,lte:T,cmp:$,coerce:I,Comparator:M,Range:O,satisfies:S,toComparators:N,maxSatisfying:x,minSatisfying:P,minVersion:R,validRange:L,outside:_,gtr:k,ltr:j,intersects:V,simplifyRange:U,subset:Q,SemVer:a,re:r.re,src:r.src,tokens:r.t,SEMVER_SPEC_VERSION:n.SEMVER_SPEC_VERSION,RELEASE_TYPES:n.RELEASE_TYPES,compareIdentifiers:o.compareIdentifiers,rcompareIdentifiers:o.rcompareIdentifiers}},9543:e=>{const u=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:u,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},1361:(e,u,t)=>{const r="object"==typeof t(9907)&&{NODE_ENV:"production"}.NODE_DEBUG&&/\bsemver\b/i.test({NODE_ENV:"production"}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=r},3806:e=>{const u=/^[0-9]+$/,t=(e,t)=>{const r=u.test(e),n=u.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:e<t?-1:1};e.exports={compareIdentifiers:t,rcompareIdentifiers:(e,u)=>t(u,e)}},8953:e=>{e.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){const u=this.map.get(e);return void 0===u?void 0:(this.map.delete(e),this.map.set(e,u),u)}delete(e){return this.map.delete(e)}set(e,u){if(!this.delete(e)&&void 0!==u){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,u)}return this}}},3990:e=>{const u=Object.freeze({loose:!0}),t=Object.freeze({});e.exports=e=>e?"object"!=typeof e?u:e:t},2841:(e,u,t)=>{const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:a}=t(9543),o=t(1361),s=(u=e.exports={}).re=[],i=u.safeRe=[],c=u.src=[],l=u.t={};let D=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",a],[p,n]],A=(e,u,t)=>{const r=(e=>{for(const[u,t]of d)e=e.split(`${u}*`).join(`${u}{0,${t}}`).split(`${u}+`).join(`${u}{1,${t}}`);return e})(u),n=D++;o(e,n,u),l[e]=n,c[n]=u,s[n]=new RegExp(u,t?"g":void 0),i[n]=new RegExp(r,t?"g":void 0)};A("NUMERICIDENTIFIER","0|[1-9]\\d*"),A("NUMERICIDENTIFIERLOOSE","\\d+"),A("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),A("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),A("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),A("PRERELEASEIDENTIFIER",`(?:${c[l.NUMERICIDENTIFIER]}|${c[l.NONNUMERICIDENTIFIER]})`),A("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NUMERICIDENTIFIERLOOSE]}|${c[l.NONNUMERICIDENTIFIER]})`),A("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.PRERELEASEIDENTIFIER]})*))`),A("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),A("BUILDIDENTIFIER",`${p}+`),A("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),A("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),A("FULL",`^${c[l.FULLPLAIN]}$`),A("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),A("LOOSE",`^${c[l.LOOSEPLAIN]}$`),A("GTLT","((?:<|>)?=?)"),A("XRANGEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),A("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),A("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),A("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),A("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}$`),A("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),A("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),A("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`),A("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?`+`(?:${c[l.BUILD]})?(?:$|[^\\d])`),A("COERCERTL",c[l.COERCE],!0),A("COERCERTLFULL",c[l.COERCEFULL],!0),A("LONETILDE","(?:~>?)"),A("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),u.tildeTrimReplace="$1~",A("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}$`),A("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),A("LONECARET","(?:\\^)"),A("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),u.caretTrimReplace="$1^",A("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),A("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),A("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),A("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),A("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),u.comparatorTrimReplace="$1$2$3",A("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),A("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),A("STAR","(<|>)?=?\\s*\\*"),A("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),A("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},7226:(e,u,t)=>{const r=t(8854);e.exports=(e,u,t)=>r(e,u,">",t)},8623:(e,u,t)=>{const r=t(7476);e.exports=(e,u,t)=>(e=new r(e,t),u=new r(u,t),e.intersects(u,t))},7183:(e,u,t)=>{const r=t(8854);e.exports=(e,u,t)=>r(e,u,"<",t)},5039:(e,u,t)=>{const r=t(4517),n=t(7476);e.exports=(e,u,t)=>{let a=null,o=null,s=null;try{s=new n(u,t)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(a&&-1!==o.compare(e)||(a=e,o=new r(a,t)))})),a}},5357:(e,u,t)=>{const r=t(4517),n=t(7476);e.exports=(e,u,t)=>{let a=null,o=null,s=null;try{s=new n(u,t)}catch(e){return null}return e.forEach((e=>{s.test(e)&&(a&&1!==o.compare(e)||(a=e,o=new r(a,t)))})),a}},1280:(e,u,t)=>{const r=t(4517),n=t(7476),a=t(9761);e.exports=(e,u)=>{e=new n(e,u);let t=new r("0.0.0");if(e.test(t))return t;if(t=new r("0.0.0-0"),e.test(t))return t;t=null;for(let u=0;u<e.set.length;++u){const n=e.set[u];let o=null;n.forEach((e=>{const u=new r(e.semver.version);switch(e.operator){case">":0===u.prerelease.length?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":o&&!a(u,o)||(o=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!o||t&&!a(t,o)||(t=o)}return t&&e.test(t)?t:null}},8854:(e,u,t)=>{const r=t(4517),n=t(1565),{ANY:a}=n,o=t(7476),s=t(7229),i=t(9761),c=t(1262),l=t(9639),D=t(2386);e.exports=(e,u,t,p)=>{let d,A,E,C,m;switch(e=new r(e,p),u=new o(u,p),t){case">":d=i,A=l,E=c,C=">",m=">=";break;case"<":d=c,A=D,E=i,C="<",m="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,u,p))return!1;for(let t=0;t<u.set.length;++t){const r=u.set[t];let o=null,s=null;if(r.forEach((e=>{e.semver===a&&(e=new n(">=0.0.0")),o=o||e,s=s||e,d(e.semver,o.semver,p)?o=e:E(e.semver,s.semver,p)&&(s=e)})),o.operator===C||o.operator===m)return!1;if((!s.operator||s.operator===C)&&A(e,s.semver))return!1;if(s.operator===m&&E(e,s.semver))return!1}return!0}},6486:(e,u,t)=>{const r=t(7229),n=t(7851);e.exports=(e,u,t)=>{const a=[];let o=null,s=null;const i=e.sort(((e,u)=>n(e,u,t)));for(const e of i)r(e,u,t)?(s=e,o||(o=e)):(s&&a.push([o,s]),s=null,o=null);o&&a.push([o,null]);const c=[];for(const[e,u]of a)e===u?c.push(e):u||e!==i[0]?u?e===i[0]?c.push(`<=${u}`):c.push(`${e} - ${u}`):c.push(`>=${e}`):c.push("*");const l=c.join(" || "),D="string"==typeof u.raw?u.raw:String(u);return l.length<D.length?l:u}},583:(e,u,t)=>{const r=t(7476),n=t(1565),{ANY:a}=n,o=t(7229),s=t(7851),i=[new n(">=0.0.0-0")],c=[new n(">=0.0.0")],l=(e,u,t)=>{if(e===u)return!0;if(1===e.length&&e[0].semver===a){if(1===u.length&&u[0].semver===a)return!0;e=t.includePrerelease?i:c}if(1===u.length&&u[0].semver===a){if(t.includePrerelease)return!0;u=c}const r=new Set;let n,l,d,A,E,C,m;for(const u of e)">"===u.operator||">="===u.operator?n=D(n,u,t):"<"===u.operator||"<="===u.operator?l=p(l,u,t):r.add(u.semver);if(r.size>1)return null;if(n&&l){if(d=s(n.semver,l.semver,t),d>0)return null;if(0===d&&(">="!==n.operator||"<="!==l.operator))return null}for(const e of r){if(n&&!o(e,String(n),t))return null;if(l&&!o(e,String(l),t))return null;for(const r of u)if(!o(e,String(r),t))return!1;return!0}let F=!(!l||t.includePrerelease||!l.semver.prerelease.length)&&l.semver,h=!(!n||t.includePrerelease||!n.semver.prerelease.length)&&n.semver;F&&1===F.prerelease.length&&"<"===l.operator&&0===F.prerelease[0]&&(F=!1);for(const e of u){if(m=m||">"===e.operator||">="===e.operator,C=C||"<"===e.operator||"<="===e.operator,n)if(h&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===h.major&&e.semver.minor===h.minor&&e.semver.patch===h.patch&&(h=!1),">"===e.operator||">="===e.operator){if(A=D(n,e,t),A===e&&A!==n)return!1}else if(">="===n.operator&&!o(n.semver,String(e),t))return!1;if(l)if(F&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===F.major&&e.semver.minor===F.minor&&e.semver.patch===F.patch&&(F=!1),"<"===e.operator||"<="===e.operator){if(E=p(l,e,t),E===e&&E!==l)return!1}else if("<="===l.operator&&!o(l.semver,String(e),t))return!1;if(!e.operator&&(l||n)&&0!==d)return!1}return!(n&&C&&!l&&0!==d||l&&m&&!n&&0!==d||h||F)},D=(e,u,t)=>{if(!e)return u;const r=s(e.semver,u.semver,t);return r>0?e:r<0||">"===u.operator&&">="===e.operator?u:e},p=(e,u,t)=>{if(!e)return u;const r=s(e.semver,u.semver,t);return r<0?e:r>0||"<"===u.operator&&"<="===e.operator?u:e};e.exports=(e,u,t={})=>{if(e===u)return!0;e=new r(e,t),u=new r(u,t);let n=!1;e:for(const r of e.set){for(const e of u.set){const u=l(r,e,t);if(n=n||null!==u,u)continue e}if(n)return!1}return!0}},6364:(e,u,t)=>{const r=t(7476);e.exports=(e,u)=>new r(e,u).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},7403:(e,u,t)=>{const r=t(7476);e.exports=(e,u)=>{try{return new r(e,u).range||"*"}catch(e){return null}}},9825:function(e,u,t){var r,n;!function(a,o){"use strict";e.exports?e.exports=o():void 0===(n="function"==typeof(r=o)?r.call(u,t,u,e):r)||(e.exports=n)}(0,(function(e){"use strict";var u=e&&e.IPv6;return{best:function(e){var u,t,r=e.toLowerCase().split(":"),n=r.length,a=8;for(""===r[0]&&""===r[1]&&""===r[2]?(r.shift(),r.shift()):""===r[0]&&""===r[1]?r.shift():""===r[n-1]&&""===r[n-2]&&r.pop(),-1!==r[(n=r.length)-1].indexOf(".")&&(a=7),u=0;u<n&&""!==r[u];u++);if(u<a)for(r.splice(u,1,"0000");r.length<a;)r.splice(u,0,"0000");for(var o=0;o<a;o++){t=r[o].split("");for(var s=0;s<3&&"0"===t[0]&&t.length>1;s++)t.splice(0,1);r[o]=t.join("")}var i=-1,c=0,l=0,D=-1,p=!1;for(o=0;o<a;o++)p?"0"===r[o]?l+=1:(p=!1,l>c&&(i=D,c=l)):"0"===r[o]&&(p=!0,D=o,l=1);l>c&&(i=D,c=l),c>1&&r.splice(i,c,""),n=r.length;var d="";for(""===r[0]&&(d=":"),o=0;o<n&&(d+=r[o],o!==n-1);o++)d+=":";return""===r[n-1]&&(d+=":"),d},noConflict:function(){return e.IPv6===this&&(e.IPv6=u),this}}}))},1811:function(e,u,t){var r,n;!function(a,o){"use strict";e.exports?e.exports=o():void 0===(n="function"==typeof(r=o)?r.call(u,t,u,e):r)||(e.exports=n)}(0,(function(e){"use strict";var u=e&&e.SecondLevelDomains,t={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var u=e.lastIndexOf(".");if(u<=0||u>=e.length-1)return!1;var r=e.lastIndexOf(".",u-1);if(r<=0||r>=u-1)return!1;var n=t.list[e.slice(u+1)];return!!n&&n.indexOf(" "+e.slice(r+1,u)+" ")>=0},is:function(e){var u=e.lastIndexOf(".");if(u<=0||u>=e.length-1)return!1;if(e.lastIndexOf(".",u-1)>=0)return!1;var r=t.list[e.slice(u+1)];return!!r&&r.indexOf(" "+e.slice(0,u)+" ")>=0},get:function(e){var u=e.lastIndexOf(".");if(u<=0||u>=e.length-1)return null;var r=e.lastIndexOf(".",u-1);if(r<=0||r>=u-1)return null;var n=t.list[e.slice(u+1)];return n?n.indexOf(" "+e.slice(r+1,u)+" ")<0?null:e.slice(r+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=u),this}};return t}))},9472:function(e,u,t){var r,n,a;!function(o,s){"use strict";e.exports?e.exports=s(t(2675),t(9825),t(1811)):(n=[t(2675),t(9825),t(1811)],void 0===(a="function"==typeof(r=s)?r.apply(u,n):r)||(e.exports=a))}(0,(function(e,u,t,r){"use strict";var n=r&&r.URI;function a(e,u){var t=arguments.length>=1;if(!(this instanceof a))return t?arguments.length>=2?new a(e,u):new a(e):new a;if(void 0===e){if(t)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&t)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==u?this.absoluteTo(u):this}a.version="1.19.11";var o=a.prototype,s=Object.prototype.hasOwnProperty;function i(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function c(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function l(e){return"Array"===c(e)}function D(e,u){var t,r,n={};if("RegExp"===c(u))n=null;else if(l(u))for(t=0,r=u.length;t<r;t++)n[u[t]]=!0;else n[u]=!0;for(t=0,r=e.length;t<r;t++)(n&&void 0!==n[e[t]]||!n&&u.test(e[t]))&&(e.splice(t,1),r--,t--);return e}function p(e,u){var t,r;if(l(u)){for(t=0,r=u.length;t<r;t++)if(!p(e,u[t]))return!1;return!0}var n=c(u);for(t=0,r=e.length;t<r;t++)if("RegExp"===n){if("string"==typeof e[t]&&e[t].match(u))return!0}else if(e[t]===u)return!0;return!1}function d(e,u){if(!l(e)||!l(u))return!1;if(e.length!==u.length)return!1;e.sort(),u.sort();for(var t=0,r=e.length;t<r;t++)if(e[t]!==u[t])return!1;return!0}function A(e){return e.replace(/^\/+|\/+$/g,"")}function E(e){return escape(e)}function C(e){return encodeURIComponent(e).replace(/[!'()*]/g,E).replace(/\*/g,"%2A")}a._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:a.preventInvalidHostname,duplicateQueryParameters:a.duplicateQueryParameters,escapeQuerySpace:a.escapeQuerySpace}},a.preventInvalidHostname=!1,a.duplicateQueryParameters=!1,a.escapeQuerySpace=!0,a.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,a.idn_expression=/[^a-z0-9\._-]/i,a.punycode_expression=/(xn--)/i,a.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,a.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,a.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,a.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},a.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,a.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,a.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},a.hostProtocols=["http","https"],a.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,a.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},a.getDomAttribute=function(e){if(e&&e.nodeName){var u=e.nodeName.toLowerCase();if("input"!==u||"image"===e.type)return a.domAttributes[u]}},a.encode=C,a.decode=decodeURIComponent,a.iso8859=function(){a.encode=escape,a.decode=unescape},a.unicode=function(){a.encode=C,a.decode=decodeURIComponent},a.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},a.encodeQuery=function(e,u){var t=a.encode(e+"");return void 0===u&&(u=a.escapeQuerySpace),u?t.replace(/%20/g,"+"):t},a.decodeQuery=function(e,u){e+="",void 0===u&&(u=a.escapeQuerySpace);try{return a.decode(u?e.replace(/\+/g,"%20"):e)}catch(u){return e}};var m,F={encode:"encode",decode:"decode"},h=function(e,u){return function(t){try{return a[u](t+"").replace(a.characters[e][u].expression,(function(t){return a.characters[e][u].map[t]}))}catch(e){return t}}};for(m in F)a[m+"PathSegment"]=h("pathname",F[m]),a[m+"UrnPathSegment"]=h("urnpath",F[m]);var f=function(e,u,t){return function(r){var n;n=t?function(e){return a[u](a[t](e))}:a[u];for(var o=(r+"").split(e),s=0,i=o.length;s<i;s++)o[s]=n(o[s]);return o.join(e)}};function g(e){return function(u,t){return void 0===u?this._parts[e]||"":(this._parts[e]=u||null,this.build(!t),this)}}function y(e,u){return function(t,r){return void 0===t?this._parts[e]||"":(null!==t&&(t+="").charAt(0)===u&&(t=t.substring(1)),this._parts[e]=t,this.build(!r),this)}}a.decodePath=f("/","decodePathSegment"),a.decodeUrnPath=f(":","decodeUrnPathSegment"),a.recodePath=f("/","encodePathSegment","decode"),a.recodeUrnPath=f(":","encodeUrnPathSegment","decode"),a.encodeReserved=h("reserved","encode"),a.parse=function(e,u){var t;return u||(u={preventInvalidHostname:a.preventInvalidHostname}),(t=(e=(e=e.replace(a.leading_whitespace_expression,"")).replace(a.ascii_tab_whitespace,"")).indexOf("#"))>-1&&(u.fragment=e.substring(t+1)||null,e=e.substring(0,t)),(t=e.indexOf("?"))>-1&&(u.query=e.substring(t+1)||null,e=e.substring(0,t)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(u.protocol=null,e=e.substring(2),e=a.parseAuthority(e,u)):(t=e.indexOf(":"))>-1&&(u.protocol=e.substring(0,t)||null,u.protocol&&!u.protocol.match(a.protocol_expression)?u.protocol=void 0:"//"===e.substring(t+1,t+3).replace(/\\/g,"/")?(e=e.substring(t+3),e=a.parseAuthority(e,u)):(e=e.substring(t+1),u.urn=!0)),u.path=e,u},a.parseHost=function(e,u){e||(e="");var t,r,n=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===n&&(n=e.length),"["===e.charAt(0))t=e.indexOf("]"),u.hostname=e.substring(1,t)||null,u.port=e.substring(t+2,n)||null,"/"===u.port&&(u.port=null);else{var o=e.indexOf(":"),s=e.indexOf("/"),i=e.indexOf(":",o+1);-1!==i&&(-1===s||i<s)?(u.hostname=e.substring(0,n)||null,u.port=null):(r=e.substring(0,n).split(":"),u.hostname=r[0]||null,u.port=r[1]||null)}return u.hostname&&"/"!==e.substring(n).charAt(0)&&(n++,e="/"+e),u.preventInvalidHostname&&a.ensureValidHostname(u.hostname,u.protocol),u.port&&a.ensureValidPort(u.port),e.substring(n)||"/"},a.parseAuthority=function(e,u){return e=a.parseUserinfo(e,u),a.parseHost(e,u)},a.parseUserinfo=function(e,u){var t=e;-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/"));var r,n=e.indexOf("/"),o=e.lastIndexOf("@",n>-1?n:e.length-1);return o>-1&&(-1===n||o<n)?(r=e.substring(0,o).split(":"),u.username=r[0]?a.decode(r[0]):null,r.shift(),u.password=r[0]?a.decode(r.join(":")):null,e=t.substring(o+1)):(u.username=null,u.password=null),e},a.parseQuery=function(e,u){if(!e)return{};if(!(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var t,r,n,o={},i=e.split("&"),c=i.length,l=0;l<c;l++)t=i[l].split("="),r=a.decodeQuery(t.shift(),u),n=t.length?a.decodeQuery(t.join("="),u):null,"__proto__"!==r&&(s.call(o,r)?("string"!=typeof o[r]&&null!==o[r]||(o[r]=[o[r]]),o[r].push(n)):o[r]=n);return o},a.build=function(e){var u="",t=!1;return e.protocol&&(u+=e.protocol+":"),e.urn||!u&&!e.hostname||(u+="//",t=!0),u+=a.buildAuthority(e)||"","string"==typeof e.path&&("/"!==e.path.charAt(0)&&t&&(u+="/"),u+=e.path),"string"==typeof e.query&&e.query&&(u+="?"+e.query),"string"==typeof e.fragment&&e.fragment&&(u+="#"+e.fragment),u},a.buildHost=function(e){var u="";return e.hostname?(a.ip6_expression.test(e.hostname)?u+="["+e.hostname+"]":u+=e.hostname,e.port&&(u+=":"+e.port),u):""},a.buildAuthority=function(e){return a.buildUserinfo(e)+a.buildHost(e)},a.buildUserinfo=function(e){var u="";return e.username&&(u+=a.encode(e.username)),e.password&&(u+=":"+a.encode(e.password)),u&&(u+="@"),u},a.buildQuery=function(e,u,t){var r,n,o,i,c="";for(n in e)if("__proto__"!==n&&s.call(e,n))if(l(e[n]))for(r={},o=0,i=e[n].length;o<i;o++)void 0!==e[n][o]&&void 0===r[e[n][o]+""]&&(c+="&"+a.buildQueryParameter(n,e[n][o],t),!0!==u&&(r[e[n][o]+""]=!0));else void 0!==e[n]&&(c+="&"+a.buildQueryParameter(n,e[n],t));return c.substring(1)},a.buildQueryParameter=function(e,u,t){return a.encodeQuery(e,t)+(null!==u?"="+a.encodeQuery(u,t):"")},a.addQuery=function(e,u,t){if("object"==typeof u)for(var r in u)s.call(u,r)&&a.addQuery(e,r,u[r]);else{if("string"!=typeof u)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[u])return void(e[u]=t);"string"==typeof e[u]&&(e[u]=[e[u]]),l(t)||(t=[t]),e[u]=(e[u]||[]).concat(t)}},a.setQuery=function(e,u,t){if("object"==typeof u)for(var r in u)s.call(u,r)&&a.setQuery(e,r,u[r]);else{if("string"!=typeof u)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[u]=void 0===t?null:t}},a.removeQuery=function(e,u,t){var r,n,o;if(l(u))for(r=0,n=u.length;r<n;r++)e[u[r]]=void 0;else if("RegExp"===c(u))for(o in e)u.test(o)&&(e[o]=void 0);else if("object"==typeof u)for(o in u)s.call(u,o)&&a.removeQuery(e,o,u[o]);else{if("string"!=typeof u)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==t?"RegExp"===c(t)?!l(e[u])&&t.test(e[u])?e[u]=void 0:e[u]=D(e[u],t):e[u]!==String(t)||l(t)&&1!==t.length?l(e[u])&&(e[u]=D(e[u],t)):e[u]=void 0:e[u]=void 0}},a.hasQuery=function(e,u,t,r){switch(c(u)){case"String":break;case"RegExp":for(var n in e)if(s.call(e,n)&&u.test(n)&&(void 0===t||a.hasQuery(e,n,t)))return!0;return!1;case"Object":for(var o in u)if(s.call(u,o)&&!a.hasQuery(e,o,u[o]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(c(t)){case"Undefined":return u in e;case"Boolean":return t===Boolean(l(e[u])?e[u].length:e[u]);case"Function":return!!t(e[u],u,e);case"Array":return!!l(e[u])&&(r?p:d)(e[u],t);case"RegExp":return l(e[u])?!!r&&p(e[u],t):Boolean(e[u]&&e[u].match(t));case"Number":t=String(t);case"String":return l(e[u])?!!r&&p(e[u],t):e[u]===t;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},a.joinPaths=function(){for(var e=[],u=[],t=0,r=0;r<arguments.length;r++){var n=new a(arguments[r]);e.push(n);for(var o=n.segment(),s=0;s<o.length;s++)"string"==typeof o[s]&&u.push(o[s]),o[s]&&t++}if(!u.length||!t)return new a("");var i=new a("").segment(u);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||i.path("/"+i.path()),i.normalize()},a.commonPath=function(e,u){var t,r=Math.min(e.length,u.length);for(t=0;t<r;t++)if(e.charAt(t)!==u.charAt(t)){t--;break}return t<1?e.charAt(0)===u.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(t)&&"/"===u.charAt(t)||(t=e.substring(0,t).lastIndexOf("/")),e.substring(0,t+1))},a.withinString=function(e,u,t){t||(t={});var r=t.start||a.findUri.start,n=t.end||a.findUri.end,o=t.trim||a.findUri.trim,s=t.parens||a.findUri.parens,i=/[a-z0-9-]=["']?$/i;for(r.lastIndex=0;;){var c=r.exec(e);if(!c)break;var l=c.index;if(t.ignoreHtml){var D=e.slice(Math.max(l-3,0),l);if(D&&i.test(D))continue}for(var p=l+e.slice(l).search(n),d=e.slice(l,p),A=-1;;){var E=s.exec(d);if(!E)break;var C=E.index+E[0].length;A=Math.max(A,C)}if(!((d=A>-1?d.slice(0,A)+d.slice(A).replace(o,""):d.replace(o,"")).length<=c[0].length||t.ignore&&t.ignore.test(d))){var m=u(d,l,p=l+d.length,e);void 0!==m?(m=String(m),e=e.slice(0,l)+m+e.slice(p),r.lastIndex=l+m.length):r.lastIndex=p}}return r.lastIndex=0,e},a.ensureValidHostname=function(u,t){var r=!!u,n=!1;if(!!t&&(n=p(a.hostProtocols,t)),n&&!r)throw new TypeError("Hostname cannot be empty, if protocol is "+t);if(u&&u.match(a.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+u+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(u).match(a.invalid_hostname_characters))throw new TypeError('Hostname "'+u+'" contains characters other than [A-Z0-9.-:_]')}},a.ensureValidPort=function(e){if(e){var u=Number(e);if(!(/^[0-9]+$/.test(u)&&u>0&&u<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},a.noConflict=function(e){if(e){var u={URI:this.noConflict()};return r.URITemplate&&"function"==typeof r.URITemplate.noConflict&&(u.URITemplate=r.URITemplate.noConflict()),r.IPv6&&"function"==typeof r.IPv6.noConflict&&(u.IPv6=r.IPv6.noConflict()),r.SecondLevelDomains&&"function"==typeof r.SecondLevelDomains.noConflict&&(u.SecondLevelDomains=r.SecondLevelDomains.noConflict()),u}return r.URI===this&&(r.URI=n),this},o.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=a.build(this._parts),this._deferred_build=!1),this},o.clone=function(){return new a(this)},o.valueOf=o.toString=function(){return this.build(!1)._string},o.protocol=g("protocol"),o.username=g("username"),o.password=g("password"),o.hostname=g("hostname"),o.port=g("port"),o.query=y("query","?"),o.fragment=y("fragment","#"),o.search=function(e,u){var t=this.query(e,u);return"string"==typeof t&&t.length?"?"+t:t},o.hash=function(e,u){var t=this.fragment(e,u);return"string"==typeof t&&t.length?"#"+t:t},o.pathname=function(e,u){if(void 0===e||!0===e){var t=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?a.decodeUrnPath:a.decodePath)(t):t}return this._parts.urn?this._parts.path=e?a.recodeUrnPath(e):"":this._parts.path=e?a.recodePath(e):"/",this.build(!u),this},o.path=o.pathname,o.href=function(e,u){var t;if(void 0===e)return this.toString();this._string="",this._parts=a._parts();var r=e instanceof a,n="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[a.getDomAttribute(e)]||"",n=!1),!r&&n&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=a.parse(String(e),this._parts);else{if(!r&&!n)throw new TypeError("invalid input");var o=r?e._parts:e;for(t in o)"query"!==t&&s.call(this._parts,t)&&(this._parts[t]=o[t]);o.query&&this.query(o.query,!1)}return this.build(!u),this},o.is=function(e){var u=!1,r=!1,n=!1,o=!1,s=!1,i=!1,c=!1,l=!this._parts.urn;switch(this._parts.hostname&&(l=!1,r=a.ip4_expression.test(this._parts.hostname),n=a.ip6_expression.test(this._parts.hostname),s=(o=!(u=r||n))&&t&&t.has(this._parts.hostname),i=o&&a.idn_expression.test(this._parts.hostname),c=o&&a.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return l;case"absolute":return!l;case"domain":case"name":return o;case"sld":return s;case"ip":return u;case"ip4":case"ipv4":case"inet4":return r;case"ip6":case"ipv6":case"inet6":return n;case"idn":return i;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return c}return null};var B=o.protocol,v=o.port,b=o.hostname;o.protocol=function(e,u){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(a.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return B.call(this,e,u)},o.scheme=o.protocol,o.port=function(e,u){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),a.ensureValidPort(e))),v.call(this,e,u))},o.hostname=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var t={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==a.parseHost(e,t))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=t.hostname,this._parts.preventInvalidHostname&&a.ensureValidHostname(e,this._parts.protocol)}return b.call(this,e,u)},o.origin=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var t=this.protocol();return this.authority()?(t?t+"://":"")+this.authority():""}var r=a(e);return this.protocol(r.protocol()).authority(r.authority()).build(!u),this},o.host=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?a.buildHost(this._parts):"";if("/"!==a.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!u),this},o.authority=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?a.buildAuthority(this._parts):"";if("/"!==a.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!u),this},o.userinfo=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var t=a.buildUserinfo(this._parts);return t?t.substring(0,t.length-1):t}return"@"!==e[e.length-1]&&(e+="@"),a.parseUserinfo(e,this._parts),this.build(!u),this},o.resource=function(e,u){var t;return void 0===e?this.path()+this.search()+this.hash():(t=a.parse(e),this._parts.path=t.path,this._parts.query=t.query,this._parts.fragment=t.fragment,this.build(!u),this)},o.subdomain=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var t=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,t)||""}var r=this._parts.hostname.length-this.domain().length,n=this._parts.hostname.substring(0,r),o=new RegExp("^"+i(n));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&a.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(o,e),this.build(!u),this},o.domain=function(e,u){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(u=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var t=this._parts.hostname.match(/\./g);if(t&&t.length<2)return this._parts.hostname;var r=this._parts.hostname.length-this.tld(u).length-1;return r=this._parts.hostname.lastIndexOf(".",r-1)+1,this._parts.hostname.substring(r)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(a.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var n=new RegExp(i(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(n,e)}return this.build(!u),this},o.tld=function(e,u){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(u=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.lastIndexOf("."),n=this._parts.hostname.substring(r+1);return!0!==u&&t&&t.list[n.toLowerCase()]&&t.get(this._parts.hostname)||n}var a;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!t||!t.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');a=new RegExp(i(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(a,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");a=new RegExp(i(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(a,e)}return this.build(!u),this},o.directory=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var t=this._parts.path.length-this.filename().length-1,r=this._parts.path.substring(0,t)||(this._parts.hostname?"/":"");return e?a.decodePath(r):r}var n=this._parts.path.length-this.filename().length,o=this._parts.path.substring(0,n),s=new RegExp("^"+i(o));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=a.recodePath(e),this._parts.path=this._parts.path.replace(s,e),this.build(!u),this},o.filename=function(e,u){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var t=this._parts.path.lastIndexOf("/"),r=this._parts.path.substring(t+1);return e?a.decodePathSegment(r):r}var n=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(n=!0);var o=new RegExp(i(this.filename())+"$");return e=a.recodePath(e),this._parts.path=this._parts.path.replace(o,e),n?this.normalizePath(u):this.build(!u),this},o.suffix=function(e,u){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var t,r,n=this.filename(),o=n.lastIndexOf(".");return-1===o?"":(t=n.substring(o+1),r=/^[a-z0-9%]+$/i.test(t)?t:"",e?a.decodePathSegment(r):r)}"."===e.charAt(0)&&(e=e.substring(1));var s,c=this.suffix();if(c)s=e?new RegExp(i(c)+"$"):new RegExp(i("."+c)+"$");else{if(!e)return this;this._parts.path+="."+a.recodePath(e)}return s&&(e=a.recodePath(e),this._parts.path=this._parts.path.replace(s,e)),this.build(!u),this},o.segment=function(e,u,t){var r=this._parts.urn?":":"/",n=this.path(),a="/"===n.substring(0,1),o=n.split(r);if(void 0!==e&&"number"!=typeof e&&(t=u,u=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(a&&o.shift(),e<0&&(e=Math.max(o.length+e,0)),void 0===u)return void 0===e?o:o[e];if(null===e||void 0===o[e])if(l(u)){o=[];for(var s=0,i=u.length;s<i;s++)(u[s].length||o.length&&o[o.length-1].length)&&(o.length&&!o[o.length-1].length&&o.pop(),o.push(A(u[s])))}else(u||"string"==typeof u)&&(u=A(u),""===o[o.length-1]?o[o.length-1]=u:o.push(u));else u?o[e]=A(u):o.splice(e,1);return a&&o.unshift(""),this.path(o.join(r),t)},o.segmentCoded=function(e,u,t){var r,n,o;if("number"!=typeof e&&(t=u,u=e,e=void 0),void 0===u){if(l(r=this.segment(e,u,t)))for(n=0,o=r.length;n<o;n++)r[n]=a.decode(r[n]);else r=void 0!==r?a.decode(r):void 0;return r}if(l(u))for(n=0,o=u.length;n<o;n++)u[n]=a.encode(u[n]);else u="string"==typeof u||u instanceof String?a.encode(u):u;return this.segment(e,u,t)};var w=o.query;return o.query=function(e,u){if(!0===e)return a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof e){var t=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace),r=e.call(this,t);return this._parts.query=a.buildQuery(r||t,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!u),this}return void 0!==e&&"string"!=typeof e?(this._parts.query=a.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!u),this):w.call(this,e,u)},o.setQuery=function(e,u,t){var r=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof e||e instanceof String)r[e]=void 0!==u?u:null;else{if("object"!=typeof e)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var n in e)s.call(e,n)&&(r[n]=e[n])}return this._parts.query=a.buildQuery(r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(t=u),this.build(!t),this},o.addQuery=function(e,u,t){var r=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return a.addQuery(r,e,void 0===u?null:u),this._parts.query=a.buildQuery(r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(t=u),this.build(!t),this},o.removeQuery=function(e,u,t){var r=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return a.removeQuery(r,e,u),this._parts.query=a.buildQuery(r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(t=u),this.build(!t),this},o.hasQuery=function(e,u,t){var r=a.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return a.hasQuery(r,e,u,t)},o.setSearch=o.setQuery,o.addSearch=o.addQuery,o.removeSearch=o.removeQuery,o.hasSearch=o.hasQuery,o.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},o.normalizeProtocol=function(e){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},o.normalizeHostname=function(t){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&u&&(this._parts.hostname=u.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!t)),this},o.normalizePort=function(e){return"string"==typeof this._parts.protocol&&this._parts.port===a.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},o.normalizePath=function(e){var u,t=this._parts.path;if(!t)return this;if(this._parts.urn)return this._parts.path=a.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;var r,n,o="";for("/"!==(t=a.recodePath(t)).charAt(0)&&(u=!0,t="/"+t),"/.."!==t.slice(-3)&&"/."!==t.slice(-2)||(t+="/"),t=t.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),u&&(o=t.substring(1).match(/^(\.\.\/)+/)||"")&&(o=o[0]);-1!==(r=t.search(/\/\.\.(\/|$)/));)0!==r?(-1===(n=t.substring(0,r).lastIndexOf("/"))&&(n=r),t=t.substring(0,n)+t.substring(r+3)):t=t.substring(3);return u&&this.is("relative")&&(t=o+t.substring(1)),this._parts.path=t,this.build(!e),this},o.normalizePathname=o.normalizePath,o.normalizeQuery=function(e){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(a.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},o.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},o.normalizeSearch=o.normalizeQuery,o.normalizeHash=o.normalizeFragment,o.iso8859=function(){var e=a.encode,u=a.decode;a.encode=escape,a.decode=decodeURIComponent;try{this.normalize()}finally{a.encode=e,a.decode=u}return this},o.unicode=function(){var e=a.encode,u=a.decode;a.encode=C,a.decode=unescape;try{this.normalize()}finally{a.encode=e,a.decode=u}return this},o.readable=function(){var u=this.clone();u.username("").password("").normalize();var t="";if(u._parts.protocol&&(t+=u._parts.protocol+"://"),u._parts.hostname&&(u.is("punycode")&&e?(t+=e.toUnicode(u._parts.hostname),u._parts.port&&(t+=":"+u._parts.port)):t+=u.host()),u._parts.hostname&&u._parts.path&&"/"!==u._parts.path.charAt(0)&&(t+="/"),t+=u.path(!0),u._parts.query){for(var r="",n=0,o=u._parts.query.split("&"),s=o.length;n<s;n++){var i=(o[n]||"").split("=");r+="&"+a.decodeQuery(i[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==i[1]&&(r+="="+a.decodeQuery(i[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}t+="?"+r.substring(1)}return t+a.decodeQuery(u.hash(),!0)},o.absoluteTo=function(e){var u,t,r,n=this.clone(),o=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof a||(e=new a(e)),n._parts.protocol)return n;if(n._parts.protocol=e._parts.protocol,this._parts.hostname)return n;for(t=0;r=o[t];t++)n._parts[r]=e._parts[r];return n._parts.path?(".."===n._parts.path.substring(-2)&&(n._parts.path+="/"),"/"!==n.path().charAt(0)&&(u=(u=e.directory())||(0===e.path().indexOf("/")?"/":""),n._parts.path=(u?u+"/":"")+n._parts.path,n.normalizePath())):(n._parts.path=e._parts.path,n._parts.query||(n._parts.query=e._parts.query)),n.build(),n},o.relativeTo=function(e){var u,t,r,n,o,s=this.clone().normalize();if(s._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new a(e).normalize(),u=s._parts,t=e._parts,n=s.path(),o=e.path(),"/"!==n.charAt(0))throw new Error("URI is already relative");if("/"!==o.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(u.protocol===t.protocol&&(u.protocol=null),u.username!==t.username||u.password!==t.password)return s.build();if(null!==u.protocol||null!==u.username||null!==u.password)return s.build();if(u.hostname!==t.hostname||u.port!==t.port)return s.build();if(u.hostname=null,u.port=null,n===o)return u.path="",s.build();if(!(r=a.commonPath(n,o)))return s.build();var i=t.path.substring(r.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return u.path=i+u.path.substring(r.length)||"./",s.build()},o.equals=function(e){var u,t,r,n,o,i=this.clone(),c=new a(e),D={};if(i.normalize(),c.normalize(),i.toString()===c.toString())return!0;if(r=i.query(),n=c.query(),i.query(""),c.query(""),i.toString()!==c.toString())return!1;if(r.length!==n.length)return!1;for(o in u=a.parseQuery(r,this._parts.escapeQuerySpace),t=a.parseQuery(n,this._parts.escapeQuerySpace),u)if(s.call(u,o)){if(l(u[o])){if(!d(u[o],t[o]))return!1}else if(u[o]!==t[o])return!1;D[o]=!0}for(o in t)if(s.call(t,o)&&!D[o])return!1;return!0},o.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},o.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},o.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},a}))},2675:function(e,u,t){var r;e=t.nmd(e),function(){u&&u.nodeType,e&&e.nodeType;var n="object"==typeof t.g&&t.g;n.global!==n&&n.window!==n&&n.self;var a,o=2147483647,s=36,i=/^xn--/,c=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,D={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,d=String.fromCharCode;function A(e){throw new RangeError(D[e])}function E(e,u){for(var t=e.length,r=[];t--;)r[t]=u(e[t]);return r}function C(e,u){var t=e.split("@"),r="";return t.length>1&&(r=t[0]+"@",e=t[1]),r+E((e=e.replace(l,".")).split("."),u).join(".")}function m(e){for(var u,t,r=[],n=0,a=e.length;n<a;)(u=e.charCodeAt(n++))>=55296&&u<=56319&&n<a?56320==(64512&(t=e.charCodeAt(n++)))?r.push(((1023&u)<<10)+(1023&t)+65536):(r.push(u),n--):r.push(u);return r}function F(e){return E(e,(function(e){var u="";return e>65535&&(u+=d((e-=65536)>>>10&1023|55296),e=56320|1023&e),u+d(e)})).join("")}function h(e,u){return e+22+75*(e<26)-((0!=u)<<5)}function f(e,u,t){var r=0;for(e=t?p(e/700):e>>1,e+=p(e/u);e>455;r+=s)e=p(e/35);return p(r+36*e/(e+38))}function g(e){var u,t,r,n,a,i,c,l,D,d,E,C=[],m=e.length,h=0,g=128,y=72;for((t=e.lastIndexOf("-"))<0&&(t=0),r=0;r<t;++r)e.charCodeAt(r)>=128&&A("not-basic"),C.push(e.charCodeAt(r));for(n=t>0?t+1:0;n<m;){for(a=h,i=1,c=s;n>=m&&A("invalid-input"),((l=(E=e.charCodeAt(n++))-48<10?E-22:E-65<26?E-65:E-97<26?E-97:s)>=s||l>p((o-h)/i))&&A("overflow"),h+=l*i,!(l<(D=c<=y?1:c>=y+26?26:c-y));c+=s)i>p(o/(d=s-D))&&A("overflow"),i*=d;y=f(h-a,u=C.length+1,0==a),p(h/u)>o-g&&A("overflow"),g+=p(h/u),h%=u,C.splice(h++,0,g)}return F(C)}function y(e){var u,t,r,n,a,i,c,l,D,E,C,F,g,y,B,v=[];for(F=(e=m(e)).length,u=128,t=0,a=72,i=0;i<F;++i)(C=e[i])<128&&v.push(d(C));for(r=n=v.length,n&&v.push("-");r<F;){for(c=o,i=0;i<F;++i)(C=e[i])>=u&&C<c&&(c=C);for(c-u>p((o-t)/(g=r+1))&&A("overflow"),t+=(c-u)*g,u=c,i=0;i<F;++i)if((C=e[i])<u&&++t>o&&A("overflow"),C==u){for(l=t,D=s;!(l<(E=D<=a?1:D>=a+26?26:D-a));D+=s)B=l-E,y=s-E,v.push(d(h(E+B%y,0))),l=p(B/y);v.push(d(h(l,0))),a=f(t,g,r==n),t=0,++r}++t,++u}return v.join("")}a={version:"1.3.2",ucs2:{decode:m,encode:F},decode:g,encode:y,toASCII:function(e){return C(e,(function(e){return c.test(e)?"xn--"+y(e):e}))},toUnicode:function(e){return C(e,(function(e){return i.test(e)?g(e.slice(4).toLowerCase()):e}))}},void 0===(r=function(){return a}.call(u,t,u,e))||(e.exports=r)}()},5237:(e,u,t)=>{"use strict";const r=t(3686),n=t(1861),a=t(5477),o=t(5430),s=t(4404),i=t(8088),c=t(9869),l=t(8058),D=t(953),p=t(6341),d=t(8171),A=t(7337),E=t(3218),C=t(745),m=t(7189),F=t(3135),h=t(8968),f=t(7046),g=t(9852),y=t(1529),B=t(2302),v=t(6099),b=t(6375),w=t(1976),T=t(516),$=t(2523),I=t(9259),M=t(6113),O=t(7755),S=t(1595),N=t(2438),x=t(4471),P=t(6226),R=t(9481),L=t(3673),_=t(1768),k=t(6803),j=t(6033),V=t(7624),U=t(7662),Q=t(3899),z=t(8330);e.exports={SecurityException:r,IllegalModelException:n,TypeNotFoundException:a,MetamodelException:o,Decorator:s,DecoratorFactory:i,DecoratorManager:j,ClassDeclaration:c,IdentifiedDeclaration:l,AssetDeclaration:D,ConceptDeclaration:p,EnumValueDeclaration:d,EventDeclaration:A,ParticipantDeclaration:E,TransactionDeclaration:C,ScalarDeclaration:m,MapDeclaration:F,MapKeyType:h,MapValueType:f,Property:g,Field:y,EnumDeclaration:B,RelationshipDeclaration:v,Validator:b,NumberValidator:w,StringValidator:T,Typed:$,Identifiable:I,Relationship:M,Resource:O,Factory:S,Globalize:N,Introspector:x,ModelFile:P,ModelManager:R,Serializer:L,ModelUtil:_,ModelLoader:k,DateTimeUtil:V,Concerto:U,MetaModel:Q,version:z}},7833:(e,u,t)=>{var r=t(9907);u.formatArgs=function(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const t="color: "+this.color;u.splice(1,0,t,"color: inherit");let r=0,n=0;u[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),u.splice(n,0,t)},u.save=function(e){try{e?u.storage.setItem("debug",e):u.storage.removeItem("debug")}catch(e){}},u.load=function(){let e;try{e=u.storage.getItem("debug")}catch(e){}return!e&&void 0!==r&&"env"in r&&(e={NODE_ENV:"production"}.DEBUG),e},u.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},u.storage=function(){try{return localStorage}catch(e){}}(),u.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],u.log=console.debug||console.log||(()=>{}),e.exports=t(736)(u);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,u,t)=>{e.exports=function(e){function u(e){let t,n,a,o=null;function s(...e){if(!s.enabled)return;const r=s,n=Number(new Date),a=n-(t||n);r.diff=a,r.prev=t,r.curr=n,t=n,e[0]=u.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((t,n)=>{if("%%"===t)return"%";o++;const a=u.formatters[n];if("function"==typeof a){const u=e[o];t=a.call(r,u),e.splice(o,1),o--}return t})),u.formatArgs.call(r,e),(r.log||u.log).apply(r,e)}return s.namespace=e,s.useColors=u.useColors(),s.color=u.selectColor(e),s.extend=r,s.destroy=u.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(n!==u.namespaces&&(n=u.namespaces,a=u.enabled(e)),a),set:e=>{o=e}}),"function"==typeof u.init&&u.init(s),s}function r(e,t){const r=u(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return u.debug=u,u.default=u,u.coerce=function(e){return e instanceof Error?e.stack||e.message:e},u.disable=function(){const e=[...u.names.map(n),...u.skips.map(n).map((e=>"-"+e))].join(",");return u.enable(""),e},u.enable=function(e){let t;u.save(e),u.namespaces=e,u.names=[],u.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length;for(t=0;t<n;t++)r[t]&&("-"===(e=r[t].replace(/\*/g,".*?"))[0]?u.skips.push(new RegExp("^"+e.slice(1)+"$")):u.names.push(new RegExp("^"+e+"$")))},u.enabled=function(e){if("*"===e[e.length-1])return!0;let t,r;for(t=0,r=u.skips.length;t<r;t++)if(u.skips[t].test(e))return!1;for(t=0,r=u.names.length;t<r;t++)if(u.names[t].test(e))return!0;return!1},u.humanize=t(7250),u.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((t=>{u[t]=e[t]})),u.names=[],u.skips=[],u.formatters={},u.selectColor=function(e){let t=0;for(let u=0;u<e.length;u++)t=(t<<5)-t+e.charCodeAt(u),t|=0;return u.colors[Math.abs(t)%u.colors.length]},u.enable(u.load()),u}},9967:(e,u,t)=>{var r,n=t(9907);self,r=()=>{return e={348:(e,u,t)=>{"use strict";const r=t(954);e.exports={MetaModelUtil:r,MetaModelNamespace:"concerto.metamodel@1.0.0"}},702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},954:(e,u,t)=>{"use strict";const r=t(865),n="concerto.metamodel@1.0.0",a=t(702);function o(e,u){return e.declarations.find((e=>e.name===u))}function s(e,u){if(!u[e])throw new Error(`Name ${e} not found`);return u[e].namespace}function i(e,u){switch((e.decorators||[]).forEach((e=>{i(e,u)})),e.$class){case`${n}.Model`:(e.declarations||[]).forEach((e=>{i(e,u)}));break;case`${n}.AssetDeclaration`:case`${n}.ConceptDeclaration`:case`${n}.EventDeclaration`:case`${n}.TransactionDeclaration`:case`${n}.ParticipantDeclaration`:if(e.superType){const t=e.superType.name;e.superType.namespace=s(t,u),e.superType.name=u[t].name}(e.properties||[]).forEach((e=>{i(e,u)}));break;case`${n}.MapDeclaration`:i(e.key,u),i(e.value,u);break;case`${n}.Decorator`:(e.arguments||[]).forEach((e=>{i(e,u)}));break;case`${n}.EnumProperty`:case`${n}.ObjectProperty`:case`${n}.RelationshipProperty`:case`${n}.DecoratorTypeReference`:case`${n}.ObjectMapKeyType`:case`${n}.ObjectMapValueType`:e.type.namespace=s(e.type.name,u),e.type.name=u[e.type.name].name;break;case`${n}.StringScalar`:case`${n}.BooleanScalar`:case`${n}.DateTimeScalar`:case`${n}.DoubleScalar`:case`${n}.LongScalar`:case`${n}.IntegerScalar`:e.namespace=s(e.name,u),e.name=u[e.name].name}return e}function c(e,u){const t=JSON.parse(JSON.stringify(u)),r=function(e,u){const t="concerto@1.0.0",r={Concept:{namespace:t,name:"Concept"},Asset:{namespace:t,name:"Asset"},Participant:{namespace:t,name:"Participant"},Transaction:{namespace:t,name:"Transaction"},Event:{namespace:t,name:"Event"}};return(u.imports||[]).forEach((u=>{const t=u.namespace,a=function(e,u){return e.models.find((e=>e.namespace===u))}(e,t);if(u.$class===`${n}.ImportType`){if(!o(a,u.name))throw new Error(`Declaration ${u.name} in namespace ${t} not found`);r[u.name]={namespace:t,name:u.name}}else if(u.$class===`${n}.ImportTypes`){const e=u.aliasedTypes?new Map(u.aliasedTypes.map((({name:e,aliasedName:u})=>[e,u]))):new Map;u.types.forEach((u=>{const n=e.get(u)||u;if(!o(a,u))throw new Error(`Declaration ${u} in namespace ${t} not found`);r[n]={namespace:t,name:u}}))}else(a.declarations||[]).forEach((e=>{r[e.name]={namespace:t,name:e.name}}))})),(u.declarations||[]).forEach((e=>{r[e.name]={namespace:u.namespace,name:e.name}})),r}(e,u);return i(t,r),t}function l(e){const u=[];switch(e.$class){case`${n}.ImportAll`:u.push(`${e.namespace}.*`);break;case`${n}.ImportType`:u.push(`${e.namespace}.${e.name}`);break;case`${n}.ImportTypes`:e.types.forEach((t=>{u.push(`${e.namespace}.${t}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return u}e.exports={metaModelAst:r,metaModelCto:a,resolveLocalNames:c,resolveLocalNamesForAll:function(e){const u={$class:`${n}.Models`,models:[]};return e.models.forEach((t=>{const r=c(e,t);u.models.push(r)})),u},importFullyQualifiedNames:l,getExternalImports:function(e){const u={};return e.imports&&e.imports.forEach((e=>{const t=l(e);e.uri&&(u[t[0]]=e.uri)})),u}}},573:(e,u,t)=>{"use strict";const r=t(187);e.exports=r.PromisePool},160:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.PromisePoolError=void 0;class t extends Error{constructor(e,u){super(),this.item=u,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,u){return new this(e,u)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}u.PromisePoolError=t},241:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.PromisePoolExecutor=void 0;const r=t(160);u.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const u=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(u),1)})).catch((t=>{if(this.tasks.splice(this.tasks.indexOf(u),1),this.errorHandler)return this.errorHandler(t,e);this.errors.push(r.PromisePoolError.createFrom(t,e))}));this.tasks.push(u)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},187:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.PromisePool=void 0;const r=t(241);class n{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new n(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new r.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}u.PromisePool=n},548:(e,u,t)=>{"use strict";const r=t(558),{DefaultFileLoader:n,FileDownloader:a}=t(20),o=t(833)("concerto:ModelManager"),s=t(206),{MetaModelUtil:i,MetaModelNamespace:c}=t(348);e.exports={resolveExternal:async function(e,u,t){o("updateExternalModels","updateExternalModels",u),t||(t=new a(new n(((e,u)=>{if(".cto"===r.extname(e))return s.parse(u);throw new Error("External model file references are expected to have a .cto extension")})),i.getExternalImports));const l=await t.downloadExternalDependencies(e.models,u);let D=e;return l.forEach((e=>{D=function(e,u){const t={$class:"".concat(c,".Models"),models:[]},r=u.namespace,n=e.models;let a=!1;return n.forEach(((e,n)=>{e.namespace===r?(t.models.push(u),a=!0):t.models.push(e)})),a||t.models.push(u),t}(D,e)})),D}}},713:(e,u,t)=>{"use strict";const{BaseFileException:r}=t(20);e.exports=class extends r{constructor(e,u,t,r,n){let a=e,o="";t&&(o+=" File "+t),u&&(u.end&&u.start&&u.end.offset&&u.start.offset&&u.end.offset-u.start.offset==1&&(u.end.column=u.start.column,u.end.offset=u.start.offset),o+=o?" line "+u.start.line+" column "+u.start.column:" Line "+u.start.line+" column "+u.start.column),a+=o,super(e,u,r||a,t,n)}}},206:e=>{"use strict";function u(e,u){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);u&&(r=r.filter((function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable}))),t.push.apply(t,r)}return t}function t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(u){r(e,u,n[u])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(u){Object.defineProperty(e,u,Object.getOwnPropertyDescriptor(n,u))}))}return e}function r(e,u,t){return(u=function(e){var u=function(e){if("object"!=typeof e||!e)return e;var u=e[Symbol.toPrimitive];if(void 0!==u){var t=u.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof u?u:u+""}(u))in e?Object.defineProperty(e,u,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[u]=t,e}function n(e,u,t,r){var a=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(a,n.prototype),a.expected=u,a.found=t,a.location=r,a.name="SyntaxError",a}function a(e,u,t){return t=t||" ",e.length>u?e:(u-=e.length,e+(t+=t.repeat(u)).slice(0,u))}!function(e,u){function t(){this.constructor=e}t.prototype=u.prototype,e.prototype=new t}(n,Error),n.prototype.format=function(e){var u="Error: "+this.message;if(this.location){var t,r=null;for(t=0;t<e.length;t++)if(e[t].source===this.location.source){r=e[t].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(n):n,s=this.location.source+":"+o.line+":"+o.column;if(r){var i=this.location.end,c=a("",o.line.toString().length," "),l=r[n.line-1],D=(n.line===i.line?i.column:l.length+1)-n.column||1;u+="\n --\x3e "+s+"\n"+c+" |\n"+o.line+" | "+l+"\n"+c+" | "+a("",n.column-1," ")+a("",D,"^")}else u+="\n at "+s}return u},n.buildMessage=function(e,u){var t={literal:function(e){return'"'+n(e.text)+'"'},class:function(e){var u=e.parts.map((function(e){return Array.isArray(e)?a(e[0])+"-"+a(e[1]):a(e)}));return"["+(e.inverted?"^":"")+u.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function r(e){return e.charCodeAt(0).toString(16).toUpperCase()}function n(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function a(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function o(e){return t[e.type](e)}return"Expected "+function(e){var u,t,r=e.map(o);if(r.sort(),r.length>0){for(u=1,t=1;u<r.length;u++)r[u-1]!==r[u]&&(r[t]=r[u],t++);r.length=t}switch(r.length){case 1:return r[0];case 2:return r[0]+" or "+r[1];default:return r.slice(0,-1).join(", ")+", or "+r[r.length-1]}}(e)+" but "+function(e){return e?'"'+n(e)+'"':"end of input"}(u)+" found."},e.exports={StartRules:["Start"],SyntaxError:n,parse:function(e,u){var r,a={},o=(u=void 0!==u?u:{}).grammarSource,s={Start:Ma},i=Ma,c="\n",l="\r\n",D="/*",p="*/",d="//",A="\\",E=".",C="0",m="e",F="0x",h='"',f="'",g="b",y="f",B="n",v="r",b="t",w="v",T="x",$="u",I="/",M="[",O="]",S="enum",N="map",x="false",P="import",R="true",L="as",_="}",k="%",j=":",V="?",U="#",Q="@",z="::",H="25",W="2",G="1",q="-",J="+",K="concerto",Y="version",X="namespace",Z="abstract",ee="concept",ue="asset",te="transaction",re="event",ne="participant",ae="scalar",oe="from",se="*",ie="Integer",ce="Double",le="Long",De="String",pe="DateTime",de="Boolean",Ae="identified by",Ee="identified",Ce="[]",me="(",Fe=",",he=")",fe="extends",ge="{",ye="optional",Be="default",ve="=",be="o",we="regex",Te="length",$e="range",Ie="--\x3e",Me=".{",Oe=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,Se=/^[\n\r\u2028\u2029]/,Ne=/^[\r\u2028-\u2029]/,xe=/^[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD-\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0-\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Pe=/^[0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B-\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1885-\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880-\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,Re=/^[+\-]/,Le=/^[0-9]/,_e=/^[1-9]/,ke=/^[0-9a-f]/i,je=/^[\n\r"\\\u2028-\u2029]/,Ve=/^[\n\r'\\\u2028-\u2029]/,Ue=/^["'\\]/,Qe=/^[0-9ux]/,ze=/^[*\\\/[]/,He=/^[\\\/[]/,We=/^[\]\\]/,Ge=/^[A-Za-z]/,qe=/^[A-F]/i,Je=/^[\--.0-9A-Z_a-z~]/,Ke=/^[+\--.0-9A-Za-z]/,Ye=/^[!$&-,:-;=]/,Xe=/^[\--.0-:A-Z_a-z~]/,Ze=/^[0-5]/,eu=/^[0-4]/,uu=/^[!$&-,:-;=@]/,tu=/^[\/?]/,ru=/^[a-z0-9\-]/i,nu=/^[a-z\-]/i,au={type:"any"},ou=wa("whitespace"),su=ba(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),iu=ba(["\n","\r","\u2028","\u2029"],!1,!1),cu=wa("end of line"),lu=va("\n",!1),Du=va("\r\n",!1),pu=ba(["\r",["\u2028","\u2029"]],!1,!1),du=wa("comment"),Au=va("/*",!1),Eu=va("*/",!1),Cu=va("//",!1),mu=wa("identifier"),Fu=ba(["$",["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),hu=va("\\",!1),fu=ba([["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ຼ"],["່","໎"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠏","᠙"],["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["",""],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣐","꣙"],["꣠","꣱"],["ꣿ","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),gu=(ba([["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),ba([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],"ႏ",["ႚ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᯦","᯳"],["ᰤ","᰷"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],"ꧥ",["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],"ﬞ",["︀","️"],["︠","︯"]],!1,!1),wa("number")),yu=va(".",!1),Bu=ba(["+","-"],!1,!1),vu=va("0",!1),bu=ba([["0","9"]],!1,!1),wu=ba([["1","9"]],!1,!1),Tu=va("e",!0),$u=va("0x",!0),Iu=ba([["0","9"],["a","f"]],!1,!0),Mu=wa("string"),Ou=va('"',!1),Su=va("'",!1),Nu=ba(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),xu=ba(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Pu=ba(['"',"'","\\"],!1,!1),Ru=va("b",!1),Lu=va("f",!1),_u=va("n",!1),ku=va("r",!1),ju=va("t",!1),Vu=va("v",!1),Uu=ba([["0","9"],"u","x"],!1,!1),Qu=va("x",!1),zu=va("u",!1),Hu=wa("regular expression"),Wu=va("/",!1),Gu=ba(["*","\\","/","["],!1,!1),qu=ba(["\\","/","["],!1,!1),Ju=va("[",!1),Ku=va("]",!1),Yu=ba(["]","\\"],!1,!1),Xu=(ba([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ՠ","ֈ"],["ა","ჺ"],["ჽ","ჿ"],["ᏸ","ᏽ"],["ᲀ","ᲈ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱟ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞯ","ꞵ","ꞷ","ꞹ","ꞻ","ꞽ","ꞿ","ꟁ","ꟃ","ꟈ","ꟊ","ꟑ","ꟓ","ꟕ","ꟗ","ꟙ","ꟶ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭨ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),ba([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ࣉ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟲ","ꟴ"],["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ꭩ","ー",["゙","゚"]],!1,!1),ba(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["ׯ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣈ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ᄀ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),ba(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),ba([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],["Ა","Ჺ"],["Ჽ","Ჿ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱟ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɪ"],["Ʞ","Ꞵ"],"Ꞷ","Ꞹ","Ꞻ","Ꞽ","Ꞿ","Ꟁ","Ꟃ",["Ꞔ","Ꟈ"],"Ꟊ","Ꟑ","Ꟗ","Ꟙ","Ꟶ",["A","Z"]],!1,!1),ba(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],"ೳ",["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"᜕","᜴","ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡","᳷",["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦾ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),ba([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],"৾",["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],["ૺ","૿"],"ଁ","଼","ି",["ୁ","ୄ"],"୍",["୕","ୖ"],["ୢ","ୣ"],"ஂ","ீ","்","ఀ","ఄ","఼",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],["ഀ","ഁ"],["഻","഼"],["ു","ൄ"],"്",["ൢ","ൣ"],"ඁ","්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","ᜳ"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꠬",["꣄","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],["ꦼ","ꦽ"],"ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),ba([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),ba([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),ba(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),ba([" "," "," ",[" "," "]," "," "," "],!1,!1),va("enum",!1)),Zu=va("map",!1),et=va("false",!1),ut=va("import",!1),tt=(va("null",!1),va("true",!1)),rt=va("as",!1),nt=(va(";",!1),va("}",!1)),at=ba([["A","Z"],["a","z"]],!1,!1),ot=(ba([["0","1"]],!1,!1),ba([["",""]],!1,!1),va("\r",!1),ba([["\0",""],""],!1,!1),ba(['"'],!1,!1),ba([["A","F"]],!1,!0)),st=(va("\t",!1),ba([["\0","ÿ"]],!1,!1),va(" ",!1),ba([["!","~"]],!1,!1),ba(["\t"," "],!1,!1),va("%",!1)),it=(ba(["!",["#","$"],["&",","],"/",[":",";"],"=",["?","@"],"[","]"],!1,!1),ba(["#","/",":",["?","@"],"[","]"],!1,!1),ba(["!","$",["&",","],";","="],!1,!1),ba([["-","."],["0","9"],["A","Z"],"_",["a","z"],"~"],!1,!1)),ct=va(":",!1),lt=va("?",!1),Dt=va("#",!1),pt=ba(["+",["-","."],["0","9"],["A","Z"],["a","z"]],!1,!1),dt=va("@",!1),At=ba(["!","$",["&",","],[":",";"],"="],!1,!1),Et=ba([["-","."],["0",":"],["A","Z"],"_",["a","z"],"~"],!1,!1),Ct=va("::",!1),mt=va("25",!1),Ft=ba([["0","5"]],!1,!1),ht=va("2",!1),ft=ba([["0","4"]],!1,!1),gt=va("1",!1),yt=(ba(["!","$",["&",","],";","=","@"],!1,!1),ba(["!","$",["&",","],[":",";"],"=","@"],!1,!1)),Bt=ba(["/","?"],!1,!1),vt=va("-",!1),bt=va("+",!1),wt=ba([["a","z"],["0","9"],"-"],!1,!0),Tt=ba([["a","z"],"-"],!1,!0),$t=va("concerto",!1),It=va("version",!1),Mt=va("namespace",!1),Ot=va("abstract",!1),St=va("concept",!1),Nt=va("asset",!1),xt=va("transaction",!1),Pt=va("event",!1),Rt=va("participant",!1),Lt=va("scalar",!1),_t=va("from",!1),kt=va("*",!1),jt=va("Integer",!1),Vt=va("Double",!1),Ut=va("Long",!1),Qt=va("String",!1),zt=va("DateTime",!1),Ht=va("Boolean",!1),Wt=va("identified by",!1),Gt=va("identified",!1),qt=va("[]",!1),Jt=va("(",!1),Kt=va(",",!1),Yt=va(")",!1),Xt=va("extends",!1),Zt=va("{",!1),er=va("optional",!1),ur=va("default",!1),tr=va("=",!1),rr=va("o",!1),nr=va("regex",!1),ar=va("length",!1),or=va("range",!1),sr=va("--\x3e",!1),ir=va(".{",!1),cr=function(e){return e},lr=function(e){return e},Dr=function(e,u){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e+u.join("")}},pr=function(e){return e},dr=function(){return{type:"Literal",value:!0}},Ar=function(){return{type:"Literal",value:!1}},Er=function(e){return e},Cr=function(e){return e},mr=function(){return{type:"Literal",value:parseFloat(ya())}},Fr=function(){return{type:"Literal",value:parseFloat(ya())}},hr=function(){return{type:"Literal",value:parseFloat(ya())}},fr=function(){return{type:"Literal",value:parseFloat(ya())}},gr=function(e){return{type:"Literal",value:parseInt(e,16)}},yr=function(e){return{type:"Literal",value:e.join("")}},Br=function(e){return{type:"Literal",value:e.join("")}},vr=function(){return ya()},br=function(e){return e},wr=function(){return ya()},Tr=function(e){return e},$r=function(){return""},Ir=function(){return"\0"},Mr=function(){return"\b"},Or=function(){return"\f"},Sr=function(){return"\n"},Nr=function(){return"\r"},xr=function(){return"\t"},Pr=function(){return"\v"},Rr=function(){return ya()},Lr=function(e){return String.fromCharCode(parseInt(e,16))},_r=function(e){return String.fromCharCode(parseInt(e,16))},kr=function(e,u){return{$class:"".concat(ls,".StringRegexValidator"),pattern:e,flags:u}},jr=function(e,u,t){return{versionCore:e,pre:u,build:t}},Vr=function(e,u,t){return{major:parseInt(e,10),minor:parseInt(u,10),patch:parseInt(t,10)}},Ur=function(e,u){return[e,...u]},Qr=function(e,u){return[e,...u]},zr=function(){return"Integer"},Hr=function(){return"Double"},Wr=function(){return"Long"},Gr=function(){return"String"},qr=function(){return"DateTime"},Jr=function(){return"Boolean"},Kr=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},Yr=function(e,u){return e+u},Xr=function(e){return{$class:"concerto.metamodel@1.0.0.IdentifiedBy",name:e.name}},Zr=function(){return{$class:"concerto.metamodel@1.0.0.Identified"}},en=function(e){return t({$class:"concerto.metamodel@1.0.0.DecoratorString",value:e.value},As(Ba()))},un=function(e){return t({$class:"concerto.metamodel@1.0.0.DecoratorNumber",value:+e},As(Ba()))},tn=function(e){return t({$class:"concerto.metamodel@1.0.0.DecoratorBoolean",value:"true"==e},As(Ba()))},rn=function(e,u){return t({$class:"concerto.metamodel@1.0.0.DecoratorTypeReference",type:e,isArray:!!u},As(Ba()))},nn=function(e){return e},an=function(e,u){return u?e.concat(u):[]},on=function(e,u){const r=t({$class:"concerto.metamodel@1.0.0.Decorator",name:e},As(Ba()));return u&&(r.arguments=u),r},sn=function(e){return e},cn=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},ln=function(e,u,r,n,a,o){const s=t({$class:"concerto.metamodel@1.0.0.AssetDeclaration",name:r.name,isAbstract:ds(u),properties:o.declarations},As(Ba()));if(a){if(a.name===r.name)throw new Error('The asset "'.concat(r.name,'" cannot extend itself.'));s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},Dn=function(e,u,r,n,a,o){const s=t({$class:"concerto.metamodel@1.0.0.ParticipantDeclaration",name:r.name,isAbstract:ds(u),properties:o.declarations},As(Ba()));if(a){if(a.name===r.name)throw new Error('The participant "'.concat(r.name,'" cannot extend itself.'));s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},pn=function(e,u,r,n,a,o){const s=t({$class:"concerto.metamodel@1.0.0.TransactionDeclaration",name:r.name,isAbstract:ds(u),properties:o.declarations},As(Ba()));if(a){if(a.name===r.name)throw new Error('The transaction "'.concat(r.name,'" cannot extend itself.'));s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},dn=function(e,u,r,n,a,o){const s=t({$class:"concerto.metamodel@1.0.0.EventDeclaration",name:r.name,isAbstract:ds(u),properties:o.declarations},As(Ba()));if(a){if(a.name===r.name)throw new Error('The event "'.concat(r.name,'" cannot extend itself.'));s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},An=function(e,u,r,n,a,o){const s=t({$class:"concerto.metamodel@1.0.0.ConceptDeclaration",name:r.name,isAbstract:ds(u),properties:o.declarations},As(Ba()));if(a){if(a.name===r.name)throw new Error('The concept "'.concat(r.name,'" cannot extend itself.'));s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},En=function(e){const u={$class:"concerto.metamodel@1.0.0.BooleanScalar"};return e&&(u.defaultValue="true"===e),u},Cn=function(e,u){const t={$class:"concerto.metamodel@1.0.0.IntegerScalar"};return e&&(t.defaultValue=parseInt(e)),u&&(t.validator=u),t},mn=function(e,u){const t={$class:"concerto.metamodel@1.0.0.LongScalar"};return e&&(t.defaultValue=parseInt(e)),u&&(t.validator=u),t},Fn=function(e,u){const t={$class:"concerto.metamodel@1.0.0.DoubleScalar"};return e&&(t.defaultValue=parseFloat(e)),u&&(t.validator=u),t},hn=function(e,u,t){const r={$class:"concerto.metamodel@1.0.0.StringScalar"};return e&&(r.defaultValue=e),u&&(r.validator=u),t&&(r.lengthValidator=t),r},fn=function(e){return{$class:"concerto.metamodel@1.0.0.DateTimeScalar",defaultValue:e}},gn=function(e,u,r){const n=t(t({},r),{},{name:u.name},As(Ba()));return e.length>0&&(n.decorators=e),n},yn=function(){return{type:"Optional"}},Bn=function(e){return e.value},vn=function(e){return e},bn=function(e){return e},wn=function(e){return e},Tn=function(e){return t({type:"ClassDeclarationBody",declarations:ps(e)},As(Ba()))},$n=function(e,u,r,n,a,o){const s=t({$class:"concerto.metamodel@1.0.0.ObjectProperty",name:n.name,type:u,isArray:ds(r),isOptional:ds(o)},As(Ba()));return a&&(s.defaultValue=a),e.length>0&&(s.decorators=e),s},In=function(e,u,r,n,a){const o=t({$class:"concerto.metamodel@1.0.0.BooleanProperty",name:r.name,isArray:ds(u),isOptional:ds(a)},As(Ba()));return n&&(o.defaultValue="true"===n),e.length>0&&(o.decorators=e),o},Mn=function(e,u,r,n,a){const o=t({$class:"concerto.metamodel@1.0.0.DateTimeProperty",name:r.name,isArray:ds(u),isOptional:ds(a)},As(Ba()));return n&&(o.defaultValue=n),e.length>0&&(o.decorators=e),o},On=function(e,u,r,n,a,o,s){const i=t({$class:"concerto.metamodel@1.0.0.StringProperty",name:r.name,isArray:ds(u),isOptional:ds(s)},As(Ba()));return n&&(i.defaultValue=n),e.length>0&&(i.decorators=e),a&&(i.validator=a),o&&(i.lengthValidator=o),i},Sn=function(e){return e},Nn=function(e,u){const t={$class:"".concat(ls,".StringLengthValidator")};return e&&(t.minLength=parseInt(e)),u&&(t.maxLength=parseInt(u)),t},xn=function(e,u){const t={$class:"".concat(ls,".DoubleDomainValidator")};return e&&(t.lower=parseFloat(e)),u&&(t.upper=parseFloat(u)),t},Pn=function(e,u){const t={$class:"".concat(ls,".IntegerDomainValidator")};return e&&(t.lower=parseInt(e)),u&&(t.upper=parseInt(u)),t},Rn=function(e,u){const t={$class:"".concat(ls,".LongDomainValidator")};return e&&(t.lower=parseInt(e)),u&&(t.upper=parseInt(u)),t},Ln=function(e,u,r,n,a,o,s){const i=t({$class:"concerto.metamodel@1.0.0.DoubleProperty",name:n.name,isArray:ds(r),isOptional:ds(s)},As(Ba()));return a&&(i.defaultValue=parseFloat(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},_n=function(e,u,r,n,a,o,s){const i=t({$class:"concerto.metamodel@1.0.0.IntegerProperty",name:n.name,isArray:ds(r),isOptional:ds(s)},As(Ba()));return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},kn=function(e,u,r,n,a,o,s){const i=t({$class:"concerto.metamodel@1.0.0.LongProperty",name:n.name,isArray:ds(r),isOptional:ds(s)},As(Ba()));return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},jn=function(e,u,r){const n=t({$class:"concerto.metamodel@1.0.0.MapDeclaration",name:u.name,key:r.declarations[0],value:r.declarations[1]},As(Ba()));return e.length>0&&(n.decorators=e),n},Vn=function(e,u){return{type:"MapDeclarationBody",declarations:ps([e,u])}},Un=function(e){const u=t({$class:"concerto.metamodel@1.0.0.StringMapKeyType"},As(Ba()));return e.length>0&&(u.decorators=e),u},Qn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.DateTimeMapKeyType"},As(Ba()));return e.length>0&&(u.decorators=e),u},zn=function(e,u){const r=t({$class:"concerto.metamodel@1.0.0.ObjectMapKeyType",type:u},As(Ba()));return e.length>0&&(r.decorators=e),r},Hn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.BooleanMapValueType"},As(Ba()));return e.length>0&&(u.decorators=e),u},Wn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.DateTimeMapValueType"},As(Ba()));return e.length>0&&(u.decorators=e),u},Gn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.StringMapValueType"},As(Ba()));return e.length>0&&(u.decorators=e),u},qn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.IntegerMapValueType"},As(Ba()));return e.length>0&&(u.decorators=e),u},Jn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.LongMapValueType"},As(Ba()));return e.length>0&&(u.decorators=e),u},Kn=function(e){const u=t({$class:"concerto.metamodel@1.0.0.DoubleMapValueType"},As(Ba()));return e.length>0&&(u.decorators=e),u},Yn=function(e,u,r){const n=t({$class:"concerto.metamodel@1.0.0.ObjectMapValueType",type:r},As(Ba()));return"--\x3e"===u&&(n.$class="concerto.metamodel@1.0.0.RelationshipMapValueType"),e.length>0&&(n.decorators=e),n},Xn=function(e,u,r){const n=t({$class:"concerto.metamodel@1.0.0.EnumDeclaration",name:u.name,properties:r.declarations},As(Ba()));return e.length>0&&(n.decorators=e),n},Zn=function(e){return{type:"EnumDeclarationBody",declarations:ps(e)}},ea=function(e,u){const r=t({$class:"concerto.metamodel@1.0.0.EnumProperty",name:u.name},As(Ba()));return e.length>0&&(r.decorators=e),r},ua=function(e,u,r,n,a){const o=t({$class:"concerto.metamodel@1.0.0.RelationshipProperty",name:n.name,type:u,isArray:ds(r),isOptional:ds(a)},As(Ba()));return e.length>0&&(o.decorators=e),o},ta=function(e,u){return e.concat(JSON.stringify(u).replace(/['"]+/g,""))},ra=function(e,u,t){return"".concat(e,"@").concat(u,".").concat(t)},na=function(e,u){return"".concat(e,"@").concat(u)},aa=function(e){return e},oa=function(e){return e},sa=function(e,u){const t={$class:"concerto.metamodel@1.0.0.ImportAll",namespace:e};return u&&(t.uri=u),t},ia=function(e,u){const{namespace:t,name:r}=function(e){const u=e.split(".");return{name:u.pop(),namespace:u.join(".")}}(e),n={$class:"".concat(ls,".ImportType"),name:r,namespace:t};return u&&(n.uri=u),n},ca=function(e,u,r){const{aliasedTypes:n,typesNames:a}=u.reduce(((e,u)=>("concerto.metamodel@1.0.0.AliasedType"===u.$class?(e.aliasedTypes.push(u),e.typesNames.push(u.name)):e.typesNames.push(u),e)),{aliasedTypes:[],typesNames:[]}),o=t({$class:"concerto.metamodel@1.0.0.ImportTypes",namespace:e,types:a},n.length>0&&{aliasedTypes:n});return r&&(o.uri=r),o},la=function(e,u){if(["Boolean","String","DateTime","Double","Integer","Long"].indexOf(u)>=0)throw new Error('A type cannot be aliased to a Primitive type, here "'.concat(e,'" is being aliased as "').concat(u,'".'));return{$class:"concerto.metamodel@1.0.0.AliasedType",name:e,aliasedName:u}},Da=function(e,u){return[e,...u.map((e=>e[2]))]},pa=function(e){return e.value},da=function(e,u,t,r,n){const a={$class:"concerto.metamodel@1.0.0.Model",decorators:ps(u),namespace:t,imports:ps(r),declarations:ps(n)};return e&&(a.concertoVersion=e),a},Aa=function(e,u){return Ds(e,u,1)},Ea=function(e,u){return Ds(e,u,1)},Ca=0|u.peg$currPos,ma=Ca,Fa=[{line:1,column:1}],ha=Ca,fa=u.peg$maxFailExpected||[],ga=0|u.peg$silentFails;if(u.startRule){if(!(u.startRule in s))throw new Error("Can't start parsing from rule \""+u.startRule+'".');i=s[u.startRule]}function ya(){return e.substring(ma,Ca)}function Ba(){return $a(ma,Ca)}function va(e,u){return{type:"literal",text:e,ignoreCase:u}}function ba(e,u,t){return{type:"class",parts:e,inverted:u,ignoreCase:t}}function wa(e){return{type:"other",description:e}}function Ta(u){var t,r=Fa[u];if(r)return r;if(u>=Fa.length)t=Fa.length-1;else for(t=u;!Fa[--t];);for(r={line:(r=Fa[t]).line,column:r.column};t<u;)10===e.charCodeAt(t)?(r.line++,r.column=1):r.column++,t++;return Fa[u]=r,r}function $a(e,u,t){var r=Ta(e),n=Ta(u),a={source:o,start:{offset:e,line:r.line,column:r.column},end:{offset:u,line:n.line,column:n.column}};return t&&o&&"function"==typeof o.offset&&(a.start=o.offset(a.start),a.end=o.offset(a.end)),a}function Ia(e){Ca<ha||(Ca>ha&&(ha=Ca,fa=[]),fa.push(e))}function Ma(){var u,t;return u=Ca,oo(),t=function(){var u,t,r,n,o,s;return u=Ca,t=function(){var u,t,r,n;return u=Ca,t=function(){var u,t,r,n;return u=Ca,e.substr(Ca,8)===K?(t=K,Ca+=8):(t=a,0===ga&&Ia($t)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a?(oo(),r=function(){var u,t,r,n;return u=Ca,e.substr(Ca,7)===Y?(t=Y,Ca+=7):(t=a,0===ga&&Ia(It)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),r!==a?(oo(),(n=Ga())!==a?(oo(),ma=u,u=pa(n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}(),t===a&&(t=null),r=Qo(),n=function(){var u,t,r;return u=Ca,t=function(){var u,t,r,n;return u=Ca,e.substr(Ca,9)===X?(t=X,Ca+=9):(t=a,0===ga&&Ia(Mt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a?(oo(),(r=as())!==a?(oo(),ma=u,u=aa(r)):(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(o=function(){var e,u,t,r,n,o;if(e=Ca,(u=is())!==a){for(t=[],r=Ca,n=oo(),(o=is())!==a?r=n=[n,o]:(Ca=r,r=a);r!==a;)t.push(r),r=Ca,n=oo(),(o=is())!==a?r=n=[n,o]:(Ca=r,r=a);ma=e,e=Aa(u,t)}else Ca=e,e=a;return e}(),o===a&&(o=null),s=function(){var e,u,t,r,n,o;if(e=Ca,(u=cs())!==a){for(t=[],r=Ca,n=oo(),(o=cs())!==a?r=n=[n,o]:(Ca=r,r=a);r!==a;)t.push(r),r=Ca,n=oo(),(o=cs())!==a?r=n=[n,o]:(Ca=r,r=a);ma=e,e=Ea(u,t)}else Ca=e,e=a;return e}(),s===a&&(s=null),ma=u,u=da(t,r,n,o,s)):(Ca=u,u=a),u}(),t!==a?(oo(),ma=u,u=cr(t)):(Ca=u,u=a),u}function Oa(){var u;return e.length>Ca?(u=e.charAt(Ca),Ca++):(u=a,0===ga&&Ia(au)),u}function Sa(){var u;return ga++,u=e.charAt(Ca),Oe.test(u)?Ca++:(u=a,0===ga&&Ia(su)),ga--,u===a&&0===ga&&Ia(ou),u}function Na(){var u;return u=e.charAt(Ca),Se.test(u)?Ca++:(u=a,0===ga&&Ia(iu)),u}function xa(){var u;return ga++,10===e.charCodeAt(Ca)?(u=c,Ca++):(u=a,0===ga&&Ia(lu)),u===a&&(e.substr(Ca,2)===l?(u=l,Ca+=2):(u=a,0===ga&&Ia(Du)),u===a&&(u=e.charAt(Ca),Ne.test(u)?Ca++:(u=a,0===ga&&Ia(pu)))),ga--,u===a&&0===ga&&Ia(cu),u}function Pa(){var u;return ga++,(u=function(){var u,t,r,n,o,s;if(u=Ca,e.substr(Ca,2)===D?(t=D,Ca+=2):(t=a,0===ga&&Ia(Au)),t!==a){for(r=[],n=Ca,o=Ca,ga++,e.substr(Ca,2)===p?(s=p,Ca+=2):(s=a,0===ga&&Ia(Eu)),ga--,s===a?o=void 0:(Ca=o,o=a),o!==a&&(s=Oa())!==a?n=o=[o,s]:(Ca=n,n=a);n!==a;)r.push(n),n=Ca,o=Ca,ga++,e.substr(Ca,2)===p?(s=p,Ca+=2):(s=a,0===ga&&Ia(Eu)),ga--,s===a?o=void 0:(Ca=o,o=a),o!==a&&(s=Oa())!==a?n=o=[o,s]:(Ca=n,n=a);e.substr(Ca,2)===p?(n=p,Ca+=2):(n=a,0===ga&&Ia(Eu)),n!==a?u=t=[t,r,n]:(Ca=u,u=a)}else Ca=u,u=a;return u}())===a&&(u=function(){var u,t,r,n,o,s;if(u=Ca,e.substr(Ca,2)===d?(t=d,Ca+=2):(t=a,0===ga&&Ia(Cu)),t!==a){for(r=[],n=Ca,o=Ca,ga++,s=Na(),ga--,s===a?o=void 0:(Ca=o,o=a),o!==a&&(s=Oa())!==a?n=o=[o,s]:(Ca=n,n=a);n!==a;)r.push(n),n=Ca,o=Ca,ga++,s=Na(),ga--,s===a?o=void 0:(Ca=o,o=a),o!==a&&(s=Oa())!==a?n=o=[o,s]:(Ca=n,n=a);u=t=[t,r]}else Ca=u,u=a;return u}()),ga--,u===a&&0===ga&&Ia(du),u}function Ra(){var u,t,r,n,o,s;if(u=Ca,e.substr(Ca,2)===D?(t=D,Ca+=2):(t=a,0===ga&&Ia(Au)),t!==a){for(r=[],n=Ca,o=Ca,ga++,e.substr(Ca,2)===p?(s=p,Ca+=2):(s=a,0===ga&&Ia(Eu)),s===a&&(s=Na()),ga--,s===a?o=void 0:(Ca=o,o=a),o!==a&&(s=Oa())!==a?n=o=[o,s]:(Ca=n,n=a);n!==a;)r.push(n),n=Ca,o=Ca,ga++,e.substr(Ca,2)===p?(s=p,Ca+=2):(s=a,0===ga&&Ia(Eu)),s===a&&(s=Na()),ga--,s===a?o=void 0:(Ca=o,o=a),o!==a&&(s=Oa())!==a?n=o=[o,s]:(Ca=n,n=a);e.substr(Ca,2)===p?(n=p,Ca+=2):(n=a,0===ga&&Ia(Eu)),n!==a?u=t=[t,r,n]:(Ca=u,u=a)}else Ca=u,u=a;return u}function La(){var e,u;return e=Ca,u=function(){var e,u,t,r;if(ga++,e=Ca,(u=_a())!==a){for(t=[],r=ka();r!==a;)t.push(r),r=ka();ma=e,e=Dr(u,t)}else Ca=e,e=a;return ga--,e===a&&(u=a,0===ga&&Ia(mu)),e}(),u!==a&&(ma=e,u=lr(u)),u}function _a(){var u,t,r;return u=e.charAt(Ca),xe.test(u)?Ca++:(u=a,0===ga&&Ia(Fu)),u===a&&(u=Ca,92===e.charCodeAt(Ca)?(t=A,Ca++):(t=a,0===ga&&Ia(hu)),t!==a&&(r=Za())!==a?(ma=u,u=pr(r)):(Ca=u,u=a)),u}function ka(){var u;return(u=_a())===a&&(u=e.charAt(Ca),Pe.test(u)?Ca++:(u=a,0===ga&&Ia(fu))),u}function ja(){var u,t;return u=Ca,t=function(){var u,t,r,n;return u=Ca,e.substr(Ca,4)===R?(t=R,Ca+=4):(t=a,0===ga&&Ia(tt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a&&(ma=u,t=dr()),(u=t)===a&&(u=Ca,t=function(){var u,t,r,n;return u=Ca,e.substr(Ca,5)===x?(t=x,Ca+=5):(t=a,0===ga&&Ia(et)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a&&(ma=u,t=Ar()),u=t),u}function Va(){var u,t,r,n,o;if(u=Ca,t=e.charAt(Ca),Re.test(t)?Ca++:(t=a,0===ga&&Ia(Bu)),t===a&&(t=null),Ua()!==a)if(46===e.charCodeAt(Ca)?(r=E,Ca++):(r=a,0===ga&&Ia(yu)),r!==a){for(n=[],o=Qa();o!==a;)n.push(o),o=Qa();(o=za())===a&&(o=null),ma=u,u=fr()}else Ca=u,u=a;else Ca=u,u=a;return u}function Ua(){var u,t,r,n;if(48===e.charCodeAt(Ca)?(u=C,Ca++):(u=a,0===ga&&Ia(vu)),u===a)if(u=Ca,t=function(){var u;return u=e.charAt(Ca),_e.test(u)?Ca++:(u=a,0===ga&&Ia(wu)),u}(),t!==a){for(r=[],n=Qa();n!==a;)r.push(n),n=Qa();u=t=[t,r]}else Ca=u,u=a;return u}function Qa(){var u;return u=e.charAt(Ca),Le.test(u)?Ca++:(u=a,0===ga&&Ia(bu)),u}function za(){var u,t,r;return u=Ca,t=function(){var u;return(u=e.charAt(Ca)).toLowerCase()===m?Ca++:(u=a,0===ga&&Ia(Tu)),u}(),t!==a&&(r=Ha())!==a?u=t=[t,r]:(Ca=u,u=a),u}function Ha(){var u,t,r,n;if(u=Ca,t=e.charAt(Ca),Re.test(t)?Ca++:(t=a,0===ga&&Ia(Bu)),t===a&&(t=null),r=[],(n=Qa())!==a)for(;n!==a;)r.push(n),n=Qa();else r=a;return r!==a?u=t=[t,r]:(Ca=u,u=a),u}function Wa(){var u;return u=e.charAt(Ca),ke.test(u)?Ca++:(u=a,0===ga&&Ia(Iu)),u}function Ga(){var u,t,r,n;if(ga++,u=Ca,34===e.charCodeAt(Ca)?(t=h,Ca++):(t=a,0===ga&&Ia(Ou)),t!==a){for(r=[],n=qa();n!==a;)r.push(n),n=qa();34===e.charCodeAt(Ca)?(n=h,Ca++):(n=a,0===ga&&Ia(Ou)),n!==a?(ma=u,u=yr(r)):(Ca=u,u=a)}else Ca=u,u=a;if(u===a)if(u=Ca,39===e.charCodeAt(Ca)?(t=f,Ca++):(t=a,0===ga&&Ia(Su)),t!==a){for(r=[],n=Ja();n!==a;)r.push(n),n=Ja();39===e.charCodeAt(Ca)?(n=f,Ca++):(n=a,0===ga&&Ia(Su)),n!==a?(ma=u,u=Br(r)):(Ca=u,u=a)}else Ca=u,u=a;return ga--,u===a&&(t=a,0===ga&&Ia(Mu)),u}function qa(){var u,t,r;return u=Ca,t=Ca,ga++,r=e.charAt(Ca),je.test(r)?Ca++:(r=a,0===ga&&Ia(Nu)),ga--,r===a?t=void 0:(Ca=t,t=a),t!==a&&(r=Oa())!==a?(ma=u,u=vr()):(Ca=u,u=a),u===a&&(u=Ca,92===e.charCodeAt(Ca)?(t=A,Ca++):(t=a,0===ga&&Ia(hu)),t!==a&&(r=Ya())!==a?(ma=u,u=br(r)):(Ca=u,u=a),u===a&&(u=Ka())),u}function Ja(){var u,t,r;return u=Ca,t=Ca,ga++,r=e.charAt(Ca),Ve.test(r)?Ca++:(r=a,0===ga&&Ia(xu)),ga--,r===a?t=void 0:(Ca=t,t=a),t!==a&&(r=Oa())!==a?(ma=u,u=wr()):(Ca=u,u=a),u===a&&(u=Ca,92===e.charCodeAt(Ca)?(t=A,Ca++):(t=a,0===ga&&Ia(hu)),t!==a&&(r=Ya())!==a?(ma=u,u=Tr(r)):(Ca=u,u=a),u===a&&(u=Ka())),u}function Ka(){var u,t;return u=Ca,92===e.charCodeAt(Ca)?(t=A,Ca++):(t=a,0===ga&&Ia(hu)),t!==a&&xa()!==a?(ma=u,u=$r()):(Ca=u,u=a),u}function Ya(){var u,t,r,n;return u=function(){var u;return(u=Xa())===a&&(u=function(){var u,t,r;return u=Ca,t=Ca,ga++,r=function(){var u;return(u=Xa())===a&&(u=e.charAt(Ca),Qe.test(u)?Ca++:(u=a,0===ga&&Ia(Uu))),u}(),r===a&&(r=Na()),ga--,r===a?t=void 0:(Ca=t,t=a),t!==a&&(r=Oa())!==a?(ma=u,u=Rr()):(Ca=u,u=a),u}()),u}(),u===a&&(u=Ca,48===e.charCodeAt(Ca)?(t=C,Ca++):(t=a,0===ga&&Ia(vu)),t!==a?(r=Ca,ga++,n=Qa(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Ir()):(Ca=u,u=a)):(Ca=u,u=a),u===a&&(u=function(){var u,t,r,n,o,s;return u=Ca,120===e.charCodeAt(Ca)?(t=T,Ca++):(t=a,0===ga&&Ia(Qu)),t!==a?(r=Ca,n=Ca,(o=Wa())!==a&&(s=Wa())!==a?n=o=[o,s]:(Ca=n,n=a),(r=n!==a?e.substring(r,Ca):n)!==a?(ma=u,u=Lr(r)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=Za()))),u}function Xa(){var u,t;return u=e.charAt(Ca),Ue.test(u)?Ca++:(u=a,0===ga&&Ia(Pu)),u===a&&(u=Ca,98===e.charCodeAt(Ca)?(t=g,Ca++):(t=a,0===ga&&Ia(Ru)),t!==a&&(ma=u,t=Mr()),(u=t)===a&&(u=Ca,102===e.charCodeAt(Ca)?(t=y,Ca++):(t=a,0===ga&&Ia(Lu)),t!==a&&(ma=u,t=Or()),(u=t)===a&&(u=Ca,110===e.charCodeAt(Ca)?(t=B,Ca++):(t=a,0===ga&&Ia(_u)),t!==a&&(ma=u,t=Sr()),(u=t)===a&&(u=Ca,114===e.charCodeAt(Ca)?(t=v,Ca++):(t=a,0===ga&&Ia(ku)),t!==a&&(ma=u,t=Nr()),(u=t)===a&&(u=Ca,116===e.charCodeAt(Ca)?(t=b,Ca++):(t=a,0===ga&&Ia(ju)),t!==a&&(ma=u,t=xr()),(u=t)===a&&(u=Ca,118===e.charCodeAt(Ca)?(t=w,Ca++):(t=a,0===ga&&Ia(Vu)),t!==a&&(ma=u,t=Pr()),u=t)))))),u}function Za(){var u,t,r,n,o,s,i,c;return u=Ca,117===e.charCodeAt(Ca)?(t=$,Ca++):(t=a,0===ga&&Ia(zu)),t!==a?(r=Ca,n=Ca,(o=Wa())!==a&&(s=Wa())!==a&&(i=Wa())!==a&&(c=Wa())!==a?n=o=[o,s,i,c]:(Ca=n,n=a),(r=n!==a?e.substring(r,Ca):n)!==a?(ma=u,u=_r(r)):(Ca=u,u=a)):(Ca=u,u=a),u}function eo(){var u,t,r;return u=Ca,t=Ca,ga++,r=e.charAt(Ca),He.test(r)?Ca++:(r=a,0===ga&&Ia(qu)),ga--,r===a?t=void 0:(Ca=t,t=a),t!==a&&(r=to())!==a?u=t=[t,r]:(Ca=u,u=a),u===a&&(u=uo())===a&&(u=ro()),u}function uo(){var u,t,r;return u=Ca,92===e.charCodeAt(Ca)?(t=A,Ca++):(t=a,0===ga&&Ia(hu)),t!==a&&(r=to())!==a?u=t=[t,r]:(Ca=u,u=a),u}function to(){var e,u,t;return e=Ca,u=Ca,ga++,t=Na(),ga--,t===a?u=void 0:(Ca=u,u=a),u!==a&&(t=Oa())!==a?e=u=[u,t]:(Ca=e,e=a),e}function ro(){var u,t,r,n;if(u=Ca,91===e.charCodeAt(Ca)?(t=M,Ca++):(t=a,0===ga&&Ia(Ju)),t!==a){for(r=[],n=no();n!==a;)r.push(n),n=no();93===e.charCodeAt(Ca)?(n=O,Ca++):(n=a,0===ga&&Ia(Ku)),n!==a?u=t=[t,r,n]:(Ca=u,u=a)}else Ca=u,u=a;return u}function no(){var u,t,r;return u=Ca,t=Ca,ga++,r=e.charAt(Ca),We.test(r)?Ca++:(r=a,0===ga&&Ia(Yu)),ga--,r===a?t=void 0:(Ca=t,t=a),t!==a&&(r=to())!==a?u=t=[t,r]:(Ca=u,u=a),u===a&&(u=uo()),u}function ao(){var u,t,r,n;return u=Ca,e.substr(Ca,6)===P?(t=P,Ca+=6):(t=a,0===ga&&Ia(ut)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}function oo(){var e,u;for(e=[],(u=Sa())===a&&(u=xa())===a&&(u=Pa());u!==a;)e.push(u),(u=Sa())===a&&(u=xa())===a&&(u=Pa());return e}function so(){var e,u;for(e=[],(u=Sa())===a&&(u=Ra());u!==a;)e.push(u),(u=Sa())===a&&(u=Ra());return e}function io(){var u;return u=e.charAt(Ca),Le.test(u)?Ca++:(u=a,0===ga&&Ia(bu)),u}function co(){var u;return(u=io())===a&&(u=e.charAt(Ca),qe.test(u)?Ca++:(u=a,0===ga&&Ia(ot))),u}function lo(){var u,t,r,n,o;return u=Ca,t=Ca,37===e.charCodeAt(Ca)?(r=k,Ca++):(r=a,0===ga&&Ia(st)),r!==a&&(n=co())!==a&&(o=co())!==a?t=r=[r,n,o]:(Ca=t,t=a),t!==a?e.substring(u,Ca):t}function Do(){var u;return u=e.charAt(Ca),Je.test(u)?Ca++:(u=a,0===ga&&Ia(it)),u}function po(){var u,t,r,n;return u=Ca,(t=Eo())!==a?(58===e.charCodeAt(Ca)?(r=j,Ca++):(r=a,0===ga&&Ia(ct)),r!==a&&(n=Eo())!==a?u=t=[t,r,n]:(Ca=u,u=a)):(Ca=u,u=a),u===a&&(u=Co()),u}function Ao(){var u,t,r;return u=Ca,(t=Eo())!==a?(58===e.charCodeAt(Ca)?(r=j,Ca++):(r=a,0===ga&&Ia(ct)),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}function Eo(){var u,t,r,n,o,s,i,c;return u=Ca,t=Ca,(r=co())!==a?(n=Ca,(o=co())!==a?(s=Ca,(i=co())!==a?((c=co())===a&&(c=null),s=i=[i,c]):(Ca=s,s=a),s===a&&(s=null),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),t=r=[r,n]):(Ca=t,t=a),t!==a?e.substring(u,Ca):t}function Co(){var u,t,r,n,o,s,i,c,l;return u=Ca,t=Ca,(r=mo())!==a?(46===e.charCodeAt(Ca)?(n=E,Ca++):(n=a,0===ga&&Ia(yu)),n!==a&&(o=mo())!==a?(46===e.charCodeAt(Ca)?(s=E,Ca++):(s=a,0===ga&&Ia(yu)),s!==a&&(i=mo())!==a?(46===e.charCodeAt(Ca)?(c=E,Ca++):(c=a,0===ga&&Ia(yu)),c!==a&&(l=mo())!==a?t=r=[r,n,o,s,i,c,l]:(Ca=t,t=a)):(Ca=t,t=a)):(Ca=t,t=a)):(Ca=t,t=a),t!==a?e.substring(u,Ca):t}function mo(){var u,t,r,n,o;return u=Ca,t=Ca,e.substr(Ca,2)===H?(r=H,Ca+=2):(r=a,0===ga&&Ia(mt)),r!==a?(n=e.charAt(Ca),Ze.test(n)?Ca++:(n=a,0===ga&&Ia(Ft)),n!==a?t=r=[r,n]:(Ca=t,t=a)):(Ca=t,t=a),t===a&&(t=Ca,50===e.charCodeAt(Ca)?(r=W,Ca++):(r=a,0===ga&&Ia(ht)),r!==a?(n=e.charAt(Ca),eu.test(n)?Ca++:(n=a,0===ga&&Ia(ft)),n!==a&&(o=io())!==a?t=r=[r,n,o]:(Ca=t,t=a)):(Ca=t,t=a),t===a&&(t=Ca,49===e.charCodeAt(Ca)?(r=G,Ca++):(r=a,0===ga&&Ia(gt)),r!==a&&(n=io())!==a&&(o=io())!==a?t=r=[r,n,o]:(Ca=t,t=a),t===a&&(t=Ca,r=e.charAt(Ca),_e.test(r)?Ca++:(r=a,0===ga&&Ia(wu)),r!==a&&(n=io())!==a?t=r=[r,n]:(Ca=t,t=a),t===a&&(t=io())))),t!==a?e.substring(u,Ca):t}function Fo(){var e;return(e=Do())===a&&(e=lo()),e}function ho(){var u,t,r,n;for(u=Ca,t=[],r=Ca,47===e.charCodeAt(Ca)?(n=I,Ca++):(n=a,0===ga&&Ia(Wu)),n!==a?r=n=[n,fo()]:(Ca=r,r=a);r!==a;)t.push(r),r=Ca,47===e.charCodeAt(Ca)?(n=I,Ca++):(n=a,0===ga&&Ia(Wu)),n!==a?r=n=[n,fo()]:(Ca=r,r=a);return e.substring(u,Ca)}function fo(){var u,t,r;for(u=Ca,t=[],r=yo();r!==a;)t.push(r),r=yo();return e.substring(u,Ca)}function go(){var u,t,r;if(u=Ca,t=[],(r=yo())!==a)for(;r!==a;)t.push(r),r=yo();else t=a;return t!==a?e.substring(u,Ca):t}function yo(){var u;return(u=Do())===a&&(u=lo())===a&&(u=e.charAt(Ca),uu.test(u)?Ca++:(u=a,0===ga&&Ia(yt))),u}function Bo(){var u,t,r;for(u=Ca,t=[],(r=yo())===a&&(r=e.charAt(Ca),tu.test(r)?Ca++:(r=a,0===ga&&Ia(Bt)));r!==a;)t.push(r),(r=yo())===a&&(r=e.charAt(Ca),tu.test(r)?Ca++:(r=a,0===ga&&Ia(Bt)));return e.substring(u,Ca)}function vo(){var u,t,r;for(u=Ca,t=[],(r=yo())===a&&(r=e.charAt(Ca),tu.test(r)?Ca++:(r=a,0===ga&&Ia(Bt)));r!==a;)t.push(r),(r=yo())===a&&(r=e.charAt(Ca),tu.test(r)?Ca++:(r=a,0===ga&&Ia(Bt)));return e.substring(u,Ca)}function bo(){var u,t,r,n,o,s;return u=Ca,t=function(){var u,t,r,n,o,s,i;return u=Ca,t=Ca,(t=(r=Io())!==a?e.substring(t,Ca):r)!==a?(46===e.charCodeAt(Ca)?(r=E,Ca++):(r=a,0===ga&&Ia(yu)),r!==a?(n=Ca,(n=(o=Io())!==a?e.substring(n,Ca):o)!==a?(46===e.charCodeAt(Ca)?(o=E,Ca++):(o=a,0===ga&&Ia(yu)),o!==a?(s=Ca,(s=(i=Io())!==a?e.substring(s,Ca):i)!==a?(ma=u,u=Vr(t,n,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a?(r=Ca,45===e.charCodeAt(Ca)?(n=q,Ca++):(n=a,0===ga&&Ia(vt)),n!==a?(o=function(){var u,t,r,n,o,s,i;if(u=Ca,t=Ca,(t=(r=wo())!==a?e.substring(t,Ca):r)!==a){for(r=[],n=Ca,46===e.charCodeAt(Ca)?(o=E,Ca++):(o=a,0===ga&&Ia(yu)),o!==a?(s=Ca,(s=(i=wo())!==a?e.substring(s,Ca):i)!==a?n=s:(Ca=n,n=a)):(Ca=n,n=a);n!==a;)r.push(n),n=Ca,46===e.charCodeAt(Ca)?(o=E,Ca++):(o=a,0===ga&&Ia(yu)),o!==a?(s=Ca,(s=(i=wo())!==a?e.substring(s,Ca):i)!==a?n=s:(Ca=n,n=a)):(Ca=n,n=a);ma=u,u=Ur(t,r)}else Ca=u,u=a;return u}(),o!==a?r=o:(Ca=r,r=a)):(Ca=r,r=a),r===a&&(r=null),n=Ca,43===e.charCodeAt(Ca)?(o=J,Ca++):(o=a,0===ga&&Ia(bt)),o!==a?(s=function(){var u,t,r,n,o,s,i;if(u=Ca,t=Ca,(t=(r=To())!==a?e.substring(t,Ca):r)!==a){for(r=[],n=Ca,46===e.charCodeAt(Ca)?(o=E,Ca++):(o=a,0===ga&&Ia(yu)),o!==a?(s=Ca,(s=(i=To())!==a?e.substring(s,Ca):i)!==a?n=s:(Ca=n,n=a)):(Ca=n,n=a);n!==a;)r.push(n),n=Ca,46===e.charCodeAt(Ca)?(o=E,Ca++):(o=a,0===ga&&Ia(yu)),o!==a?(s=Ca,(s=(i=To())!==a?e.substring(s,Ca):i)!==a?n=s:(Ca=n,n=a)):(Ca=n,n=a);ma=u,u=Qr(t,r)}else Ca=u,u=a;return u}(),s!==a?n=s:(Ca=n,n=a)):(Ca=n,n=a),n===a&&(n=null),ma=u,u=jr(t,r,n)):(Ca=u,u=a),u}function wo(){var e;return(e=$o())===a&&(e=Io()),e}function To(){var e,u;if((e=$o())===a)if(e=[],(u=Oo())!==a)for(;u!==a;)e.push(u),u=Oo();else e=a;return e}function $o(){var u,t,r,n,o;for(u=Ca,t=[],r=Oo();r!==a;)t.push(r),r=Oo();if(r=function(){var u;return u=e.charAt(Ca),nu.test(u)?Ca++:(u=a,0===ga&&Ia(Tt)),u}(),r!==a){for(n=[],o=Mo();o!==a;)n.push(o),o=Mo();u=t=[t,r,n]}else Ca=u,u=a;return u}function Io(){var u,t,r,n;if(48===e.charCodeAt(Ca)?(u=C,Ca++):(u=a,0===ga&&Ia(vu)),u===a)if(u=Ca,t=function(){var u;return u=e.charAt(Ca),_e.test(u)?Ca++:(u=a,0===ga&&Ia(wu)),u}(),t!==a){for(r=[],n=Oo();n!==a;)r.push(n),n=Oo();u=t=[t,r]}else Ca=u,u=a;return u}function Mo(){var u;return u=e.charAt(Ca),ru.test(u)?Ca++:(u=a,0===ga&&Ia(wt)),u}function Oo(){var u;return u=e.charAt(Ca),Le.test(u)?Ca++:(u=a,0===ga&&Ia(bu)),u}function So(){var u,t,r,n;return u=Ca,e.substr(Ca,8)===Z?(t=Z,Ca+=8):(t=a,0===ga&&Ia(Ot)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}function No(){var u,t,r,n;return u=Ca,e.substr(Ca,7)===ie?(t=ie,Ca+=7):(t=a,0===ga&&Ia(jt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=zr()):(Ca=u,u=a)):(Ca=u,u=a),u}function xo(){var u,t,r,n;return u=Ca,e.substr(Ca,6)===ce?(t=ce,Ca+=6):(t=a,0===ga&&Ia(Vt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Hr()):(Ca=u,u=a)):(Ca=u,u=a),u}function Po(){var u,t,r,n;return u=Ca,e.substr(Ca,4)===le?(t=le,Ca+=4):(t=a,0===ga&&Ia(Ut)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Wr()):(Ca=u,u=a)):(Ca=u,u=a),u}function Ro(){var u,t,r,n;return u=Ca,e.substr(Ca,6)===De?(t=De,Ca+=6):(t=a,0===ga&&Ia(Qt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Gr()):(Ca=u,u=a)):(Ca=u,u=a),u}function Lo(){var u,t,r,n;return u=Ca,e.substr(Ca,8)===pe?(t=pe,Ca+=8):(t=a,0===ga&&Ia(zt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=qr()):(Ca=u,u=a)):(Ca=u,u=a),u}function _o(){var u,t,r,n;return u=Ca,e.substr(Ca,7)===de?(t=de,Ca+=7):(t=a,0===ga&&Ia(Ht)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Jr()):(Ca=u,u=a)):(Ca=u,u=a),u}function ko(){var e,u,t,r,n;return e=Ca,u=Ca,ga++,t=function(){var e;return(e=Ro())===a&&(e=function(){var e;return(e=No())===a&&(e=xo())===a&&(e=Po()),e}())===a&&(e=Lo())===a&&(e=_o()),e}(),ga--,t===a?u=void 0:(Ca=u,u=a),u!==a&&(t=La())!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=e,e=Kr(t)):(Ca=e,e=a)):(Ca=e,e=a),e}function jo(){var u;return(u=function(){var u,t,r;return u=Ca,e.substr(Ca,13)===Ae?(t=Ae,Ca+=13):(t=a,0===ga&&Ia(Wt)),t!==a?(oo(),(r=La())!==a?(ma=u,u=Xr(r)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t;return u=Ca,e.substr(Ca,10)===Ee?(t=Ee,Ca+=10):(t=a,0===ga&&Ia(Gt)),t!==a&&(ma=u,t=Zr()),t}()),u}function Vo(){var u;return(u=function(){var e,u;return e=Ca,(u=Ga())!==a&&(ma=e,u=en(u)),u}())===a&&(u=function(){var u,t,r;return u=Ca,t=Ca,(t=(r=ja())!==a?e.substring(t,Ca):r)!==a&&(ma=u,t=tn(t)),t}())===a&&(u=function(){var u,t;return u=Ca,t=function(){var u,t,r,n;return u=Ca,t=Ca,45===e.charCodeAt(Ca)?(r=q,Ca++):(r=a,0===ga&&Ia(vt)),r===a&&(r=null),t=e.substring(t,Ca),r=Ca,(r=(n=function(){var u,t,r,n;return ga++,u=Ca,t=function(){var u,t,r,n,o;if(u=Ca,(t=e.substr(Ca,2)).toLowerCase()===F?Ca+=2:(t=a,0===ga&&Ia($u)),t!==a){if(r=Ca,n=[],(o=Wa())!==a)for(;o!==a;)n.push(o),o=Wa();else n=a;(r=n!==a?e.substring(r,Ca):n)!==a?(ma=u,u=gr(r)):(Ca=u,u=a)}else Ca=u,u=a;return u}(),t!==a?(r=Ca,ga++,(n=_a())===a&&(n=Qa()),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Er(t)):(Ca=u,u=a)):(Ca=u,u=a),u===a&&(u=Ca,t=function(){var u,t,r,n,o;if(u=Ca,(t=Ua())!==a)if(46===e.charCodeAt(Ca)?(r=E,Ca++):(r=a,0===ga&&Ia(yu)),r!==a){for(n=[],o=Qa();o!==a;)n.push(o),o=Qa();(o=za())===a&&(o=null),ma=u,u=mr()}else Ca=u,u=a;else Ca=u,u=a;if(u===a){if(u=Ca,46===e.charCodeAt(Ca)?(t=E,Ca++):(t=a,0===ga&&Ia(yu)),t!==a){if(r=[],(n=Qa())!==a)for(;n!==a;)r.push(n),n=Qa();else r=a;r!==a?((n=za())===a&&(n=null),ma=u,u=Fr()):(Ca=u,u=a)}else Ca=u,u=a;u===a&&(u=Ca,(t=Ua())!==a?((r=za())===a&&(r=null),ma=u,u=hr()):(Ca=u,u=a))}return u}(),t!==a?(r=Ca,ga++,(n=_a())===a&&(n=Qa()),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?(ma=u,u=Cr(t)):(Ca=u,u=a)):(Ca=u,u=a)),ga--,u===a&&(t=a,0===ga&&Ia(gu)),u}())!==a?e.substring(r,Ca):n)!==a?(ma=u,u=Yr(t,r)):(Ca=u,u=a),u}(),t!==a&&(ma=u,t=un(t)),t}())===a&&(u=function(){var u,t,r;return u=Ca,(t=La())!==a?(oo(),e.substr(Ca,2)===Ce?(r=Ce,Ca+=2):(r=a,0===ga&&Ia(qt)),r===a&&(r=null),ma=u,u=rn(t,r)):(Ca=u,u=a),u}()),u}function Uo(){var u,t,r,n;return u=Ca,64===e.charCodeAt(Ca)?(t=Q,Ca++):(t=a,0===ga&&Ia(dt)),t!==a?(r=Ca,(r=(n=La())!==a?e.substring(r,Ca):n)!==a?(n=function(){var u,t,r,n,o,s,i;if(u=Ca,40===e.charCodeAt(Ca)?(t=me,Ca++):(t=a,0===ga&&Ia(Jt)),t!==a){for(oo(),r=[],n=Ca,(o=Vo())!==a?(s=oo(),44===e.charCodeAt(Ca)?(i=Fe,Ca++):(i=a,0===ga&&Ia(Kt)),i!==a?(oo(),ma=n,n=nn(o)):(Ca=n,n=a)):(Ca=n,n=a);n!==a;)r.push(n),n=Ca,(o=Vo())!==a?(s=oo(),44===e.charCodeAt(Ca)?(i=Fe,Ca++):(i=a,0===ga&&Ia(Kt)),i!==a?(oo(),ma=n,n=nn(o)):(Ca=n,n=a)):(Ca=n,n=a);(n=Vo())===a&&(n=null),o=oo(),41===e.charCodeAt(Ca)?(s=he,Ca++):(s=a,0===ga&&Ia(Yt)),s!==a?(ma=u,u=an(r,n)):(Ca=u,u=a)}else Ca=u,u=a;return u}(),n===a&&(n=null),ma=u,u=on(r,n)):(Ca=u,u=a)):(Ca=u,u=a),u}function Qo(){var e,u,t;for(e=[],u=Ca,(t=Uo())!==a?(oo(),ma=u,u=sn(t)):(Ca=u,u=a);u!==a;)e.push(u),u=Ca,(t=Uo())!==a?(oo(),ma=u,u=sn(t)):(Ca=u,u=a);return e}function zo(){var u,t,r;return u=Ca,e.substr(Ca,7)===fe?(t=fe,Ca+=7):(t=a,0===ga&&Ia(Xt)),t!==a?(oo(),(r=La())!==a?(ma=u,u=cn(r)):(Ca=u,u=a)):(Ca=u,u=a),u}function Ho(){var u,t;return u=Ca,e.substr(Ca,8)===ye?(t=ye,Ca+=8):(t=a,0===ga&&Ia(er)),t!==a&&(ma=u,t=yn()),t}function Wo(){var u,t,r,n;return u=Ca,e.substr(Ca,7)===Be?(t=Be,Ca+=7):(t=a,0===ga&&Ia(ur)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),(n=Ga())!==a?(ma=u,u=Bn(n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function Go(){var u,t,r,n,o;return u=Ca,e.substr(Ca,7)===Be?(t=Be,Ca+=7):(t=a,0===ga&&Ia(ur)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),n=Ca,(n=(o=ja())!==a?e.substring(n,Ca):o)!==a?(ma=u,u=vn(n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function qo(){var u,t,r,n,o;return u=Ca,e.substr(Ca,7)===Be?(t=Be,Ca+=7):(t=a,0===ga&&Ia(ur)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),n=Ca,(n=(o=Ha())!==a?e.substring(n,Ca):o)!==a?(ma=u,u=bn(n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function Jo(){var u,t,r,n,o;return u=Ca,e.substr(Ca,7)===Be?(t=Be,Ca+=7):(t=a,0===ga&&Ia(ur)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),n=Ca,(n=(o=Va())!==a?e.substring(n,Ca):o)!==a?(ma=u,u=wn(n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function Ko(){var u;return(u=function(){var u,t,r,n,o,s,i,c,l;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Ro()!==a?(oo(),e.substr(Ca,2)===Ce?(n=Ce,Ca+=2):(n=a,0===ga&&Ia(qt)),n===a&&(n=null),oo(),(o=La())!==a?(oo(),(s=Wo())===a&&(s=null),oo(),(i=Xo())===a&&(i=null),oo(),(c=Zo())===a&&(c=null),oo(),(l=Ho())===a&&(l=null),oo(),ma=u,u=On(t,n,o,s,i,c,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),(n=xo())!==a?(oo(),e.substr(Ca,2)===Ce?(o=Ce,Ca+=2):(o=a,0===ga&&Ia(qt)),o===a&&(o=null),oo(),(s=La())!==a?(oo(),(i=Jo())===a&&(i=null),oo(),(c=es())===a&&(c=null),oo(),(l=Ho())===a&&(l=null),oo(),ma=u,u=Ln(t,n,o,s,i,c,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),_o()!==a?(oo(),e.substr(Ca,2)===Ce?(n=Ce,Ca+=2):(n=a,0===ga&&Ia(qt)),n===a&&(n=null),oo(),(o=La())!==a?(oo(),(s=Go())===a&&(s=null),oo(),(i=Ho())===a&&(i=null),oo(),ma=u,u=In(t,n,o,s,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Lo()!==a?(oo(),e.substr(Ca,2)===Ce?(n=Ce,Ca+=2):(n=a,0===ga&&Ia(qt)),n===a&&(n=null),oo(),(o=La())!==a?(oo(),(s=Wo())===a&&(s=null),oo(),(i=Ho())===a&&(i=null),oo(),ma=u,u=Mn(t,n,o,s,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i;return u=Ca,t=Qo(),oo(),e.substr(Ca,3)===Ie?(r=Ie,Ca+=3):(r=a,0===ga&&Ia(sr)),r!==a?(oo(),(n=La())!==a?(oo(),e.substr(Ca,2)===Ce?(o=Ce,Ca+=2):(o=a,0===ga&&Ia(qt)),o===a&&(o=null),oo(),(s=La())!==a?(oo(),(i=Ho())===a&&(i=null),oo(),ma=u,u=ua(t,n,o,s,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),(n=ko())!==a?(oo(),e.substr(Ca,2)===Ce?(o=Ce,Ca+=2):(o=a,0===ga&&Ia(qt)),o===a&&(o=null),oo(),(s=La())!==a?(oo(),(i=Wo())===a&&(i=null),oo(),(c=Ho())===a&&(c=null),oo(),ma=u,u=$n(t,n,o,s,i,c)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),(n=No())!==a?(oo(),e.substr(Ca,2)===Ce?(o=Ce,Ca+=2):(o=a,0===ga&&Ia(qt)),o===a&&(o=null),oo(),(s=La())!==a?(oo(),(i=qo())===a&&(i=null),oo(),(c=us())===a&&(c=null),oo(),(l=Ho())===a&&(l=null),oo(),ma=u,u=_n(t,n,o,s,i,c,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),(n=Po())!==a?(oo(),e.substr(Ca,2)===Ce?(o=Ce,Ca+=2):(o=a,0===ga&&Ia(qt)),o===a&&(o=null),oo(),(s=La())!==a?(oo(),(i=qo())===a&&(i=null),oo(),(c=ts())===a&&(c=null),oo(),(l=Ho())===a&&(l=null),oo(),ma=u,u=kn(t,n,o,s,i,c,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}()),u}function Yo(){var e,u,t;for(e=Ca,u=[],t=Ko();t!==a;)u.push(t),t=Ko();return ma=e,Tn(u)}function Xo(){var u,t,r,n;return u=Ca,e.substr(Ca,5)===we?(t=we,Ca+=5):(t=a,0===ga&&Ia(nr)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),(n=function(){var u,t,r,n,o;return ga++,u=Ca,47===e.charCodeAt(Ca)?(t=I,Ca++):(t=a,0===ga&&Ia(Wu)),t!==a?(r=Ca,n=function(){var u,t,r,n;if(u=Ca,t=function(){var u,t,r;return u=Ca,t=Ca,ga++,r=e.charAt(Ca),ze.test(r)?Ca++:(r=a,0===ga&&Ia(Gu)),ga--,r===a?t=void 0:(Ca=t,t=a),t!==a&&(r=to())!==a?u=t=[t,r]:(Ca=u,u=a),u===a&&(u=uo())===a&&(u=ro()),u}(),t!==a){for(r=[],n=eo();n!==a;)r.push(n),n=eo();u=t=[t,r]}else Ca=u,u=a;return u}(),(r=n!==a?e.substring(r,Ca):n)!==a?(47===e.charCodeAt(Ca)?(n=I,Ca++):(n=a,0===ga&&Ia(Wu)),n!==a?(o=Ca,function(){var e,u;for(e=[],u=ka();u!==a;)e.push(u),u=ka()}(),o=e.substring(o,Ca),ma=u,u=kr(r,o)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),ga--,u===a&&(t=a,0===ga&&Ia(Hu)),u}())!==a?(ma=u,u=Sn(n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function Zo(){var u,t,r,n,o,s,i,c;return u=Ca,e.substr(Ca,6)===Te?(t=Te,Ca+=6):(t=a,0===ga&&Ia(ar)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),91===e.charCodeAt(Ca)?(n=M,Ca++):(n=a,0===ga&&Ia(Ju)),n!==a?(oo(),o=Ca,Ha(),o=e.substring(o,Ca),oo(),44===e.charCodeAt(Ca)?(s=Fe,Ca++):(s=a,0===ga&&Ia(Kt)),s!==a?(oo(),i=Ca,Ha(),i=e.substring(i,Ca),oo(),93===e.charCodeAt(Ca)?(c=O,Ca++):(c=a,0===ga&&Ia(Ku)),c!==a?(ma=u,u=Nn(o,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function es(){var u,t,r,n,o,s,i,c;return u=Ca,e.substr(Ca,5)===$e?(t=$e,Ca+=5):(t=a,0===ga&&Ia(or)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),91===e.charCodeAt(Ca)?(n=M,Ca++):(n=a,0===ga&&Ia(Ju)),n!==a?(oo(),o=Ca,Va(),o=e.substring(o,Ca),oo(),44===e.charCodeAt(Ca)?(s=Fe,Ca++):(s=a,0===ga&&Ia(Kt)),s!==a?(oo(),i=Ca,Va(),i=e.substring(i,Ca),oo(),93===e.charCodeAt(Ca)?(c=O,Ca++):(c=a,0===ga&&Ia(Ku)),c!==a?(ma=u,u=xn(o,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function us(){var u,t,r,n,o,s,i,c;return u=Ca,e.substr(Ca,5)===$e?(t=$e,Ca+=5):(t=a,0===ga&&Ia(or)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),91===e.charCodeAt(Ca)?(n=M,Ca++):(n=a,0===ga&&Ia(Ju)),n!==a?(oo(),o=Ca,Ha(),o=e.substring(o,Ca),oo(),44===e.charCodeAt(Ca)?(s=Fe,Ca++):(s=a,0===ga&&Ia(Kt)),s!==a?(oo(),i=Ca,Ha(),i=e.substring(i,Ca),oo(),93===e.charCodeAt(Ca)?(c=O,Ca++):(c=a,0===ga&&Ia(Ku)),c!==a?(ma=u,u=Pn(o,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function ts(){var u,t,r,n,o,s,i,c;return u=Ca,e.substr(Ca,5)===$e?(t=$e,Ca+=5):(t=a,0===ga&&Ia(or)),t!==a?(oo(),61===e.charCodeAt(Ca)?(r=ve,Ca++):(r=a,0===ga&&Ia(tr)),r!==a?(oo(),91===e.charCodeAt(Ca)?(n=M,Ca++):(n=a,0===ga&&Ia(Ju)),n!==a?(oo(),o=Ca,Ha(),o=e.substring(o,Ca),oo(),44===e.charCodeAt(Ca)?(s=Fe,Ca++):(s=a,0===ga&&Ia(Kt)),s!==a?(oo(),i=Ca,Ha(),i=e.substring(i,Ca),oo(),93===e.charCodeAt(Ca)?(c=O,Ca++):(c=a,0===ga&&Ia(Ku)),c!==a?(ma=u,u=Rn(o,i)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}function rs(){var u,t,r,n;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),(n=La())!==a?(oo(),ma=u,u=ea(t,n)):(Ca=u,u=a)):(Ca=u,u=a),u}function ns(){var u,t,r,n,o,s,i;if(u=Ca,t=Ca,(t=(r=La())!==a?e.substring(t,Ca):r)!==a){for(r=Ca,n=[],o=Ca,46===e.charCodeAt(Ca)?(s=E,Ca++):(s=a,0===ga&&Ia(yu)),s!==a&&(i=La())!==a?o=s=[s,i]:(Ca=o,o=a);o!==a;)n.push(o),o=Ca,46===e.charCodeAt(Ca)?(s=E,Ca++):(s=a,0===ga&&Ia(yu)),s!==a&&(i=La())!==a?o=s=[s,i]:(Ca=o,o=a);r=e.substring(r,Ca),ma=u,u=ta(t,r)}else Ca=u,u=a;return u}function as(){var u;return(u=function(){var u,t,r,n,o;return u=Ca,(t=ns())!==a?(64===e.charCodeAt(Ca)?(r=Q,Ca++):(r=a,0===ga&&Ia(dt)),r!==a?(n=Ca,(n=(o=bo())!==a?e.substring(n,Ca):o)!==a?(ma=u,u=na(t,n)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=ns()),u}function os(){var u,t,r,n;return u=Ca,t=function(){var u,t,r,n;return u=Ca,e.substr(Ca,4)===oe?(t=oe,Ca+=4):(t=a,0===ga&&Ia(_t)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a?(oo(),r=Ca,(r=(n=function(){var u,t,r,n,o,s,i;return u=Ca,(t=function(){var u,t,r,n,o;if(u=Ca,t=Ca,r=function(){var u;return u=e.charAt(Ca),Ge.test(u)?Ca++:(u=a,0===ga&&Ia(at)),u}(),r!==a){for(n=[],o=e.charAt(Ca),Ke.test(o)?Ca++:(o=a,0===ga&&Ia(pt));o!==a;)n.push(o),o=e.charAt(Ca),Ke.test(o)?Ca++:(o=a,0===ga&&Ia(pt));t=r=[r,n]}else Ca=t,t=a;return t!==a?e.substring(u,Ca):t}())!==a?(58===e.charCodeAt(Ca)?(r=j,Ca++):(r=a,0===ga&&Ia(ct)),r!==a&&(n=function(){var u,t,r;return u=Ca,e.substr(Ca,2)===d?(t=d,Ca+=2):(t=a,0===ga&&Ia(Cu)),t!==a&&(r=function(){var u,t,r,n,o,s;return u=Ca,t=Ca,r=function(){var u,t,r;for(u=Ca,t=[],(r=Do())===a&&(r=lo())===a&&(r=e.charAt(Ca),Ye.test(r)?Ca++:(r=a,0===ga&&Ia(At)));r!==a;)t.push(r),(r=Do())===a&&(r=lo())===a&&(r=e.charAt(Ca),Ye.test(r)?Ca++:(r=a,0===ga&&Ia(At)));return e.substring(u,Ca)}(),64===e.charCodeAt(Ca)?(n=Q,Ca++):(n=a,0===ga&&Ia(dt)),n!==a?t=r=[r,n]:(Ca=t,t=a),t===a&&(t=null),r=function(){var u,t,r,n;return u=Ca,t=function(){var u,t,r,n;return u=Ca,91===e.charCodeAt(Ca)?(t=M,Ca++):(t=a,0===ga&&Ia(Ju)),t!==a?(r=function(){var u,t,r,n,o,s,i,c,l,D,p,d,A,E;return u=Ca,t=Ca,(r=Ao())!==a&&(n=Ao())!==a&&(o=Ao())!==a&&(s=Ao())!==a&&(i=Ao())!==a&&(c=Ao())!==a&&(l=po())!==a?t=r=[r,n,o,s,i,c,l]:(Ca=t,t=a),t===a&&(t=Ca,e.substr(Ca,2)===z?(r=z,Ca+=2):(r=a,0===ga&&Ia(Ct)),r!==a&&(n=Ao())!==a&&(o=Ao())!==a&&(s=Ao())!==a&&(i=Ao())!==a&&(c=Ao())!==a&&(l=po())!==a?t=r=[r,n,o,s,i,c,l]:(Ca=t,t=a),t===a&&(t=Ca,(r=Eo())===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a&&(o=Ao())!==a&&(s=Ao())!==a&&(i=Ao())!==a&&(c=Ao())!==a&&(l=po())!==a?t=r=[r,n,o,s,i,c,l]:(Ca=t,t=a),t===a&&(t=Ca,r=Ca,(n=Ao())===a&&(n=null),(o=Eo())!==a?r=n=[n,o]:(Ca=r,r=a),r===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a&&(o=Ao())!==a&&(s=Ao())!==a&&(i=Ao())!==a&&(c=po())!==a?t=r=[r,n,o,s,i,c]:(Ca=t,t=a),t===a&&(t=Ca,r=Ca,n=Ca,(o=Ao())!==a?((s=Ao())===a&&(s=null),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),(o=Eo())!==a?r=n=[n,o]:(Ca=r,r=a),r===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a&&(o=Ao())!==a&&(s=Ao())!==a&&(i=po())!==a?t=r=[r,n,o,s,i]:(Ca=t,t=a),t===a&&(t=Ca,r=Ca,n=Ca,(o=Ao())!==a?(s=Ca,(i=Ao())!==a?((c=Ao())===a&&(c=null),s=i=[i,c]):(Ca=s,s=a),s===a&&(s=null),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),(o=Eo())!==a?r=n=[n,o]:(Ca=r,r=a),r===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a&&(o=Ao())!==a&&(s=po())!==a?t=r=[r,n,o,s]:(Ca=t,t=a),t===a&&(t=Ca,r=Ca,n=Ca,(o=Ao())!==a?(s=Ca,(i=Ao())!==a?(c=Ca,(l=Ao())!==a?((D=Ao())===a&&(D=null),c=l=[l,D]):(Ca=c,c=a),c===a&&(c=null),s=i=[i,c]):(Ca=s,s=a),s===a&&(s=null),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),(o=Eo())!==a?r=n=[n,o]:(Ca=r,r=a),r===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a&&(o=po())!==a?t=r=[r,n,o]:(Ca=t,t=a),t===a&&(t=Ca,r=Ca,n=Ca,(o=Ao())!==a?(s=Ca,(i=Ao())!==a?(c=Ca,(l=Ao())!==a?(D=Ca,(p=Ao())!==a?((d=Ao())===a&&(d=null),D=p=[p,d]):(Ca=D,D=a),D===a&&(D=null),c=l=[l,D]):(Ca=c,c=a),c===a&&(c=null),s=i=[i,c]):(Ca=s,s=a),s===a&&(s=null),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),(o=Eo())!==a?r=n=[n,o]:(Ca=r,r=a),r===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a&&(o=Eo())!==a?t=r=[r,n,o]:(Ca=t,t=a),t===a&&(t=Ca,r=Ca,n=Ca,(o=Ao())!==a?(s=Ca,(i=Ao())!==a?(c=Ca,(l=Ao())!==a?(D=Ca,(p=Ao())!==a?(d=Ca,(A=Ao())!==a?((E=Ao())===a&&(E=null),d=A=[A,E]):(Ca=d,d=a),d===a&&(d=null),D=p=[p,d]):(Ca=D,D=a),D===a&&(D=null),c=l=[l,D]):(Ca=c,c=a),c===a&&(c=null),s=i=[i,c]):(Ca=s,s=a),s===a&&(s=null),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),(o=Eo())!==a?r=n=[n,o]:(Ca=r,r=a),r===a&&(r=null),e.substr(Ca,2)===z?(n=z,Ca+=2):(n=a,0===ga&&Ia(Ct)),n!==a?t=r=[r,n]:(Ca=t,t=a))))))))),t!==a?e.substring(u,Ca):t}(),r===a&&(r=function(){var u,t,r,n,o,s,i;if(u=Ca,118===e.charCodeAt(Ca)?(t=w,Ca++):(t=a,0===ga&&Ia(Vu)),t!==a){if(r=Ca,n=[],(o=co())!==a)for(;o!==a;)n.push(o),o=co();else n=a;if((r=n!==a?e.substring(r,Ca):n)!==a)if(46===e.charCodeAt(Ca)?(n=E,Ca++):(n=a,0===ga&&Ia(yu)),n!==a){if(o=Ca,s=[],i=e.charAt(Ca),Xe.test(i)?Ca++:(i=a,0===ga&&Ia(Et)),i!==a)for(;i!==a;)s.push(i),i=e.charAt(Ca),Xe.test(i)?Ca++:(i=a,0===ga&&Ia(Et));else s=a;(o=s!==a?e.substring(o,Ca):s)!==a?u=t=[t,r,n,o]:(Ca=u,u=a)}else Ca=u,u=a;else Ca=u,u=a}else Ca=u,u=a;return u}()),r!==a?(93===e.charCodeAt(Ca)?(n=O,Ca++):(n=a,0===ga&&Ia(Ku)),n!==a?u=t=[t,r,n]:(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}(),t!==a?(r=Ca,ga++,n=Fo(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u===a&&(u=Ca,(t=Co())!==a?(r=Ca,ga++,n=Fo(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u===a&&(u=function(){var u,t,r;for(u=Ca,t=[],r=Fo();r!==a;)t.push(r),r=Fo();return e.substring(u,Ca)}())),u}(),r!==a?(n=Ca,58===e.charCodeAt(Ca)?(o=j,Ca++):(o=a,0===ga&&Ia(ct)),o!==a?(s=function(){var u,t,r;for(u=Ca,t=[],r=io();r!==a;)t.push(r),r=io();return e.substring(u,Ca)}(),n=o=[o,s]):(Ca=n,n=a),n===a&&(n=null),u=t=[t,r,n]):(Ca=u,u=a),u}())!==a?u=t=[t,r,ho()]:(Ca=u,u=a),u===a&&(u=function(){var u,t,r,n,o,s,i,c;if(u=Ca,t=Ca,47===e.charCodeAt(Ca)?(r=I,Ca++):(r=a,0===ga&&Ia(Wu)),r!==a){if(n=Ca,(o=go())!==a){for(s=[],i=Ca,47===e.charCodeAt(Ca)?(c=I,Ca++):(c=a,0===ga&&Ia(Wu)),c!==a?i=c=[c,fo()]:(Ca=i,i=a);i!==a;)s.push(i),i=Ca,47===e.charCodeAt(Ca)?(c=I,Ca++):(c=a,0===ga&&Ia(Wu)),c!==a?i=c=[c,fo()]:(Ca=i,i=a);n=o=[o,s]}else Ca=n,n=a;n===a&&(n=null),t=r=[r,n]}else Ca=t,t=a;return t!==a?e.substring(u,Ca):t}())===a&&(u=function(){var u,t,r,n,o,s;if(u=Ca,t=Ca,(r=go())!==a){for(n=[],o=Ca,47===e.charCodeAt(Ca)?(s=I,Ca++):(s=a,0===ga&&Ia(Wu)),s!==a?o=s=[s,fo()]:(Ca=o,o=a);o!==a;)n.push(o),o=Ca,47===e.charCodeAt(Ca)?(s=I,Ca++):(s=a,0===ga&&Ia(Wu)),s!==a?o=s=[s,fo()]:(Ca=o,o=a);t=r=[r,n]}else Ca=t,t=a;return t!==a?e.substring(u,Ca):t}(),u===a&&(u="")),u}())!==a?(o=Ca,63===e.charCodeAt(Ca)?(s=V,Ca++):(s=a,0===ga&&Ia(lt)),s!==a?o=s=[s,i=Bo()]:(Ca=o,o=a),o===a&&(o=null),s=Ca,35===e.charCodeAt(Ca)?(i=U,Ca++):(i=a,0===ga&&Ia(Dt)),i!==a?s=i=[i,vo()]:(Ca=s,s=a),s===a&&(s=null),u=t=[t,r,n,o,s]):(Ca=u,u=a)):(Ca=u,u=a),u}())!==a?e.substring(r,Ca):n)!==a?(n=oo(),ma=u,u=oa(r)):(Ca=u,u=a)):(Ca=u,u=a),u}function ss(){var u,t;return(u=function(){var u,t,r,n,o,s,i;return u=Ca,t=Ca,(t=(r=La())!==a?e.substring(t,Ca):r)!==a?(r=so(),n=Ca,o=function(){var u,t,r,n;return u=Ca,e.substr(Ca,2)===L?(t=L,Ca+=2):(t=a,0===ga&&Ia(rt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),(n=o!==a?e.substring(n,Ca):o)!==a?(o=so(),s=Ca,(s=(i=La())!==a?e.substring(s,Ca):i)!==a?(ma=u,u=la(t,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=Ca,u=(t=La())!==a?e.substring(u,Ca):t),u}function is(){var u;return(u=function(){var u,t,r,n,o,s;return u=Ca,ao()!==a?(oo(),(t=as())!==a?(e.substr(Ca,2)===Me?(r=Me,Ca+=2):(r=a,0===ga&&Ia(ir)),r!==a?(so(),n=function(){var u,t,r,n,o,s,i;if(u=Ca,(t=ss())!==a){for(so(),r=[],n=Ca,44===e.charCodeAt(Ca)?(o=Fe,Ca++):(o=a,0===ga&&Ia(Kt)),o!==a?(s=so(),(i=ss())!==a?n=o=[o,s,i]:(Ca=n,n=a)):(Ca=n,n=a);n!==a;)r.push(n),n=Ca,44===e.charCodeAt(Ca)?(o=Fe,Ca++):(o=a,0===ga&&Ia(Kt)),o!==a?(s=so(),(i=ss())!==a?n=o=[o,s,i]:(Ca=n,n=a)):(Ca=n,n=a);ma=u,u=Da(t,r)}else Ca=u,u=a;return u}(),n!==a?(so(),125===e.charCodeAt(Ca)?(o=_,Ca++):(o=a,0===ga&&Ia(nt)),o!==a?(oo(),(s=os())===a&&(s=null),ma=u,u=ca(t,n,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o;return u=Ca,ao()!==a?(oo(),(t=as())!==a?(46===e.charCodeAt(Ca)?(r=E,Ca++):(r=a,0===ga&&Ia(yu)),r!==a?(n=function(){var u,t,r,n;return u=Ca,42===e.charCodeAt(Ca)?(t=se,Ca++):(t=a,0===ga&&Ia(kt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(oo(),(o=os())===a&&(o=null),ma=u,u=sa(t,o)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r;return u=Ca,ao()!==a?(oo(),(t=function(){var u;return(u=function(){var u,t,r,n,o,s,i;return u=Ca,(t=ns())!==a?(64===e.charCodeAt(Ca)?(r=Q,Ca++):(r=a,0===ga&&Ia(dt)),r!==a?(n=Ca,(n=(o=bo())!==a?e.substring(n,Ca):o)!==a?(46===e.charCodeAt(Ca)?(o=E,Ca++):(o=a,0===ga&&Ia(yu)),o!==a?(s=Ca,(s=(i=La())!==a?e.substring(s,Ca):i)!==a?(ma=u,u=ra(t,n,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=ns()),u}())!==a?(oo(),(r=os())===a&&(r=null),ma=u,u=ia(t,r)):(Ca=u,u=a)):(Ca=u,u=a),u}()),u}function cs(){var u;return(u=function(){var u,t,r,n,o,s,i,c,l,D;return u=Ca,t=Qo(),oo(),(r=So())===a&&(r=null),oo(),n=function(){var u,t,r,n;return u=Ca,e.substr(Ca,5)===ue?(t=ue,Ca+=5):(t=a,0===ga&&Ia(Nt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(oo(),(o=La())!==a?(oo(),(s=jo())===a&&(s=null),oo(),(i=zo())===a&&(i=null),oo(),123===e.charCodeAt(Ca)?(c=ge,Ca++):(c=a,0===ga&&Ia(Zt)),c!==a?(oo(),l=Yo(),oo(),125===e.charCodeAt(Ca)?(D=_,Ca++):(D=a,0===ga&&Ia(nt)),D!==a?(ma=u,u=ln(t,r,o,s,i,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l,D;return u=Ca,t=Qo(),oo(),(r=So())===a&&(r=null),oo(),n=function(){var u,t,r,n;return u=Ca,e.substr(Ca,11)===te?(t=te,Ca+=11):(t=a,0===ga&&Ia(xt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(oo(),(o=La())!==a?(oo(),(s=jo())===a&&(s=null),oo(),(i=zo())===a&&(i=null),oo(),123===e.charCodeAt(Ca)?(c=ge,Ca++):(c=a,0===ga&&Ia(Zt)),c!==a?(oo(),l=Yo(),oo(),125===e.charCodeAt(Ca)?(D=_,Ca++):(D=a,0===ga&&Ia(nt)),D!==a?(ma=u,u=pn(t,r,o,s,i,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l,D;return u=Ca,t=Qo(),oo(),(r=So())===a&&(r=null),oo(),n=function(){var u,t,r,n;return u=Ca,e.substr(Ca,5)===re?(t=re,Ca+=5):(t=a,0===ga&&Ia(Pt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(oo(),(o=La())!==a?(oo(),(s=jo())===a&&(s=null),oo(),(i=zo())===a&&(i=null),oo(),123===e.charCodeAt(Ca)?(c=ge,Ca++):(c=a,0===ga&&Ia(Zt)),c!==a?(oo(),l=Yo(),oo(),125===e.charCodeAt(Ca)?(D=_,Ca++):(D=a,0===ga&&Ia(nt)),D!==a?(ma=u,u=dn(t,r,o,s,i,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l,D;return u=Ca,t=Qo(),oo(),(r=So())===a&&(r=null),oo(),n=function(){var u,t,r,n;return u=Ca,e.substr(Ca,11)===ne?(t=ne,Ca+=11):(t=a,0===ga&&Ia(Rt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(oo(),(o=La())!==a?(oo(),(s=jo())===a&&(s=null),oo(),(i=zo())===a&&(i=null),oo(),123===e.charCodeAt(Ca)?(c=ge,Ca++):(c=a,0===ga&&Ia(Zt)),c!==a?(oo(),l=Yo(),oo(),125===e.charCodeAt(Ca)?(D=_,Ca++):(D=a,0===ga&&Ia(nt)),D!==a?(ma=u,u=Dn(t,r,o,s,i,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i;return u=Ca,t=Qo(),oo(),r=function(){var u,t,r,n;return u=Ca,e.substr(Ca,4)===S?(t=S,Ca+=4):(t=a,0===ga&&Ia(Xu)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),r!==a?(oo(),(n=La())!==a?(oo(),123===e.charCodeAt(Ca)?(o=ge,Ca++):(o=a,0===ga&&Ia(Zt)),o!==a?(oo(),s=function(){var e,u,t;for(e=Ca,u=[],t=rs();t!==a;)u.push(t),t=rs();return ma=e,Zn(u)}(),oo(),125===e.charCodeAt(Ca)?(i=_,Ca++):(i=a,0===ga&&Ia(nt)),i!==a?(ma=u,u=Xn(t,n,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i,c,l,D;return u=Ca,t=Qo(),oo(),(r=So())===a&&(r=null),oo(),n=function(){var u,t,r,n;return u=Ca,e.substr(Ca,7)===ee?(t=ee,Ca+=7):(t=a,0===ga&&Ia(St)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),n!==a?(oo(),(o=La())!==a?(oo(),(s=jo())===a&&(s=null),oo(),(i=zo())===a&&(i=null),oo(),123===e.charCodeAt(Ca)?(c=ge,Ca++):(c=a,0===ga&&Ia(Zt)),c!==a?(oo(),l=Yo(),oo(),125===e.charCodeAt(Ca)?(D=_,Ca++):(D=a,0===ga&&Ia(nt)),D!==a?(ma=u,u=An(t,r,o,s,i,l)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s;return u=Ca,t=Qo(),oo(),r=function(){var u,t,r,n;return u=Ca,e.substr(Ca,6)===ae?(t=ae,Ca+=6):(t=a,0===ga&&Ia(Lt)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),r!==a?(oo(),(n=La())!==a?(oo(),e.substr(Ca,7)===fe?(o=fe,Ca+=7):(o=a,0===ga&&Ia(Xt)),o!==a?(oo(),(s=function(){var e;return(e=function(){var e,u;return e=Ca,_o()!==a?(oo(),(u=Go())===a&&(u=null),oo(),ma=e,e=En(u)):(Ca=e,e=a),e}())===a&&(e=function(){var e,u,t;return e=Ca,No()!==a?(oo(),(u=qo())===a&&(u=null),oo(),(t=us())===a&&(t=null),oo(),ma=e,e=Cn(u,t)):(Ca=e,e=a),e}())===a&&(e=function(){var e,u,t;return e=Ca,Po()!==a?(oo(),(u=qo())===a&&(u=null),oo(),(t=ts())===a&&(t=null),oo(),ma=e,e=mn(u,t)):(Ca=e,e=a),e}())===a&&(e=function(){var e,u,t;return e=Ca,xo()!==a?(oo(),(u=Jo())===a&&(u=null),oo(),(t=es())===a&&(t=null),oo(),ma=e,e=Fn(u,t)):(Ca=e,e=a),e}())===a&&(e=function(){var e,u,t,r;return e=Ca,Ro()!==a?(oo(),(u=Wo())===a&&(u=null),oo(),(t=Xo())===a&&(t=null),oo(),(r=Zo())===a&&(r=null),oo(),ma=e,e=hn(u,t,r)):(Ca=e,e=a),e}())===a&&(e=function(){var e,u;return e=Ca,Lo()!==a?(oo(),(u=Wo())===a&&(u=null),oo(),ma=e,e=fn(u)):(Ca=e,e=a),e}()),e}())!==a?(oo(),ma=u,u=gn(t,n,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}())===a&&(u=function(){var u,t,r,n,o,s,i;return u=Ca,t=Qo(),oo(),r=function(){var u,t,r,n;return u=Ca,e.substr(Ca,3)===N?(t=N,Ca+=3):(t=a,0===ga&&Ia(Zu)),t!==a?(r=Ca,ga++,n=ka(),ga--,n===a?r=void 0:(Ca=r,r=a),r!==a?u=t=[t,r]:(Ca=u,u=a)):(Ca=u,u=a),u}(),r!==a?(oo(),(n=La())!==a?(oo(),123===e.charCodeAt(Ca)?(o=ge,Ca++):(o=a,0===ga&&Ia(Zt)),o!==a?(oo(),s=function(){var u,t,r;return u=Ca,t=function(){var u;return u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Ro()!==a?(oo(),ma=u,u=Un(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Lo()!==a?(oo(),ma=u,u=Qn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r,n;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),(n=ko())!==a?(oo(),ma=u,u=zn(t,n)):(Ca=u,u=a)):(Ca=u,u=a),u}())),u}(),t!==a?(oo(),r=function(){var u;return u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),_o()!==a?(oo(),ma=u,u=Hn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Lo()!==a?(oo(),ma=u,u=Wn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Ro()!==a?(oo(),ma=u,u=Gn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),No()!==a?(oo(),ma=u,u=qn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),Po()!==a?(oo(),ma=u,u=Jn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r!==a?(oo(),xo()!==a?(oo(),ma=u,u=Kn(t)):(Ca=u,u=a)):(Ca=u,u=a),u}(),u===a&&(u=function(){var u,t,r,n;return u=Ca,t=Qo(),oo(),111===e.charCodeAt(Ca)?(r=be,Ca++):(r=a,0===ga&&Ia(rr)),r===a&&(e.substr(Ca,3)===Ie?(r=Ie,Ca+=3):(r=a,0===ga&&Ia(sr))),r!==a?(oo(),(n=ko())!==a?(oo(),ma=u,u=Yn(t,r,n)):(Ca=u,u=a)):(Ca=u,u=a),u}())))))),u}(),r!==a?(ma=u,u=Vn(t,r)):(Ca=u,u=a)):(Ca=u,u=a),u}(),s!==a?(oo(),125===e.charCodeAt(Ca)?(i=_,Ca++):(i=a,0===ga&&Ia(nt)),i!==a?(ma=u,u=jn(t,n,s)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a)):(Ca=u,u=a),u}()),u}const ls="concerto.metamodel@".concat("1.0.0");function Ds(e,u,t){return[e].concat(function(e,u){var t,r=new Array(e.length);for(t=0;t<e.length;t++)r[t]=e[t][u];return r}(u,t))}function ps(e){return null!==e?e:[]}function ds(e){return!!e}function As(e){var t;if(null!==(t=u)&&void 0!==t&&t.skipLocationNodes)return;const r=e.start,n=e.end;r.$class="".concat(ls,".Position"),n.$class="".concat(ls,".Position");const a={$class:"".concat(ls,".Range"),start:r,end:n};return e.source&&e.source[0]&&(a.source=e.source[0]),{location:a}}if(r=i(),u.peg$library)return{peg$result:r,peg$currPos:Ca,peg$FAILED:a,peg$maxFailExpected:fa,peg$maxFailPos:ha};if(r!==a&&Ca===e.length)return r;throw r!==a&&Ca<e.length&&Ia({type:"end"}),function(e,u,t){return new n(n.buildMessage(e,u),e,u,t)}(fa,ha<e.length?e.charAt(ha):null,ha<e.length?$a(ha,ha+1):$a(ha,ha))}}},303:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(348),n=t(206),a=t(713);e.exports={parse:function(e,u,t){try{return n.parse(e,t)}catch(e){throw e.location&&e.location.start?new a(e.message,e.location,u):e}},parseModels:function(e,u){const t={$class:"".concat(r,".Models"),models:[]};return e.forEach((e=>{let r=n.parse(e,u);t.models.push(r)})),t}}},993:(e,u,t)=>{"use strict";const{MetaModelNamespace:r}=t(348),{isNull:n}=t(20).NullUtil;function a(e){let u="";switch(e.$class){case"".concat(r,".DecoratorTypeReference"):u+="".concat(e.type.name).concat(e.isArray?"[]":"");break;case"".concat(r,".DecoratorString"):u+='"'.concat(e.value,'"');break;default:u+="".concat(e.value)}return u}function o(e){let u="";return u+="@".concat(e.name),e.arguments&&(u+="(",u+=e.arguments.map(a).join(","),u+=")"),u}function s(e,u){let t="";return t+=e.map(o).join("\n".concat(u)),t+="\n".concat(u),t}function i(e){let u="";switch(e.$class){case"".concat(r,".EnumProperty"):break;case"".concat(r,".BooleanScalar"):case"".concat(r,".BooleanProperty"):case"".concat(r,".BooleanMapValueType"):u+=" Boolean";break;case"".concat(r,".DateTimeProperty"):case"".concat(r,".DateTimeScalar"):case"".concat(r,".DateTimeMapKeyType"):case"".concat(r,".DateTimeMapValueType"):u+=" DateTime";break;case"".concat(r,".DoubleProperty"):case"".concat(r,".DoubleScalar"):case"".concat(r,".DoubleMapValueType"):u+=" Double";break;case"".concat(r,".IntegerProperty"):case"".concat(r,".IntegerScalar"):case"".concat(r,".IntegerMapValueType"):u+=" Integer";break;case"".concat(r,".LongProperty"):case"".concat(r,".LongScalar"):case"".concat(r,".LongMapValueType"):u+=" Long";break;case"".concat(r,".StringProperty"):case"".concat(r,".StringScalar"):case"".concat(r,".StringMapKeyType"):case"".concat(r,".StringMapValueType"):u+=" String";break;case"".concat(r,".ObjectProperty"):case"".concat(r,".ObjectMapKeyType"):case"".concat(r,".ObjectMapValueType"):case"".concat(r,".RelationshipProperty"):case"".concat(r,".RelationshipMapValueType"):u+=" ".concat(e.type.name)}return u}function c(e){let u="",t="",a="";switch(e.$class){case"".concat(r,".EnumProperty"):break;case"".concat(r,".BooleanProperty"):case"".concat(r,".BooleanScalar"):!0!==e.defaultValue&&!1!==e.defaultValue||(e.defaultValue?t+=" default=true":t+=" default=false");break;case"".concat(r,".DateTimeProperty"):case"".concat(r,".DateTimeScalar"):e.defaultValue&&(u+=' default="'.concat(e.defaultValue,'"'));break;case"".concat(r,".DoubleProperty"):case"".concat(r,".DoubleScalar"):if(!n(e.defaultValue)){const u=e.defaultValue.toFixed(Math.max(1,(e.defaultValue.toString().split(".")[1]||[]).length));t+=" default=".concat(u)}if(e.validator){const u=e.validator.lower?e.validator.lower:"",t=e.validator.upper?e.validator.upper:"";a+=" range=[".concat(u,",").concat(t,"]")}break;case"".concat(r,".IntegerProperty"):case"".concat(r,".IntegerScalar"):if(n(e.defaultValue)||(t+=" default=".concat(e.defaultValue.toString())),e.validator){const u=e.validator.lower?e.validator.lower:"",t=e.validator.upper?e.validator.upper:"";a+=" range=[".concat(u,",").concat(t,"]")}break;case"".concat(r,".LongProperty"):case"".concat(r,".LongScalar"):if(n(e.defaultValue)||(t+=" default=".concat(e.defaultValue.toString())),e.validator){const u=e.validator.lower?e.validator.lower:"",t=e.validator.upper?e.validator.upper:"";a+=" range=[".concat(u,",").concat(t,"]")}break;case"".concat(r,".StringProperty"):case"".concat(r,".StringScalar"):if(e.defaultValue&&(t+=' default="'.concat(e.defaultValue,'"')),e.validator&&(a+=" regex=/".concat(e.validator.pattern,"/").concat(e.validator.flags)),e.lengthValidator){const u=e.lengthValidator.minLength?e.lengthValidator.minLength:"",t=e.lengthValidator.maxLength?e.lengthValidator.maxLength:"";a+=" length=[".concat(u,",").concat(t,"]")}break;case"".concat(r,".ObjectProperty"):e.defaultValue&&(t+=' default="'.concat(e.defaultValue,'"'))}return u+=t,u+=a,u}e.exports={toCTO:function(e){let u="";return e.concertoVersion&&(u+='concerto version "'.concat(e.concertoVersion,'"'),u+="\n",u+="\n"),e.decorators&&e.decorators.length>0&&(u+=s(e.decorators,"")),u+="namespace ".concat(e.namespace),e.imports&&e.imports.length>0&&(u+="\n",e.imports.forEach((e=>{switch(e.$class){case"".concat(r,".ImportType"):case"".concat(r,".ImportTypeFrom"):u+="\nimport ".concat(e.namespace,".").concat(e.name);break;case"".concat(r,".ImportAll"):case"".concat(r,".ImportAllFrom"):u+="\nimport ".concat(e.namespace,".*");break;case"".concat(r,".ImportTypes"):{const t=e.aliasedTypes?new Map(e.aliasedTypes.map((e=>{let{name:u,aliasedName:t}=e;return[u,t]}))):new Map,r=e.types.map((e=>t.has(e)?"".concat(e," as ").concat(t.get(e)):e)).join(",");u+="\nimport ".concat(e.namespace,".{").concat(r,"}");break}default:throw new Error("Unrecognized import")}e.uri&&(u+=" from ".concat(e.uri))}))),e.declarations&&e.declarations.length>0&&e.declarations.forEach((e=>{u+="\n\n".concat(function(e){let u="";if(e.decorators&&(u+=s(e.decorators,"")),function(e){return["".concat(r,".BooleanScalar"),"".concat(r,".IntegerScalar"),"".concat(r,".LongScalar"),"".concat(r,".DoubleScalar"),"".concat(r,".StringScalar"),"".concat(r,".DateTimeScalar")].includes(e.$class)}(e))u+="scalar ".concat(e.name," extends"),u+=i(e),u+=c(e);else if(function(e){return e.$class==="".concat(r,".MapDeclaration")}(e)){const t=[e.key,e.value];u+="map ".concat(e.name," {"),t.forEach((e=>{u+="\n ".concat(function(e){let u="";return e.decorators&&(u+=s(e.decorators," ")),e.$class==="".concat(r,".RelationshipMapValueType")?u+="--\x3e":u+="o",u+=i(e),u}(e))})),u+="\n}"}else{switch(e.isAbstract&&(u+="abstract "),e.$class){case"".concat(r,".AssetDeclaration"):u+="asset ".concat(e.name," ");break;case"".concat(r,".ConceptDeclaration"):u+="concept ".concat(e.name," ");break;case"".concat(r,".EventDeclaration"):u+="event ".concat(e.name," ");break;case"".concat(r,".ParticipantDeclaration"):u+="participant ".concat(e.name," ");break;case"".concat(r,".TransactionDeclaration"):u+="transaction ".concat(e.name," ");break;case"".concat(r,".EnumDeclaration"):u+="enum ".concat(e.name," ")}if(e.identified&&(e.identified.$class==="".concat(r,".IdentifiedBy")?u+="identified by ".concat(e.identified.name," "):u+="identified "),e.superType){if(e.superType.name===e.name)throw new Error('The declaration "'.concat(e.name,'" cannot extend itself.'));u+="extends ".concat(e.superType.name," ")}u+="{",e.properties.forEach((e=>{u+="\n ".concat(function(e){let u="";return e.decorators&&(u+=s(e.decorators," ")),e.$class==="".concat(r,".RelationshipProperty")?u+="--\x3e":u+="o",u+=i(e),e.isArray&&(u+="[]"),u+=" ".concat(e.name),u+=c(e),e.isOptional&&(u+=" optional"),u}(e))})),u+="\n}"}return u}(e))})),u}}},250:e=>{var u=1e3,t=60*u,r=60*t,n=24*r,a=7*n;function o(e,u,t,r){var n=u>=1.5*t;return Math.round(e/t)+" "+r+(n?"s":"")}e.exports=function(e,s){s=s||{};var i,c,l=typeof e;if("string"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(o){var s=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return s*a;case"days":case"day":case"d":return s*n;case"hours":case"hour":case"hrs":case"hr":case"h":return s*r;case"minutes":case"minute":case"mins":case"min":case"m":return s*t;case"seconds":case"second":case"secs":case"sec":case"s":return s*u;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(e);if("number"===l&&isFinite(e))return s.long?(i=e,(c=Math.abs(i))>=n?o(i,c,n,"day"):c>=r?o(i,c,r,"hour"):c>=t?o(i,c,t,"minute"):c>=u?o(i,c,u,"second"):i+" ms"):function(e){var a=Math.abs(e);return a>=n?Math.round(e/n)+"d":a>=r?Math.round(e/r)+"h":a>=t?Math.round(e/t)+"m":a>=u?Math.round(e/u)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},431:e=>{"use strict";e.exports=e=>{const u=/^\\\\\?\\/.test(e),t=/[^\u0000-\u0080]+/.test(e);return u||t?e:e.replace(/\\/g,"/")}},237:(e,u,t)=>{"use strict";const r=t(713),n=t(303),a=t(993),o=t(548);e.exports={ParseException:r,Parser:n,Printer:a,External:o}},833:(e,u,t)=>{u.formatArgs=function(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const t="color: "+this.color;u.splice(1,0,t,"color: inherit");let r=0,n=0;u[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),u.splice(n,0,t)},u.save=function(e){try{e?u.storage.setItem("debug",e):u.storage.removeItem("debug")}catch(e){}},u.load=function(){let e;try{e=u.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},u.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},u.storage=function(){try{return localStorage}catch(e){}}(),u.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],u.log=console.debug||console.log||(()=>{}),e.exports=t(736)(u);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,u,t)=>{e.exports=function(e){function u(e){let t,n,a,o=null;function s(...e){if(!s.enabled)return;const r=s,n=Number(new Date),a=n-(t||n);r.diff=a,r.prev=t,r.curr=n,t=n,e[0]=u.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((t,n)=>{if("%%"===t)return"%";o++;const a=u.formatters[n];if("function"==typeof a){const u=e[o];t=a.call(r,u),e.splice(o,1),o--}return t})),u.formatArgs.call(r,e),(r.log||u.log).apply(r,e)}return s.namespace=e,s.useColors=u.useColors(),s.color=u.selectColor(e),s.extend=r,s.destroy=u.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(n!==u.namespaces&&(n=u.namespaces,a=u.enabled(e)),a),set:e=>{o=e}}),"function"==typeof u.init&&u.init(s),s}function r(e,t){const r=u(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return u.debug=u,u.default=u,u.coerce=function(e){return e instanceof Error?e.stack||e.message:e},u.disable=function(){const e=[...u.names.map(n),...u.skips.map(n).map((e=>"-"+e))].join(",");return u.enable(""),e},u.enable=function(e){let t;u.save(e),u.namespaces=e,u.names=[],u.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length;for(t=0;t<n;t++)r[t]&&("-"===(e=r[t].replace(/\*/g,".*?"))[0]?u.skips.push(new RegExp("^"+e.slice(1)+"$")):u.names.push(new RegExp("^"+e+"$")))},u.enabled=function(e){if("*"===e[e.length-1])return!0;let t,r;for(t=0,r=u.skips.length;t<r;t++)if(u.skips[t].test(e))return!1;for(t=0,r=u.names.length;t<r;t++)if(u.names[t].test(e))return!0;return!1},u.humanize=t(250),u.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((t=>{u[t]=e[t]})),u.names=[],u.skips=[],u.formatters={},u.selectColor=function(e){let t=0;for(let u=0;u<e.length;u++)t=(t<<5)-t+e.charCodeAt(u),t|=0;return u.colors[Math.abs(t)%u.colors.length]},u.enable(u.load()),u}},20:(e,u,t)=>{"use strict";const r=t(786),n=t(516),a=t(539),o=t(705),s=t(587),i=t(357),c=t(390),l=t(597),D=t(931),p=t(870),d=t(529),A=t(934),E=t(830),C=t(526),m=t(284),F=t(405),h=t(795),f=t(116);e.exports={BaseException:r,BaseFileException:n,FileDownloader:a,CompositeFileLoader:o,DefaultFileLoader:s,GitHubFileLoader:i,HTTPFileLoader:c,Writer:l,FileWriter:D,InMemoryWriter:d,ModelWriter:p,Logger:A,TypedStack:E,Label:C,Identifiers:m,ErrorCodes:F,NullUtil:h,Warning:f}},786:(e,u,t)=>{"use strict";const r=t(775),n=t(405);class a extends Error{constructor(e,u,t){super(e),this.component=u||r.name,this.name=this.constructor.name,this.message=e,this.errorType=t||n.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=a},516:(e,u,t)=>{"use strict";const r=t(786);e.exports=class extends r{constructor(e,u,t,r,n){super(t||e,n),this.fileLocation=u,this.shortMessage=e,this.fileName=r}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},405:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},539:(e,u,t)=>{"use strict";const r=t(986)("concerto:FileDownloader"),n=t(573),a=e=>[].concat(...e),o=e=>e.filter(Boolean),s=async(e,u)=>{const t=e.response&&e.response.status&&200!==e.response.status,r=e.code&&"ENOTFOUND"===e.code;if(t||r){const e=new Error(`Unable to download external model dependency '${u.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+u.url+" Details: "+e)};e.exports=class{constructor(e,u,t=10){this.fileLoader=e,this.concurrency=t,this.getExternalImports=u}downloadExternalDependencies(e,u){r("downloadExternalDependencies");const t=new Set;u||(u={});const i=a(e.map((e=>{const r=this.getExternalImports(e);return Object.keys(r).map((e=>({downloadedUris:t,url:r[e],options:u})))})));return n.withConcurrency(this.concurrency).for(i).handleError(s).process((e=>this.runJob(e,this.fileLoader))).then((({results:e})=>o(a(e))))}runJob(e,u){const t=e.downloadedUris,i=e.options,c=e.url;return t.add(c),r("runJob","Loading",c),u.load(c,i).then((async e=>{r("runJob","Loaded",c);const l=this.getExternalImports(e),D=Array.from(new Set(Object.keys(l).map((e=>l[e]))));return r("runJob","importedUris",D),(await n.withConcurrency(this.concurrency).for(D).handleError(s).process((e=>{if(!t.has(e))return this.runJob({options:i,url:e,downloadedUris:t},u)})).then((({results:e})=>o(a(e))))).concat([e])}))}}},931:(e,u,t)=>{"use strict";const r=t(995),n=t(495),a=t(597);e.exports=class extends a{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,r.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,u){this.relativeDir=e,this.fileName=u}writeLine(e,u){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,u)}writeBeforeLine(e,u){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,u)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=n.resolve(e,this.relativeDir)),e=n.resolve(e,this.fileName),r.mkdirSync(n.dirname(e),{recursive:!0}),r.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},284:e=>{"use strict";const u=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e,t=-1){const r=(e,u)=>{let t="";for(const e of u)t+=`_${e.codePointAt(0).toString(16)}`;return t};let n=e??String(e);if("string"!=typeof n)throw new Error(`Unsupported identifier type, '${typeof n}'.`);if(n=n.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,r).replace(/([\uD800-\uDFFF])/g,r),t>0&&(n=n.substring(0,t)),!u.test(n))throw new Error(`Unexpected error. Not able to escape identifier '${n}'.`);return n},ID_REGEX:u}},529:(e,u,t)=>{"use strict";const r=t(597);e.exports=class extends r{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},526:e=>{"use strict";e.exports={labelToSentence:function(e=""){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(e=""){const u=e.split(/[^A-Za-z0-9_-]+/);return u.forEach(((e,t)=>{u[t]=u[t].replace(/^./,(e=>e.toUpperCase()))})),u.join("").replace(/^./,(e=>e.toLowerCase()))}}},705:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let u=0;u<this.fileLoaders.length;u++)if(this.fileLoaders[u].accepts(e))return!0;return!1}load(e,u){for(let t=0;t<this.fileLoaders.length;t++){const r=this.fileLoaders[t];if(r.accepts(e))return r.load(e,u)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},587:(e,u,t)=>{"use strict";const r=t(705),n=t(390),a=t(357);e.exports=class extends r{constructor(e){super();const u=new n(e),t=new a(e);this.addFileLoader(t),this.addFileLoader(u)}}},357:(e,u,t)=>{"use strict";const r=t(390);e.exports=class extends r{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,u){const t="https://raw.githubusercontent.com/"+e.substring(9);return super.load(t,u)}}},390:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,u){u||(u={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const t=await fetch(e,u);if(!t.ok)throw new Error(`HTTP request failed with status: ${t.status}`);const r=await t.text(),n=new URL(e),a="@"+(n.host+n.pathname).replace(/\//g,".");return this.processFile(a,r)}}},934:e=>{"use strict";const u={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},t=e=>e,r={};Object.keys(u).forEach((e=>{r[e]=(...r)=>((e,...r)=>{let n=e,a=r,o=a.shift();if(o&&"object"==typeof o&&o.level&&o.message){const e=o.padding&&o.padding[o.level];"error"===o.level&&o.stack?(n="error",o=`${o.message}\n${o.stack}`):Object.keys(u).includes(o.level)&&(n=o.level,o=o.message),o=e?`${e} ${o}`:o}a.unshift(o),(["error","warn"].includes(n)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${n}:`,...a.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(t))})(e,...r)}));class n{static dispatch(e,...t){u[e]>u[this.level]||this.transports.forEach((u=>{u[e]&&u[e](...t)}))}static add(e){this.transports.push(e)}static error(...e){return this.dispatch("error",...e)}static warn(...e){return this.dispatch("warn",...e)}static info(...e){return this.dispatch("info",...e)}static log(...e){return this.info(...e)}static http(...e){return this.dispatch("http",...e)}static verbose(...e){return this.dispatch("verbose",...e)}static debug(...e){return this.dispatch("debug",...e)}static silly(...e){return this.dispatch("silly",...e)}}n.level="info",n.transports=[r],e.exports=n},870:(e,u,t)=>{"use strict";const r=t(995),n=t(495),a=t(431);e.exports={writeModelsToFileSystem:function(e,u,t={}){if(!u)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const o=Object.assign({includeExternalModels:!0},t);e.forEach((function(e){if(e.external&&!o.includeExternalModels)return;const t=a(e.fileName).split("/").pop();r.writeFileSync(u+n.sep+t,e.definitions)}))}}},795:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},830:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,u){if(u&&!(e instanceof u))throw new Error("Did not find expected type "+u.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const u=this.stack[this.stack.length-1];if(e&&!(u instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+u);return u}clear(){this.stack=[]}}},116:e=>{"use strict";let u=!1;e.exports={printDeprecationWarning:function(e,t,r,a){const o=n.emitWarning;u||(u=!0,o(`DEPRECATED: ${e}`,{type:t,code:r,detail:a}))}}},597:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,u){for(let u=0;u<e;u++)this.beforeBuffer+=" ";this.beforeBuffer+=u,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,u){for(let u=0;u<e;u++)this.write(" ");this.write(u),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,u){for(let u=0;u<e;u++)this.write(" ");this.write(u)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},986:(e,u,t)=>{u.formatArgs=function(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const t="color: "+this.color;u.splice(1,0,t,"color: inherit");let r=0,n=0;u[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),u.splice(n,0,t)},u.save=function(e){try{e?u.storage.setItem("debug",e):u.storage.removeItem("debug")}catch(e){}},u.load=function(){let e;try{e=u.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},u.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},u.storage=function(){try{return localStorage}catch(e){}}(),u.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],u.log=console.debug||console.log||(()=>{}),e.exports=t(77)(u);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},77:(e,u,t)=>{e.exports=function(e){function u(e){let t,n,a,o=null;function s(...e){if(!s.enabled)return;const r=s,n=Number(new Date),a=n-(t||n);r.diff=a,r.prev=t,r.curr=n,t=n,e[0]=u.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((t,n)=>{if("%%"===t)return"%";o++;const a=u.formatters[n];if("function"==typeof a){const u=e[o];t=a.call(r,u),e.splice(o,1),o--}return t})),u.formatArgs.call(r,e),(r.log||u.log).apply(r,e)}return s.namespace=e,s.useColors=u.useColors(),s.color=u.selectColor(e),s.extend=r,s.destroy=u.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(n!==u.namespaces&&(n=u.namespaces,a=u.enabled(e)),a),set:e=>{o=e}}),"function"==typeof u.init&&u.init(s),s}function r(e,t){const r=u(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return u.debug=u,u.default=u,u.coerce=function(e){return e instanceof Error?e.stack||e.message:e},u.disable=function(){const e=[...u.names.map(n),...u.skips.map(n).map((e=>"-"+e))].join(",");return u.enable(""),e},u.enable=function(e){let t;u.save(e),u.namespaces=e,u.names=[],u.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length;for(t=0;t<n;t++)r[t]&&("-"===(e=r[t].replace(/\*/g,".*?"))[0]?u.skips.push(new RegExp("^"+e.slice(1)+"$")):u.names.push(new RegExp("^"+e+"$")))},u.enabled=function(e){if("*"===e[e.length-1])return!0;let t,r;for(t=0,r=u.skips.length;t<r;t++)if(u.skips[t].test(e))return!1;for(t=0,r=u.names.length;t<r;t++)if(u.names[t].test(e))return!0;return!1},u.humanize=t(250),u.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((t=>{u[t]=e[t]})),u.names=[],u.skips=[],u.formatters={},u.selectColor=function(e){let t=0;for(let u=0;u<e.length;u++)t=(t<<5)-t+e.charCodeAt(u),t|=0;return u.colors[Math.abs(t)%u.colors.length]},u.enable(u.load()),u}},558:()=>{},995:()=>{},495:()=>{},865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},775:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.20.1","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-util.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.57.1","jsdoc":"^4.0.4","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","tmp-promise":"3.0.3","typescript":"5.7.2","undici":"^7.0.0","webpack":"5.96.1","sinon":"19.0.2"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.7","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')}},u={},function t(r){var n=u[r];if(void 0!==n)return n.exports;var a=u[r]={exports:{}};return e[r](a,a.exports,t),a.exports}(237);var e,u},e.exports=r()},8487:e=>{var u;self,u=()=>{return e={573:(e,u,t)=>{"use strict";const r=t(187);e.exports=r.PromisePool},160:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.PromisePoolError=void 0;class t extends Error{constructor(e,u){super(),this.item=u,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,u){return new this(e,u)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}u.PromisePoolError=t},241:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.PromisePoolExecutor=void 0;const r=t(160);u.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const u=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(u),1)})).catch((t=>{if(this.tasks.splice(this.tasks.indexOf(u),1),this.errorHandler)return this.errorHandler(t,e);this.errors.push(r.PromisePoolError.createFrom(t,e))}));this.tasks.push(u)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},187:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.PromisePool=void 0;const r=t(241);class n{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new n(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new r.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}u.PromisePool=n},599:(e,u,t)=>{"use strict";const r=t(330),n=t(673);class a extends Error{constructor(e,u,t){super(e),this.component=u||r.name,this.name=this.constructor.name,this.message=e,this.errorType=t||n.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=a},133:(e,u,t)=>{"use strict";const r=t(599);e.exports=class extends r{constructor(e,u,t,r,n){super(t||e,n),this.fileLocation=u,this.shortMessage=e,this.fileName=r}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},673:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},168:(e,u,t)=>{"use strict";const r=t(833)("concerto:FileDownloader"),n=t(573),a=e=>[].concat(...e),o=e=>e.filter(Boolean),s=async(e,u)=>{const t=e.response&&e.response.status&&200!==e.response.status,r=e.code&&"ENOTFOUND"===e.code;if(t||r){const e=new Error("Unable to download external model dependency '".concat(u.url,"'"));throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+u.url+" Details: "+e)};e.exports=class{constructor(e,u){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;this.fileLoader=e,this.concurrency=t,this.getExternalImports=u}downloadExternalDependencies(e,u){r("downloadExternalDependencies");const t=new Set;u||(u={});const i=a(e.map((e=>{const r=this.getExternalImports(e);return Object.keys(r).map((e=>({downloadedUris:t,url:r[e],options:u})))})));return n.withConcurrency(this.concurrency).for(i).handleError(s).process((e=>this.runJob(e,this.fileLoader))).then((e=>{let{results:u}=e;return o(a(u))}))}runJob(e,u){const t=e.downloadedUris,i=e.options,c=e.url;return t.add(c),r("runJob","Loading",c),u.load(c,i).then((async e=>{r("runJob","Loaded",c);const l=this.getExternalImports(e),D=Array.from(new Set(Object.keys(l).map((e=>l[e]))));return r("runJob","importedUris",D),(await n.withConcurrency(this.concurrency).for(D).handleError(s).process((e=>{if(!t.has(e))return this.runJob({options:i,url:e,downloadedUris:t},u)})).then((e=>{let{results:u}=e;return o(a(u))}))).concat([e])}))}}},64:(e,u,t)=>{"use strict";const r=t(686),n=t(558),a=t(926);e.exports=class extends a{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,r.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,u){this.relativeDir=e,this.fileName=u}writeLine(e,u){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,u)}writeBeforeLine(e,u){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,u)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=n.resolve(e,this.relativeDir)),e=n.resolve(e,this.fileName),r.mkdirSync(n.dirname(e),{recursive:!0}),r.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},721:e=>{"use strict";const u=/^((?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7D0\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])|(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43])|[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]|(?:[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDD4E\uDD6F]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDD40-\uDD42\uDD6B\uDD6C\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDC30-\uDC6D\uDD37-\uDD3D]|\uD839\uDCEB|\uD83A\uDD4B)|(?:[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDD4A-\uDD4D\uDD4F\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD43-\uDD6A\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEA\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])|(?:[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]|\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E])|\$|_|\\u[0-9A-Fa-f]{4})(?:(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7D0\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])|(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43])|[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]|(?:[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDD4E\uDD6F]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDD40-\uDD42\uDD6B\uDD6C\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDC30-\uDC6D\uDD37-\uDD3D]|\uD839\uDCEB|\uD83A\uDD4B)|(?:[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDD4A-\uDD4D\uDD4F\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD43-\uDD6A\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEA\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])|(?:[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]|\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E])|\$|_|\\u[0-9A-Fa-f]{4}|(?:[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFC-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74\uDFBB-\uDFC0\uDFCE\uDFD0\uDFD2\uDFE1\uDFE2]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD29\uDD2D-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])|(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CF3\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDFB8-\uDFBA\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC\uDFCD\uDFCF]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF1E\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6\uDF03\uDF34\uDF35\uDF3E\uDF3F\uDF41]|\uD818[\uDD2A-\uDD2C]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72])|(?:[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD801[\uDCA0-\uDCA9]|[\uD803\uD818][\uDD30-\uDD39\uDD40-\uDD49]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDED0-\uDEE3\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59\uDFF0-\uDFF9]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD81B[\uDD70-\uDD79]|\uD833[\uDCF0-\uDCF9]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9\uDDF1-\uDDFA]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9])|[_\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]|\u200C|\u200D)*$/;e.exports={normalizeIdentifier:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const r=(e,u)=>{let t="";for(const e of u)t+="_".concat(e.codePointAt(0).toString(16));return t};let n=null!=e?e:String(e);if("string"!=typeof n)throw new Error("Unsupported identifier type, '".concat(typeof n,"'."));if(n=n.replace(/^(?:[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD801[\uDCA0-\uDCA9]|[\uD803\uD818][\uDD30-\uDD39\uDD40-\uDD49]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDED0-\uDEE3\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59\uDFF0-\uDFF9]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD81B[\uDD70-\uDD79]|\uD833[\uDCF0-\uDCF9]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9\uDDF1-\uDDFA]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9])/,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!(?:[A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1C89\u1C90-\u1CBA\u1CBD-\u1CBF\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2F\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\uA7BA\uA7BC\uA7BE\uA7C0\uA7C2\uA7C4-\uA7C7\uA7C9\uA7CB\uA7CC\uA7D0\uA7D6\uA7D8\uA7DA\uA7DC\uA7F5\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2\uDD50-\uDD65]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21])|(?:[a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0560-\u0588\u10D0-\u10FA\u10FD-\u10FF\u13F8-\u13FD\u1C80-\u1C88\u1C8A\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7BB\uA7BD\uA7BF\uA7C1\uA7C3\uA7C8\uA7CA\uA7CD\uA7D1\uA7D3\uA7D5\uA7D7\uA7D9\uA7DB\uA7F6\uA7FA\uAB30-\uAB5A\uAB60-\uAB68\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A]|\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2\uDD70-\uDD85]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E\uDF25-\uDF2A]|\uD83A[\uDD22-\uDD43])|[\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC]|(?:[\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u08C9\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F2-\uA7F4\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uAB69\uFF70\uFF9E\uFF9F]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDD4E\uDD6F]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDD40-\uDD42\uDD6B\uDD6C\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDC30-\uDC6D\uDD37-\uDD3D]|\uD839\uDCEB|\uD83A\uDD4B)|(?:[\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05EF-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C8\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1100-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDD4A-\uDD4D\uDD4F\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD43-\uDD6A\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD837\uDF0A|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEA\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])|(?:[\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF]|\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E])|\$|_|(?:[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFC-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDE41\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74\uDFBB-\uDFC0\uDFCE\uDFD0\uDFD2\uDFE1\uDFE2]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4\uDF00\uDF01\uDF36-\uDF3A\uDF40\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD29\uDD2D-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])|(?:[\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CF3\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u1715\u1734\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF7\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]|\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDFB8-\uDFBA\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC\uDFCD\uDFCF]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF1E\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6\uDF03\uDF34\uDF35\uDF3E\uDF3F\uDF41]|\uD818[\uDD2A-\uDD2C]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72])|(?:[0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]|\uD801[\uDCA0-\uDCA9]|[\uD803\uD818][\uDD30-\uDD39\uDD40-\uDD49]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDED0-\uDEE3\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59\uDFF0-\uDFF9]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9\uDF50-\uDF59]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD81B[\uDD70-\uDD79]|\uD833[\uDCF0-\uDCF9]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD839[\uDCF0-\uDCF9\uDDF1-\uDDFA]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9])|[_\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]|\u200C|\u200D|\\u[0-9A-Fa-f]{4})((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))/g,r).replace(/([\uD800-\uDFFF])/g,r),t>0&&(n=n.substring(0,t)),!u.test(n))throw new Error("Unexpected error. Not able to escape identifier '".concat(n,"'."));return n},ID_REGEX:u}},530:(e,u,t)=>{"use strict";const r=t(926);e.exports=class extends r{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},911:e=>{"use strict";e.exports={labelToSentence:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[^A-Za-z0-9_-]+/);return e.forEach(((u,t)=>{e[t]=e[t].replace(/^./,(e=>e.toUpperCase()))})),e.join("").replace(/^./,(e=>e.toLowerCase()))}}},996:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let u=0;u<this.fileLoaders.length;u++)if(this.fileLoaders[u].accepts(e))return!0;return!1}load(e,u){for(let t=0;t<this.fileLoaders.length;t++){const r=this.fileLoaders[t];if(r.accepts(e))return r.load(e,u)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},546:(e,u,t)=>{"use strict";const r=t(996),n=t(25),a=t(990);e.exports=class extends r{constructor(e){super();const u=new n(e),t=new a(e);this.addFileLoader(t),this.addFileLoader(u)}}},990:(e,u,t)=>{"use strict";const r=t(25);e.exports=class extends r{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,u){const t="https://raw.githubusercontent.com/"+e.substring(9);return super.load(t,u)}}},25:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,u){u||(u={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const t=await fetch(e,u);if(!t.ok)throw new Error("HTTP request failed with status: ".concat(t.status));const r=await t.text(),n=new URL(e),a="@"+(n.host+n.pathname).replace(/\//g,".");return this.processFile(a,r)}}},545:e=>{"use strict";const u={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},t=e=>e,r={};Object.keys(u).forEach((e=>{r[e]=function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return function(e){let r=e;for(var n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];let s=a,i=s.shift();if(i&&"object"==typeof i&&i.level&&i.message){const e=i.padding&&i.padding[i.level];"error"===i.level&&i.stack?(r="error",i="".concat(i.message,"\n").concat(i.stack)):Object.keys(u).includes(i.level)&&(r=i.level,i=i.message),i=e?"".concat(e," ").concat(i):i}s.unshift(i),(["error","warn"].includes(r)?console.error:console.log)("".concat((new Date).toLocaleTimeString()," - ").concat(r,":"),...s.map((e=>e instanceof Error?"".concat(e.message,"\n").concat(e.stack):e)).map(t))}(e,...n)}}));class n{static dispatch(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];u[e]>u[this.level]||this.transports.forEach((u=>{u[e]&&u[e](...r)}))}static add(e){this.transports.push(e)}static error(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("error",...u)}static warn(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("warn",...u)}static info(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("info",...u)}static log(){return this.info(...arguments)}static http(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("http",...u)}static verbose(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("verbose",...u)}static debug(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("debug",...u)}static silly(){for(var e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];return this.dispatch("silly",...u)}}n.level="info",n.transports=[r],e.exports=n},95:(e,u,t)=>{"use strict";const r=t(686),n=t(558),a=t(431);e.exports={writeModelsToFileSystem:function(e,u){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!u)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const o=Object.assign({includeExternalModels:!0},t);e.forEach((function(e){if(e.external&&!o.includeExternalModels)return;const t=a(e.fileName).split("/").pop();r.writeFileSync(u+n.sep+t,e.definitions)}))}}},328:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},717:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,u){if(u&&!(e instanceof u))throw new Error("Did not find expected type "+u.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const u=this.stack[this.stack.length-1];if(e&&!(u instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+u);return u}clear(){this.stack=[]}}},361:e=>{"use strict";let u=!1;e.exports={printDeprecationWarning:function(e,t,r,n){u||(u=!0,function(e,u){console.warn({message:`DEPRECATED: ${e}`,type:u?.type,code:u?.code,detail:u?.detail})}("DEPRECATED: ".concat(e),{type:t,code:r,detail:n}))}}},926:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,u){for(let u=0;u<e;u++)this.beforeBuffer+=" ";this.beforeBuffer+=u,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,u){for(let u=0;u<e;u++)this.write(" ");this.write(u),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,u){for(let u=0;u<e;u++)this.write(" ");this.write(u)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},250:e=>{var u=1e3,t=60*u,r=60*t,n=24*r,a=7*n;function o(e,u,t,r){var n=u>=1.5*t;return Math.round(e/t)+" "+r+(n?"s":"")}e.exports=function(e,s){s=s||{};var i,c,l=typeof e;if("string"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(o){var s=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return s*a;case"days":case"day":case"d":return s*n;case"hours":case"hour":case"hrs":case"hr":case"h":return s*r;case"minutes":case"minute":case"mins":case"min":case"m":return s*t;case"seconds":case"second":case"secs":case"sec":case"s":return s*u;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(e);if("number"===l&&isFinite(e))return s.long?(i=e,(c=Math.abs(i))>=n?o(i,c,n,"day"):c>=r?o(i,c,r,"hour"):c>=t?o(i,c,t,"minute"):c>=u?o(i,c,u,"second"):i+" ms"):function(e){var a=Math.abs(e);return a>=n?Math.round(e/n)+"d":a>=r?Math.round(e/r)+"h":a>=t?Math.round(e/t)+"m":a>=u?Math.round(e/u)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},907:e=>{var u,t,r=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function o(e){if(u===setTimeout)return setTimeout(e,0);if((u===n||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(t){try{return u.call(null,e,0)}catch(t){return u.call(this,e,0)}}}!function(){try{u="function"==typeof setTimeout?setTimeout:n}catch(e){u=n}try{t="function"==typeof clearTimeout?clearTimeout:a}catch(e){t=a}}();var s,i=[],c=!1,l=-1;function D(){c&&s&&(c=!1,s.length?i=s.concat(i):l=-1,i.length&&p())}function p(){if(!c){var e=o(D);c=!0;for(var u=i.length;u;){for(s=i,i=[];++l<u;)s&&s[l].run();l=-1,u=i.length}s=null,c=!1,function(e){if(t===clearTimeout)return clearTimeout(e);if((t===a||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(e);try{return t(e)}catch(u){try{return t.call(null,e)}catch(u){return t.call(this,e)}}}(e)}}function d(e,u){this.fun=e,this.array=u}function A(){}r.nextTick=function(e){var u=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)u[t-1]=arguments[t];i.push(new d(e,u)),1!==i.length||c||o(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=A,r.addListener=A,r.once=A,r.off=A,r.removeListener=A,r.removeAllListeners=A,r.emit=A,r.prependListener=A,r.prependOnceListener=A,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},431:e=>{"use strict";e.exports=e=>{const u=/^\\\\\?\\/.test(e),t=/[^\u0000-\u0080]+/.test(e);return u||t?e:e.replace(/\\/g,"/")}},237:(e,u,t)=>{"use strict";const r=t(599),n=t(133),a=t(168),o=t(996),s=t(546),i=t(990),c=t(25),l=t(926),D=t(64),p=t(95),d=t(530),A=t(545),E=t(717),C=t(911),m=t(721),F=t(673),h=t(328),f=t(361);e.exports={BaseException:r,BaseFileException:n,FileDownloader:a,CompositeFileLoader:o,DefaultFileLoader:s,GitHubFileLoader:i,HTTPFileLoader:c,Writer:l,FileWriter:D,InMemoryWriter:d,ModelWriter:p,Logger:A,TypedStack:E,Label:C,Identifiers:m,ErrorCodes:F,NullUtil:h,Warning:f}},833:(e,u,t)=>{var r=t(907);u.formatArgs=function(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const t="color: "+this.color;u.splice(1,0,t,"color: inherit");let r=0,n=0;u[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(n=r))})),u.splice(n,0,t)},u.save=function(e){try{e?u.storage.setItem("debug",e):u.storage.removeItem("debug")}catch(e){}},u.load=function(){let e;try{e=u.storage.getItem("debug")}catch(e){}return!e&&void 0!==r&&"env"in r&&(e={NODE_ENV:"production"}.DEBUG),e},u.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},u.storage=function(){try{return localStorage}catch(e){}}(),u.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],u.log=console.debug||console.log||(()=>{}),e.exports=t(736)(u);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,u,t)=>{e.exports=function(e){function u(e){let t,n,a,o=null;function s(...e){if(!s.enabled)return;const r=s,n=Number(new Date),a=n-(t||n);r.diff=a,r.prev=t,r.curr=n,t=n,e[0]=u.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((t,n)=>{if("%%"===t)return"%";o++;const a=u.formatters[n];if("function"==typeof a){const u=e[o];t=a.call(r,u),e.splice(o,1),o--}return t})),u.formatArgs.call(r,e),(r.log||u.log).apply(r,e)}return s.namespace=e,s.useColors=u.useColors(),s.color=u.selectColor(e),s.extend=r,s.destroy=u.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(n!==u.namespaces&&(n=u.namespaces,a=u.enabled(e)),a),set:e=>{o=e}}),"function"==typeof u.init&&u.init(s),s}function r(e,t){const r=u(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return u.debug=u,u.default=u,u.coerce=function(e){return e instanceof Error?e.stack||e.message:e},u.disable=function(){const e=[...u.names.map(n),...u.skips.map(n).map((e=>"-"+e))].join(",");return u.enable(""),e},u.enable=function(e){let t;u.save(e),u.namespaces=e,u.names=[],u.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length;for(t=0;t<n;t++)r[t]&&("-"===(e=r[t].replace(/\*/g,".*?"))[0]?u.skips.push(new RegExp("^"+e.slice(1)+"$")):u.names.push(new RegExp("^"+e+"$")))},u.enabled=function(e){if("*"===e[e.length-1])return!0;let t,r;for(t=0,r=u.skips.length;t<r;t++)if(u.skips[t].test(e))return!1;for(t=0,r=u.names.length;t<r;t++)if(u.names[t].test(e))return!0;return!1},u.humanize=t(250),u.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((t=>{u[t]=e[t]})),u.names=[],u.skips=[],u.formatters={},u.selectColor=function(e){let t=0;for(let u=0;u<e.length;u++)t=(t<<5)-t+e.charCodeAt(u),t|=0;return u.colors[Math.abs(t)%u.colors.length]},u.enable(u.load()),u}},686:()=>{},558:()=>{},330:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.20.1","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-util.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.57.1","jsdoc":"^4.0.4","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","tmp-promise":"3.0.3","typescript":"5.7.2","undici":"^7.0.0","webpack":"5.96.1","sinon":"19.0.2"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.7","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')}},u={},function t(r){var n=u[r];if(void 0!==n)return n.exports;var a=u[r]={exports:{}};return e[r](a,a.exports,t),a.exports}(237);var e,u},e.exports=u()},6686:()=>{},5558:()=>{},182:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.version=u.validate=u.v7=u.v6ToV1=u.v6=u.v5=u.v4=u.v3=u.v1ToV6=u.v1=u.stringify=u.parse=u.NIL=u.MAX=void 0;var r=t(2196);Object.defineProperty(u,"MAX",{enumerable:!0,get:function(){return r.default}});var n=t(3465);Object.defineProperty(u,"NIL",{enumerable:!0,get:function(){return n.default}});var a=t(1797);Object.defineProperty(u,"parse",{enumerable:!0,get:function(){return a.default}});var o=t(6011);Object.defineProperty(u,"stringify",{enumerable:!0,get:function(){return o.default}});var s=t(1425);Object.defineProperty(u,"v1",{enumerable:!0,get:function(){return s.default}});var i=t(6568);Object.defineProperty(u,"v1ToV6",{enumerable:!0,get:function(){return i.default}});var c=t(591);Object.defineProperty(u,"v3",{enumerable:!0,get:function(){return c.default}});var l=t(8286);Object.defineProperty(u,"v4",{enumerable:!0,get:function(){return l.default}});var D=t(4557);Object.defineProperty(u,"v5",{enumerable:!0,get:function(){return D.default}});var p=t(6356);Object.defineProperty(u,"v6",{enumerable:!0,get:function(){return p.default}});var d=t(268);Object.defineProperty(u,"v6ToV1",{enumerable:!0,get:function(){return d.default}});var A=t(4299);Object.defineProperty(u,"v7",{enumerable:!0,get:function(){return A.default}});var E=t(9746);Object.defineProperty(u,"validate",{enumerable:!0,get:function(){return E.default}});var C=t(2770);Object.defineProperty(u,"version",{enumerable:!0,get:function(){return C.default}})},2196:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default="ffffffff-ffff-ffff-ffff-ffffffffffff"},338:(e,u)=>{"use strict";function t(e){return 14+(e+64>>>9<<4)+1}function r(e,u){const t=(65535&e)+(65535&u);return(e>>16)+(u>>16)+(t>>16)<<16|65535&t}function n(e,u,t,n,a,o){return r((s=r(r(u,e),r(n,o)))<<(i=a)|s>>>32-i,t);var s,i}function a(e,u,t,r,a,o,s){return n(u&t|~u&r,e,u,a,o,s)}function o(e,u,t,r,a,o,s){return n(u&r|t&~r,e,u,a,o,s)}function s(e,u,t,r,a,o,s){return n(u^t^r,e,u,a,o,s)}function i(e,u,t,r,a,o,s){return n(t^(u|~r),e,u,a,o,s)}Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(e){return function(e){const u=new Uint8Array(4*e.length);for(let t=0;t<4*e.length;t++)u[t]=e[t>>2]>>>t%4*8&255;return u}(function(e,u){const n=new Uint32Array(t(u)).fill(0);n.set(e),n[u>>5]|=128<<u%32,n[n.length-1]=u,e=n;let c=1732584193,l=-271733879,D=-1732584194,p=271733878;for(let u=0;u<e.length;u+=16){const t=c,n=l,d=D,A=p;c=a(c,l,D,p,e[u],7,-680876936),p=a(p,c,l,D,e[u+1],12,-389564586),D=a(D,p,c,l,e[u+2],17,606105819),l=a(l,D,p,c,e[u+3],22,-1044525330),c=a(c,l,D,p,e[u+4],7,-176418897),p=a(p,c,l,D,e[u+5],12,1200080426),D=a(D,p,c,l,e[u+6],17,-1473231341),l=a(l,D,p,c,e[u+7],22,-45705983),c=a(c,l,D,p,e[u+8],7,1770035416),p=a(p,c,l,D,e[u+9],12,-1958414417),D=a(D,p,c,l,e[u+10],17,-42063),l=a(l,D,p,c,e[u+11],22,-1990404162),c=a(c,l,D,p,e[u+12],7,1804603682),p=a(p,c,l,D,e[u+13],12,-40341101),D=a(D,p,c,l,e[u+14],17,-1502002290),l=a(l,D,p,c,e[u+15],22,1236535329),c=o(c,l,D,p,e[u+1],5,-165796510),p=o(p,c,l,D,e[u+6],9,-1069501632),D=o(D,p,c,l,e[u+11],14,643717713),l=o(l,D,p,c,e[u],20,-373897302),c=o(c,l,D,p,e[u+5],5,-701558691),p=o(p,c,l,D,e[u+10],9,38016083),D=o(D,p,c,l,e[u+15],14,-660478335),l=o(l,D,p,c,e[u+4],20,-405537848),c=o(c,l,D,p,e[u+9],5,568446438),p=o(p,c,l,D,e[u+14],9,-1019803690),D=o(D,p,c,l,e[u+3],14,-187363961),l=o(l,D,p,c,e[u+8],20,1163531501),c=o(c,l,D,p,e[u+13],5,-1444681467),p=o(p,c,l,D,e[u+2],9,-51403784),D=o(D,p,c,l,e[u+7],14,1735328473),l=o(l,D,p,c,e[u+12],20,-1926607734),c=s(c,l,D,p,e[u+5],4,-378558),p=s(p,c,l,D,e[u+8],11,-2022574463),D=s(D,p,c,l,e[u+11],16,1839030562),l=s(l,D,p,c,e[u+14],23,-35309556),c=s(c,l,D,p,e[u+1],4,-1530992060),p=s(p,c,l,D,e[u+4],11,1272893353),D=s(D,p,c,l,e[u+7],16,-155497632),l=s(l,D,p,c,e[u+10],23,-1094730640),c=s(c,l,D,p,e[u+13],4,681279174),p=s(p,c,l,D,e[u],11,-358537222),D=s(D,p,c,l,e[u+3],16,-722521979),l=s(l,D,p,c,e[u+6],23,76029189),c=s(c,l,D,p,e[u+9],4,-640364487),p=s(p,c,l,D,e[u+12],11,-421815835),D=s(D,p,c,l,e[u+15],16,530742520),l=s(l,D,p,c,e[u+2],23,-995338651),c=i(c,l,D,p,e[u],6,-198630844),p=i(p,c,l,D,e[u+7],10,1126891415),D=i(D,p,c,l,e[u+14],15,-1416354905),l=i(l,D,p,c,e[u+5],21,-57434055),c=i(c,l,D,p,e[u+12],6,1700485571),p=i(p,c,l,D,e[u+3],10,-1894986606),D=i(D,p,c,l,e[u+10],15,-1051523),l=i(l,D,p,c,e[u+1],21,-2054922799),c=i(c,l,D,p,e[u+8],6,1873313359),p=i(p,c,l,D,e[u+15],10,-30611744),D=i(D,p,c,l,e[u+6],15,-1560198380),l=i(l,D,p,c,e[u+13],21,1309151649),c=i(c,l,D,p,e[u+4],6,-145523070),p=i(p,c,l,D,e[u+11],10,-1120210379),D=i(D,p,c,l,e[u+2],15,718787259),l=i(l,D,p,c,e[u+9],21,-343485551),c=r(c,t),l=r(l,n),D=r(D,d),p=r(p,A)}return Uint32Array.of(c,l,D,p)}(function(e){if(0===e.length)return new Uint32Array;const u=new Uint32Array(t(8*e.length)).fill(0);for(let t=0;t<e.length;t++)u[t>>2]|=(255&e[t])<<t%4*8;return u}(e),8*e.length))}},3779:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});const t="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);u.default={randomUUID:t}},3465:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default="00000000-0000-0000-0000-000000000000"},1797:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});const r=t(9746);u.default=function(e){if(!(0,r.default)(e))throw TypeError("Invalid UUID");let u;return Uint8Array.of((u=parseInt(e.slice(0,8),16))>>>24,u>>>16&255,u>>>8&255,255&u,(u=parseInt(e.slice(9,13),16))>>>8,255&u,(u=parseInt(e.slice(14,18),16))>>>8,255&u,(u=parseInt(e.slice(19,23),16))>>>8,255&u,(u=parseInt(e.slice(24,36),16))/1099511627776&255,u/4294967296&255,u>>>24&255,u>>>16&255,u>>>8&255,255&u)}},6697:(e,u)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i},2291:(e,u)=>{"use strict";let t;Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(){if(!t){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");t=crypto.getRandomValues.bind(crypto)}return t(r)};const r=new Uint8Array(16)},2829:(e,u)=>{"use strict";function t(e,u,t,r){switch(e){case 0:return u&t^~u&r;case 1:case 3:return u^t^r;case 2:return u&t^u&r^t&r}}function r(e,u){return e<<u|e>>>32-u}Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(e){const u=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],a=new Uint8Array(e.length+1);a.set(e),a[e.length]=128;const o=(e=a).length/4+2,s=Math.ceil(o/16),i=new Array(s);for(let u=0;u<s;++u){const t=new Uint32Array(16);for(let r=0;r<16;++r)t[r]=e[64*u+4*r]<<24|e[64*u+4*r+1]<<16|e[64*u+4*r+2]<<8|e[64*u+4*r+3];i[u]=t}i[s-1][14]=8*(e.length-1)/Math.pow(2,32),i[s-1][14]=Math.floor(i[s-1][14]),i[s-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<s;++e){const a=new Uint32Array(80);for(let u=0;u<16;++u)a[u]=i[e][u];for(let e=16;e<80;++e)a[e]=r(a[e-3]^a[e-8]^a[e-14]^a[e-16],1);let o=n[0],s=n[1],c=n[2],l=n[3],D=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),i=r(o,5)+t(n,s,c,l)+D+u[n]+a[e]>>>0;D=l,l=c,c=r(s,30)>>>0,s=o,o=i}n[0]=n[0]+o>>>0,n[1]=n[1]+s>>>0,n[2]=n[2]+c>>>0,n[3]=n[3]+l>>>0,n[4]=n[4]+D>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}},6011:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.unsafeStringify=a;const r=t(9746),n=[];for(let e=0;e<256;++e)n.push((e+256).toString(16).slice(1));function a(e,u=0){return(n[e[u+0]]+n[e[u+1]]+n[e[u+2]]+n[e[u+3]]+"-"+n[e[u+4]]+n[e[u+5]]+"-"+n[e[u+6]]+n[e[u+7]]+"-"+n[e[u+8]]+n[e[u+9]]+"-"+n[e[u+10]]+n[e[u+11]]+n[e[u+12]]+n[e[u+13]]+n[e[u+14]]+n[e[u+15]]).toLowerCase()}u.default=function(e,u=0){const t=a(e,u);if(!(0,r.default)(t))throw TypeError("Stringified UUID is invalid");return t}},1425:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.updateV1State=o;const r=t(2291),n=t(6011),a={};function o(e,u,t){return e.msecs??=-1/0,e.nsecs??=0,u===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):u>e.msecs?e.nsecs=0:u<e.msecs&&(e.node=void 0),e.node||(e.node=t.slice(10,16),e.node[0]|=1,e.clockseq=16383&(t[8]<<8|t[9])),e.msecs=u,e}function s(e,u,t,r,n,a,o=0){a||(a=new Uint8Array(16),o=0),u??=Date.now(),t??=0,r??=16383&(e[8]<<8|e[9]),n??=e.slice(10,16);const s=(1e4*(268435455&(u+=122192928e5))+t)%4294967296;a[o++]=s>>>24&255,a[o++]=s>>>16&255,a[o++]=s>>>8&255,a[o++]=255&s;const i=u/4294967296*1e4&268435455;a[o++]=i>>>8&255,a[o++]=255&i,a[o++]=i>>>24&15|16,a[o++]=i>>>16&255,a[o++]=r>>>8|128,a[o++]=255&r;for(let e=0;e<6;++e)a[o++]=n[e];return a}u.default=function(e,u,t){let i;const c=e?._v6??!1;if(e){const u=Object.keys(e);1===u.length&&"_v6"===u[0]&&(e=void 0)}if(e)i=s(e.random??e.rng?.()??(0,r.default)(),e.msecs,e.nsecs,e.clockseq,e.node,u,t);else{const e=Date.now(),n=(0,r.default)();o(a,e,n),i=s(n,a.msecs,a.nsecs,c?void 0:a.clockseq,c?void 0:a.node,u,t)}return u?i:(0,n.unsafeStringify)(i)}},6568:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(e){const u=(t="string"==typeof e?(0,r.default)(e):e,Uint8Array.of((15&t[6])<<4|t[7]>>4&15,(15&t[7])<<4|(240&t[4])>>4,(15&t[4])<<4|(240&t[5])>>4,(15&t[5])<<4|(240&t[0])>>4,(15&t[0])<<4|(240&t[1])>>4,(15&t[1])<<4|(240&t[2])>>4,96|15&t[2],t[3],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]));var t;return"string"==typeof e?(0,n.unsafeStringify)(u):u};const r=t(1797),n=t(6011)},591:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.URL=u.DNS=void 0;const r=t(338),n=t(2988);var a=t(2988);function o(e,u,t,a){return(0,n.default)(48,r.default,e,u,t,a)}Object.defineProperty(u,"DNS",{enumerable:!0,get:function(){return a.DNS}}),Object.defineProperty(u,"URL",{enumerable:!0,get:function(){return a.URL}}),o.DNS=n.DNS,o.URL=n.URL,u.default=o},2988:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.URL=u.DNS=void 0,u.stringToBytes=a,u.default=function(e,u,t,o,s,i){const c="string"==typeof t?a(t):t,l="string"==typeof o?(0,r.default)(o):o;if("string"==typeof o&&(o=(0,r.default)(o)),16!==o?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let D=new Uint8Array(16+c.length);if(D.set(l),D.set(c,l.length),D=u(D),D[6]=15&D[6]|e,D[8]=63&D[8]|128,s){i=i||0;for(let e=0;e<16;++e)s[i+e]=D[e];return s}return(0,n.unsafeStringify)(D)};const r=t(1797),n=t(6011);function a(e){e=unescape(encodeURIComponent(e));const u=new Uint8Array(e.length);for(let t=0;t<e.length;++t)u[t]=e.charCodeAt(t);return u}u.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",u.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},8286:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});const r=t(3779),n=t(2291),a=t(6011);u.default=function(e,u,t){if(r.default.randomUUID&&!u&&!e)return r.default.randomUUID();const o=(e=e||{}).random||(e.rng||n.default)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,u){t=t||0;for(let e=0;e<16;++e)u[t+e]=o[e];return u}return(0,a.unsafeStringify)(o)}},4557:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.URL=u.DNS=void 0;const r=t(2829),n=t(2988);var a=t(2988);function o(e,u,t,a){return(0,n.default)(80,r.default,e,u,t,a)}Object.defineProperty(u,"DNS",{enumerable:!0,get:function(){return a.DNS}}),Object.defineProperty(u,"URL",{enumerable:!0,get:function(){return a.URL}}),o.DNS=n.DNS,o.URL=n.URL,u.default=o},6356:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});const r=t(6011),n=t(1425),a=t(6568);u.default=function(e,u,t){e??={},t??=0;let o=(0,n.default)({...e,_v6:!0},new Uint8Array(16));if(o=(0,a.default)(o),u){for(let e=0;e<16;e++)u[t+e]=o[e];return u}return(0,r.unsafeStringify)(o)}},268:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(e){const u=(t="string"==typeof e?(0,r.default)(e):e,Uint8Array.of((15&t[3])<<4|t[4]>>4&15,(15&t[4])<<4|(240&t[5])>>4,(15&t[5])<<4|15&t[6],t[7],(15&t[1])<<4|(240&t[2])>>4,(15&t[2])<<4|(240&t[3])>>4,16|(240&t[0])>>4,(15&t[0])<<4|(240&t[1])>>4,t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]));var t;return"string"==typeof e?(0,n.unsafeStringify)(u):u};const r=t(1797),n=t(6011)},4299:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.updateV7State=o;const r=t(2291),n=t(6011),a={};function o(e,u,t){return e.msecs??=-1/0,e.seq??=0,u>e.msecs?(e.seq=t[6]<<23|t[7]<<16|t[8]<<8|t[9],e.msecs=u):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),e}function s(e,u,t,r,n=0){return r||(r=new Uint8Array(16),n=0),u??=Date.now(),t??=127*e[6]<<24|e[7]<<16|e[8]<<8|e[9],r[n++]=u/1099511627776&255,r[n++]=u/4294967296&255,r[n++]=u/16777216&255,r[n++]=u/65536&255,r[n++]=u/256&255,r[n++]=255&u,r[n++]=112|t>>>28&15,r[n++]=t>>>20&255,r[n++]=128|t>>>14&63,r[n++]=t>>>6&255,r[n++]=t<<2&255|3&e[10],r[n++]=e[11],r[n++]=e[12],r[n++]=e[13],r[n++]=e[14],r[n++]=e[15],r}u.default=function(e,u,t){let i;if(e)i=s(e.random??e.rng?.()??(0,r.default)(),e.msecs,e.seq,u,t);else{const e=Date.now(),n=(0,r.default)();o(a,e,n),i=s(n,a.msecs,a.seq,u,t)}return u?i:(0,n.unsafeStringify)(i)}},9746:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});const r=t(6697);u.default=function(e){return"string"==typeof e&&r.default.test(e)}},2770:(e,u,t)=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});const r=t(9746);u.default=function(e){if(!(0,r.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},4865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},480:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[],"namespace":"concerto.decorator@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DotNetNamespace","superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false}]}]}')},6391:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto"}]}],"namespace":"concerto@1.0.0","imports":[{"$class":"concerto.metamodel@1.0.0.ImportType","name":"DotNetNamespace","namespace":"concerto.decorator@1.0.0"}],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Concept","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Asset","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Participant","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Transaction","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Event","isAbstract":true,"properties":[]}]}')},8168:e=>{"use strict";e.exports=JSON.parse('{"en":{"like":["{0, plural, offset:1"," =0 {Be the first to like this}"," =1 {You liked this}"," one {You and someone else liked this}"," other {You and # others liked this}","}"],"test-hello-array":"Hello, {0} {1} {2}","test-hello-object":"Hello, {first} {middle} {last}","test-repeat-array":"{0} {0} {0}","test-repeat-object":"{value} {value} {value}","classdeclaration-constructor-modelastreq":"\\"ModelFile\\" and \\"AST\\" are required to create a \\"ClassDecl\\".","classdeclaration-process-unrecmodelelem":"Unrecognised model element \\"{type}\\".","classdeclaration-getfield-notfindsupertype":"Could not find supertype \\"{type}\\".","classdeclaration-validate-identifiernotproperty":"Class \\"{class}\\" is identified by field \\"{idField}\\", but does not contain this property.","classdeclaration-validate-identifiernotstring":"Class \\"{class}\\" is identified by field \\"{idField}\\", but the type of the field is not \\"String\\".","classdeclaration-validate-duplicatefieldname":"Class \\"{class}\\" has more than one field named \\"{fieldName}\\".","classdeclaration-validate-missingidentifier":"Class \\"{class}\\" is not declared as \\"abstract\\". It must define an identifying field.","classdeclaration-validate-selfextending":"Class \\"{class}\\" cannot extend itself.","classdeclaration-validate-undefined-properties":"Properties of Class \\"{class}\\" has to be defined.","modelfile-constructor-unrecmodelelem":"Unrecognised model element \\"{type}\\".","modelfile-resolvetype-undecltype":"Undeclared type \\"{type}\\" in \\"{context}\\".","modelfile-resolveimport-failfindimp":"Failed to find \\"{type}\\" in list of imports \\"[{imports}]\\" for namespace \\"{namespace}\\".","transactiondeclaration-getidentifierfieldname-noidentifyingfield":"Transactions do not have an identifying field.","composer-connect-noconopts":"\\"connectOptions\\" not specified.","composer-connect-nokeyvalstore":"\\"connectOptions.keyValStore\\" not specified.","composer-connect-nomembersrvcurl":"\\"connectOptions.membershipServicesURL\\" not specified.","composer-connect-nopeerurl":"\\"connectOptions.peerURL\\" not specified.","composer-connect-noeventhuburl":"\\"connectOptions.eventHubURL\\" not specified.","composer-connect-notconnected":"Connection needs to be connected. Call \\"connect(..)\\".","composer-login-noenrollmentid":"\\"enrollmentID\\" not specified.","composer-login-noenrollmentsecret":"\\"enrollmentSecret\\" not specified.","composer-deploy-nosecuritycontext":"\\"securityContext\\" not specified.","factory-newinstance-missingidentifier":"Missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-invalididentifier":"Invalid or missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-abstracttype":"Cannot instantiate the abstract type \\"{type}\\" in the \\"{namespace}\\" namespace.","factory-newrelationship-notregisteredwithmm":"Cannot create relationship as namespace \\"{namespace}\\" is not known.","factory-newinstance-typenotdeclaredinns":"Cannot instantiate Type \\"{type}\\" in namespace \\"{namespace}\\".","instancegenerator-newinstance-noconcreteclass":"No concrete extending type for \\"{type}\\".","modelmanager-resolvetype-nonsfortype":"No registered namespace for type \\"{type}\\" in \\"{context}\\".","modelmanager-resolvetype-notypeinnsforcontext":"No type \\"{type}\\" in namespace \\"{namespace}\\" for \\"{context}\\".","modelmanager-gettype-noregisteredns":"Namespace is not defined for type \\"{type}\\".","modelmanager-gettype-duplicatensimport":"Importing types from different versions (\\"{version1}\\", \\"{version2}\\") of the same namespace \\"{namespace}\\" is not permitted.","modelmanager-gettype-notypeinns":"Type \\"{type}\\" is not defined in namespace \\"{namespace}\\".","serializer-constructor-factorynull":"\\"Factory\\" cannot be \\"null\\".","serializer-constructor-modelmanagernull":"\\"ModelManager\\" cannot be \\"null\\".","serializer-tojson-notcobject":"\\"Serializer.toJSON\\" only accepts \\"Concept\\", \\"Event\\", \\"Asset\\", \\"Participant\\" or \\"Transaction\\".","util-securitycheck-novalidcontext":"A valid \\"SecurityContext\\" must be specified.","modelutil-getnamespace-nofnq":"FQN is invalid.","resourcevalidator-notresourceorconcept":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has the value of \\"{invalidValue}\\". Expected a \\"Resource\\" or a \\"Concept\\".","resourcevalidator-notrelationship":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has a value of \\"{invalidValue}\\". Expected a \\"Relationship\\".","resourcevalidator-fieldtypeviolation":"Model violation in the \\"{resourceId}\\" instance. The field \\"{propertyName}\\" has a value of \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type of value: \\"{fieldType}\\".","resourcevalidator-missingrequiredproperty":"The instance \\"{resourceId}\\" is missing the required field \\"{fieldName}\\".","resourcevalidator-invalidenumvalue":"Model violation in the \\"{resourceId}\\" instance. Invalid enum value of \\"{value}\\" for the field \\"{fieldName}\\".","resourcevalidator-abstractclass":"The class \\"{className}\\" is abstract and should not contain an instance.","resourcevalidator-undeclaredfield":"Instance \\"{resourceId}\\" has a property named \\"{propertyName}\\", which is not declared in \\"{fullyQualifiedTypeName}\\".","resourcevalidator-invalidfieldassignment":"Instance \\"{resourceId}\\" has a property \\"{propertyName}\\" with type \\"{objectType}\\" that is not derived from \\"{fieldType}\\".","resourcevalidator-emptyidentifier":"Instance \\"{resourceId}\\" has an empty identifier.","resourcevalidator-invalidmap":"Model violation in the \\"{resourceId}\\" instance. Invalid Type for Map Key or Value - expected String type.","typenotfounderror-defaultmessage":"Type \\"{typeName}\\" not found.","whereastvalidator-propertytypeviolation":"Property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"{fieldType}\\".","whereastvalidator-enum-propertytypeviolation":"Enum property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-relationship-propertytypeviolation":"Relationship \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-unsupportedtype":"Property \\"{propertyName}\\" of type \\"{fieldType}\\" cannot be compared with a literal value.","whereastvalidator-invalidoperator":"Property \\"{propertyName}\\" cannot be compared using the \\"{operator}\\" operator."}}')},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-core","version":"3.20.2","description":"Core Implementation for the Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-core.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint","lint":"eslint .","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"node ./scripts/api-changelog.js && cross-env TZ=UTC nyc mocha --recursive -t 10000","test:watch":"cross-env TZ=UTC nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-cto"},"keywords":["schema","data model","verification"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"@babel/preset-env":"7.26.0","acorn":"8.14.0","acorn-walk":"8.3.4","babel-loader":"9.2.1","chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","commander":"2.20.0","cross-env":"7.0.3","doctrine":"3.0.0","eslint":"8.57.1","fs-extra":"11.2.0","jsdoc":"^4.0.4","klaw":"4.1.0","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","sinon":"19.0.2","tmp-promise":"3.0.3","typescript":"5.7.2","webpack":"5.96.1","webpack-cli":"^5.1.4","xregexp":"5.1.1","yargs":"17.7.2"},"dependencies":{"@accordproject/concerto-cto":"3.20.2","@accordproject/concerto-metamodel":"3.10.4","@accordproject/concerto-util":"3.20.2","dayjs":"1.11.13","debug":"4.3.7","lorem-ipsum":"2.0.8","randexp":"0.5.3","semver":"7.6.3","urijs":"1.19.11","uuid":"11.0.3"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"exclude":[],"all":true,"check-coverage":true,"statements":99,"branches":97,"functions":98,"lines":99}}')}},u={};function t(r){var n=u[r];if(void 0!==n)return n.exports;var a=u[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}return t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t(5237)})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["concerto-core"]=t():e["concerto-core"]=t()}(self,(()=>(()=>{var e={3348:(e,t,r)=>{"use strict";const n=r(3954);e.exports={MetaModelUtil:n,MetaModelNamespace:"concerto.metamodel@1.0.0"}},4702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},3954:(e,t,r)=>{"use strict";const n=r(4865),a="concerto.metamodel@1.0.0",o=r(4702);function s(e,t){return e.declarations.find((e=>e.name===t))}function i(e,t){if(!t[e])throw new Error(`Name ${e} not found`);return t[e].namespace}function c(e,t){switch((e.decorators||[]).forEach((e=>{c(e,t)})),e.$class){case`${a}.Model`:(e.declarations||[]).forEach((e=>{c(e,t)}));break;case`${a}.AssetDeclaration`:case`${a}.ConceptDeclaration`:case`${a}.EventDeclaration`:case`${a}.TransactionDeclaration`:case`${a}.ParticipantDeclaration`:if(e.superType){const r=e.superType.name;e.superType.namespace=i(r,t),e.superType.name=t[r].name,t[r]?.resolvedName&&(e.superType.resolvedName=t[r].resolvedName)}(e.properties||[]).forEach((e=>{c(e,t)}));break;case`${a}.MapDeclaration`:c(e.key,t),c(e.value,t);break;case`${a}.Decorator`:(e.arguments||[]).forEach((e=>{c(e,t)}));break;case`${a}.EnumProperty`:case`${a}.ObjectProperty`:case`${a}.RelationshipProperty`:case`${a}.DecoratorTypeReference`:case`${a}.ObjectMapKeyType`:case`${a}.ObjectMapValueType`:e.type.namespace=i(e.type.name,t),e.type.name=t[e.type.name].name,t[e.type.name]?.resolvedName&&(e.type.resolvedName=t[e.type.name].resolvedName);break;case`${a}.StringScalar`:case`${a}.BooleanScalar`:case`${a}.DateTimeScalar`:case`${a}.DoubleScalar`:case`${a}.LongScalar`:case`${a}.IntegerScalar`:e.namespace=i(e.name,t),e.name=t[e.name].name}return e}function l(e,t){const r=JSON.parse(JSON.stringify(t)),n=function(e,t){const r="concerto@1.0.0",n={Concept:{namespace:r,name:"Concept"},Asset:{namespace:r,name:"Asset"},Participant:{namespace:r,name:"Participant"},Transaction:{namespace:r,name:"Transaction"},Event:{namespace:r,name:"Event"}};return(t.imports||[]).forEach((t=>{const r=t.namespace,o=function(e,t){return e.models.find((e=>e.namespace===t))}(e,r);if(t.$class===`${a}.ImportType`){if(!s(o,t.name))throw new Error(`Declaration ${t.name} in namespace ${r} not found`);n[t.name]={namespace:r,name:t.name}}else if(t.$class===`${a}.ImportTypes`){const e=t.aliasedTypes?new Map(t.aliasedTypes.map((({name:e,aliasedName:t})=>[e,t]))):new Map;t.types.forEach((t=>{const a=e.get(t)||t;if(!s(o,t))throw new Error(`Declaration ${t} in namespace ${r} not found`);n[a]=a!==t?{namespace:r,name:a,resolvedName:t}:{namespace:r,name:t}}))}else(o.declarations||[]).forEach((e=>{n[e.name]={namespace:r,name:e.name}}))})),(t.declarations||[]).forEach((e=>{n[e.name]={namespace:t.namespace,name:e.name}})),n}(e,t);return c(r,n),r}function u(e){const t=[];switch(e.$class){case`${a}.ImportAll`:t.push(`${e.namespace}.*`);break;case`${a}.ImportType`:t.push(`${e.namespace}.${e.name}`);break;case`${a}.ImportTypes`:e.types.forEach((r=>{t.push(`${e.namespace}.${r}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return t}e.exports={metaModelAst:n,metaModelCto:o,resolveLocalNames:l,resolveLocalNamesForAll:function(e){const t={$class:`${a}.Models`,models:[]};return e.models.forEach((r=>{const n=l(e,r);t.models.push(n)})),t},importFullyQualifiedNames:u,getExternalImports:function(e){const t={};return e.imports&&e.imports.forEach((e=>{const r=u(e);e.uri&&(t[r[0]]=e.uri)})),t}}},3832:(e,t,r)=>{"use strict";const n=r(5558),{DefaultFileLoader:a,FileDownloader:o,ModelWriter:s}=r(8487),{MetaModelUtil:i,MetaModelNamespace:c}=r(3348),l=r(1595),u=r(2438),p=r(1861),d=r(6226),m=r(1768),h=r(3673),f=r(5477),{getRootModel:g}=r(6128),{getDecoratorModel:y}=r(1051),v=r(5430);void 0===r.g&&(r(5437),r(953),r(9869),r(3135),r(6341),r(8088),r(2302),r(7337),r(3218),r(745));const $=r(7833)("concerto:BaseModelManager"),A=(e,t)=>({ast:t,definitions:null,fileName:e}),b={missingDecorator:void 0,invalidDecorator:void 0},T=["concerto@1.0.0","concerto","concerto.decorator@1.0.0"];class C{constructor(e,t){this.processFile=t||A,this.modelFiles={},this.factory=new l(this),this.serializer=new h(this.factory,this,e),this.decoratorFactories=[],this.strict=!!e?.strict,this.options=e,this.addDecoratorModel(),this.addRootModel(),this.decoratorValidation=e?.decoratorValidation?e?.decoratorValidation:b,this.enableMapType=!!e?.enableMapType,this.importAliasing="true"==={NODE_ENV:"production"}?.IMPORT_ALIASING||!!e?.importAliasing,this.metamodelModelFile=new d(this,i.metaModelAst,void 0,c),e?.addMetamodel&&this.addModelFile(this.metamodelModelFile)}isModelManager(){return!0}isStrict(){return this.strict}isAliasedTypeEnabled(){return this.importAliasing}addRootModel(){const{rootModelAst:e,rootModelCto:t,rootModelFile:r}=g(!0),n=new d(this,e,t,r);if(this.strict)this.addModelFile(n,t,r,!0);else{this.addModelFile(n,t,r,!0);const e=g(!1),a=new d(this,e.rootModelAst,e.rootModelCto,e.rootModelFile);this.addModelFile(a,e.rootModelCto,e.rootModelFile,!0)}}addDecoratorModel(){const{decoratorModelAst:e,decoratorModelCto:t,decoratorModelFile:r}=y(),n=new d(this,e,t,r);this.addModelFile(n,t,r,!0)}accept(e,t){return e.visit(this,t)}validateModelFile(e,t){if("string"==typeof e){const{ast:r}=this.processFile(t,e);new d(this,r,e,t).validate()}else e.validate()}_throwAlreadyExists(e){const t=this.modelFiles[e.getNamespace()].getName(),r=t?` in file ${t}`:"",n=e.getName()?` specified in file ${e.getName()}`:"";let a=`Namespace ${e.getNamespace()}${n} is already declared${r}`;throw new Error(a)}addModelFile(e,t,r,n){if($("addModelFile","addModelFile",e,r),this.isStrict()&&!e.getVersion())throw new Error("Cannot add an unversioned namespace when 'strict' is true");return this.modelFiles[e.getNamespace()]?this._throwAlreadyExists(e):(n||(this.options?.metamodelValidation&&this.validateAst(e),e.validate()),this.modelFiles[e.getNamespace()]=e),e}validateAst(e){const{version:t}=m.parseNamespace(m.getNamespace(e.getAst().$class)),{version:r}=m.parseNamespace(c);if(t!==r)throw new v(`Model file version ${t} does not match metamodel version ${r}`);const n=!!this.getModelFile(c);n||this.addModelFile(this.metamodelModelFile,void 0,c,!0);try{this.getSerializer().fromJSON(e.getAst())}catch(e){if(this.isStrict())throw new v(e.message);console.warn("Invalid metamodel found. This will throw an exception in a future release. ",e.message)}n||this.deleteModelFile(c)}addModel(e,t,r,n){$("addModel","addModel",e,r);const{ast:a,definitions:o}=this.processFile(r,e),s=t||o,i=new d(this,a,s,r);return this.addModelFile(i,s,r,n),i}updateModelFile(e,t,r){if($("updateModelFile","updateModelFile",e,t),"string"==typeof e){const{ast:n}=this.processFile(t,e);let a=new d(this,n,e,t);return this.updateModelFile(a,t,r)}if(!this.modelFiles[e.getNamespace()])throw new Error(`Model file for namespace ${e.getNamespace()} not found`);return r||e.validate(),this.modelFiles[e.getNamespace()]=e,e}deleteModelFile(e){if(!this.modelFiles[e])throw new Error("Model file does not exist");delete this.modelFiles[e]}addModelFiles(e,t,r){const n="addModelFiles";$(n,"addModelFiles",e,t);const a={};Object.assign(a,this.modelFiles);let o=[];try{for(let r=0;r<e.length;r++){const n=e[r];let a,s=null;if(t&&(s=t[r]),"string"==typeof n){const{ast:e}=this.processFile(s,n);a=new d(this,e,n,s)}else a=n;this.modelFiles[a.getNamespace()]?this._throwAlreadyExists(a):(this.modelFiles[a.getNamespace()]=a,o.push(a))}return r||this.validateModelFiles(),o}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,a),e}finally{$(n,o)}}validateModelFiles(){for(let e in this.modelFiles)this.modelFiles[e].validate()}async updateExternalModels(e,t){$("updateExternalModels","updateExternalModels",e),t||(t=new o(new a(this.processFile),(e=>i.getExternalImports(e.ast))));const r={};Object.assign(r,this.modelFiles);try{const r=await t.downloadExternalDependencies(this.getModelFiles(),e),n=[];return r.forEach((e=>{const t=new d(this,e.ast,e.definitions,e.fileName);this.modelFiles[t.getNamespace()]?n.push(this.updateModelFile(t,t.getName(),!0)):n.push(this.addModelFile(t,null,t.getName(),!0))})),this.validateModelFiles(),n}catch(e){throw this.modelFiles={},Object.assign(this.modelFiles,r),e}}writeModelsToFileSystem(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s.writeModelsToFileSystem(this.getModelFiles(),e,t)}getDecoratorValidation(){return this.decoratorValidation}getModelFiles(e){let t=Object.keys(this.modelFiles),r=[];for(let n=0;n<t.length;n++){const a=t[n];!e&&T.includes(a)||r.push(this.modelFiles[a])}return r}getModels(e){const t=this.getModelFiles();let r=[];const a=Object.assign({includeExternalModels:!0},e);return t.forEach((function(e){if(e.isExternal()&&!a.includeExternalModels)return;let t;if("UNKNOWN"!==e.fileName&&null!==e.fileName&&e.fileName){let r=e.fileName;t=n.basename(r)}else t=e.namespace+".cto";r.push({name:t,content:e.definitions})})),r}resolveType(e,t){if(m.isPrimitiveType(t))return t;let r=m.getNamespace(t),n=this.getModelFile(r);if(!n){let r=u.messageFormatter("modelmanager-resolvetype-nonsfortype");throw new p(r({type:t,context:e}))}if(n.isLocalType(t))return t;let a=u.messageFormatter("modelmanager-resolvetype-notypeinnsforcontext");throw new p(a({context:e,type:t,namespace:n.getNamespace()}))}clearModelFiles(){this.modelFiles={},this.addDecoratorModel(),this.addRootModel()}getModelFile(e){return this.modelFiles[e]}getModelFileByFileName(e){return this.getModelFiles().filter((t=>t.getName()===e))[0]}getNamespaces(){return Object.keys(this.modelFiles)}getType(e){const t=m.getNamespace(e),r=this.getModelFile(t);if(!r){const t=u.messageFormatter("modelmanager-gettype-noregisteredns");throw new f(e,t({type:e}))}const n=r.getType(e);if(!n){const r=u.messageFormatter("modelmanager-gettype-notypeinns");throw new f(e,r({type:m.getShortName(e),namespace:t}))}return n}getAssetDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getAssetDeclarations())),[])}getTransactionDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getTransactionDeclarations())),[])}getEventDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getEventDeclarations())),[])}getParticipantDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getParticipantDeclarations())),[])}getMapDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getMapDeclarations())),[])}getEnumDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getEnumDeclarations())),[])}getConceptDeclarations(){return this.getModelFiles().reduce(((e,t)=>e.concat(t.getConceptDeclarations())),[])}getFactory(){return this.factory}getSerializer(){return this.serializer}getDecoratorFactories(){return this.decoratorFactories}addDecoratorFactory(e){this.decoratorFactories.push(e)}derivesFrom(e,t){let r=this.getType(e);for(;r;){if(r.getFullyQualifiedName()===t)return!0;r=r.getSuperTypeDeclaration()}return!1}resolveMetaModel(e){const t=this.getAst(!1,!0);return i.resolveLocalNames(t,e)}fromAst(e){this.clearModelFiles(),e.models.forEach((e=>{if(!T.includes(e.namespace)){const t=new d(this,e);this.addModelFile(t,null,null,!0)}})),this.validateModelFiles()}getAst(e,t){const r={$class:`${c}.Models`,models:[]};return this.getModelFiles(t).forEach((t=>{let n=t.getAst();e&&(n=this.resolveMetaModel(n)),r.models.push(n)})),r}filter(e){const t=new C({...this.options},this.processFile),r=[];let n=Object.values(this.modelFiles).map((n=>n.filter(e,t,r))).filter(Boolean);n=n.filter((e=>!e.isSystemModelFile()));const a=n.map((e=>{const t=e.getAst();let n=!1;return r.forEach((r=>{const a=m.getNamespace(r);if(!a.startsWith("concerto@")&&"concerto"!==a&&e.getImports().includes(r)){const e=m.getShortName(r),a=m.getNamespace(r);t.imports=t.imports.filter((t=>{const r="ImportType"===m.getShortName(t.$class)&&t.name===e&&t.namespace===a;return r&&(n=!0),!r})),t.imports.forEach((t=>{t.namespace===a&&"ImportTypes"===m.getShortName(t.$class)&&(t.types=t.types.filter((t=>{const r=t===e;return r&&(n=!0),!r})))}))}})),n?new d(this,t,void 0,e.fileName):e}));return t.addModelFiles(a),t}}e.exports=C},7662:(e,t,r)=>{"use strict";const n=r(9472),a="resource",{TypedStack:o}=r(8487),s=r(3561);void 0===r.g&&r(9481),e.exports=class{constructor(e){this.modelManager=e}validate(e,t){const r=this.getTypeDeclaration(e),n={};n.stack=new o(e);const a=new s(this,t);r.accept(a,n)}getModelManager(){return this.modelManager}isObject(e){return"object"==typeof e&&e.$class}getTypeDeclaration(e){if(!e.$class)throw new Error("Input object does not have a $class attribute.");return this.modelManager.getType(e.$class)}getIdentifier(e){const t=this.getTypeDeclaration(e).getIdentifierFieldName();if(!t)throw new Error(`Object does not have an identifier: ${JSON.stringify(e)}`);return e[t]}isIdentifiable(e){const t=this.getTypeDeclaration(e);return!t.isSystemIdentified()&&null!==t.getIdentifierFieldName()}isRelationship(e){return"string"==typeof e&&e.startsWith(`${a}:`)}setIdentifier(e,t){const r=this.getTypeDeclaration(e).getIdentifierFieldName(),n=JSON.parse(JSON.stringify(e));return n[r]=t,n}getFullyQualifiedIdentifier(e){return this.getTypeDeclaration(e),`${e.$class}#${this.getIdentifier(e)}`}toURI(e){return this.getTypeDeclaration(e),`${a}:${e.$class}#${encodeURI(this.getIdentifier(e))}`}fromURI(e){let t;try{t=n.parse(e)}catch(t){throw new Error("Invalid URI: "+e)}const r=t.protocol;if(r&&r!==a)throw new Error("Invalid URI scheme: "+e);if(t.username||t.password||t.port||t.query)throw new Error("Invalid resource URI format: "+e);return{typeDeclaration:this.getTypeDeclaration({$class:t.path}),id:decodeURIComponent(t.fragment)}}getType(e){return this.getTypeDeclaration(e).getName()}getNamespace(e){return this.getTypeDeclaration(e).getNamespace()}}},7624:(e,t,r)=>{"use strict";const n=r(3464),a=r(7657);n.extend(a);const o=r(4491);n.extend(o);const s=r(3221);n.extend(s);const i=r(279);n.extend(i),e.exports={setCurrentTime:function(e,t){const r="number"==typeof t?t:n().utcOffset(),a=e?n.utc(e):n().utc();if(!a.isValid())throw new Error(`Current time '${e}' is not in standard UTC format`);const o=a.utcOffset(r);if(!o.isValid())throw new Error(`Cannot set current time to '${e}' with UTC offset '${t}'`);return{currentTime:o,utcOffset:r}}}},8298:(e,t,r)=>{"use strict";const n=r(9481),a=r(1768),{MetaModelNamespace:o}=r(3348);class s{static Action={EXTRACT_ALL:0,EXTRACT_VOCAB:1,EXTRACT_NON_VOCAB:2};constructor(e,t,r,n){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.Action.EXTRACT_ALL;this.extractionDictionary={},this.removeDecoratorsFromModel=e,this.locale=t,this.dcs_version=r,this.sourceModelAst=n,this.updatedModelAst=n,this.action=Object.values(s.Action).includes(a)?a:s.Action.EXTRACT_ALL}isVocabDecorator(e){return"Term"===e||e.startsWith("Term_")}constructDCSDictionary(e,t,r){const n={declaration:r?.declaration||"",property:r?.property||"",mapElement:r?.mapElement||"",dcs:JSON.stringify(t)};this.extractionDictionary[e]&&Array.isArray(this.extractionDictionary[e])?this.extractionDictionary[e].push(n):this.extractionDictionary[e]=[n]}transformNonVocabularyDecorators(e,t,r){const{name:n,version:o}=a.parseNamespace(t),s=n,i=o;if(e?.length>0){const t={$class:`org.accordproject.decoratorcommands@${this.dcs_version}.DecoratorCommandSet`,name:s,version:i,commands:e};r.push(t)}return r}transformVocabularyDecorators(e,t,r){if(Object.keys(e).length>0){let n="";n+=`locale: ${this.locale}\n`,n+=`namespace: ${t}\n`,n+="declarations:\n",Object.keys(e).forEach((t=>{e[t].term&&(n+=` - ${t}: ${e[t].term}\n`);const r=Object.keys(e[t]).filter((e=>"term"!==e&&"propertyVocabs"!==e));r.length>0&&(e[t].term||(n+=` - ${t}: ${t}\n`),r.forEach((r=>{n+=` ${r}: ${e[t][r]}\n`}))),e[t].propertyVocabs&&Object.keys(e[t].propertyVocabs).length>0&&(e[t].term||0!==r.length||(n+=` - ${t}: ${t}\n`),n+=" properties:\n",Object.keys(e[t].propertyVocabs).forEach((r=>{n+=` - ${r}: ${e[t].propertyVocabs[r].term||""}\n`,Object.keys(e[t].propertyVocabs[r]).filter((e=>"term"!==e)).forEach((a=>{n+=` ${a}: ${e[t].propertyVocabs[r][a]}\n`}))})))})),r.push(n)}return r}constructTarget(e,t){const r={$class:`org.accordproject.decoratorcommands@${this.dcs_version}.CommandTarget`,namespace:e};return t.declaration&&""!==t.declaration&&(r.declaration=t.declaration),t.property&&""!==t.property&&(r.property=t.property),t.mapElement&&""!==t.mapElement&&(r.mapElement=t.mapElement),r}parseNonVocabularyDecorators(e,t,r,n){const a={$class:"concerto.metamodel@1.0.0.Decorator",name:t.name};if(t.arguments){const e=t.arguments.map((e=>({$class:e.$class,value:e.value})));a.arguments=e}let o={$class:`org.accordproject.decoratorcommands@${r}.Command`,type:"UPSERT",target:n,decorator:a};return e.push(o),e}parseVocabularies(e,t,r){if(e[t.declaration]=e[t.declaration]||{propertyVocabs:{}},""!==t.property)if(e[t.declaration].propertyVocabs[t.property]||(e[t.declaration].propertyVocabs[t.property]={}),"Term"===r.name)e[t.declaration].propertyVocabs[t.property].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration].propertyVocabs[t.property][n]=r.arguments[0].value}else if(""!==t.mapElement)if(e[t.declaration].propertyVocabs[t.mapElement]||(e[t.declaration].propertyVocabs[t.mapElement]={}),"Term"===r.name)e[t.declaration].propertyVocabs[t.mapElement].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration].propertyVocabs[t.mapElement][n]=r.arguments[0].value}else if("Term"===r.name)e[t.declaration].term=r.arguments[0].value;else{const n=r.name.split("Term_")[1];e[t.declaration][n]=r.arguments[0].value}return e}transformDecoratorsAndVocabularies(){let e=[],t=[];return Object.keys(this.extractionDictionary).forEach((r=>{const n=this.extractionDictionary[r];let a=[],o={};n.forEach((e=>{const t=JSON.parse(e.dcs),n=this.constructTarget(r,e);t.forEach((t=>{const r=this.isVocabDecorator(t.name);r||this.action===s.Action.EXTRACT_VOCAB||(a=this.parseNonVocabularyDecorators(a,t,this.dcs_version,n)),r&&this.action!==s.Action.EXTRACT_NON_VOCAB&&(o=this.parseVocabularies(o,e,t))}))})),this.action!==s.Action.EXTRACT_VOCAB&&(e=this.transformNonVocabularyDecorators(a,r,e)),this.action!==s.Action.EXTRACT_NON_VOCAB&&(t=this.transformVocabularyDecorators(o,r,t))})),{decoratorCommandSet:e,vocabularies:t}}filterOutDecorators(e){return this.removeDecoratorsFromModel?this.action===s.Action.EXTRACT_ALL?void 0:this.action===s.Action.EXTRACT_VOCAB?e.filter((e=>!this.isVocabDecorator(e.name))):e.filter((e=>this.isVocabDecorator(e.name))):e}processMapDeclaration(e,t){if(e.key&&e.key.decorators){const r={declaration:e.name,mapElement:"KEY"};this.constructDCSDictionary(t,e.key.decorators,r),e.key.decorators=this.filterOutDecorators(e.key.decorators)}if(e.value&&e.value.decorators){const r={declaration:e.name,mapElement:"VALUE"};this.constructDCSDictionary(t,e.value.decorators,r),e.value.decorators=this.filterOutDecorators(e.value.decorators)}return e}processProperties(e,t,r){return e.map((e=>{if(e.decorators){const n={declaration:t,property:e.name};this.constructDCSDictionary(r,e.decorators,n),e.decorators=this.filterOutDecorators(e.decorators)}return e}))}processDeclarations(e,t){return e.map((e=>{if(e.decorators){const r={declaration:e.name};this.constructDCSDictionary(t,e.decorators,r),e.decorators=this.filterOutDecorators(e.decorators)}if(e.$class===`${o}.MapDeclaration`&&(e=this.processMapDeclaration(e,t)),e.properties){const r=this.processProperties(e.properties,e.name,t);e.properties=r}return e}))}processModels(){const e=this.sourceModelAst.models.map((e=>{e?.decorators?.length>0&&(this.constructDCSDictionary(e.namespace,e.decorators,{}),e.decorators=this.filterOutDecorators(e.decorators));const t=this.processDeclarations(e.declarations,e.namespace);return e.declarations=t,e}));this.updatedModelAst={...this.updatedModelAst,models:e}}extract(){this.processModels();const e=new n;e.fromAst(this.updatedModelAst);const t=this.transformDecoratorsAndVocabularies();return{updatedModelManager:e,decoratorCommandSet:t.decoratorCommandSet,vocabularies:t.vocabularies}}}e.exports=s},6033:(e,t,r)=>{"use strict";const n=r(9481),a=r(3673),o=r(1595),s=r(1768),{MetaModelNamespace:i}=r(3348),c=r(2722),l=r(8298),{Warning:u,ErrorCodes:p}=r(8487);void 0===r.g&&r(6226);const d="0.4.0",m="concerto version \"^3.0.0\"\nnamespace org.accordproject.decoratorcommands@0.4.0\n\nimport concerto.metamodel@1.0.0.Decorator\n\n/**\n * A reference to an existing named & versioned DecoratorCommandSet\n */\nconcept DecoratorCommandSetReference {\n o String name\n o String version\n}\n\n/**\n * Whether to upsert or append the decorator\n */\nenum CommandType {\n o UPSERT\n o APPEND\n}\n\n/**\n * Which models elements to add the decorator to. Any null\n * elements are 'wildcards'.\n */\nconcept CommandTarget {\n o String namespace optional\n o String declaration optional\n o String property optional\n o String[] properties optional // property and properties are mutually exclusive\n o String type optional\n o MapElement mapElement optional\n}\n\n/**\n * Map Declaration elements which might be used as a target\n */\nenum MapElement {\n o KEY\n o VALUE\n o KEY_VALUE\n}\n\n/**\n * Applies a decorator to a given target\n */\nconcept Command {\n o CommandTarget target\n o Decorator decorator\n o CommandType type\n o String decoratorNamespace optional\n}\n\n/**\n * A named and versioned set of commands. Includes are supported for modularity/reuse.\n */\nconcept DecoratorCommandSet {\n o String name\n o String version\n o DecoratorCommandSetReference[] includes optional // not yet supported\n o Command[] commands\n}\n";class h{constructor(e,t){this.command=e,this.index=t}getCommand(){return this.command}getIndex(){return this.index}}class f{static validate(e,t){const r=new n({strict:!0,metamodelValidation:!0,addMetamodel:!0});t&&r.addModelFiles(t),r.addCTOModel(m,"decoratorcommands@0.3.0.cto");const s=new o(r);return new a(s,r).fromJSON(e),r}static migrateTo(e,t){if(e instanceof Object)for(let r in e){if("$class"===r&&e[r].includes("org.accordproject.decoratorcommands")){const t=s.getNamespace(e.$class);e[r]=e[r].replace(s.parseNamespace(t).version,d)}(e[r]instanceof Object||e[r]instanceof Array)&&this.migrateTo(e[r],t)}return e}static canMigrate(e,t){const r=s.parseNamespace(s.getNamespace(e.$class)).version;return c.major(r)===c.major(t)&&c.minor(r)<c.minor(t)}static addDcsWithIndexToMap(e,t,r){const n=e.get(t);n?n.push(r):e.set(t,[r])}static getDecoratorMaps(e){const t=new Map,r=new Map,n=new Map,a=new Map,o=new Map;return e.commands.map(((e,s)=>{const i=new h(e,s);switch(!0){case!!e?.target?.type:this.addDcsWithIndexToMap(o,e.target.type,i);break;case!!e?.target?.property:this.addDcsWithIndexToMap(n,e.target.property,i);break;case!!e?.target?.properties:e.target.properties.forEach((e=>{this.addDcsWithIndexToMap(n,e,i)}));break;case!!e?.target?.mapElement:this.addDcsWithIndexToMap(a,e.target.mapElement,i);break;case!!e?.target?.declaration:this.addDcsWithIndexToMap(r,e.target.declaration,i);break;case!!e?.target?.namespace:this.addDcsWithIndexToMap(t,e.target.namespace,i)}})),{namespaceCommandsMap:t,declarationCommandsMap:r,propertyCommandsMap:n,mapElementCommandsMap:a,typeCommandsMap:o}}static migrateAndValidate(e,t,r,s,i){if(r&&this.canMigrate(t,d)&&(t=this.migrateTo(t,d)),s){const r=new n({strict:!0,metamodelValidation:!0,addMetamodel:!0,enableMapType:!!e?.enableMapType,importAliasing:e.isAliasedTypeEnabled()});r.addModelFiles(e.getModelFiles()),r.addCTOModel(m,"decoratorcommands@0.4.0.cto");const s=new o(r);new a(s,r).fromJSON(t),i&&t.commands.forEach((e=>{f.validateCommand(r,e)}))}}static pushMapValues(e,t,r){const n=t.get(r);n&&e.push(...n)}static decorateModels(e,t,r){this.migrateAndValidate(e,t,r?.migrate,r?.validate,r?.validateCommands);const a=t.commands.map((e=>[{$class:`${i}.ImportType`,name:e.decorator.name,namespace:e.decorator.namespace?e.decorator.namespace:r?.defaultNamespace}].concat(e.decorator.arguments?e.decorator.arguments?.filter((e=>e.type)).map((e=>({$class:`${i}.ImportType`,name:e.type.name,namespace:e.type.namespace?e.type.namespace:r?.defaultNamespace}))):[]))).flat().filter((e=>e.namespace)),{namespaceCommandsMap:o,declarationCommandsMap:c,propertyCommandsMap:l,mapElementCommandsMap:u,typeCommandsMap:p}=this.getDecoratorMaps(t),d=e.getAst(!0,!0),m=JSON.parse(JSON.stringify(d));m.models.forEach((e=>{const t=a.filter((t=>t.namespace!==e.namespace));e.imports=e.imports?e.imports.concat(t):t,e.declarations.forEach((t=>{const n=[],{name:a,$class:d}=t;this.pushMapValues(n,c,a),this.pushMapValues(n,o,e.namespace);const m=s.parseNamespace(e.namespace).name;if(this.pushMapValues(n,o,m),this.pushMapValues(n,p,d),n.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((n=>{this.executeCommand(e.namespace,t,n.getCommand(),null,r),this.isNamespaceTargetEnabled(r?.enableDcsNamespaceTarget)&&this.executeNamespaceCommand(e,n.getCommand())})),d===`${i}.MapDeclaration`){const r=[];this.pushMapValues(r,p,t.key.$class),this.pushMapValues(r,p,t.value.$class),this.pushMapValues(r,u,"KEY"),this.pushMapValues(r,u,"VALUE"),this.pushMapValues(r,u,"KEY_VALUE"),r.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((r=>{this.executeCommand(e.namespace,t,r.getCommand())}))}t.properties&&t.properties.forEach((r=>{const n=[],{name:a,$class:o}=r;this.pushMapValues(n,l,a),this.pushMapValues(n,p,o),n.sort(((e,t)=>e.getIndex()-t.getIndex())).forEach((n=>{this.executeCommand(e.namespace,t,n.getCommand(),r)}))}))}))}));const h=!!e?.enableMapType,f=new n({strict:e.isStrict(),enableMapType:h,importAliasing:e.isAliasedTypeEnabled(),decoratorValidation:e.getDecoratorValidation()});return f.fromAst(m),f}static extractDecorators(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0,!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_ALL).extract();return{modelManager:n.updatedModelManager,decoratorCommandSet:n.decoratorCommandSet,vocabularies:n.vocabularies}}static extractVocabularies(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0,!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_VOCAB).extract();return{modelManager:n.updatedModelManager,vocabularies:n.vocabularies}}static extractNonVocabDecorators(e,t){t={removeDecoratorsFromModel:!1,locale:"en",...t};const r=e.getAst(!0),n=new l(t.removeDecoratorsFromModel,t.locale,d,r,l.Action.EXTRACT_NON_VOCAB).extract();return{modelManager:n.updatedModelManager,decoratorCommandSet:n.decoratorCommandSet}}static validateCommand(e,t){t.target.type&&e.resolveType("DecoratorCommand.type",t.target.type);let r=null;if(t.target.namespace&&(r=e.getModelFile(t.target.namespace),!r)){const{name:n,version:a}=s.parseNamespace(t.target.namespace);a||(r=e.getModelFiles().find((e=>function(e,t){const{name:r}=s.parseNamespace(e.getNamespace());return r===t}(e,n))))}if(t.target.namespace&&!r)throw new Error(`Decorator Command references namespace "${t.target.namespace}" which does not exist: ${JSON.stringify(t,null,2)}`);if(t.target.namespace&&t.target.declaration&&e.resolveType("DecoratorCommand.target.declaration",`${r.getNamespace()}.${t.target.declaration}`),t.target.properties&&t.target.property)throw new Error("Decorator Command references both property and properties. You must either reference a single property or a list of properites.");if(t.target.namespace&&t.target.declaration&&t.target.property&&!e.getType(`${r.getNamespace()}.${t.target.declaration}`).getProperty(t.target.property))throw new Error(`Decorator Command references property "${t.target.namespace}.${t.target.declaration}.${t.target.property}" which does not exist.`);if(t.target.namespace&&t.target.declaration&&t.target.properties){const n=e.getType(`${r.getNamespace()}.${t.target.declaration}`);t.target.properties.forEach((e=>{if(!n.getProperty(e))throw new Error(`Decorator Command references property "${t.target.namespace}.${t.target.declaration}.${e}" which does not exist.`)}))}}static applyDecoratorForMapElement(e,t,r,n,a){const o="KEY"===e?r.key:r.value;t.type?this.falsyOrEqual(t.type,o.$class)&&this.applyDecorator(o,n,a):this.applyDecorator(o,n,a)}static falsyOrEqual(e,t){return Array.isArray(e)?function(e,t){const r=new Set(e),n=new Set(t),a=new Set([...r].filter((e=>n.has(e))));return Array.from(a)}(e,t).length>0:!e||t.includes(e)}static applyDecorator(e,t,r){if("UPSERT"===t){let t=!1;if(e.decorators)for(let n=0;n<e.decorators.length;n++)e.decorators[n].name===r.name&&(e.decorators[n]=r,t=!0);t||(e.decorators?e.decorators.push(r):e.decorators=[r])}else{if("APPEND"!==t)throw new Error(`Unknown command type ${t}`);e.decorators?e.decorators.push(r):e.decorators=[r]}}static executeNamespaceCommand(e,t){const{target:r,decorator:n,type:a}=t;if(2===Object.keys(r).length&&r.namespace){const{name:t}=s.parseNamespace(e.namespace);this.falsyOrEqual(r.namespace,[e.namespace,t])&&this.applyDecorator(e,a,n)}}static executeCommand(e,t,r,n,a){const{target:o,decorator:c,type:l}=r,{name:u}=s.parseNamespace(e);if(this.falsyOrEqual(o.namespace,[e,u])&&this.falsyOrEqual(o.declaration,[t.name]))if(t.$class===`${i}.MapDeclaration`)if(o.mapElement)switch(o.mapElement){case"KEY":case"VALUE":this.applyDecoratorForMapElement(o.mapElement,o,t,l,c);break;case"KEY_VALUE":this.applyDecoratorForMapElement("KEY",o,t,l,c),this.applyDecoratorForMapElement("VALUE",o,t,l,c)}else o.type?(this.falsyOrEqual(o.type,t.key.$class)&&this.applyDecorator(t.key,l,c),this.falsyOrEqual(o.type,t.value.$class)&&this.applyDecorator(t.value,l,c)):this.checkForNamespaceTargetAndApplyDecorator(t,l,c,o,a?.enableDcsNamespaceTarget);else o.property||o.properties||o.type?n&&this.executePropertyCommand(n,r):this.checkForNamespaceTargetAndApplyDecorator(t,l,c,o,a?.enableDcsNamespaceTarget)}static executePropertyCommand(e,t){const{target:r,decorator:n,type:a}=t;(r.properties||r.property||r.type)&&this.falsyOrEqual(r.property?r.property:r.properties,[e.name])&&this.falsyOrEqual(r.type,[e.$class])&&this.applyDecorator(e,a,n)}static checkForNamespaceTargetAndApplyDecorator(e,t,r,n,a){this.isNamespaceTargetEnabled(a)?n.declaration&&this.applyDecorator(e,t,r):this.applyDecorator(e,t,r)}static isNamespaceTargetEnabled(e){return!(!e&&"true"!=={NODE_ENV:"production"}.ENABLE_DCS_NAMESPACE_TARGET&&(u.printDeprecationWarning("Functionality for namespace targeted Decorator Command Sets has changed. Using namespace targets to apply decorators on all declarations in a namespace will be deprecated soon.",p.DEPRECATION_WARNING,p.CONCERTO_DEPRECATION_001,"Please refer to https://concerto.accordproject.org/deprecation/001"),1))}}e.exports=f},1051:(e,t,r)=>{"use strict";const n=r(480);e.exports={getDecoratorModel:function(){return{decoratorModelFile:"concerto_decorator_1.0.0.cto",decoratorModelCto:"namespace concerto.decorator@1.0.0\n abstract concept Decorator {}\n concept DotNetNamespace extends Decorator {\n o String namespace\n }",decoratorModelAst:JSON.parse(JSON.stringify(n))}}}},1595:(e,t,r)=>{"use strict";const{TypedStack:n}=r(8487),a=r(7833)("concerto:Factory"),o=r(2438),s=r(1768),i=r(6422),c=r(7854),l=r(2552),u=r(6113),p=r(7755),d=r(289),m=r(182),h=r(3464),f=r(7657);h.extend(f),void 0===r.g&&r(9481);class g{static newId(){return m.v4()}constructor(e){this.modelManager=e}newResource(e,t,r,n){n=n||{};const i=s.getFullyQualifiedName(e,t),c=this.modelManager.getType(i);if(c.isAbstract()){let r=o.messageFormatter("factory-newinstance-abstracttype");throw new Error(r({namespace:e,type:t}))}let u=c.getIdentifierFieldName();if(c.isSystemIdentified()&&(r=null==r?g.newId():r),u){if("string"!=typeof r){let r=o.messageFormatter("factory-newinstance-invalididentifier");throw new Error(r({namespace:e,type:t}))}if(0===r.trim().length){let r=o.messageFormatter("factory-newinstance-missingidentifier");throw new Error(r({namespace:e,type:t}))}if(r){let e=c.getProperty(u);if(e?.isTypeScalar?.()&&(e=e.getScalarField()),e?.validator?.regex&&!1===e.validator?.regex.test(r))throw new Error("Provided id does not match regex: "+e?.validator?.regex)}}else if(r)throw new Error("Type is not identifiable "+c.getFullyQualifiedName());let m=null,f=null;return(c.isTransaction()||c.isEvent())&&(f=h.utc()),m=n.disableValidation?new p(this.modelManager,c,e,t,r,f):new d(this.modelManager,c,e,t,r,f,new l),m.assignFieldDefaults(),this.initializeNewObject(m,c,n),u&&(m[u]=r),a("newResource","Factory.newResource created ",r||"valid"),m}newConcept(e,t,r,n){return this.newResource(e,t,r,n)}newRelationship(e,t,r){const n=s.getFullyQualifiedName(e,t),a=this.modelManager.getType(n);if(!a.isIdentified())throw new Error(`Cannot create a relationship to ${n}, it is not identifiable.`);return new u(this.modelManager,a,e,t,r)}newTransaction(e,t,r,n){if(!e)throw new Error("ns not specified");if(!t)throw new Error("type not specified");let a=this.newResource(e,t,r,n);if(!a.getClassDeclaration().isTransaction())throw new Error(a.getClassDeclaration().getFullyQualifiedName()+" is not a transaction");return a}newEvent(e,t,r,n){if(!e)throw new Error("ns not specified");if(!t)throw new Error("type not specified");let a=this.newResource(e,t,r,n);if(!a.getClassDeclaration().isEvent())throw new Error(a.getClassDeclaration().getFullyQualifiedName()+" is not an event");return a}initializeNewObject(e,t,r){const a=this.parseGenerateOptions(r);if(a){a.stack=new n(e),a.seen=[e.getFullyQualifiedType()];const r=new i;t.accept(r,a)}}parseGenerateOptions(e){if(!e.generate)return null;const t={};return t.modelManager=this.modelManager,t.factory=this,/^empty$/i.test(e.generate)?t.valueGenerator=c.empty():t.valueGenerator=c.sample(),t.includeOptionalFields=!!e.includeOptionalFields,t}}e.exports=g},2438:(e,t,r)=>{"use strict";const n=r(8168);function a(e){return function(t){let r=n.en[e];for(let e in t)r=r.replace(new RegExp(`\\{${e}\\}`,"g"),t[e]);return r}}function o(e){return n.en[e]}function s(e){return{messageFormatter:a,formatMessage:o}}s.messageFormatter=a,s.formatMessage=o,e.exports=s},953:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"AssetDeclaration"}}},9869:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(5437),o=r(8171),s=r(1529),i=r(2438),c=r(1861),l=r(4471),u=r(6099),p=r(1768);void 0===r.g&&r(9852),e.exports=class extends a{process(){if(super.process(),this.properties=[],this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.type=this.ast.$class,this.ast.isAbstract&&(this.abstract=!0),this.ast.superType?this.superType=this.ast.superType.name:this.modelFile.isSystemModelFile()&&"Concept"===this.name||(this.superType="Concept"),this.ast.identified&&(this.ast.identified.$class===`${n}.IdentifiedBy`?this.idField=this.ast.identified.name:(this.idField="$identifier",this.addIdentifierField())),!Array.isArray(this.ast.properties)){let e=i.messageFormatter("classdeclaration-validate-undefined-properties");throw new c(e({class:this.name}),this.modelFile,this.ast.location)}for(let e=0;e<this.ast.properties.length;e++){let t=this.ast.properties[e];if(p.isSystemProperty(t.name))throw new c(`Invalid field name '${t.name}'`,this.modelFile,this.ast.location);if(t.$class===`${n}.RelationshipProperty`)this.properties.push(new u(this,t));else if(t.$class===`${n}.EnumProperty`)this.properties.push(new o(this,t));else{if(t.$class!==`${n}.BooleanProperty`&&t.$class!==`${n}.StringProperty`&&t.$class!==`${n}.IntegerProperty`&&t.$class!==`${n}.LongProperty`&&t.$class!==`${n}.DoubleProperty`&&t.$class!==`${n}.DateTimeProperty`&&t.$class!==`${n}.ObjectProperty`){let e=i.messageFormatter("classdeclaration-process-unrecmodelelem");throw new c(e({type:t.$class}),this.modelFile,this.ast.location)}this.properties.push(new s(this,t))}}"concerto@1.0.0.Transaction"!==this.fqn&&"concerto@1.0.0.Event"!==this.fqn||this.addTimestampField()}addTimestampField(){const e={};e.$class=`${n}.DateTimeProperty`,e.name="$timestamp",this.properties.push(new s(this,e))}addIdentifierField(){const e={};e.$class=`${n}.StringProperty`,e.name="$identifier",this.properties.push(new s(this,e))}_resolveSuperType(){if(!this.superType)return null;this.superTypeDeclaration=null;let e=null;if(this.getModelFile().isImportedType(this.superType)){let t=this.getModelFile().resolveImport(this.superType);e=this.modelFile.getModelManager().getType(t)}else e=this.getModelFile().getType(this.superType);if(!e)throw new c("Could not find super type "+this.superType,this.modelFile,this.ast.location);if("ConceptDeclaration"!==e.declarationKind()&&this.declarationKind()!==e.declarationKind())throw new c(`${this.declarationKind()} (${this.getName()}) cannot extend ${e.declarationKind()} (${e.getName()})`,this.modelFile,this.ast.location);return this.superTypeDeclaration=e,e}validate(){if(super.validate(),null!==this.superType){if(this.superType===this.name&&!["Asset","Concept","Event","Participant","Transaction"].includes(this.superType)){let e=i("en").messageFormatter("classdeclaration-validate-selfextending");throw new c(e({class:this.name}),this.modelFile,this.ast.location)}this._resolveSuperType()}if(this.idField){const e=this.getProperty(this.idField);if(!e){let e=i("en").messageFormatter("classdeclaration-validate-identifiernotproperty");throw new c(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}{const t="String"===e.getType(),r=e.getParent().getModelFile().getType(e.getType()),n=null!==r&&r.isScalarDeclaration?.()&&"String"===r.getType?.();if(!t&&!n){let e=i("en").messageFormatter("classdeclaration-validate-identifiernotstring");throw new c(e({class:this.name,idField:this.idField}),this.modelFile,this.ast.location)}if(e.isOptional())throw new c("Identifying fields cannot be optional.",this.modelFile,this.ast.location);if(this.superType){const e=this.getModelFile().getType(this.superType);if(e&&e.isIdentified())if(this.isSystemIdentified()){if(!e.isSystemIdentified())throw new c(`Super class ${e.getFullyQualifiedName()} has an explicit identifier ${e.getIdentifierFieldName()} that cannot be redeclared.`,this.modelFile,this.ast.location)}else if(e.isExplicitlyIdentified())throw new c(`Super class ${e.getFullyQualifiedName()} has an explicit identifier ${e.getIdentifierFieldName()} that cannot be redeclared.`,this.modelFile,this.ast.location)}}}const e=this.getProperties(),t=new Set;e.forEach((e=>{const r=e.getName();if(t.has(r)){const e=i("en").messageFormatter("classdeclaration-validate-duplicatefieldname");throw new c(e({class:this.name,fieldName:r}),this.modelFile,this.ast.location)}t.add(r)}));for(let t=0;t<e.length;t++){let r=e[t];if(r.isPrimitive()||this.isEnum()||r.getNamespace()===this.getNamespace())r.validate(this);else{const e=r.getFullyQualifiedTypeName(),t=this.modelFile.getModelManager().getType(e);r.validate(t)}}}isAbstract(){return this.abstract}isIdentified(){return!!this.getIdentifierFieldName()}isSystemIdentified(){return"$identifier"===this.getIdentifierFieldName()}isExplicitlyIdentified(){return!!this.idField&&"$identifier"!==this.idField}getIdentifierFieldName(){if(this.idField)return this.idField;if(this.getSuperType()){let e=this.getModelFile().getLocalType(this.getSuperType());return e||(e=this.modelFile.getModelManager().getType(this.getSuperType())),e.getIdentifierFieldName()}return null}getOwnProperty(e){for(let t=0;t<this.properties.length;t++){const r=this.properties[t];if(r.getName()===e)return r}return null}getOwnProperties(){return this.properties}getSuperType(){const e=this.getSuperTypeDeclaration();return e?e.getFullyQualifiedName():null}getSuperTypeDeclaration(){return this.superType?this.superTypeDeclaration?this.superTypeDeclaration:this._resolveSuperType():null}getAssignableClassDeclarations(){const e=new Set,t=this.getModelFile().getModelManager(),r=new l(t).getClassDeclarations(),n=new Map;r.forEach((e=>{const t=e.getSuperType();if(t){const r=n.get(t)||new Set;r.add(e),n.set(t,r)}}));const a=t=>{t.forEach((t=>{e.add(t);const r=t.getFullyQualifiedName(),o=n.get(r);o&&a(o)}))};return a([this]),Array.from(e)}getDirectSubclasses(){const e=this.getModelFile().getModelManager(),t=new l(e).getClassDeclarations(),r=new Map;t.forEach((e=>{const t=e.getSuperType();if(t){const n=r.get(t)||new Set;n.add(e),r.set(t,n)}}));const n=this.getFullyQualifiedName(),a=r.get(n);return a?Array.from(a):[]}getAllSuperTypeDeclarations(){const e=[];for(let t=this;t=t.getSuperTypeDeclaration();)e.push(t);return e}getProperty(e){let t=this.getOwnProperty(e),r=null;if(null===t&&null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);r=this.modelFile.getModelManager().getType(e)}else r=this.getModelFile().getType(this.superType);t=r.getProperty(e)}return t}getProperties(){let e=this.getOwnProperties(),t=null;if(null!==this.superType){if(this.getModelFile().isImportedType(this.superType)){let e=this.getModelFile().resolveImport(this.superType);t=this.modelFile.getModelManager().getType(e)}else t=this.getModelFile().getType(this.superType);if(!t)throw new c("Could not find super type "+this.superType,this.modelFile,this.ast.location);e=e.concat(t.getProperties())}return e}getNestedProperty(e){const t=e.split(".");let r=this,n=null;for(let a=0;a<t.length;a++){if(n=r.getProperty(t[a]),null===n)throw new c("Property "+t[a]+" does not exist on "+r.getFullyQualifiedName(),this.modelFile,this.ast.location);if(a<t.length-1){if(n.isPrimitive()||n.isTypeEnum())throw new Error("Property "+t[a]+" is a primitive or enum. Invalid property path: "+e);r=r.getModelFile().getModelManager().getType(n.getFullyQualifiedTypeName())}}return n}toString(){let e="";return this.superType&&(e=" super="+this.superType),"ClassDeclaration {id="+this.getFullyQualifiedName()+e+" enum="+this.isEnum()+" abstract="+this.isAbstract()+"}"}isAsset(){return this.type===`${n}.AssetDeclaration`}isParticipant(){return this.type===`${n}.ParticipantDeclaration`}isTransaction(){return this.type===`${n}.TransactionDeclaration`}isEvent(){return this.type===`${n}.EventDeclaration`}isConcept(){return this.type===`${n}.ConceptDeclaration`}isEnum(){return this.type===`${n}.EnumDeclaration`}isMapDeclaration(){return this.type===`${n}.MapDeclaration`}isClassDeclaration(){return!0}}},6341:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"ConceptDeclaration"}}},5437:(e,t,r)=>{"use strict";const n=r(7688),a=r(1768),o=r(1861);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(t),this.modelFile=e,this.process()}process(){if(super.process(),!a.isValidIdentifier(this.ast.name))throw new o(`Invalid class name '${this.ast.name}'`,this.modelFile,this.ast.location);this.name=this.ast.name,this.fqn=a.getFullyQualifiedName(this.modelFile.getNamespace(),this.name)}getModelFile(){return this.modelFile}getName(){return this.name}getNamespace(){return this.modelFile.getNamespace()}getFullyQualifiedName(){return this.fqn}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return null}toString(){return null}isEnum(){return!1}isClassDeclaration(){return!1}isScalarDeclaration(){return!1}isMapDeclaration(){return!1}}},7688:(e,t,r)=>{"use strict";const n=r(4404),a=r(1861);void 0===r.g&&r(6226),e.exports=class{constructor(e){if(!e)throw new Error("ast not specified");this.ast=e}getModelFile(){throw new Error("not implemented")}accept(e,t){return e.visit(this,t)}process(){if(this.decorators=[],this.ast.decorators)for(let e=0;e<this.ast.decorators.length;e++){let t,r=this.ast.decorators[e],a=this.getModelFile().getModelManager().getDecoratorFactories();for(let e of a)if(t=e.newDecorator(this,r),t)break;t||(t=new n(this,r)),this.decorators.push(t)}}validate(){if(this.decorators&&this.decorators.length>0){for(let e=0;e<this.decorators.length;e++)this.decorators[e].validate();const e=new Set;this.decorators.forEach((t=>{const r=t.getName();if(e.has(r)){const e=this.getModelFile();throw new a(`Duplicate decorator ${r}`,e,this.ast.location)}e.add(r)}))}}getDecorators(){return this.decorators}getDecorator(e){for(let t=0;t<this.decorators.length;t++){let r=this.decorators[t];if(r.getName()===e)return r}return null}}},4404:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),{Logger:a}=r(8487),o=r(1768),s=r(1861);void 0===r.g&&(r(9869),r(9852)),e.exports=class{constructor(e,t){this.ast=t,this.parent=e,this.arguments=null,this.process()}handleError(e,t){if(a.dispatch(e,t),"error"===e)throw new s(t,this.getParent().getModelFile(),this.ast.location)}accept(e,t){return e.visit(this,t)}getParent(){return this.parent}process(){if(this.name=this.ast.name,this.arguments=[],this.ast.arguments)for(let e=0;e<this.ast.arguments.length;e++){let t=this.ast.arguments[e];t&&(t.$class===`${n}.DecoratorTypeReference`?this.arguments.push({type:"Identifier",name:t.type.name,array:t.isArray}):this.arguments.push(t.value))}}validate(){const e=this.getParent().getModelFile(),t=this.getParent().getFullyQualifiedName?.(),r=e.getModelManager().getDecoratorValidation();if(r.missingDecorator||r.invalidDecorator)try{e.resolveType(t,this.getName(),this.ast.location);const n=e.getType(this.getName()),a=n.getProperties().filter((e=>!e.isOptional())),s=n.getProperties().filter((e=>e.isOptional())),i=[...a,...s];if(this.getArguments().length<a.length){const e=`Decorator ${this.getName()} has too few arguments. Required properties are: [${a.map((e=>e.getName())).join()}]`;this.handleError(r.invalidDecorator,e)}const c=this.getArguments();for(let t=0;t<c.length;t++){const n=c[t];if(t>i.length-1){const e=`Decorator ${this.getName()} has too many arguments. Properties are: [${i.map((e=>e.getName())).join()}]`;this.handleError(r.invalidDecorator,e)}else{const a=i[t],s=typeof n;switch(a.getType()){case"Integer":case"Double":case"Long":if("number"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected number. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;case"String":if("string"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected string. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;case"Boolean":if("boolean"!==s){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected boolean. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}break;default:{if("object"!==s||"Identifier"!==n?.type){const e=`Decorator ${this.getName()} has invalid decorator argument. Expected object. Found ${s}, with value ${JSON.stringify(n)}`;this.handleError(r.invalidDecorator,e)}const t=e.getType(n.name);if(t){if(!o.isAssignableTo(t.getModelFile(),t.getFullyQualifiedName(),a)){const e=`Decorator ${this.getName()} references a type ${n.name} which cannot be assigned to the declared type ${a.getFullyQualifiedTypeName()}`;this.handleError(r.invalidDecorator,e)}}else{const e=`Decorator ${this.getName()} references a type ${n.name} which has not been defined/imported.`;this.handleError(r.invalidDecorator,e)}break}}}}}catch(e){this.handleError(r.missingDecorator,e)}}getName(){return this.name}getArguments(){return this.arguments}isDecorator(){return!0}}},8088:(e,t,r)=>{"use strict";void 0===r.g&&(r(9869),r(4404),r(9852)),e.exports=class{newDecorator(e,t){throw new Error("abstract function called")}}},2302:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}toString(){return"EnumDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"EnumDeclaration"}}},8171:(e,t,r)=>{"use strict";const n=r(9852);void 0===r.g&&r(9869),e.exports=class extends n{constructor(e,t){super(e,t)}validate(e){super.validate(e)}isEnumValue(){return!0}}},7337:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}process(){super.process()}declarationKind(){return"EventDeclaration"}}},1529:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(9852),o=r(1976),s=r(516),i=r(8487).NullUtil;void 0===r.g&&(r(9869),r(6375));class c extends a{constructor(e,t){super(e,t),this.scalarField=null}process(){switch(super.process(),this.validator=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new o(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new s(this,this.ast.validator,this.ast.lengthValidator))}i.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"Field {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isField(){return!0}isTypeScalar(){if(this.isPrimitive())return!1;{this.getParent().getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.getType());const e=this.getParent().getModelFile().getType(this.getType());return e.isScalarDeclaration?.()}}getScalarField(){if(this.scalarField)return this.scalarField;if(!this.isTypeScalar())throw new Error(`Field ${this.name} is not a scalar property.`);const e=this.getParent().getModelFile().getType(this.getType()),t=JSON.parse(JSON.stringify(e.ast));switch(e.ast.$class){case`${n}.StringScalar`:t.$class=`${n}.StringProperty`;break;case`${n}.BooleanScalar`:t.$class=`${n}.BooleanProperty`;break;case`${n}.DateTimeScalar`:t.$class=`${n}.DateTimeProperty`;break;case`${n}.DoubleScalar`:t.$class=`${n}.DoubleProperty`;break;case`${n}.IntegerScalar`:t.$class=`${n}.IntegerProperty`;break;case`${n}.LongScalar`:t.$class=`${n}.LongProperty`;break;default:throw new Error(`Unrecognized scalar type ${e.ast.$class}`)}return t.name=this.ast.name,this.scalarField=new c(this.getParent(),t),this.scalarField.array=this.isArray(),this.scalarField}}e.exports=c},8058:(e,t,r)=>{"use strict";const n=r(9869);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t),this.process()}}},1861:(e,t,r)=>{"use strict";const{BaseFileException:n}=r(8487);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t,r,n){let a="",o=null;t&&t.getName()&&(o=t.getName(),a="File '"+o+"': "),r&&(a=a+"line "+r.start.line+" column "+r.start.column+", to line "+r.end.line+" column "+r.end.column+". "),a=a.charAt(0).toUpperCase()+a.slice(1),super(e,r,e+" "+a,o,n)}}},4471:(e,t,r)=>{"use strict";void 0===r.g&&(r(9869),r(9481)),e.exports=class{constructor(e){this.modelManager=e}accept(e,t){return e.visit(this,t)}getClassDeclarations(){let e=[];const t=this.modelManager.getModelFiles();for(let r=0;r<t.length;r++){const n=t[r].getAllDeclarations().filter((e=>!e.isMapDeclaration?.()&&!e.isScalarDeclaration?.()));e=e.concat(n)}return e}getClassDeclaration(e){return this.modelManager.getType(e)}getModelManager(){return this.modelManager}}},3135:(e,t,r)=>{"use strict";const n=r(5437),a=r(1861),o=r(7046),s=r(8968),i=r(1768);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){const r=e.getModelManager();if("true"!=={NODE_ENV:"production"}.ENABLE_MAP_TYPE&&!r.enableMapType)throw new Error('MapType feature is not enabled. Please set the environment variable "ENABLE_MAP_TYPE=true", or add {enableMapType: true} to the ModelManger options, to access this functionality.');super(e,t),this.modelFile=e,this.process()}process(){if(super.process(),!this.ast.key||!this.ast.value)throw new a(`MapDeclaration must contain Key & Value properties ${this.ast.name}`,this.modelFile,this.ast.location);if(!i.isValidMapKey(this.ast.key))throw new a(`MapDeclaration must contain valid MapKeyType ${this.ast.name}`,this.modelFile,this.ast.location);if(!i.isValidMapValue(this.ast.value))throw new a(`MapDeclaration must contain valid MapValueType, for MapDeclaration ${this.ast.name}`,this.modelFile,this.ast.location);this.name=this.ast.name,this.key=new s(this,this.ast.key),this.value=new o(this,this.ast.value),this.fqn=i.getFullyQualifiedName(this.modelFile.getNamespace(),this.ast.name)}validate(){super.validate(),this.key.validate(),this.value.validate()}getFullyQualifiedName(){return this.fqn}getModelFile(){return this.modelFile}getName(){return this.name}getKey(){return this.key}getValue(){return this.value}toString(){return"MapDeclaration {id="+this.getFullyQualifiedName()+"}"}declarationKind(){return"MapDeclaration"}isMapDeclaration(){return!0}}},8968:(e,t,r)=>{"use strict";const n=r(1768),{MetaModelNamespace:a}=r(3348),o=r(7688),s=r(1861);void 0===r.g&&(r(6226),r(3135)),e.exports=class extends o{constructor(e,t){super(t),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!n.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(!n.isValidMapKeyScalar(e))throw new s(`Scalar must be one of StringScalar, DateTimeScalar in context of MapKeyType. Invalid Scalar: ${this.type}, for MapDeclaration ${this.parent.name}`)}}processType(e){switch(e.$class){case`${a}.DateTimeMapKeyType`:this.type="DateTime";break;case`${a}.StringMapKeyType`:this.type="String";break;case`${a}.ObjectMapKeyType`:this.type=String(this.ast.type.name)}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapKeyType {id="+this.getType()+"}"}isKey(){return!0}isValue(){return!1}getNamespace(){return this.modelFile.getNamespace()}}},7046:(e,t,r)=>{"use strict";const n=r(7688),{MetaModelNamespace:a}=r(3348),o=r(1861),s=r(1768);void 0===r.g&&(r(6226),r(3135)),e.exports=class extends n{constructor(e,t){super(t),this.parent=e,this.modelFile=e.getModelFile(),this.process()}process(){super.process(),this.processType(this.ast)}validate(){if(!s.isPrimitiveType(this.type)){const e=this.modelFile.getType(this.ast.type.name);if(e.isMapDeclaration?.())throw new o(`MapDeclaration as Map Type Value is not supported: ${this.type}`)}}processType(e){switch(this.ast.$class){case`${a}.ObjectMapValueType`:if(!("type"in e))throw new o(`ObjectMapValueType must contain property 'type', for MapDeclaration named ${this.parent.name}`);if(!("$class"in e.type)||!("name"in e.type))throw new o(`ObjectMapValueType type must contain property '$class' and property 'name', for MapDeclaration named ${this.parent.name}`);if("concerto.metamodel@1.0.0.TypeIdentifier"!==e.type.$class)throw new o(`ObjectMapValueType type $class must be of TypeIdentifier for MapDeclaration named ${this.parent.name}`);this.type=String(this.ast.type.name);break;case`${a}.BooleanMapValueType`:this.type="Boolean";break;case`${a}.DateTimeMapValueType`:this.type="DateTime";break;case`${a}.StringMapValueType`:this.type="String";break;case`${a}.IntegerMapValueType`:this.type="Integer";break;case`${a}.LongMapValueType`:this.type="Long";break;case`${a}.DoubleMapValueType`:this.type="Double"}}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}getType(){return this.type}toString(){return"MapValueType {id="+this.getType()+"}"}isKey(){return!1}isValue(){return!0}getNamespace(){return this.modelFile.getNamespace()}}},3899:(e,t,r)=>{"use strict";const{MetaModelUtil:n}=r(3348),a=r(9481),o=r(1595),s=r(3673),i=r(6226);function c(){const e=new a,t=new i(e,n.metaModelAst,n.metaModelCto,"concerto.metamodel",!0);return e.addModelFile(t,n.metaModelCto,"concerto.metamodel"),e}function l(e){const t=c(),r=new o(t);return new s(r,t).fromJSON(e),e}e.exports={newMetaModelManager:c,validateMetaModel:l,modelManagerFromMetaModel:function(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?e:l(e),r=new a;return t.models.forEach((e=>{const t=new i(r,e,null,null,!0);r.addModelFile(t,null,null)})),r.validateModelFiles(),r}}},6226:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(8330),o=r(2722),s=r(953),i=r(2302),c=r(9869),l=r(6341),u=r(7189),p=r(3218),d=r(745),m=r(7337),h=r(1861),f=r(3135),g=r(1768),y=r(2438),v=r(7688),{Warning:$,ErrorCodes:A}=r(8487);void 0===r.g&&(r(9869),r(9481),r(5437));class b extends v{constructor(e,t,r,n){if(super(t),this.modelManager=e,this.external=!1,this.declarations=[],this.localTypes=null,this.imports=[],this.importShortNames=new Map,this.importWildcardNamespaces=[],this.importUriMap={},this.fileName="UNKNOWN",this.concertoVersion=null,this.version=null,!t||"object"!=typeof t)throw new Error("ModelFile expects a Concerto model AST as input.");if(this.ast=t,r&&"string"!=typeof r)throw new Error("ModelFile expects an (optional) Concerto model definition as a string.");if(this.definitions=r,n&&"string"!=typeof n)throw new Error("ModelFile expects an (optional) filename as a string.");this.fileName=n,n&&(this.external=n.startsWith("@")),this.process(),this.fromAst(this.ast),this.isCompatibleVersion(),this.localTypes=new Map;for(let e in this.declarations){let t=this.declarations[e],r=this.getNamespace()+"."+t.getName();this.localTypes.set(r,this.declarations[e])}}getModelFile(){return this}isModelFile(){return!0}getVersion(){return this.version}isSystemModelFile(){return this.namespace.startsWith("concerto@")||"concerto"===this.namespace}isExternal(){return this.external}getImportURI(e){return this.importUriMap[e]||null}getExternalImports(){return this.importUriMap}accept(e,t){return e.visit(this,t)}getModelManager(){return this.modelManager}getImports(){let e=[];return this.imports.forEach((t=>{e=e.concat(g.importFullyQualifiedNames(t))})),e}validate(){super.validate();const e=new Map;this.getImports().forEach((t=>{const r=g.getNamespace(t),n=g.getShortName(t),a=this.getModelManager().getModelFile(r),{name:o,version:s}=g.parseNamespace(r);if(!a){let e=y.messageFormatter("modelmanager-gettype-noregisteredns");throw new h(e({type:t}),this)}const i=e.get(o);if("concerto"!==o&&void 0!==i&&i!==s){let e=y.messageFormatter("modelmanager-gettype-duplicatensimport");throw new h(e({namespace:r,version1:i,version2:s}),this)}if(e.set(o,s),!t.endsWith("*")&&!a.isLocalType(n)){let e=y.messageFormatter("modelmanager-gettype-notypeinns");throw new h(e({type:n,namespace:r}),this)}}));const t=new Set;this.declarations.forEach((e=>{const r=e.getFullyQualifiedName();if(t.has(r))throw new h(`Duplicate class name ${r}`);t.add(r)}));for(let e=0;e<this.declarations.length;e++)this.declarations[e].validate()}resolveType(e,t,r){if(!g.isPrimitiveType(t))if(this.isImportedType(t))this.getModelManager().resolveType(e,this.resolveImport(t));else if(!this.isLocalType(t)){let n=y("en").messageFormatter("modelfile-resolvetype-undecltype");throw new h(n({type:t,context:e}),this,r)}}isLocalType(e){return e&&null!==this.getLocalType(e)}isImportedType(e){if(this.importShortNames.has(e))return!0;for(let t in this.importWildcardNamespaces){let r=this.importWildcardNamespaces[t];const n=this.getModelManager().getModelFile(r);if(n&&n.isLocalType(e))return!0}return!1}resolveImport(e){if(this.importShortNames.has(e))return this.importShortNames.get(e);for(let t in this.importWildcardNamespaces){let r=this.importWildcardNamespaces[t];const n=this.getModelManager().getModelFile(r);if(n&&n.isLocalType(e))return r+"."+e}let t=y("en").messageFormatter("modelfile-resolveimport-failfindimp");throw new h(t({type:e,imports:JSON.stringify(this.imports),namespace:this.getNamespace()}),this)}getImportedType(e){return this.resolveImport(e).split(".").pop()}isDefined(e){return g.isPrimitiveType(e)||null!==this.getLocalType(e)}getType(e){if(g.isPrimitiveType(e))return e;if(this.isImportedType(e)){const t=this.resolveImport(e),r=this.getModelManager().getModelFile(g.getNamespace(t));return r?r.getLocalType(t):null}return this.isLocalType(e)?this.getLocalType(e):null}getFullyQualifiedTypeName(e){return g.isPrimitiveType(e)?e:this.isImportedType(e)?this.resolveImport(e):this.isLocalType(e)?this.getLocalType(e).getFullyQualifiedName():null}getLocalType(e){if(!this.localTypes)throw new Error("Internal error: local types are not yet initialized. Do not try to resolve types inside `process`.");return e.startsWith(this.getNamespace())||(e=this.getNamespace()+"."+e),this.localTypes.has(e)?this.localTypes.get(e):null}getAssetDeclaration(e){let t=this.getLocalType(e);return t&&t.isAsset()?t:null}getTransactionDeclaration(e){let t=this.getLocalType(e);return t&&t.isTransaction()?t:null}getEventDeclaration(e){let t=this.getLocalType(e);return t&&t.isEvent()?t:null}getParticipantDeclaration(e){let t=this.getLocalType(e);return t&&t.isParticipant()?t:null}getNamespace(){return this.namespace}getName(){return this.fileName}getAssetDeclarations(){return this.getDeclarations(s)}getTransactionDeclarations(){return this.getDeclarations(d)}getEventDeclarations(){return this.getDeclarations(m)}getParticipantDeclarations(){return this.getDeclarations(p)}getClassDeclarations(){return this.getDeclarations(c)}getConceptDeclarations(){return this.getDeclarations(l)}getEnumDeclarations(){return this.getDeclarations(i)}getMapDeclarations(){return this.getDeclarations(f)}getScalarDeclarations(){return this.getDeclarations(u)}getDeclarations(e){let t=[];for(let r=0;r<this.declarations.length;r++){let n=this.declarations[r];n instanceof e&&t.push(n)}return t}getAllDeclarations(){return this.declarations}getDefinitions(){return this.definitions}getAst(){return this.ast}getConcertoVersion(){return this.concertoVersion}isCompatibleVersion(){if(this.ast.concertoVersion){if(!o.satisfies(a.version,this.ast.concertoVersion,{includePrerelease:!0}))throw new Error(`ModelFile expects Concerto version ${this.ast.concertoVersion} but this is ${a.version}`);this.concertoVersion=this.ast.concertoVersion}}enforceImportVersioning(e){if(this.getModelManager().isStrict()&&!g.parseNamespace(e.namespace).version)throw new Error(`Cannot use an unversioned import ${e.namespace} when 'strict' option on Model Manager is set.`)}fromAst(e){const t=g.parseNamespace(e.namespace);t.name.split(".").forEach((e=>{if(!g.isValidIdentifier(e))throw new h(`Invalid namespace part '${e}'`,this.modelFile,this.ast.location)})),this.namespace=e.namespace,this.version=t.version;const r=e.imports?e.imports.concat([]):[];if(this.isSystemModelFile()||r.push({$class:`${n}.ImportTypes`,namespace:"concerto@1.0.0",types:["Concept","Asset","Transaction","Participant","Event"]}),this.imports=r,this.imports.forEach((e=>{switch(this.enforceImportVersioning(e),e.$class){case`${n}.ImportAll`:if(this.getModelManager().isStrict())throw new Error("Wilcard Imports are not permitted in strict mode.");$.printDeprecationWarning("Wilcard Imports are deprecated in this version of Concerto and will be removed in a future version.",A.DEPRECATION_WARNING,A.CONCERTO_DEPRECATION_002,"Please refer to https://concerto.accordproject.org/deprecation/002"),this.importWildcardNamespaces.push(e.namespace);break;case`${n}.ImportTypes`:if(this.getModelManager().isAliasedTypeEnabled()){const t=new Map;e.aliasedTypes&&e.aliasedTypes.forEach((e=>{let{name:r,aliasedName:n}=e;if(g.isPrimitiveType(n))throw new Error("Types cannot be aliased to primitive type");t.set(r,n)})),e.types.forEach((r=>t.has(r)?this.importShortNames.set(t.get(r),`${e.namespace}.${r}`):this.importShortNames.set(r,`${e.namespace}.${r}`)))}else{if(e.aliasedTypes)throw new Error("Aliasing disabled, set importAliasing to true");e.types.forEach((t=>{this.importShortNames.set(t,`${e.namespace}.${t}`)}))}break;default:this.importShortNames.set(e.name,g.importFullyQualifiedNames(e)[0])}e.uri&&(this.importUriMap[g.importFullyQualifiedNames(e)[0]]=e.uri)})),e.declarations)for(let t=0;t<e.declarations.length;t++){let r=Object.assign({},e.declarations[t]);if(r.$class===`${n}.AssetDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Asset"}),this.declarations.push(new s(this,r));else if(r.$class===`${n}.TransactionDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Transaction"}),this.declarations.push(new d(this,r));else if(r.$class===`${n}.EventDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Event"}),this.declarations.push(new m(this,r));else if(r.$class===`${n}.ParticipantDeclaration`)r.superType||(r.superType={$class:`${n}.TypeIdentified`,name:"Participant"}),this.declarations.push(new p(this,r));else if(r.$class===`${n}.EnumDeclaration`)this.declarations.push(new i(this,r));else if(r.$class===`${n}.MapDeclaration`)this.declarations.push(new f(this,r));else if(r.$class===`${n}.ConceptDeclaration`)this.declarations.push(new l(this,r));else{if(![`${n}.BooleanScalar`,`${n}.IntegerScalar`,`${n}.LongScalar`,`${n}.DoubleScalar`,`${n}.StringScalar`,`${n}.DateTimeScalar`].includes(r.$class)){let e=y("en").messageFormatter("modelfile-constructor-unrecmodelelem");throw new h(e({type:r.$class}),this)}this.declarations.push(new u(this,r))}}}filter(e,t,r){let n=[];this.declarations?.forEach((t=>{e(t)?n.push(t.ast):r.push(t.getFullyQualifiedName())}));const a={...this.ast,declarations:n};return a.declarations?.length>0?new b(t,a,void 0,this.fileName):null}}e.exports=b},1976:(e,t,r)=>{"use strict";const{isNull:n}=r(8487).NullUtil,a=r(6375);void 0===r.g&&(r(1529),r(7189));class o extends a{constructor(e,t){super(e,t),this.lowerBound=null,this.upperBound=null,Object.prototype.hasOwnProperty.call(t,"lower")&&(this.lowerBound=t.lower),Object.prototype.hasOwnProperty.call(t,"upper")&&(this.upperBound=t.upper),null===this.lowerBound&&null===this.upperBound?this.reportError(null,"Invalid range, lower and-or upper bound must be specified."):null===this.lowerBound||null===this.upperBound||this.lowerBound>this.upperBound&&this.reportError(null,"Lower bound must be less than or equal to upper bound.")}getLowerBound(){return this.lowerBound}getUpperBound(){return this.upperBound}validate(e,t){null!==t&&(null!==this.lowerBound&&t<this.lowerBound&&this.reportError(e,`Value ${t} is outside lower bound ${this.lowerBound}`),null!==this.upperBound&&t>this.upperBound&&this.reportError(e,`Value ${t} is outside upper bound ${this.upperBound}`))}toString(){return"NumberValidator lower: "+this.lowerBound+" upper: "+this.upperBound}compatibleWith(e){if(!(e instanceof o))return!1;const t=this.getLowerBound(),r=e.getLowerBound();if(n(t)&&!n(r))return!1;if(!n(t)&&!n(r)&&t<r)return!1;const a=this.getUpperBound(),s=e.getUpperBound();return!(n(a)&&!n(s)||!n(a)&&!n(s)&&a>s)}}e.exports=o},3218:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"ParticipantDeclaration"}}},9852:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(1768),o=r(1861),s=r(7688);void 0===r.g&&(r(9869),r(6226)),e.exports=class extends s{constructor(e,t){super(t),this.parent=e,this.process()}getModelFile(){return this.parent.getModelFile()}getParent(){return this.parent}process(){if(super.process(),!a.isValidIdentifier(this.ast.name))throw new o(`Invalid property name '${this.ast.name}'`,this.modelFile,this.ast.location);if(this.name=this.ast.name,this.decorator=null,!this.name)throw new Error("No name for type "+JSON.stringify(this.ast));switch(this.ast.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanProperty`:this.type="Boolean";break;case`${n}.DateTimeProperty`:this.type="DateTime";break;case`${n}.DoubleProperty`:this.type="Double";break;case`${n}.IntegerProperty`:this.type="Integer";break;case`${n}.LongProperty`:this.type="Long";break;case`${n}.StringProperty`:this.type="String";break;case`${n}.ObjectProperty`:this.type=this.ast.type?this.ast.type.name:null;break;case`${n}.RelationshipProperty`:this.type=this.ast.type.name}this.array=!1,this.ast.isArray&&(this.array=!0),this.ast.isOptional?this.optional=!0:this.optional=!1}validate(e){super.validate(),this.type&&e.getModelFile().resolveType("property "+this.getFullyQualifiedName(),this.type)}getName(){return this.name}getType(){return this.type}isOptional(){return this.optional}getFullyQualifiedTypeName(){if(this.isPrimitive())return this.type;const e=this.getParent();if(!e)throw new Error("Property "+this.name+" does not have a parent.");const t=e.getModelFile();if(!t)throw new Error("Parent of property "+this.name+" does not have a ModelFile!");const r=t.getFullyQualifiedTypeName(this.type);if(!r)throw new Error("Failed to find fully qualified type name for property "+this.name+" with type "+this.type);return r}getFullyQualifiedName(){return this.getParent().getFullyQualifiedName()+"."+this.getName()}getNamespace(){return this.getParent().getNamespace()}isArray(){return this.array}isTypeEnum(){return!this.isPrimitive()&&this.getParent().getModelFile().getType(this.getType()).isEnum()}isPrimitive(){return a.isPrimitiveType(this.getType())}}},6099:(e,t,r)=>{"use strict";const n=r(9852),a=r(1861),o=r(1768);void 0===r.g&&r(9869),e.exports=class extends n{constructor(e,t){super(e,t)}validate(e){if(super.validate(e),!this.getType())throw new a("Relationship must have a type",e.getModelFile(),this.ast.location);let t=null;if(o.isPrimitiveType(this.getType()))throw new a("Relationship "+this.getName()+" cannot be to the primitive type "+this.getType(),e.getModelFile(),this.ast.location);if(this.getParent().getNamespace()===o.getNamespace(this.getFullyQualifiedTypeName()))t=this.getParent().getModelFile().getType(this.getType());else try{t=this.getParent().getModelFile().getModelManager().getType(this.getFullyQualifiedTypeName())}catch(e){}if(null===t)throw new a("Relationship "+this.getName()+" points to a missing type "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location);if(!t.isIdentified())throw new a("Relationship "+this.getName()+" must be to a class that has an identifier, but this is to "+this.getFullyQualifiedTypeName(),e.getModelFile(),this.ast.location)}toString(){return"RelationshipDeclaration {name="+this.name+", type="+this.getFullyQualifiedTypeName()+", array="+this.array+", optional="+this.optional+"}"}isRelationship(){return!0}}},7189:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),a=r(5437),o=r(1976),s=r(516),i=r(8487).NullUtil;void 0===r.g&&(r(6375),r(9869)),e.exports=class extends a{process(){switch(super.process(),this.superType=null,this.superTypeDeclaration=null,this.idField=null,this.timestamped=!1,this.abstract=!1,this.validator=null,this.ast.$class===`${n}.BooleanScalar`?this.type="Boolean":this.ast.$class===`${n}.IntegerScalar`?this.type="Integer":this.ast.$class===`${n}.LongScalar`?this.type="Long":this.ast.$class===`${n}.DoubleScalar`?this.type="Double":this.ast.$class===`${n}.StringScalar`?this.type="String":this.ast.$class===`${n}.DateTimeScalar`?this.type="DateTime":this.type=null,this.getType()){case"Integer":case"Double":case"Long":this.ast.validator&&(this.validator=new o(this,this.ast.validator));break;case"String":(this.ast.validator||this.ast.lengthValidator)&&(this.validator=new s(this,this.ast.validator,this.ast.lengthValidator))}i.isNull(this.ast.defaultValue)?this.defaultValue=null:this.defaultValue=this.ast.defaultValue}validate(){super.validate()}isIdentified(){return!1}isSystemIdentified(){return!1}getIdentifierFieldName(){return null}getType(){return this.type}getSuperType(){return null}getSuperTypeDeclaration(){return null}getValidator(){return this.validator}getDefaultValue(){return this.defaultValue}toString(){return"ScalarDeclaration {id="+this.getFullyQualifiedName()+"}"}isAbstract(){return!0}isScalarDeclaration(){return!0}isAsset(){return!1}isParticipant(){return!1}isTransaction(){return!1}isEvent(){return!1}isConcept(){return!1}}},516:(e,t,r)=>{"use strict";const{ErrorCodes:n}=r(8487),{isNull:a}=r(8487).NullUtil,o=r(6375);void 0===r.g&&(r(1529),r(7189));class s extends o{constructor(e,t,r){if(super(e,t),this.minLength=null,this.maxLength=null,this.regex=null,r&&(this.minLength=r?.minLength,this.maxLength=r?.maxLength,null===this.minLength&&null===this.maxLength?this.reportError(e.getName(),"Invalid string length, minLength and-or maxLength must be specified."):this.minLength<0||this.maxLength<0?this.reportError(e.getName(),"minLength and-or maxLength must be positive integers."):null===this.minLength||null===this.maxLength||this.minLength>this.maxLength&&this.reportError(e.getName(),"minLength must be less than or equal to maxLength.")),t)try{const r=e?.parent?.getModelFile()?.getModelManager()?.options?.regExp||RegExp;this.regex=new r(t.pattern,t.flags)}catch(t){this.reportError(e.getName(),t.message,n.REGEX_VALIDATOR_EXCEPTION)}}validate(e,t){null!==t&&(null!==this.minLength&&t.length<this.minLength&&this.reportError(e,`The string length of '${t}' should be at least ${this.minLength} characters.`),null!==this.maxLength&&t.length>this.maxLength&&this.reportError(e,`The string length of '${t}' should not exceed ${this.maxLength} characters.`),this.regex&&!this.regex.test(t)&&this.reportError(e,`Value '${t}' failed to match validation regex: ${this.regex}`))}getMinLength(){return this.minLength}getMaxLength(){return this.maxLength}getRegex(){return this.regex}compatibleWith(e){if(!(e instanceof s))return!1;if(this.validator?.pattern!==e.validator?.pattern)return!1;if(this.validator?.flags!==e.validator?.flags)return!1;const t=this.getMinLength(),r=e.getMinLength();if(a(t)&&!a(r))return!1;if(!a(t)&&!a(r)&&t<r)return!1;const n=this.getMaxLength(),o=e.getMaxLength();return!(a(n)&&!a(o)||!a(n)&&!a(o)&&n>o)}}e.exports=s},745:(e,t,r)=>{"use strict";const n=r(8058);void 0===r.g&&r(6226),e.exports=class extends n{constructor(e,t){super(e,t)}declarationKind(){return"TransactionDeclaration"}}},6375:(e,t,r)=>{"use strict";const{BaseException:n,ErrorCodes:a}=r(8487);void 0===r.g&&(r(1529),r(7189)),e.exports=class{constructor(e,t){this.validator=t,this.field=e}reportError(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.DEFAULT_VALIDATOR_EXCEPTION;throw new n("Validator error for field `"+e+"`. "+this.getFieldOrScalarDeclaration().getFullyQualifiedName()+": "+t,void 0,r)}accept(e,t){return e.visit(this,t)}getFieldOrScalarDeclaration(){return this.field}validate(e,t){}compatibleWith(e){return!1}}},5430:(e,t,r)=>{"use strict";const{BaseException:n}=r(8487);e.exports=class extends n{constructor(e){super(e)}}},9259:(e,t,r)=>{"use strict";const n=r(2410),a=r(2523);e.exports=class extends a{constructor(e,t,r,n,a,o){super(e,t,r,n);const s=this.$modelManager.getModelFile(this.getNamespace()),i=s?.getType(this.getFullyQualifiedType());this.$identifierFieldName=i?.getIdentifierFieldName()||"$identifier",this.setIdentifier(a),this.$timestamp=o}getTimestamp(){return this.$timestamp}getIdentifier(){return this[this.$identifierFieldName]}setIdentifier(e){this.$identifier=e,this[this.$identifierFieldName]=e}getFullyQualifiedIdentifier(){return this.getIdentifier()?this.getFullyQualifiedType()+"#"+this.getIdentifier():this.getFullyQualifiedType()}toString(){return"Identifiable {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!1}isResource(){return!1}toURI(){return new n(this.getNamespace(),this.getType(),this.getIdentifier()).toURI()}}},6113:(e,t,r)=>{"use strict";const n=r(9259),a=r(1768),o=r(2410);void 0===r.g&&r(9481);class s extends n{constructor(e,t,r,n,a,o){super(e,t,r,n,a,o),this.$class="Relationship"}toString(){return"Relationship {id="+this.getFullyQualifiedIdentifier()+"}"}isRelationship(){return!0}static fromURI(e,t,r,n){const i=o.fromURI(t,r,n);let c=a.getFullyQualifiedName(i.namespace,i.type),l=e.getType(c);return new s(e,l,i.namespace,i.type,i.id)}}e.exports=s},7755:(e,t,r)=>{"use strict";const n=r(9259);e.exports=class extends n{constructor(e,t,r,n,a,o){super(e,t,r,n,a,o)}toString(){return"Resource {id="+this.getFullyQualifiedIdentifier()+"}"}isResource(){return!0}isConcept(){return this.getClassDeclaration().isConcept()}isIdentifiable(){return this.getClassDeclaration().isIdentified()}toJSON(){return this.getModelManager().getSerializer().toJSON(this)}}},2410:(e,t,r)=>{"use strict";const n=r(9472),a=r(1768),o="resource";class s{constructor(e,t,r){if(!e)throw new Error("Missing namespace");if(!t)throw new Error("Missing type");if(!r)throw new Error("Missing id");this.namespace=e,this.type=t,this.id=r}static fromURI(e,t,r){let i;try{i=n.parse(e)}catch(t){throw new Error("Invalid URI: "+e)}const c=i.protocol;if(c&&c!==o)throw new Error("Invalid URI scheme: "+e);if(i.username||i.password||i.port||i.query)throw new Error("Invalid resource URI format: "+e);let l,u,p=i.fragment;if(p){const e=i.path;l=a.getNamespace(e),u=a.getShortName(e)}else l=t,u=r,p=i.path;return new s(l,u,decodeURIComponent(p))}toURI(){const e=a.getFullyQualifiedName(this.namespace,this.type);return o+":"+e+"#"+encodeURI(this.id)}}e.exports=s},2523:(e,t,r)=>{"use strict";const n=r(3464),a=r(7657),o=r(8487).NullUtil;n.extend(a),void 0===r.g&&(r(9869),r(9481)),e.exports=class{constructor(e,t,r,n){this.$modelManager=e,this.$classDeclaration=t,this.$namespace=r,this.$type=n}accept(e,t){return e.visit(this,t)}getModelManager(){return this.$modelManager}getType(){return this.$type}getFullyQualifiedType(){return this.$classDeclaration.getFullyQualifiedName()}getNamespace(){return this.$namespace}getClassDeclaration(){return this.$classDeclaration}setPropertyValue(e,t){this[e]=t}addArrayValue(e,t){this[e]?this[e].push(t):this[e]=[t]}assignFieldDefaults(){let e=this.getClassDeclaration().getProperties();for(let t=0;t<e.length;t++){let r,a,s=e[t];if(s.isTypeScalar?.()&&(s=s.getScalarField()),s.isField?.()&&(r=s.getDefaultValue(),a=s.getType()),!o.isNull(r))if("String"===a)this.setPropertyValue(s.getName(),r);else if("Integer"===a)this.setPropertyValue(s.getName(),parseInt(r));else if("Long"===a)this.setPropertyValue(s.getName(),parseInt(r));else if("Double"===a)this.setPropertyValue(s.getName(),parseFloat(r));else if("Boolean"===a)this.setPropertyValue(s.getName(),!0===r);else if("DateTime"===a){const e=n.utc(r);this.setPropertyValue(s.getName(),e)}else this.setPropertyValue(s.getName(),r)}}instanceOf(e){const t=this.getClassDeclaration();if(t.getFullyQualifiedName()===e)return!0;let r=t.getSuperTypeDeclaration();for(;r;){if(r.getFullyQualifiedName()===e)return!0;r=r.getSuperTypeDeclaration()}return!1}toJSON(){throw new Error("Use Serializer.toJSON to convert resource instances to JSON objects.")}}},289:(e,t,r)=>{"use strict";const n=r(8487).TypedStack,a=r(7755);e.exports=class extends a{constructor(e,t,r,n,a,o,s){super(e,t,r,n,a,o),this.$validator=s}setPropertyValue(e,t){let r=this.getClassDeclaration().getProperty(e);if(!r)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");const a={};a.stack=new n(t),a.modelManager=this.getModelManager(),a.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),r.accept(this.$validator,a),super.setPropertyValue(e,t)}addArrayValue(e,t){let r=this.getClassDeclaration().getProperty(e);if(!r)throw new Error("The instance with id "+this.getIdentifier()+" trying to set field "+e+" which is not declared in the model.");if(!r.isArray())throw new Error("The instance with id "+this.getIdentifier()+" trying to add array item "+e+" which is not declared as an array in the model.");const a={};let o=[];this[e]&&(o=this[e].slice(0)),o.push(t),a.stack=new n(o),a.modelManager=this.getModelManager(),a.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),r.accept(this.$validator,a),super.addArrayValue(e,t)}validate(){const e=this.getClassDeclaration(),t={};t.stack=new n(this),t.modelManager=this.getModelManager(),t.rootResourceIdentifier=this.getFullyQualifiedIdentifier(),e.accept(this.$validator,t)}}},6803:(e,t,r)=>{"use strict";const n=r(6686),a=r(9967).Parser,o=r(8487).DefaultFileLoader,s=r(6226),i=r(9481);class c{static async addModel(e,t,r){let o=null;if(e.accepts(r))o=await e.load(r);else{const e=n.readFileSync(r,"utf8"),i=a.parse(e,r);o=new s(t,i,e,r)}return t.addModelFile(o,null,o.getName(),!0),t}static async loadModelManager(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offline:!1,strict:!1},r=new i(t);const n=new o(((e,t)=>{const n=a.parse(t);return new s(r,n,t,e)}));for(let t of e)r=await c.addModel(n,r,t);return t&&t.offline?(r.validateModelFiles(),r):(await r.updateExternalModels(),r)}static async loadModelManagerFromModelFiles(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{offline:!1,strict:!1},n=new i(r);return n.addModelFiles(e,t,!0),r&&r.offline?(n.validateModelFiles(),n):(await n.updateExternalModels(),n)}}e.exports=c},9481:(e,t,r)=>{"use strict";const n=r(9967).Parser,a=r(3832),o=r(7833)("concerto:BaseModelManager");void 0===r.g&&r(6226),e.exports=class extends a{constructor(e){super(e,(e=>(t,r)=>{const a={skipLocationNodes:e?.skipLocationNodes};return{ast:n.parse(r,t,a),definitions:r,fileName:t}})(e))}addCTOModel(e,t,r){return o("addCTOModel","addCTOModel",e,t),this.addModel(e,e,t,r)}}},1768:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(3348),{MetaModelUtil:a}=r(3348),o=r(2722),s=r(2438);void 0===r.g&&r(6226);const i=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u,c=["$classDeclaration","$namespace","$type","$modelManager","$validator","$identifierFieldName","$imports","$superTypes","$id"],l=["$class","$identifier","$timestamp",...c];class u{static getShortName(e){let t=e,r=e.lastIndexOf(".");return r>-1&&(t=e.substr(r+1)),t}static getNamespace(e){if(!e)throw new Error(s.formatMessage("modelutil-getnamespace-nofnq"));let t="",r=e.lastIndexOf(".");return r>-1&&(t=e.substr(0,r)),t}static parseNamespace(e){if(!e)throw new Error("Namespace is null or undefined.");const t=e.split("@");if(t.length>2)throw new Error(`Invalid namespace ${e}`);if(2===t.length&&!o.valid(t[1]))throw new Error(`Invalid namespace ${e}`);return{name:t[0],escapedNamespace:e.replace("@","_"),version:t.length>1?t[1]:null,versionParsed:t.length>1?o.parse(t[1]):null}}static importFullyQualifiedNames(e){return a.importFullyQualifiedNames(e)}static isPrimitiveType(e){return["Boolean","String","DateTime","Double","Integer","Long"].indexOf(e)>=0}static isAssignableTo(e,t,r){const n=r.getFullyQualifiedTypeName(),a=t===n;if(a||u.isPrimitiveType(t)||u.isPrimitiveType(n))return a;const o=e.getType(t);if(!o)throw new Error("Cannot find type "+t);return o.getAllSuperTypeDeclarations().some((e=>e.getFullyQualifiedName()===n))}static capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}static isEnum(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isEnum()}static isMap(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isMapDeclaration?.()}static isScalar(e){const t=e.getParent().getModelFile().getType(e.getType());return t?.isScalarDeclaration?.()}static isValidIdentifier(e){return i.test(e)}static getFullyQualifiedName(e,t){return e?`${e}.${t}`:t}static removeNamespaceVersionFromFullyQualifiedName(e){if(u.isPrimitiveType(e))return e;const t=u.getNamespace(e),{name:r}=u.parseNamespace(t),n=u.getShortName(e);return u.getFullyQualifiedName(r,n)}static isSystemProperty(e){return l.includes(e)}static isPrivateSystemProperty(e){return c.includes(e)}static isValidMapKey(e){return[`${n}.StringMapKeyType`,`${n}.DateTimeMapKeyType`,`${n}.ObjectMapKeyType`].includes(e.$class)}static isValidMapKeyScalar(e){return e?.isScalarDeclaration?.()&&e?.ast.$class===`${n}.StringScalar`||e?.isScalarDeclaration?.()&&e?.ast.$class===`${n}.DateTimeScalar`}static isValidMapValue(e){return[`${n}.BooleanMapValueType`,`${n}.DateTimeMapValueType`,`${n}.StringMapValueType`,`${n}.IntegerMapValueType`,`${n}.LongMapValueType`,`${n}.DoubleMapValueType`,`${n}.ObjectMapValueType`].includes(e.$class)}}e.exports=u},6128:(e,t,r)=>{"use strict";const n=r(6391);e.exports={getRootModel:function(e){const t=e?"concerto_1.0.0.cto":"concerto.cto",r=e?"concerto@1.0.0":"concerto",a=`@DotNetNamespace("AccordProject.Concerto")\n namespace ${r}\n import concerto.decorator@1.0.0.DotNetNamespace\n abstract concept Concept {}\n abstract concept Asset identified {}\n abstract concept Participant identified {}\n abstract concept Transaction {}\n abstract concept Event {}\n `,o=JSON.parse(JSON.stringify(n));return o.namespace=r,{rootModelFile:t,rootModelCto:a,rootModelAst:o}}}},3686:(e,t,r)=>{"use strict";const{BaseException:n}=r(8487);e.exports=class extends n{constructor(e){super(e)}}},3673:(e,t,r)=>{"use strict";const{TypedStack:n}=r(8487),a=r(7624),o=r(2438),s=r(9),i=r(8998),c=r(2523),l=r(2552),{utcOffset:u}=a.setCurrentTime(),p={validate:!0,utcOffset:u};void 0===r.g&&(r(1595),r(9481),r(7755)),e.exports=class{constructor(e,t,r){if(!e)throw new Error(o.formatMessage("serializer-constructor-factorynull"));if(!t)throw new Error(o.formatMessage("serializer-constructor-modelmanagernull"));this.factory=e,this.modelManager=t,this.defaultOptions=Object.assign({},p,r||{})}setDefaultOptions(e){this.defaultOptions=Object.assign({},p,e)}toJSON(e,t){if(!(e instanceof c))throw new Error(o.formatMessage("serializer-tojson-notcobject"));const r={};r.stack=new n(e),r.modelManager=this.modelManager,r.seenResources=new Set,r.dedupeResources=new Set;const a=this.modelManager.getType(e.getFullyQualifiedType());if((t=t?Object.assign({},this.defaultOptions,t):this.defaultOptions).validate){const e=new l(t);a.accept(e,r)}const i=new s(!0===t.convertResourcesToRelationships,!0===t.permitResourcesForRelationships,!0===t.deduplicateResources,!0===t.convertResourcesToId,!1,t.utcOffset);return r.stack.clear(),r.stack.push(e),a.accept(i,r)}fromJSON(e,t){if(t=t?Object.assign({},this.defaultOptions,t):this.defaultOptions,!e.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier.");const r=this.modelManager.getType(e.$class);let a;if(r.isTransaction?.())a=this.factory.newTransaction(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else if(r.isEvent?.())a=this.factory.newEvent(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else if(r.isConcept?.())a=this.factory.newConcept(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()]);else{if(r.isMapDeclaration?.())throw new Error("Attempting to create a Map declaration is not supported.");if(r.isEnum())throw new Error("Attempting to create an ENUM declaration is not supported.");a=this.factory.newResource(r.getNamespace(),r.getName(),e[r.getIdentifierFieldName()])}const o={};o.jsonStack=new n(e),o.resourceStack=new n(a),o.modelManager=this.modelManager,o.factory=this.factory;const s=new i(!0===t.acceptResourcesForRelationships,!1,t.utcOffset,!0===t.strictQualifiedDateTimes);return r.accept(s,o),t.validate&&a.validate(),a}}},6422:(e,t,r)=>{"use strict";const n=r(8487).NullUtil,a=r(2438);e.exports=class{visit(e,t){if(e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,t){const r=t.stack.pop(),a=e.getProperties();for(const e of a){if(!t.includeOptionalFields&&e.isOptional())continue;const a=r[e.getName()];n.isNull(a)&&(r[e.getName()]=e.accept(this,t))}return r}visitField(e,t){if(e.isPrimitive())t.seen.push("Primitve");else{let r=e.getFullyQualifiedTypeName(),n=t.modelManager.getType(r);n=this.findConcreteSubclass(n);let a=n.getFullyQualifiedName();if(t.seen.includes(a)){if(e.isArray())return[];if(e.isOptional())return null;throw new Error("Model is recursive.")}t.seen.push(a)}let r;if(e.isArray()){const n=()=>this.getFieldValue(e,t);r=t.valueGenerator.getArray(n)}else r=this.getFieldValue(e,t);return t.seen.pop(),r}getFieldValue(e,t){let r=e;e.isTypeScalar?.()&&(r=e.getScalarField());let n=e.getFullyQualifiedTypeName();if(e.isPrimitive())switch(n){case"DateTime":return t.valueGenerator.getDateTime();case"Integer":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getInteger();case"Long":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getLong();case"Double":return r.validator?t.valueGenerator.getRange(r.validator.lowerBound,r.validator.upperBound,n):t.valueGenerator.getDouble();case"Boolean":return t.valueGenerator.getBoolean();default:return r.validator?.regex?t.valueGenerator.getRegex(r.validator.regex,r.validator.minLength,r.validator.maxLength):t.valueGenerator.getString(r.validator?.minLength,r.validator?.maxLength)}let a=t.modelManager.getType(n);if(a.isEnum()){let e=a.getOwnProperties();return t.valueGenerator.getEnum(e).getName()}if(a=this.findConcreteSubclass(a),!a.isMapDeclaration?.()){let e=null;if(a.isIdentified()){let n=a.getIdentifierFieldName(),o=a.getProperty(n);o?.isTypeScalar?.()&&(o=o.getScalarField()),e=o?.validator?.regex?t.valueGenerator.getRegex(r.validator.regex):this.generateRandomId(a)}let n=t.factory.newResource(a.getNamespace(),a.getName(),e);t.stack.push(n)}return a.accept(this,t)}findConcreteSubclass(e){if(e.isMapDeclaration?.()||!e.isAbstract())return e;const t=e.getAssignableClassDeclarations().filter((e=>!e.isAbstract()));if(0===t.length){const t=a.messageFormatter("instancegenerator-newinstance-noconcreteclass");throw new Error(t({type:e.getFullyQualifiedName()}))}return t[0]}visitRelationshipDeclaration(e,t){let r=t.modelManager.getType(e.getFullyQualifiedTypeName());r=this.findConcreteSubclass(r);const n=t.factory,a=()=>{const e=this.generateRandomId(r);return n.newRelationship(r.getNamespace(),r.getName(),e)};return e.isArray()?t.valueGenerator.getArray(a):a()}visitMapDeclaration(e,t){return t.valueGenerator.getMap()}generateRandomId(e){let t=Math.round(9999*Math.random()).toString();return t=t.padStart(4,"0"),t}}},9:(e,t,r)=>{"use strict";const n=r(7755),a=r(2523),o=r(1768),s=r(8487).NullUtil;e.exports=class{constructor(e,t,r,n,a,o){this.convertResourcesToRelationships=e,this.permitResourcesForRelationships=t,this.deduplicateResources=r,this.convertResourcesToId=n,this.utcOffset=o||0}visit(e,t){if(e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitMapDeclaration(e,t){const r=t.stack.pop();let n=new Map;return r.forEach(((r,a)=>{if(!o.isSystemProperty(a)){if("object"==typeof r){let n=e.getModelFile().getAllDeclarations().find((e=>e.name===r.getType()));t.stack.push(r);const a=n.accept(this,t);r=a}n.set(a,r)}})),Object.fromEntries(n)}visitClassDeclaration(e,t){const r=t.stack.pop();if(!(r instanceof n))throw new Error("Expected a Resource, but found "+r);let a={},o=null;if(r.isIdentifiable()&&this.deduplicateResources){if(o=r.toURI(),t.dedupeResources.has(o))return o;t.dedupeResources.add(o)}a.$class=e.getFullyQualifiedName(),this.deduplicateResources&&o&&(a.$id=o);const i=e.getProperties();for(let e in i){const n=i[e],o=r[n.getName()];s.isNull(o)||(t.stack.push(o),a[n.getName()]=n.accept(this,t))}return a}visitField(e,t){const r=t.stack.pop();let n;if(e.isArray()){let s=[];for(let n in r){const i=r[n];if(e.isPrimitive()||o.isEnum(e))s.push(this.convertToJSON(e,i));else{t.stack.push(i,a);const e=t.modelManager.getType(i.getFullyQualifiedType());s.push(e.accept(this,t))}}n=s}else e.isPrimitive()||o.isEnum(e)?n=this.convertToJSON(e,r):o.isMap(e)?(t.stack.push(r),n=t.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,t)):(t.stack.push(r),n=t.modelManager.getType(r.getFullyQualifiedType()).accept(this,t));return n}convertToJSON(e,t){if("DateTime"===e.getType()){const e=t.utc().utcOffset(this.utcOffset),r=0===e.utcOffset();return e.format("YYYY-MM-DDTHH:mm:ss.SSS"+(r?"[Z]":"Z"))}return t}visitRelationshipDeclaration(e,t){const r=t.stack.pop();let a;if(e.isArray()){let o=[];for(let a in r){const s=r[a];if(this.permitResourcesForRelationships&&s instanceof n){let r=s.getFullyQualifiedIdentifier();if(t.seenResources.has(r)){let t=this.getRelationshipText(e,s);o.push(t)}else{t.seenResources.add(r),t.stack.push(s,n);const a=t.modelManager.getType(e.getFullyQualifiedTypeName());o.push(a.accept(this,t)),t.seenResources.delete(r)}}else{let t=this.getRelationshipText(e,s);o.push(t)}}a=o}else if(this.permitResourcesForRelationships&&r instanceof n){let o=r.getFullyQualifiedIdentifier();t.seenResources.has(o)?a=this.getRelationshipText(e,r):(t.seenResources.add(o),t.stack.push(r,n),a=t.modelManager.getType(e.getFullyQualifiedTypeName()).accept(this,t),t.seenResources.delete(o))}else a=this.getRelationshipText(e,r);return a}getRelationshipText(e,t){if(t instanceof n&&!this.convertResourcesToRelationships&&!this.permitResourcesForRelationships)throw new Error("Did not find a relationship for "+e.getFullyQualifiedTypeName()+" found "+t);return this.convertResourcesToId?t.getIdentifier():t.toURI()}}},8998:(e,t,r)=>{"use strict";const{TypedStack:n}=r(8487),a=r(6113),o=r(8487).NullUtil,s=r(1768),i=r(390),c=r(3464),l=r(7657);c.extend(l);const u=r(4491);c.extend(u);const p=r(3221);c.extend(p);const d=r(279);function m(e,t){const r=Object.keys(e),n=r.filter(s.isPrivateSystemProperty);if(n.length>0){const e=`Unexpected reserved properties for type ${t.getFullyQualifiedName()}: `+n.join(", ");throw new i(e)}if(r.includes("$timestamp")&&!t.isTransaction?.()&&!t.isEvent?.()){const e=`Unexpected property for type ${t.getFullyQualifiedName()}: $timestamp`;throw new i(e)}return r.filter((t=>!s.isSystemProperty(t)&&!o.isNull(e[t])))}c.extend(d),e.exports=class{constructor(e,t,r,n){this.acceptResourcesForRelationships=e,this.utcOffset=r||0,this.strictQualifiedDateTimes=n,{NODE_ENV:"production"}.TZ&&console.warn(`Environment variable 'TZ' is set to '${{NODE_ENV:"production"}.TZ}', this can cause unexpected behaviour when using unqualified date time formats.`)}visit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.path??(t.path=new n("$")),e.isClassDeclaration?.())return this.visitClassDeclaration(e,t);if(e.isMapDeclaration?.())return this.visitMapDeclaration(e,t);if(e.isRelationship?.())return this.visitRelationshipDeclaration(e,t);if(e.isTypeScalar?.())return this.visitField(e.getScalarField(),t);if(e.isField?.())return this.visitField(e,t);throw new Error("Unrecognised "+JSON.stringify(e))}visitClassDeclaration(e,t){const r=t.jsonStack.pop(),a=t.resourceStack.pop();t.path??(t.path=new n("$"));const o=m(r,e);return function(e,t){const r=t.getProperties().map((e=>e.getName())),n=e.filter((e=>!r.includes(e)));if(n.length>0){const e=`Unexpected properties for type ${t.getFullyQualifiedName()}: `+n.join(", ");throw new i(e)}}(o,e),o.forEach((n=>{let o=r[n];if(null!==o){t.path.push(`.${n}`),t.jsonStack.push(o);const r=e.getProperty(n);a[n]=r.accept(this,t),t.path.pop()}})),a}visitMapDeclaration(e,t){let r=t.jsonStack.pop();t.path??(t.path=new n("$")),m(r,e),r=new Map(Object.entries(r));let a=new Map;return r.forEach(((r,n)=>{"$class"!==n?(s.isPrimitiveType(e.getKey().getType())||(n=this.processMapType(e,t,n,e.getKey().getType())),s.isPrimitiveType(e.getValue().getType())||(r=this.processMapType(e,t,r,e.getValue().getType())),a.set(n,r)):a.set(n,r)})),a}processMapType(e,t,r,n){let a=e.getModelFile().getAllDeclarations().find((e=>e.name===n));if(a?.isClassDeclaration()){let e=t.factory.newConcept(a.getNamespace(),a.getName(),a.getIdentifierFieldName());return t.jsonStack.push(r),t.resourceStack.push(e),a.accept(this,t)}return r}visitField(e,t){t.path??(t.path=new n("$"));let r=t.jsonStack.pop(),a=null;if(e.isArray()){a=[];for(let n=0;n<r.length;n++){t.path.push(`[${n}]`);const o=r[n];a.push(this.convertItem(e,o,t)),t.path.pop()}}else a=this.convertItem(e,r,t);return a}convertItem(e,t,r){let n=null;if(e.isPrimitive?.()||e.isTypeEnum?.())n=this.convertToObject(e,t,r);else{let a=t.$class;a||(a=e.getFullyQualifiedTypeName());const o=r.modelManager.getType(a);if(!o.isMapDeclaration?.()){let e=null;e=o.isIdentified()?r.factory.newResource(o.getNamespace(),o.getName(),t[o.getIdentifierFieldName()]):r.factory.newConcept(o.getNamespace(),o.getName()),r.resourceStack.push(e)}r.jsonStack.push(t),n=o.accept(this,r)}return n}convertToObject(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=null;r.path??(r.path=new n("$"));const o=r.path.stack.join("");switch(e.getType()){case"DateTime":if(t&&"object"==typeof t&&"function"==typeof t.isBefore)a=t;else{if("string"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);if(this.strictQualifiedDateTimes){if(this.strictQualifiedDateTimes){if(!t.match(/^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[+-]\d{2}:\d{2}))$/))throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\` with format YYYY-MM-DDTHH:mm:ss[Z]`);a=c.utc(t)}}else a=c.utc(t).utcOffset(this.utcOffset)}if(!a||!a.isValid())throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);break;case"Integer":case"Long":{const r=t;if("number"!=typeof r)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);if(Math.trunc(r)!==r)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=r}break;case"Double":if("number"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=parseFloat(t);break;case"Boolean":if("boolean"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=t;break;case"String":if("string"!=typeof t)throw new i(`Expected value at path \`${o}\` to be of type \`${e.getType()}\``);a=t;break;default:a=t}return a}visitRelationshipDeclaration(e,t){t.path??(t.path=new n("$"));let r=t.jsonStack.pop(),o=null,i=e.getFullyQualifiedTypeName(),c=s.getNamespace(i);c||(c=e.getNamespace());let l=s.getShortName(i);if(e.isArray()){o=[];for(let n=0;n<r.length;n++){let s=r[n];if("string"==typeof s)o.push(a.fromURI(t.modelManager,s,c,l));else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+r+" for relationship "+e);if(!s.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+s+" for relationship "+e);const n=t.modelManager.getType(s.$class);let a=t.factory.newResource(n.getNamespace(),n.getName(),s[n.getIdentifierFieldName()]);t.jsonStack.push(s),t.resourceStack.push(a),n.accept(this,t),o.push(a)}}}else if("string"==typeof r)o=a.fromURI(t.modelManager,r,c,l);else{if(!this.acceptResourcesForRelationships)throw new Error("Invalid JSON data. Found a value that is not a string: "+r+" for relationship "+e);if(!r.$class)throw new Error("Invalid JSON data. Does not contain a $class type identifier: "+r+" for relationship "+e);const n=t.modelManager.getType(r.$class);let a=t.factory.newResource(n.getNamespace(),n.getName(),r[n.getIdentifierFieldName()]);t.jsonStack.push(r),t.resourceStack.push(a),n.accept(this,t),o=a}return o}}},3561:(e,t,r)=>{"use strict";const n=r(8487).NullUtil,a=r(1768),o=r(390),s=r(2438),i=r(3464),c=r(7657);i.extend(c);class l{constructor(e,t){if(this.options=t||{},this.concerto=e,!this.concerto)throw new Error("Missing concerto instance")}visit(e,t){return e.isEnum?.()?this.visitEnumDeclaration(e,t):e.isClassDeclaration?.()?this.visitClassDeclaration(e,t):e.isRelationship?.()?this.visitRelationshipDeclaration(e,t):e.isTypeScalar?.()?this.visitField(e.getScalarField(),t):e.isField?.()?this.visitField(e,t):void 0}visitEnumDeclaration(e,t){const r=t.stack.pop(),n=e.getProperties();let a=!1;for(let e=0;e<n.length;e++)n[e].getName()===r&&(a=!0);return a||l.reportInvalidEnumValue(t.rootResourceIdentifier,e,r),null}visitClassDeclaration(e,t){const r=t.stack.pop();this.concerto.isIdentifiable(r)&&(t.rootResourceIdentifier=this.concerto.getFullyQualifiedIdentifier(r));const a=this.concerto.getModelManager().getType(r.$class),o=a.getFullyQualifiedName();a.isAbstract()&&l.reportAbstractClass(a);let s=Object.getOwnPropertyNames(r);for(let e=0;e<s.length;e++){let n=s[e];this.isSystemProperty(n)||a.getProperty(n)||(this.concerto.isIdentifiable(r)?l.reportUndeclaredField(this.concerto.getIdentifier(r),n,o):l.reportUndeclaredField(t.currentIdentifier,n,o))}if(this.concerto.isIdentifiable(r)){const e=this.concerto.getIdentifier(r);e&&0!==e.trim().length||l.reportEmptyIdentifier(t.rootResourceIdentifier),t.currentIdentifier=this.concerto.getFullyQualifiedIdentifier(r)}const i=a.getProperties();for(let e=0;e<i.length;e++){const a=i[e],o=r[a.getName()];n.isNull(o)?a.isOptional()||this.isSystemProperty(a.getName())||l.reportMissingRequiredProperty(t.rootResourceIdentifier,a):(t.stack.push(o),a.accept(this,t))}return null}isSystemProperty(e){return"$"===e.charAt(0)}visitField(e,t){const r=t.stack.pop();let n=typeof r,a=e.getName();return"symbol"===n&&l.reportFieldTypeViolation(t.rootResourceIdentifier,a,r,e,this.concerto),e.isTypeEnum()?this.checkEnum(r,e,t):e.isArray()?this.checkArray(r,e,t):this.checkItem(r,e,t),null}checkEnum(e,t,r){!t.isArray()||e instanceof Array||l.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t,this.concerto);const n=t.getParent().getModelFile().getType(t.getType());if(t.isArray())for(let t=0;t<e.length;t++){const a=e[t];r.stack.push(a),n.accept(this,r)}else{const t=e;r.stack.push(t),n.accept(this,r)}}checkArray(e,t,r){e instanceof Array||l.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t,this.concerto);for(let n=0;n<e.length;n++){const a=e[n];this.checkItem(a,t,r)}}checkItem(e,t,r){let n=typeof e,o=t.getName();if("symbol"===n&&l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto),t.isPrimitive()){let a=!1;switch(t.getType()){case"String":"string"!==n&&(a=!0);break;case"Double":case"Long":case"Integer":"number"!==n&&(a=!0);break;case"Boolean":"boolean"!==n&&(a=!0);break;case"DateTime":"string"==typeof e&&i.utc(e).isValid()||(a=!0)}a?l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto):null!==t.getValidator()&&t.getValidator().validate(r.currentIdentifier,e)}else{let n=this.concerto.getModelManager().getType(t.getFullyQualifiedTypeName());try{n=this.concerto.getModelManager().getType(e.$class)}catch(n){l.reportFieldTypeViolation(r.rootResourceIdentifier,o,e,t,this.concerto)}a.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||l.reportInvalidFieldAssignment(r.rootResourceIdentifier,o,e,t),r.stack.push(e),n.accept(this,r)}}visitRelationshipDeclaration(e,t){const r=t.stack.pop();if(e.isArray()){r instanceof Array||l.reportInvalidFieldAssignment(t.rootResourceIdentifier,e.getName(),r,e);for(let n=0;n<r.length;n++){const a=r[n];this.checkRelationship(t,e,a)}}else this.checkRelationship(t,e,r);return null}checkRelationship(e,t,r){this.concerto.isRelationship(r)||this.concerto.isIdentifiable(r)&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||l.reportNotRelationshipViolation(e.rootResourceIdentifier,t,r);const n=this.concerto.isRelationship(r)?this.concerto.fromURI(r).typeDeclaration:this.concerto.getTypeDeclaration(r);if(!n.getIdentifierFieldName())throw new Error("Relationship can only be to identified types.");a.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||l.reportInvalidFieldAssignment(e.rootResourceIdentifier,t.getName(),r,t)}static reportFieldTypeViolation(e,t,r,n,a){let i=n.isArray()?"[]":"",c=typeof r;if(a.isObject(r)&&a.isIdentifiable(r))c=a.getType(r),r=a.getIdentifier(r);else if(r)try{r=JSON.stringify(r)}catch(e){r=r.toString()}let l=s.messageFormatter("resourcevalidator-fieldtypeviolation");throw new o(l({resourceId:e,propertyName:t,fieldType:n.getType()+i,value:r,typeOfValue:c}))}static reportNotRelationshipViolation(e,t,r){let n=s.messageFormatter("resourcevalidator-notrelationship");throw new o(n({resourceId:e,classFQN:t.getFullyQualifiedTypeName(),invalidValue:r.toString()}))}static reportMissingRequiredProperty(e,t){let r=s.messageFormatter("resourcevalidator-missingrequiredproperty");throw new o(r({resourceId:e,fieldName:t.getName()}))}static reportEmptyIdentifier(e){let t=s.messageFormatter("resourcevalidator-emptyidentifier");throw new o(t({resourceId:e}))}static reportInvalidEnumValue(e,t,r){let n=s.messageFormatter("resourcevalidator-invalidenumvalue");throw new o(n({resourceId:e,value:r,fieldName:t.getName()}))}static reportAbstractClass(e){let t=s.messageFormatter("resourcevalidator-abstractclass");throw new o(t({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,t,r){let n=s.messageFormatter("resourcevalidator-undeclaredfield");throw new o(n({resourceId:e,propertyName:t,fullyQualifiedTypeName:r}))}static reportInvalidFieldAssignment(e,t,r,n){let a=s.messageFormatter("resourcevalidator-invalidfieldassignment"),i=n.getFullyQualifiedTypeName();throw n.isArray()&&(i+="[]"),new o(a({resourceId:e,propertyName:t,objectType:r.$class,fieldType:i}))}}e.exports=l},2552:(e,t,r)=>{"use strict";const n=r(6113),a=r(7755),o=r(9259),s=r(8487).NullUtil,i=r(1768),c=r(390),l=r(2438),u=r(3464),p=r(7657);u.extend(p);class d{constructor(e){this.options=e||{}}visit(e,t){return e.isEnum?.()?this.visitEnumDeclaration(e,t):e.isClassDeclaration?.()?this.visitClassDeclaration(e,t):e.isMapDeclaration?.()?this.visitMapDeclaration(e,t):e.isRelationship?.()?this.visitRelationshipDeclaration(e,t):e.isTypeScalar?.()?this.visitField(e.getScalarField(),t):e.isField?.()?this.visitField(e,t):void 0}visitEnumDeclaration(e,t){const r=t.stack.pop(),n=e.getProperties();let a=!1;for(let e=0;e<n.length;e++)n[e].getName()===r&&(a=!0);return a||d.reportInvalidEnumValue(t.rootResourceIdentifier,e,r),null}checkMapType(e,t,r,n){if(i.isPrimitiveType(e.getType()))e=e.getType();else{let a=n.getModelFile().getAllDeclarations().find((t=>t.name===e.getType()));if(i.isScalar(n.getKey())&&(e=a.getType()),a?.isClassDeclaration?.())return r.stack.push(t),void a.accept(this,r)}switch(e){case"String":if("string"!=typeof t)throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of String but found '${t}' instead.`);break;case"DateTime":if(!u.utc(t).isValid())throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of DateTime but found '${t}' instead.`);break;case"Boolean":if("boolean"!=typeof t){const e=typeof t;throw new Error(`Model violation in ${n.getFullyQualifiedName()}. Expected Type of Boolean but found ${e} instead, for value '${t}'.`)}}}visitMapDeclaration(e,t){const r=t.stack.pop();if(!(r instanceof Map))throw new Error("Expected a Map, but found "+JSON.stringify(r));return r.forEach(((r,n)=>{i.isSystemProperty(n)||(this.checkMapType(e.getKey(),n,t,e),this.checkMapType(e.getValue(),r,t,e))})),null}visitClassDeclaration(e,t){const r=t.stack.pop();r instanceof a||d.reportNotResouceViolation(t.rootResourceIdentifier,e,r),r instanceof o&&(t.rootResourceIdentifier=r.getFullyQualifiedIdentifier());const n=t.modelManager.getType(r.getFullyQualifiedType()),c=n.getFullyQualifiedName(),l=n.getIdentifierFieldName();n.isAbstract()&&d.reportAbstractClass(n);let u=Object.getOwnPropertyNames(r);for(let a=0;a<u.length;a++){let o=u[a];i.isSystemProperty(o)||n.getProperty(o)||(e.isIdentified()&&"$identifier"!==o?d.reportUndeclaredField(r.getIdentifier(),o,c):d.reportUndeclaredField(t.currentIdentifier,o,c))}if(e.isIdentified()){const e=r.getIdentifier();e&&0!==e.trim().length||d.reportEmptyIdentifier(t.rootResourceIdentifier),"$identifier"!==l&&(r.$identifier=e),t.currentIdentifier=r.getFullyQualifiedIdentifier()}const p=n.getProperties();for(let e=0;e<p.length;e++){const n=p[e],a=r[n.getName()];if(s.isNull(a)){if(!n.isOptional()){if("$identifier"===n.getName()&&"$identifier"!==l)continue;if(!s.isNull(n?.defaultValue))continue;d.reportMissingRequiredProperty(t.rootResourceIdentifier,n)}}else t.stack.push(a),n.accept(this,t)}return null}visitField(e,t){const r=t.stack.pop();let n=typeof r,a=e.getName();return"undefined"!==n&&"symbol"!==n||d.reportFieldTypeViolation(t.rootResourceIdentifier,a,r,e),e.isTypeEnum()?this.checkEnum(r,e,t):e.isArray()?this.checkArray(r,e,t):this.checkItem(r,e,t),null}checkEnum(e,t,r){!t.isArray()||e instanceof Array||d.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t);const n=t.getParent().getModelFile().getType(t.getType());if(t.isArray())for(let t=0;t<e.length;t++){const a=e[t];r.stack.push(a),n.accept(this,r)}else{const t=e;r.stack.push(t),n.accept(this,r)}}checkArray(e,t,r){e instanceof Array||d.reportFieldTypeViolation(r.rootResourceIdentifier,t.getName(),e,t);for(let n=0;n<e.length;n++){const a=e[n];this.checkItem(a,t,r)}}checkItem(e,t,r){let n=typeof e,a=t.getName();if("undefined"!==n&&"symbol"!==n||d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t),t.isPrimitive()){let o=!1;switch(t.getType()){case"String":"string"!==n&&(o=!0);break;case"Long":case"Integer":case"Double":"number"!==n&&(o=!0),isFinite(e)||(o=!0);break;case"Boolean":"boolean"!==n&&(o=!0);break;case"DateTime":"object"==typeof e&&"function"==typeof e.isBefore||(o=!0)}o?d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t):null!==t.getValidator()&&t.getValidator().validate(r.currentIdentifier,e)}else{let n=r.modelManager.getType(t.getFullyQualifiedTypeName());if(e instanceof o){try{n=r.modelManager.getType(e.getFullyQualifiedType())}catch(n){d.reportFieldTypeViolation(r.rootResourceIdentifier,a,e,t)}i.isAssignableTo(n.getModelFile(),n.getFullyQualifiedName(),t)||d.reportInvalidFieldAssignment(r.rootResourceIdentifier,a,e,t)}r.stack.push(e),n.accept(this,r)}}visitRelationshipDeclaration(e,t){const r=t.stack.pop();if(e.isArray()){r instanceof Array||d.reportInvalidFieldAssignment(t.rootResourceIdentifier,e.getName(),r,e);for(let n=0;n<r.length;n++){const a=r[n];this.checkRelationship(t,e,a)}}else this.checkRelationship(t,e,r);return null}checkRelationship(e,t,r){r instanceof n||r instanceof a&&(this.options.convertResourcesToRelationships||this.options.permitResourcesForRelationships)||d.reportNotRelationshipViolation(e.rootResourceIdentifier,t,r);const o=e.modelManager.getType(r.getFullyQualifiedType());if(!o.getIdentifierFieldName())throw new Error("Cannot have a relationship to a field that is not identifiable.");i.isAssignableTo(o.getModelFile(),r.getFullyQualifiedType(),t)||d.reportInvalidFieldAssignment(e.rootResourceIdentifier,t.getName(),r,t)}static reportFieldTypeViolation(e,t,r,n){let a=n.isArray()?"[]":"",s=typeof r;if(r instanceof o)s=r.getFullyQualifiedType(),r=r.getFullyQualifiedIdentifier();else if(r)try{r="number"!=typeof r||isFinite(r)?JSON.stringify(r):r.toString()}catch(e){r=r.toString()}let i=l.messageFormatter("resourcevalidator-fieldtypeviolation");throw new c(i({resourceId:e,propertyName:t,fieldType:n.getType()+a,value:r,typeOfValue:s}))}static reportNotResouceViolation(e,t,r){let n=l.messageFormatter("resourcevalidator-notresourceorconcept");throw new c(n({resourceId:e,classFQN:t.getFullyQualifiedName(),invalidValue:r.toString()}))}static reportNotRelationshipViolation(e,t,r){let n=l.messageFormatter("resourcevalidator-notrelationship");throw new c(n({resourceId:e,classFQN:t.getFullyQualifiedTypeName(),invalidValue:r.toString()}))}static reportMissingRequiredProperty(e,t){let r=l.messageFormatter("resourcevalidator-missingrequiredproperty");throw new c(r({resourceId:e,fieldName:t.getName()}))}static reportEmptyIdentifier(e){let t=l.messageFormatter("resourcevalidator-emptyidentifier");throw new c(t({resourceId:e}))}static reportInvalidEnumValue(e,t,r){let n=l.messageFormatter("resourcevalidator-invalidenumvalue");throw new c(n({resourceId:e,value:r,fieldName:t.getName()}))}static reportAbstractClass(e){let t=l.messageFormatter("resourcevalidator-abstractclass");throw new c(t({className:e.getFullyQualifiedName()}))}static reportUndeclaredField(e,t,r){let n=l.messageFormatter("resourcevalidator-undeclaredfield");throw new c(n({resourceId:e,propertyName:t,fullyQualifiedTypeName:r}))}static reportInvalidFieldAssignment(e,t,r,n){let a=l.messageFormatter("resourcevalidator-invalidfieldassignment"),o=n.getFullyQualifiedTypeName();throw n.isArray()&&(o+="[]"),new c(a({resourceId:e,propertyName:t,objectType:r.getFullyQualifiedType(),fieldType:o}))}}e.exports=d},390:(e,t,r)=>{"use strict";const n=r(8487).BaseException;e.exports=class extends n{constructor(e,t){super(e,t)}}},7854:(e,t,r)=>{"use strict";const{loremIpsum:n}=r(7405),a=r(3174),o=r(3464),s=r(7657);o.extend(s);const i=function(e,t,r,n,a){return null===e&&(e=n),e=Math.min(Math.max(e,n),a),(null===t||t>a)&&(t=a),t=Math.max(Math.min(t,a),n),t+=r,t/=r,e/=r,(Math.random()*(t-e)+e)/(1/r)},c=(e,t,r)=>{let n=e,a=t;switch(null!==a&&null!==n&&a<n&&(n=t,a=e),r){case"Long":return Math.floor(i(n,a,1,-Math.pow(2,32),Math.pow(2,32)));case"Integer":return Math.floor(i(n,a,1,-Math.pow(2,16),Math.pow(2,16)));case"Double":return Number(i(n,a,1e-4,-Math.pow(2,8),Math.pow(2,8)).toFixed(3));default:return 0}},l=(e,t,r,n)=>{t??=0,r??=null;const a=c(t,r,"Integer");for(;e.length<a;)e+=n();return e.substring(0,a)},u=(e,t)=>{let r=n({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5});return(e||t)&&(r=l(r,e,t,(()=>n({count:1,units:"sentences",sentenceLowerBound:1,sentenceUpperBound:5})))),r},p=(e,t,r)=>{if(!e)return"";const n=new a(e.source,e.flags);let o=n.gen();return(t||r)&&(o=l(o,t,r,(()=>n.gen()))),o};class d{constructor(){this.currentDate=o.utc()}getDateTime(){return this.currentDate}getInteger(){return 0}getLong(){return 0}getDouble(){return 0}getBoolean(){return!1}getString(e,t){return e||t?u(e,t):""}getEnum(e){return e[0]}getMap(){return new Map}getArray(e){return[]}getRegex(e,t,r){return p(e,t,r)}getRange(e,t,r){return c(e,t,r)}}class m extends d{constructor(){super()}getInteger(){return Math.round(Math.random()*Math.pow(2,16))}getLong(){return Math.round(Math.random()*Math.pow(2,32))}getDouble(){return Number((Math.random()*Math.pow(2,8)).toFixed(3))}getBoolean(){return 1===Math.round(Math.random())}getString(e,t){return u(e,t)}getEnum(e){return e[Math.floor(Math.random()*e.length)]}getMap(){return new Map([[this.getString(1,10),this.getString(1,10)]])}getArray(e){return[e()]}getRegex(e,t,r){return p(e,t,r)}getRange(e,t,r){return c(e,t,r)}}e.exports=class{static empty(){return new d}static sample(){return new m}}},5477:(e,t,r)=>{"use strict";const{BaseException:n,ErrorCodes:a}=r(8487),o=r(2438);e.exports=class extends n{constructor(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.TYPE_NOT_FOUND_EXCEPTION;t||(t=o.messageFormatter("typenotfounderror-defaultmessage")({typeName:e})),super(t,r,n),this.typeName=e}getTypeName(){return this.typeName}}},3464:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,r="millisecond",n="second",a="minute",o="hour",s="day",i="week",c="month",l="quarter",u="year",p="date",d="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},y={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),n=Math.floor(r/60),a=r%60;return(t<=0?"+":"-")+g(n,2,"0")+":"+g(a,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),a=t.clone().add(n,c),o=r-a<0,s=t.clone().add(n+(o?-1:1),c);return+(-(n+(r-a)/(o?a-s:s-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:u,w:i,d:s,D:p,h:o,m:a,s:n,ms:r,Q:l}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},v="en",$={};$[v]=f;var A="$isDayjsObject",b=function(e){return e instanceof D||!(!e||!e[A])},T=function e(t,r,n){var a;if(!t)return v;if("string"==typeof t){var o=t.toLowerCase();$[o]&&(a=o),r&&($[o]=r,a=o);var s=t.split("-");if(!a&&s.length>1)return e(s[0])}else{var i=t.name;$[i]=t,a=i}return!n&&a&&(v=a),a||!n&&v},C=function(e,t){if(b(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new D(r)},w=y;w.l=T,w.i=b,w.w=function(e,t){return C(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var D=function(){function f(e){this.$L=T(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[A]=!0}var g=f.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(w.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(m);if(n){var a=n[2]-1||0,o=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)):new Date(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return w},g.isValid=function(){return!(this.$d.toString()===d)},g.isSame=function(e,t){var r=C(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return C(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<C(e)},g.$g=function(e,t,r){return w.u(e)?this[t]:this.set(r,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var r=this,l=!!w.u(t)||t,d=w.p(e),m=function(e,t){var n=w.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return l?n:n.endOf(s)},h=function(e,t){return w.w(r.toDate()[e].apply(r.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},f=this.$W,g=this.$M,y=this.$D,v="set"+(this.$u?"UTC":"");switch(d){case u:return l?m(1,0):m(31,11);case c:return l?m(1,g):m(0,g+1);case i:var $=this.$locale().weekStart||0,A=(f<$?f+7:f)-$;return m(l?y-A:y+(6-A),g);case s:case p:return h(v+"Hours",0);case o:return h(v+"Minutes",1);case a:return h(v+"Seconds",2);case n:return h(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var i,l=w.p(e),d="set"+(this.$u?"UTC":""),m=(i={},i[s]=d+"Date",i[p]=d+"Date",i[c]=d+"Month",i[u]=d+"FullYear",i[o]=d+"Hours",i[a]=d+"Minutes",i[n]=d+"Seconds",i[r]=d+"Milliseconds",i)[l],h=l===s?this.$D+(t-this.$W):t;if(l===c||l===u){var f=this.clone().set(p,1);f.$d[m](h),f.init(),this.$d=f.set(p,Math.min(this.$D,f.daysInMonth())).$d}else m&&this.$d[m](h);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[w.p(e)]()},g.add=function(r,l){var p,d=this;r=Number(r);var m=w.p(l),h=function(e){var t=C(d);return w.w(t.date(t.date()+Math.round(e*r)),d)};if(m===c)return this.set(c,this.$M+r);if(m===u)return this.set(u,this.$y+r);if(m===s)return h(1);if(m===i)return h(7);var f=(p={},p[a]=e,p[o]=t,p[n]=1e3,p)[m]||1,g=this.$d.getTime()+r*f;return w.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||d;var n=e||"YYYY-MM-DDTHH:mm:ssZ",a=w.z(this),o=this.$H,s=this.$m,i=this.$M,c=r.weekdays,l=r.months,u=r.meridiem,p=function(e,r,a,o){return e&&(e[r]||e(t,n))||a[r].slice(0,o)},m=function(e){return w.s(o%12||12,e,"0")},f=u||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(h,(function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return w.s(t.$y,4,"0");case"M":return i+1;case"MM":return w.s(i+1,2,"0");case"MMM":return p(r.monthsShort,i,l,3);case"MMMM":return p(l,i);case"D":return t.$D;case"DD":return w.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return p(r.weekdaysMin,t.$W,c,2);case"ddd":return p(r.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(o);case"HH":return w.s(o,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return f(o,s,!0);case"A":return f(o,s,!1);case"m":return String(s);case"mm":return w.s(s,2,"0");case"s":return String(t.$s);case"ss":return w.s(t.$s,2,"0");case"SSS":return w.s(t.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(r,p,d){var m,h=this,f=w.p(p),g=C(r),y=(g.utcOffset()-this.utcOffset())*e,v=this-g,$=function(){return w.m(h,g)};switch(f){case u:m=$()/12;break;case c:m=$();break;case l:m=$()/3;break;case i:m=(v-y)/6048e5;break;case s:m=(v-y)/864e5;break;case o:m=v/t;break;case a:m=v/e;break;case n:m=v/1e3;break;default:m=v}return d?m:w.a(m)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return $[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=T(e,t,!0);return n&&(r.$L=n),r},g.clone=function(){return w.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},f}(),F=D.prototype;return C.prototype=F,[["$ms",r],["$s",n],["$m",a],["$H",o],["$W",s],["$M",c],["$y",u],["$D",p]].forEach((function(e){F[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),C.extend=function(e,t){return e.$i||(e(t,D,C),e.$i=!0),C},C.locale=T,C.isDayjs=b,C.unix=function(e){return C(1e3*e)},C.en=$[v],C.Ls=$,C.p={},C}()},279:function(e){e.exports=function(){"use strict";var e,t,r=1e3,n=6e4,a=36e5,o=864e5,s=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,i=31536e6,c=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,u={years:i,months:c,days:o,hours:a,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},p=function(e){return e instanceof v},d=function(e,t,r){return new v(e,r,t.$l)},m=function(e){return t.p(e)+"s"},h=function(e){return e<0},f=function(e){return h(e)?Math.ceil(e):Math.floor(e)},g=function(e){return Math.abs(e)},y=function(e,t){return e?h(e)?{negative:!0,format:""+g(e)+t}:{negative:!1,format:""+e+t}:{negative:!1,format:""}},v=function(){function h(e,t,r){var n=this;if(this.$d={},this.$l=r,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),t)return d(e*u[m(t)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(t){n.$d[m(t)]=e[t]})),this.calMilliseconds(),this;if("string"==typeof e){var a=e.match(l);if(a){var o=a.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=o[0],this.$d.months=o[1],this.$d.weeks=o[2],this.$d.days=o[3],this.$d.hours=o[4],this.$d.minutes=o[5],this.$d.seconds=o[6],this.calMilliseconds(),this}}return this}var g=h.prototype;return g.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(t,r){return t+(e.$d[r]||0)*u[r]}),0)},g.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=f(e/i),e%=i,this.$d.months=f(e/c),e%=c,this.$d.days=f(e/o),e%=o,this.$d.hours=f(e/a),e%=a,this.$d.minutes=f(e/n),e%=n,this.$d.seconds=f(e/r),e%=r,this.$d.milliseconds=e},g.toISOString=function(){var e=y(this.$d.years,"Y"),t=y(this.$d.months,"M"),r=+this.$d.days||0;this.$d.weeks&&(r+=7*this.$d.weeks);var n=y(r,"D"),a=y(this.$d.hours,"H"),o=y(this.$d.minutes,"M"),s=this.$d.seconds||0;this.$d.milliseconds&&(s+=this.$d.milliseconds/1e3,s=Math.round(1e3*s)/1e3);var i=y(s,"S"),c=e.negative||t.negative||n.negative||a.negative||o.negative||i.negative,l=a.format||o.format||i.format?"T":"",u=(c?"-":"")+"P"+e.format+t.format+n.format+l+a.format+o.format+i.format;return"P"===u||"-P"===u?"P0D":u},g.toJSON=function(){return this.toISOString()},g.format=function(e){var r=e||"YYYY-MM-DDTHH:mm:ss",n={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return r.replace(s,(function(e,t){return t||String(n[e])}))},g.as=function(e){return this.$ms/u[m(e)]},g.get=function(e){var t=this.$ms,r=m(e);return"milliseconds"===r?t%=1e3:t="weeks"===r?f(t/u[r]):this.$d[r],t||0},g.add=function(e,t,r){var n;return n=t?e*u[m(t)]:p(e)?e.$ms:d(e,this).$ms,d(this.$ms+n*(r?-1:1),this)},g.subtract=function(e,t){return this.add(e,t,!0)},g.locale=function(e){var t=this.clone();return t.$l=e,t},g.clone=function(){return d(this.$ms,this)},g.humanize=function(t){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},g.valueOf=function(){return this.asMilliseconds()},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},h}(),$=function(e,t,r){return e.add(t.years()*r,"y").add(t.months()*r,"M").add(t.days()*r,"d").add(t.hours()*r,"h").add(t.minutes()*r,"m").add(t.seconds()*r,"s").add(t.milliseconds()*r,"ms")};return function(r,n,a){e=a,t=a().$utils(),a.duration=function(e,t){var r=a.locale();return d(e,{$l:r},t)},a.isDuration=p;var o=n.prototype.add,s=n.prototype.subtract;n.prototype.add=function(e,t){return p(e)?$(this,e,1):o.bind(this)(e,t)},n.prototype.subtract=function(e,t){return p(e)?$(this,e,-1):s.bind(this)(e,t)}}}()},3221:function(e){e.exports=function(){"use strict";return function(e,t,r){var n=function(e,t){if(!t||!t.length||1===t.length&&!t[0]||1===t.length&&Array.isArray(t[0])&&!t[0].length)return null;var r;1===t.length&&t[0].length>0&&(t=t[0]),r=(t=t.filter((function(e){return e})))[0];for(var n=1;n<t.length;n+=1)t[n].isValid()&&!t[n][e](r)||(r=t[n]);return r};r.max=function(){var e=[].slice.call(arguments,0);return n("isAfter",e)},r.min=function(){var e=[].slice.call(arguments,0);return n("isBefore",e)}}}()},4491:function(e){e.exports=function(){"use strict";var e="month",t="quarter";return function(r,n){var a=n.prototype;a.quarter=function(e){return this.$utils().u(e)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(e-1))};var o=a.add;a.add=function(r,n){return r=Number(r),this.$utils().p(n)===t?this.add(3*r,e):o.bind(this)(r,n)};var s=a.startOf;a.startOf=function(r,n){var a=this.$utils(),o=!!a.u(n)||n;if(a.p(r)===t){var i=this.quarter()-1;return o?this.month(3*i).startOf(e).startOf("day"):this.month(3*i+2).endOf(e).endOf("day")}return s.bind(this)(r,n)}}}()},7657:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,a,o){var s=a.prototype;o.utc=function(e){return new a({date:e,utc:!0,args:arguments})},s.utc=function(t){var r=o(this.toDate(),{locale:this.$L,utc:!0});return t?r.add(this.utcOffset(),e):r},s.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var i=s.parse;s.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),i.call(this,e)};var c=s.init;s.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else c.call(this)};var l=s.utcOffset;s.utcOffset=function(n,a){var o=this.$utils().u;if(o(n))return this.$u?0:o(this.$offset)?l.call(this):this.$offset;if("string"==typeof n&&(n=function(e){void 0===e&&(e="");var n=e.match(t);if(!n)return null;var a=(""+n[0]).match(r)||["-",0,0],o=a[0],s=60*+a[1]+ +a[2];return 0===s?0:"+"===o?s:-s}(n),null===n))return this;var s=Math.abs(n)<=16?60*n:n,i=this;if(a)return i.$offset=s,i.$u=0===n,i;if(0!==n){var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(i=this.local().add(s+c,e)).$offset=s,i.$x.$localOffset=c}else i=this.utc();return i};var u=s.format;s.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,t)},s.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var p=s.toDate;s.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():p.call(this)};var d=s.diff;s.diff=function(e,t,r){if(e&&this.$u===e.$u)return d.call(this,e,t,r);var n=this.local(),a=o(e).local();return d.call(n,a,t,r)}}}()},8143:e=>{"use strict";class t{constructor(e,t){this.low=e,this.high=t,this.length=1+t-e}overlaps(e){return!(this.high<e.low||this.low>e.high)}touches(e){return!(this.high+1<e.low||this.low-1>e.high)}add(e){return new t(Math.min(this.low,e.low),Math.max(this.high,e.high))}subtract(e){return e.low<=this.low&&e.high>=this.high?[]:e.low>this.low&&e.high<this.high?[new t(this.low,e.low-1),new t(e.high+1,this.high)]:e.low<=this.low?[new t(e.high+1,this.high)]:[new t(this.low,e.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+"-"+this.high}}class r{constructor(e,t){this.ranges=[],this.length=0,null!=e&&this.add(e,t)}_update_length(){this.length=this.ranges.reduce(((e,t)=>e+t.length),0)}add(e,n){var a=e=>{for(var t=0;t<this.ranges.length&&!e.touches(this.ranges[t]);)t++;for(var r=this.ranges.slice(0,t);t<this.ranges.length&&e.touches(this.ranges[t]);)e=e.add(this.ranges[t]),t++;r.push(e),this.ranges=r.concat(this.ranges.slice(t)),this._update_length()};return e instanceof r?e.ranges.forEach(a):(null==n&&(n=e),a(new t(e,n))),this}subtract(e,n){var a=e=>{for(var t=0;t<this.ranges.length&&!e.overlaps(this.ranges[t]);)t++;for(var r=this.ranges.slice(0,t);t<this.ranges.length&&e.overlaps(this.ranges[t]);)r=r.concat(this.ranges[t].subtract(e)),t++;this.ranges=r.concat(this.ranges.slice(t)),this._update_length()};return e instanceof r?e.ranges.forEach(a):(null==n&&(n=e),a(new t(e,n))),this}intersect(e,n){var a=[],o=e=>{for(var r=0;r<this.ranges.length&&!e.overlaps(this.ranges[r]);)r++;for(;r<this.ranges.length&&e.overlaps(this.ranges[r]);){var n=Math.max(this.ranges[r].low,e.low),o=Math.min(this.ranges[r].high,e.high);a.push(new t(n,o)),r++}};return e instanceof r?e.ranges.forEach(o):(null==n&&(n=e),o(new t(e,n))),this.ranges=a,this._update_length(),this}index(e){for(var t=0;t<this.ranges.length&&this.ranges[t].length<=e;)e-=this.ranges[t].length,t++;return this.ranges[t].low+e}toString(){return"[ "+this.ranges.join(", ")+" ]"}clone(){return new r(this)}numbers(){return this.ranges.reduce(((e,t)=>{for(var r=t.low;r<=t.high;)e.push(r),r++;return e}),[])}subranges(){return this.ranges.map((e=>({low:e.low,high:e.high,length:1+e.high-e.low})))}}e.exports=r},8575:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FORMAT_PLAIN=t.FORMAT_HTML=t.FORMATS=void 0;var r="html";t.FORMAT_HTML=r;var n="plain";t.FORMAT_PLAIN=n;var a=[r,n];t.FORMATS=a},4801:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LINE_ENDINGS=void 0,t.LINE_ENDINGS={POSIX:"\n",WIN32:"\r\n"}},3647:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SUPPORTED_PLATFORMS=void 0,t.SUPPORTED_PLATFORMS={DARWIN:"darwin",LINUX:"linux",WIN32:"win32"}},9148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UNIT_WORDS=t.UNIT_WORD=t.UNIT_SENTENCES=t.UNIT_SENTENCE=t.UNIT_PARAGRAPHS=t.UNIT_PARAGRAPH=t.UNITS=void 0;var r="words";t.UNIT_WORDS=r;var n="word";t.UNIT_WORD=n;var a="sentences";t.UNIT_SENTENCES=a;var o="sentence";t.UNIT_SENTENCE=o;var s="paragraphs";t.UNIT_PARAGRAPHS=s;var i="paragraph";t.UNIT_PARAGRAPH=i;var c=[r,n,a,o,s,i];t.UNITS=c},938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WORDS=void 0,t.WORDS=["ad","adipisicing","aliqua","aliquip","amet","anim","aute","cillum","commodo","consectetur","consequat","culpa","cupidatat","deserunt","do","dolor","dolore","duis","ea","eiusmod","elit","enim","esse","est","et","eu","ex","excepteur","exercitation","fugiat","id","in","incididunt","ipsum","irure","labore","laboris","laborum","Lorem","magna","minim","mollit","nisi","non","nostrud","nulla","occaecat","officia","pariatur","proident","qui","quis","reprehenderit","sint","sit","sunt","tempor","ullamco","ut","velit","veniam","voluptate"]},7405:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoremIpsum",{enumerable:!0,get:function(){return i.default}}),t.loremIpsum=void 0;var n,a=r(8575),o=r(9148),s=r(938),i=(n=r(2508))&&n.__esModule?n:{default:n};t.loremIpsum=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.count,r=void 0===t?1:t,n=e.format,c=void 0===n?a.FORMAT_PLAIN:n,l=e.paragraphLowerBound,u=void 0===l?3:l,p=e.paragraphUpperBound,d=void 0===p?7:p,m=e.random,h=e.sentenceLowerBound,f=void 0===h?5:h,g=e.sentenceUpperBound,y=void 0===g?15:g,v=e.units,$=void 0===v?o.UNIT_SENTENCES:v,A=e.words,b=void 0===A?s.WORDS:A,T=e.suffix,C=void 0===T?"":T,w={random:m,sentencesPerParagraph:{max:d,min:u},words:b,wordsPerSentence:{max:y,min:f}},D=new i.default(w,c,C);switch($){case o.UNIT_PARAGRAPHS:case o.UNIT_PARAGRAPH:return D.generateParagraphs(r);case o.UNIT_SENTENCES:case o.UNIT_SENTENCE:return D.generateSentences(r);case o.UNIT_WORDS:case o.UNIT_WORD:return D.generateWords(r);default:return""}}},2508:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=r(8575),o=r(4801),s=(n=r(9888))&&n.__esModule?n:{default:n},i=r(3798);function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.FORMAT_PLAIN,n=arguments.length>2?arguments[2]:void 0;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.format=r,this.suffix=n,function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(this,"generator",void 0),-1===a.FORMATS.indexOf(r.toLowerCase()))throw new Error("".concat(r," is an invalid format. Please use ").concat(a.FORMATS.join(" or "),"."));this.generator=new s.default(t)}var t,r;return t=e,(r=[{key:"getLineEnding",value:function(){return this.suffix?this.suffix:!(0,i.isReactNative)()&&(0,i.isNode)()&&(0,i.isWindows)()?o.LINE_ENDINGS.WIN32:o.LINE_ENDINGS.POSIX}},{key:"formatString",value:function(e){return this.format===a.FORMAT_HTML?"<p>".concat(e,"</p>"):e}},{key:"formatStrings",value:function(e){var t=this;return e.map((function(e){return t.formatString(e)}))}},{key:"generateWords",value:function(e){return this.formatString(this.generator.generateRandomWords(e))}},{key:"generateSentences",value:function(e){return this.formatString(this.generator.generateRandomParagraph(e))}},{key:"generateParagraphs",value:function(e){var t=this.generator.generateRandomParagraph.bind(this.generator);return this.formatStrings((0,i.makeArrayOfStrings)(e,t)).join(this.getLineEnding())}}])&&c(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}(),u=l;t.default=u},9888:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(938),a=r(3798);function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.sentencesPerParagraph,a=void 0===r?{max:7,min:3}:r,o=t.wordsPerSentence,i=void 0===o?{max:15,min:5}:o,c=t.random,l=(t.seed,t.words),u=void 0===l?n.WORDS:l;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),s(this,"sentencesPerParagraph",void 0),s(this,"wordsPerSentence",void 0),s(this,"random",void 0),s(this,"words",void 0),a.min>a.max)throw new Error("Minimum number of sentences per paragraph (".concat(a.min,") cannot exceed maximum (").concat(a.max,")."));if(i.min>i.max)throw new Error("Minimum number of words per sentence (".concat(i.min,") cannot exceed maximum (").concat(i.max,")."));this.sentencesPerParagraph=a,this.words=u,this.wordsPerSentence=i,this.random=c||Math.random}var t,r;return t=e,(r=[{key:"generateRandomInteger",value:function(e,t){return Math.floor(this.random()*(t-e+1)+e)}},{key:"generateRandomWords",value:function(e){var t=this,r=this.wordsPerSentence,n=r.min,o=r.max,s=e||this.generateRandomInteger(n,o);return(0,a.makeArrayOfLength)(s).reduce((function(e,r){return"".concat(t.pluckRandomWord()," ").concat(e)}),"").trim()}},{key:"generateRandomSentence",value:function(e){return"".concat((0,a.capitalize)(this.generateRandomWords(e)),".")}},{key:"generateRandomParagraph",value:function(e){var t=this,r=this.sentencesPerParagraph,n=r.min,o=r.max,s=e||this.generateRandomInteger(n,o);return(0,a.makeArrayOfLength)(s).reduce((function(e,r){return"".concat(t.generateRandomSentence()," ").concat(e)}),"").trim()}},{key:"pluckRandomWord",value:function(){var e=this.words.length-1,t=this.generateRandomInteger(0,e);return this.words[t]}}])&&o(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}();t.default=i},3670:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(e){var t=e.trim();return t.charAt(0).toUpperCase()+t.slice(1)}},3798:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"capitalize",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"isNode",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"isReactNative",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"isWindows",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"makeArrayOfLength",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"makeArrayOfStrings",{enumerable:!0,get:function(){return c.default}});var n=l(r(3670)),a=l(r(2392)),o=l(r(458)),s=l(r(8855)),i=l(r(2556)),c=l(r(9480));function l(e){return e&&e.__esModule?e:{default:e}}},2392:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){return!!e.exports}},458:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){var e=!1;try{e="ReactNative"===navigator.product}catch(t){e=!1}return e}},8855:(e,t,r)=>{"use strict";var n=r(9907);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(3647);t.default=function(){var e=!1;try{e=n.platform===a.SUPPORTED_PLATFORMS.WIN32}catch(t){e=!1}return e}},2556:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return Array.apply(null,Array(e)).map((function(e,t){return t}))}},9480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,a=(n=r(2556))&&n.__esModule?n:{default:n};t.default=function(e,t){return(0,a.default)(e).map((function(){return t()}))}},7250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9907:e=>{var t,r,n=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var i,c=[],l=!1,u=-1;function p(){l&&i&&(l=!1,i.length?c=i.concat(c):u=-1,c.length&&d())}function d(){if(!l){var e=s(p);l=!0;for(var t=c.length;t;){for(i=c,c=[];++u<t;)i&&i[u].run();u=-1,t=c.length}i=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new m(e,t)),1!==c.length||l||s(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=h,n.addListener=h,n.once=h,n.off=h,n.removeListener=h,n.removeAllListeners=h,n.emit=h,n.prependListener=h,n.prependOnceListener=h,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},3174:(e,t,r)=>{const n=r(1309),a=r(8143),o=n.types;e.exports=class e{constructor(e,t){if(this._setDefaults(e),e instanceof RegExp)this.ignoreCase=e.ignoreCase,this.multiline=e.multiline,e=e.source;else{if("string"!=typeof e)throw new Error("Expected a regexp or string");this.ignoreCase=t&&-1!==t.indexOf("i"),this.multiline=t&&-1!==t.indexOf("m")}this.tokens=n(e)}_setDefaults(t){this.max=null!=t.max?t.max:null!=e.prototype.max?e.prototype.max:100,this.defaultRange=t.defaultRange?t.defaultRange:this.defaultRange.clone(),t.randInt&&(this.randInt=t.randInt)}gen(){return this._gen(this.tokens,[])}_gen(e,t){var r,n,a,s,i;switch(e.type){case o.ROOT:case o.GROUP:if(e.followedBy||e.notFollowedBy)return"";for(e.remember&&void 0===e.groupNumber&&(e.groupNumber=t.push(null)-1),n="",s=0,i=(r=e.options?this._randSelect(e.options):e.stack).length;s<i;s++)n+=this._gen(r[s],t);return e.remember&&(t[e.groupNumber]=n),n;case o.POSITION:return"";case o.SET:var c=this._expand(e);return c.length?String.fromCharCode(this._randSelect(c)):"";case o.REPETITION:for(a=this.randInt(e.min,e.max===1/0?e.min+this.max:e.max),n="",s=0;s<a;s++)n+=this._gen(e.value,t);return n;case o.REFERENCE:return t[e.value-1]||"";case o.CHAR:var l=this.ignoreCase&&this._randBool()?this._toOtherCase(e.value):e.value;return String.fromCharCode(l)}}_toOtherCase(e){return e+(97<=e&&e<=122?-32:65<=e&&e<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(e){return e instanceof a?e.index(this.randInt(0,e.length-1)):e[this.randInt(0,e.length-1)]}_expand(e){if(e.type===n.types.CHAR)return new a(e.value);if(e.type===n.types.RANGE)return new a(e.from,e.to);{let t=new a;for(let r=0;r<e.set.length;r++){let n=this._expand(e.set[r]);if(t.add(n),this.ignoreCase)for(let e=0;e<n.length;e++){let r=n.index(e),a=this._toOtherCase(r);r!==a&&t.add(a)}}return e.not?this.defaultRange.clone().subtract(t):this.defaultRange.clone().intersect(t)}}randInt(e,t){return e+Math.floor(Math.random()*(1+t-e))}get defaultRange(){return this._range=this._range||new a(32,126)}set defaultRange(e){this._range=e}static randexp(t,r){var n;return"string"==typeof t&&(t=new RegExp(t,r)),void 0===t._randexp?(n=new e(t,r),t._randexp=n):(n=t._randexp)._setDefaults(t),n.gen()}static sugar(){RegExp.prototype.gen=function(){return e.randexp(this)}}}},1309:(e,t,r)=>{const n=r(4045),a=r(8020),o=r(7732),s=r(5097);e.exports=e=>{var t,r,i=0,c={type:a.ROOT,stack:[]},l=c,u=c.stack,p=[],d=t=>{n.error(e,"Nothing to repeat at column "+(t-1))},m=n.strToChars(e);for(t=m.length;i<t;)switch(r=m[i++]){case"\\":switch(r=m[i++]){case"b":u.push(s.wordBoundary());break;case"B":u.push(s.nonWordBoundary());break;case"w":u.push(o.words());break;case"W":u.push(o.notWords());break;case"d":u.push(o.ints());break;case"D":u.push(o.notInts());break;case"s":u.push(o.whitespace());break;case"S":u.push(o.notWhitespace());break;default:/\d/.test(r)?u.push({type:a.REFERENCE,value:parseInt(r,10)}):u.push({type:a.CHAR,value:r.charCodeAt(0)})}break;case"^":u.push(s.begin());break;case"$":u.push(s.end());break;case"[":var h;"^"===m[i]?(h=!0,i++):h=!1;var f=n.tokenizeClass(m.slice(i),e);i+=f[1],u.push({type:a.SET,set:f[0],not:h});break;case".":u.push(o.anyChar());break;case"(":var g={type:a.GROUP,stack:[],remember:!0};"?"===(r=m[i])&&(r=m[i+1],i+=2,"="===r?g.followedBy=!0:"!"===r?g.notFollowedBy=!0:":"!==r&&n.error(e,`Invalid group, character '${r}' after '?' at column `+(i-1)),g.remember=!1),u.push(g),p.push(l),l=g,u=g.stack;break;case")":0===p.length&&n.error(e,"Unmatched ) at column "+(i-1)),u=(l=p.pop()).options?l.options[l.options.length-1]:l.stack;break;case"|":l.options||(l.options=[l.stack],delete l.stack);var y=[];l.options.push(y),u=y;break;case"{":var v,$,A=/^(\d+)(,(\d+)?)?\}/.exec(m.slice(i));null!==A?(0===u.length&&d(i),v=parseInt(A[1],10),$=A[2]?A[3]?parseInt(A[3],10):1/0:v,i+=A[0].length,u.push({type:a.REPETITION,min:v,max:$,value:u.pop()})):u.push({type:a.CHAR,value:123});break;case"?":0===u.length&&d(i),u.push({type:a.REPETITION,min:0,max:1,value:u.pop()});break;case"+":0===u.length&&d(i),u.push({type:a.REPETITION,min:1,max:1/0,value:u.pop()});break;case"*":0===u.length&&d(i),u.push({type:a.REPETITION,min:0,max:1/0,value:u.pop()});break;default:u.push({type:a.CHAR,value:r.charCodeAt(0)})}return 0!==p.length&&n.error(e,"Unterminated group"),c},e.exports.types=a},5097:(e,t,r)=>{const n=r(8020);t.wordBoundary=()=>({type:n.POSITION,value:"b"}),t.nonWordBoundary=()=>({type:n.POSITION,value:"B"}),t.begin=()=>({type:n.POSITION,value:"^"}),t.end=()=>({type:n.POSITION,value:"$"})},7732:(e,t,r)=>{const n=r(8020),a=()=>[{type:n.RANGE,from:48,to:57}],o=()=>[{type:n.CHAR,value:95},{type:n.RANGE,from:97,to:122},{type:n.RANGE,from:65,to:90}].concat(a()),s=()=>[{type:n.CHAR,value:9},{type:n.CHAR,value:10},{type:n.CHAR,value:11},{type:n.CHAR,value:12},{type:n.CHAR,value:13},{type:n.CHAR,value:32},{type:n.CHAR,value:160},{type:n.CHAR,value:5760},{type:n.RANGE,from:8192,to:8202},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233},{type:n.CHAR,value:8239},{type:n.CHAR,value:8287},{type:n.CHAR,value:12288},{type:n.CHAR,value:65279}];t.words=()=>({type:n.SET,set:o(),not:!1}),t.notWords=()=>({type:n.SET,set:o(),not:!0}),t.ints=()=>({type:n.SET,set:a(),not:!1}),t.notInts=()=>({type:n.SET,set:a(),not:!0}),t.whitespace=()=>({type:n.SET,set:s(),not:!1}),t.notWhitespace=()=>({type:n.SET,set:s(),not:!0}),t.anyChar=()=>({type:n.SET,set:[{type:n.CHAR,value:10},{type:n.CHAR,value:13},{type:n.CHAR,value:8232},{type:n.CHAR,value:8233}],not:!0})},8020:e=>{e.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},4045:(e,t,r)=>{const n=r(8020),a=r(7732),o={0:0,t:9,n:10,v:11,f:12,r:13};t.strToChars=function(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(function(e,t,r,n,a,s,i,c){if(r)return e;var l=t?8:n?parseInt(n,16):a?parseInt(a,16):s?parseInt(s,8):i?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(i):o[c],u=String.fromCharCode(l);return/[[\]{}^$.|?*+()]/.test(u)&&(u="\\"+u),u}))},t.tokenizeClass=(e,r)=>{for(var o,s,i=[],c=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;null!=(o=c.exec(e));)if(o[1])i.push(a.words());else if(o[2])i.push(a.ints());else if(o[3])i.push(a.whitespace());else if(o[4])i.push(a.notWords());else if(o[5])i.push(a.notInts());else if(o[6])i.push(a.notWhitespace());else if(o[7])i.push({type:n.RANGE,from:(o[8]||o[9]).charCodeAt(0),to:o[10].charCodeAt(0)});else{if(!(s=o[12]))return[i,c.lastIndex];i.push({type:n.CHAR,value:s.charCodeAt(0)})}t.error(r,"Unterminated character class")},t.error=(e,t)=>{throw new SyntaxError("Invalid regular expression: /"+e+"/: "+t)}},1565:(e,t,r)=>{const n=Symbol("SemVer ANY");class a{static get ANY(){return n}constructor(e,t){if(t=o(t),e instanceof a){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),l("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===n?this.value="":this.value=this.operator+this.semver.version,l("comp",this)}parse(e){const t=this.options.loose?s[i.COMPARATORLOOSE]:s[i.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new u(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(l("Comparator.test",e,this.options.loose),this.semver===n||e===n)return!0;if("string"==typeof e)try{e=new u(e,this.options)}catch(e){return!1}return c(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new p(e.value,t).test(this.value):""===e.operator?""===e.value||new p(this.value,t).test(e.semver):!((t=o(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))||(!this.operator.startsWith(">")||!e.operator.startsWith(">"))&&(!this.operator.startsWith("<")||!e.operator.startsWith("<"))&&(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))&&!(c(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))&&!(c(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}}e.exports=a;const o=r(3990),{safeRe:s,t:i}=r(2841),c=r(4004),l=r(1361),u=r(4517),p=r(7476)},7476:(e,t,r)=>{const n=/\s+/g;class a{constructor(e,t){if(t=s(t),e instanceof a)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new a(e.raw,t);if(e instanceof i)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(n," "),this.set=this.raw.split("||").map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter((e=>!y(e[0]))),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&v(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");const t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){const t=((this.options.includePrerelease&&f)|(this.options.loose&&g))+":"+e,r=o.get(t);if(r)return r;const n=this.options.loose,a=n?u[p.HYPHENRANGELOOSE]:u[p.HYPHENRANGE];e=e.replace(a,N(this.options.includePrerelease)),c("hyphen replace",e),e=e.replace(u[p.COMPARATORTRIM],d),c("comparator trim",e),e=e.replace(u[p.TILDETRIM],m),c("tilde trim",e),e=e.replace(u[p.CARETTRIM],h),c("caret trim",e);let s=e.split(" ").map((e=>A(e,this.options))).join(" ").split(/\s+/).map((e=>M(e,this.options)));n&&(s=s.filter((e=>(c("loose invalid filter",e,this.options),!!e.match(u[p.COMPARATORLOOSE]))))),c("range list",s);const l=new Map,v=s.map((e=>new i(e,this.options)));for(const e of v){if(y(e))return[e];l.set(e.value,e)}l.size>1&&l.has("")&&l.delete("");const $=[...l.values()];return o.set(t,$),$}intersects(e,t){if(!(e instanceof a))throw new TypeError("a Range is required");return this.set.some((r=>$(r,t)&&e.set.some((e=>$(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(S(this.set[t],e,this.options))return!0;return!1}}e.exports=a;const o=new(r(8953)),s=r(3990),i=r(1565),c=r(1361),l=r(4517),{safeRe:u,t:p,comparatorTrimReplace:d,tildeTrimReplace:m,caretTrimReplace:h}=r(2841),{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:g}=r(9543),y=e=>"<0.0.0-0"===e.value,v=e=>""===e.value,$=(e,t)=>{let r=!0;const n=e.slice();let a=n.pop();for(;r&&n.length;)r=n.every((e=>a.intersects(e,t))),a=n.pop();return r},A=(e,t)=>(c("comp",e,t),e=w(e,t),c("caret",e),e=T(e,t),c("tildes",e),e=F(e,t),c("xrange",e),e=I(e,t),c("stars",e),e),b=e=>!e||"x"===e.toLowerCase()||"*"===e,T=(e,t)=>e.trim().split(/\s+/).map((e=>C(e,t))).join(" "),C=(e,t)=>{const r=t.loose?u[p.TILDELOOSE]:u[p.TILDE];return e.replace(r,((t,r,n,a,o)=>{let s;return c("tilde",e,t,r,n,a,o),b(r)?s="":b(n)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:b(a)?s=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:o?(c("replaceTilde pr",o),s=`>=${r}.${n}.${a}-${o} <${r}.${+n+1}.0-0`):s=`>=${r}.${n}.${a} <${r}.${+n+1}.0-0`,c("tilde return",s),s}))},w=(e,t)=>e.trim().split(/\s+/).map((e=>D(e,t))).join(" "),D=(e,t)=>{c("caret",e,t);const r=t.loose?u[p.CARETLOOSE]:u[p.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,a,o,s)=>{let i;return c("caret",e,t,r,a,o,s),b(r)?i="":b(a)?i=`>=${r}.0.0${n} <${+r+1}.0.0-0`:b(o)?i="0"===r?`>=${r}.${a}.0${n} <${r}.${+a+1}.0-0`:`>=${r}.${a}.0${n} <${+r+1}.0.0-0`:s?(c("replaceCaret pr",s),i="0"===r?"0"===a?`>=${r}.${a}.${o}-${s} <${r}.${a}.${+o+1}-0`:`>=${r}.${a}.${o}-${s} <${r}.${+a+1}.0-0`:`>=${r}.${a}.${o}-${s} <${+r+1}.0.0-0`):(c("no pr"),i="0"===r?"0"===a?`>=${r}.${a}.${o}${n} <${r}.${a}.${+o+1}-0`:`>=${r}.${a}.${o}${n} <${r}.${+a+1}.0-0`:`>=${r}.${a}.${o} <${+r+1}.0.0-0`),c("caret return",i),i}))},F=(e,t)=>(c("replaceXRanges",e,t),e.split(/\s+/).map((e=>E(e,t))).join(" ")),E=(e,t)=>{e=e.trim();const r=t.loose?u[p.XRANGELOOSE]:u[p.XRANGE];return e.replace(r,((r,n,a,o,s,i)=>{c("xRange",e,r,n,a,o,s,i);const l=b(a),u=l||b(o),p=u||b(s),d=p;return"="===n&&d&&(n=""),i=t.includePrerelease?"-0":"",l?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(u&&(o=0),s=0,">"===n?(n=">=",u?(a=+a+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",u?a=+a+1:o=+o+1),"<"===n&&(i="-0"),r=`${n+a}.${o}.${s}${i}`):u?r=`>=${a}.0.0${i} <${+a+1}.0.0-0`:p&&(r=`>=${a}.${o}.0${i} <${a}.${+o+1}.0-0`),c("xRange return",r),r}))},I=(e,t)=>(c("replaceStars",e,t),e.trim().replace(u[p.STAR],"")),M=(e,t)=>(c("replaceGTE0",e,t),e.trim().replace(u[t.includePrerelease?p.GTE0PRE:p.GTE0],"")),N=e=>(t,r,n,a,o,s,i,c,l,u,p,d)=>`${r=b(n)?"":b(a)?`>=${n}.0.0${e?"-0":""}`:b(o)?`>=${n}.${a}.0${e?"-0":""}`:s?`>=${r}`:`>=${r}${e?"-0":""}`} ${c=b(l)?"":b(u)?`<${+l+1}.0.0-0`:b(p)?`<${l}.${+u+1}.0-0`:d?`<=${l}.${u}.${p}-${d}`:e?`<${l}.${u}.${+p+1}-0`:`<=${c}`}`.trim(),S=(e,t,r)=>{for(let r=0;r<e.length;r++)if(!e[r].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let r=0;r<e.length;r++)if(c(e[r].semver),e[r].semver!==i.ANY&&e[r].semver.prerelease.length>0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}},4517:(e,t,r)=>{const n=r(1361),{MAX_LENGTH:a,MAX_SAFE_INTEGER:o}=r(9543),{safeRe:s,t:i}=r(2841),c=r(3990),{compareIdentifiers:l}=r(3806);class u{constructor(e,t){if(t=c(t),e instanceof u){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a)throw new TypeError(`version is longer than ${a} characters`);n("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?s[i.LOOSE]:s[i.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>o||this.major<0)throw new TypeError("Invalid major version");if(this.minor>o||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>o||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<o)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(n("SemVer.compare",this.version,this.options,e),!(e instanceof u)){if("string"==typeof e&&e===this.version)return 0;e=new u(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof u||(e=new u(e,this.options)),l(this.major,e.major)||l(this.minor,e.minor)||l(this.patch,e.patch)}comparePre(e){if(e instanceof u||(e=new u(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],a=e.prerelease[t];if(n("prerelease compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return l(r,a)}while(++t)}compareBuild(e){e instanceof u||(e=new u(e,this.options));let t=0;do{const r=this.build[t],a=e.build[t];if(n("build compare",t,r,a),void 0===r&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===r)return-1;if(r!==a)return l(r,a)}while(++t)}inc(e,t,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(!t&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===l(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=u},2281:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null}},4004:(e,t,r)=>{const n=r(8848),a=r(8220),o=r(9761),s=r(2386),i=r(1262),c=r(9639);e.exports=(e,t,r,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return n(e,r,l);case"!=":return a(e,r,l);case">":return o(e,r,l);case">=":return s(e,r,l);case"<":return i(e,r,l);case"<=":return c(e,r,l);default:throw new TypeError(`Invalid operator: ${t}`)}}},6783:(e,t,r)=>{const n=r(4517),a=r(3955),{safeRe:o,t:s}=r(2841);e.exports=(e,t)=>{if(e instanceof n)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){const n=t.includePrerelease?o[s.COERCERTLFULL]:o[s.COERCERTL];let a;for(;(a=n.exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&a.index+a[0].length===r.index+r[0].length||(r=a),n.lastIndex=a.index+a[1].length+a[2].length;n.lastIndex=-1}else r=e.match(t.includePrerelease?o[s.COERCEFULL]:o[s.COERCE]);if(null===r)return null;const i=r[2],c=r[3]||"0",l=r[4]||"0",u=t.includePrerelease&&r[5]?`-${r[5]}`:"",p=t.includePrerelease&&r[6]?`+${r[6]}`:"";return a(`${i}.${c}.${l}${u}${p}`,t)}},6106:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r)=>{const a=new n(e,r),o=new n(t,r);return a.compare(o)||a.compareBuild(o)}},2132:(e,t,r)=>{const n=r(7851);e.exports=(e,t)=>n(e,t,!0)},7851:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))},3269:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,null,!0),a=n(t,null,!0),o=r.compare(a);if(0===o)return null;const s=o>0,i=s?r:a,c=s?a:r,l=!!i.prerelease.length;if(c.prerelease.length&&!l)return c.patch||c.minor?i.patch?"patch":i.minor?"minor":"major":"major";const u=l?"pre":"";return r.major!==a.major?u+"major":r.minor!==a.minor?u+"minor":r.patch!==a.patch?u+"patch":"prerelease"}},8848:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>0===n(e,t,r)},9761:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>0},2386:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)>=0},8868:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r,a,o)=>{"string"==typeof r&&(o=a,a=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,a,o).version}catch(e){return null}}},1262:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<0},9639:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(e,t,r)<=0},6381:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).major},1353:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).minor},8220:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>0!==n(e,t,r)},3955:(e,t,r)=>{const n=r(4517);e.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}},6082:(e,t,r)=>{const n=r(4517);e.exports=(e,t)=>new n(e,t).patch},9428:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}},7555:(e,t,r)=>{const n=r(7851);e.exports=(e,t,r)=>n(t,e,r)},3810:(e,t,r)=>{const n=r(6106);e.exports=(e,t)=>e.sort(((e,r)=>n(r,e,t)))},7229:(e,t,r)=>{const n=r(7476);e.exports=(e,t,r)=>{try{t=new n(t,r)}catch(e){return!1}return t.test(e)}},4042:(e,t,r)=>{const n=r(6106);e.exports=(e,t)=>e.sort(((e,r)=>n(e,r,t)))},8474:(e,t,r)=>{const n=r(3955);e.exports=(e,t)=>{const r=n(e,t);return r?r.version:null}},2722:(e,t,r)=>{const n=r(2841),a=r(9543),o=r(4517),s=r(3806),i=r(3955),c=r(8474),l=r(2281),u=r(8868),p=r(3269),d=r(6381),m=r(1353),h=r(6082),f=r(9428),g=r(7851),y=r(7555),v=r(2132),$=r(6106),A=r(4042),b=r(3810),T=r(9761),C=r(1262),w=r(8848),D=r(8220),F=r(2386),E=r(9639),I=r(4004),M=r(6783),N=r(1565),S=r(7476),O=r(7229),x=r(6364),P=r(5039),L=r(5357),R=r(1280),_=r(7403),k=r(8854),V=r(7226),B=r(7183),j=r(8623),U=r(6486),Q=r(583);e.exports={parse:i,valid:c,clean:l,inc:u,diff:p,major:d,minor:m,patch:h,prerelease:f,compare:g,rcompare:y,compareLoose:v,compareBuild:$,sort:A,rsort:b,gt:T,lt:C,eq:w,neq:D,gte:F,lte:E,cmp:I,coerce:M,Comparator:N,Range:S,satisfies:O,toComparators:x,maxSatisfying:P,minSatisfying:L,minVersion:R,validRange:_,outside:k,gtr:V,ltr:B,intersects:j,simplifyRange:U,subset:Q,SemVer:o,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:a.SEMVER_SPEC_VERSION,RELEASE_TYPES:a.RELEASE_TYPES,compareIdentifiers:s.compareIdentifiers,rcompareIdentifiers:s.rcompareIdentifiers}},9543:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},1361:(e,t,r)=>{const n="object"==typeof r(9907)&&{NODE_ENV:"production"}.NODE_DEBUG&&/\bsemver\b/i.test({NODE_ENV:"production"}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=n},3806:e=>{const t=/^[0-9]+$/,r=(e,r)=>{const n=t.test(e),a=t.test(r);return n&&a&&(e=+e,r=+r),e===r?0:n&&!a?-1:a&&!n?1:e<r?-1:1};e.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}},8953:e=>{e.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){const t=this.map.get(e);return void 0===t?void 0:(this.map.delete(e),this.map.set(e,t),t)}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&void 0!==t){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}},3990:e=>{const t=Object.freeze({loose:!0}),r=Object.freeze({});e.exports=e=>e?"object"!=typeof e?t:e:r},2841:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:o}=r(9543),s=r(1361),i=(t=e.exports={}).re=[],c=t.safeRe=[],l=t.src=[],u=t.t={};let p=0;const d="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",o],[d,a]],h=(e,t,r)=>{const n=(e=>{for(const[t,r]of m)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e})(t),a=p++;s(e,a,t),u[e]=a,l[a]=t,i[a]=new RegExp(t,r?"g":void 0),c[a]=new RegExp(n,r?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),h("MAINVERSION",`(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})\\.(${l[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})\\.(${l[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${l[u.NUMERICIDENTIFIER]}|${l[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${l[u.NUMERICIDENTIFIERLOOSE]}|${l[u.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${l[u.PRERELEASEIDENTIFIER]}(?:\\.${l[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${l[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${d}+`),h("BUILD",`(?:\\+(${l[u.BUILDIDENTIFIER]}(?:\\.${l[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${l[u.MAINVERSION]}${l[u.PRERELEASE]}?${l[u.BUILD]}?`),h("FULL",`^${l[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${l[u.MAINVERSIONLOOSE]}${l[u.PRERELEASELOOSE]}?${l[u.BUILD]}?`),h("LOOSE",`^${l[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${l[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${l[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:\\.(${l[u.XRANGEIDENTIFIER]})(?:${l[u.PRERELEASE]})?${l[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[u.XRANGEIDENTIFIERLOOSE]})(?:${l[u.PRERELEASELOOSE]})?${l[u.BUILD]}?)?)?`),h("XRANGE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${l[u.GTLT]}\\s*${l[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${l[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",l[u.COERCEPLAIN]+`(?:${l[u.PRERELEASE]})?`+`(?:${l[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",l[u.COERCE],!0),h("COERCERTLFULL",l[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${l[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${l[u.LONETILDE]}${l[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${l[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${l[u.LONECARET]}${l[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${l[u.LONECARET]}${l[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${l[u.GTLT]}\\s*(${l[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${l[u.GTLT]}\\s*(${l[u.LOOSEPLAIN]}|${l[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${l[u.XRANGEPLAIN]})\\s+-\\s+(${l[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${l[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},7226:(e,t,r)=>{const n=r(8854);e.exports=(e,t,r)=>n(e,t,">",r)},8623:(e,t,r)=>{const n=r(7476);e.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))},7183:(e,t,r)=>{const n=r(8854);e.exports=(e,t,r)=>n(e,t,"<",r)},5039:(e,t,r)=>{const n=r(4517),a=r(7476);e.exports=(e,t,r)=>{let o=null,s=null,i=null;try{i=new a(t,r)}catch(e){return null}return e.forEach((e=>{i.test(e)&&(o&&-1!==s.compare(e)||(o=e,s=new n(o,r)))})),o}},5357:(e,t,r)=>{const n=r(4517),a=r(7476);e.exports=(e,t,r)=>{let o=null,s=null,i=null;try{i=new a(t,r)}catch(e){return null}return e.forEach((e=>{i.test(e)&&(o&&1!==s.compare(e)||(o=e,s=new n(o,r)))})),o}},1280:(e,t,r)=>{const n=r(4517),a=r(7476),o=r(9761);e.exports=(e,t)=>{e=new a(e,t);let r=new n("0.0.0");if(e.test(r))return r;if(r=new n("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t<e.set.length;++t){const a=e.set[t];let s=null;a.forEach((e=>{const t=new n(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":s&&!o(t,s)||(s=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})),!s||r&&!o(r,s)||(r=s)}return r&&e.test(r)?r:null}},8854:(e,t,r)=>{const n=r(4517),a=r(1565),{ANY:o}=a,s=r(7476),i=r(7229),c=r(9761),l=r(1262),u=r(9639),p=r(2386);e.exports=(e,t,r,d)=>{let m,h,f,g,y;switch(e=new n(e,d),t=new s(t,d),r){case">":m=c,h=u,f=l,g=">",y=">=";break;case"<":m=l,h=p,f=c,g="<",y="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(e,t,d))return!1;for(let r=0;r<t.set.length;++r){const n=t.set[r];let s=null,i=null;if(n.forEach((e=>{e.semver===o&&(e=new a(">=0.0.0")),s=s||e,i=i||e,m(e.semver,s.semver,d)?s=e:f(e.semver,i.semver,d)&&(i=e)})),s.operator===g||s.operator===y)return!1;if((!i.operator||i.operator===g)&&h(e,i.semver))return!1;if(i.operator===y&&f(e,i.semver))return!1}return!0}},6486:(e,t,r)=>{const n=r(7229),a=r(7851);e.exports=(e,t,r)=>{const o=[];let s=null,i=null;const c=e.sort(((e,t)=>a(e,t,r)));for(const e of c)n(e,t,r)?(i=e,s||(s=e)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);const l=[];for(const[e,t]of o)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push("*");const u=l.join(" || "),p="string"==typeof t.raw?t.raw:String(t);return u.length<p.length?u:t}},583:(e,t,r)=>{const n=r(7476),a=r(1565),{ANY:o}=a,s=r(7229),i=r(7851),c=[new a(">=0.0.0-0")],l=[new a(">=0.0.0")],u=(e,t,r)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===o){if(1===t.length&&t[0].semver===o)return!0;e=r.includePrerelease?c:l}if(1===t.length&&t[0].semver===o){if(r.includePrerelease)return!0;t=l}const n=new Set;let a,u,m,h,f,g,y;for(const t of e)">"===t.operator||">="===t.operator?a=p(a,t,r):"<"===t.operator||"<="===t.operator?u=d(u,t,r):n.add(t.semver);if(n.size>1)return null;if(a&&u){if(m=i(a.semver,u.semver,r),m>0)return null;if(0===m&&(">="!==a.operator||"<="!==u.operator))return null}for(const e of n){if(a&&!s(e,String(a),r))return null;if(u&&!s(e,String(u),r))return null;for(const n of t)if(!s(e,String(n),r))return!1;return!0}let v=!(!u||r.includePrerelease||!u.semver.prerelease.length)&&u.semver,$=!(!a||r.includePrerelease||!a.semver.prerelease.length)&&a.semver;v&&1===v.prerelease.length&&"<"===u.operator&&0===v.prerelease[0]&&(v=!1);for(const e of t){if(y=y||">"===e.operator||">="===e.operator,g=g||"<"===e.operator||"<="===e.operator,a)if($&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===$.major&&e.semver.minor===$.minor&&e.semver.patch===$.patch&&($=!1),">"===e.operator||">="===e.operator){if(h=p(a,e,r),h===e&&h!==a)return!1}else if(">="===a.operator&&!s(a.semver,String(e),r))return!1;if(u)if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),"<"===e.operator||"<="===e.operator){if(f=d(u,e,r),f===e&&f!==u)return!1}else if("<="===u.operator&&!s(u.semver,String(e),r))return!1;if(!e.operator&&(u||a)&&0!==m)return!1}return!(a&&g&&!u&&0!==m||u&&y&&!a&&0!==m||$||v)},p=(e,t,r)=>{if(!e)return t;const n=i(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},d=(e,t,r)=>{if(!e)return t;const n=i(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let a=!1;e:for(const n of e.set){for(const e of t.set){const t=u(n,e,r);if(a=a||null!==t,t)continue e}if(a)return!1}return!0}},6364:(e,t,r)=>{const n=r(7476);e.exports=(e,t)=>new n(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))},7403:(e,t,r)=>{const n=r(7476);e.exports=(e,t)=>{try{return new n(e,t).range||"*"}catch(e){return null}}},9825:function(e,t,r){var n,a;!function(o,s){"use strict";e.exports?e.exports=s():void 0===(a="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=a)}(0,(function(e){"use strict";var t=e&&e.IPv6;return{best:function(e){var t,r,n=e.toLowerCase().split(":"),a=n.length,o=8;for(""===n[0]&&""===n[1]&&""===n[2]?(n.shift(),n.shift()):""===n[0]&&""===n[1]?n.shift():""===n[a-1]&&""===n[a-2]&&n.pop(),-1!==n[(a=n.length)-1].indexOf(".")&&(o=7),t=0;t<a&&""!==n[t];t++);if(t<o)for(n.splice(t,1,"0000");n.length<o;)n.splice(t,0,"0000");for(var s=0;s<o;s++){r=n[s].split("");for(var i=0;i<3&&"0"===r[0]&&r.length>1;i++)r.splice(0,1);n[s]=r.join("")}var c=-1,l=0,u=0,p=-1,d=!1;for(s=0;s<o;s++)d?"0"===n[s]?u+=1:(d=!1,u>l&&(c=p,l=u)):"0"===n[s]&&(d=!0,p=s,u=1);u>l&&(c=p,l=u),l>1&&n.splice(c,l,""),a=n.length;var m="";for(""===n[0]&&(m=":"),s=0;s<a&&(m+=n[s],s!==a-1);s++)m+=":";return""===n[a-1]&&(m+=":"),m},noConflict:function(){return e.IPv6===this&&(e.IPv6=t),this}}}))},1811:function(e,t,r){var n,a;!function(o,s){"use strict";e.exports?e.exports=s():void 0===(a="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=a)}(0,(function(e){"use strict";var t=e&&e.SecondLevelDomains,r={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var a=r.list[e.slice(t+1)];return!!a&&a.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=r.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var a=r.list[e.slice(t+1)];return a?a.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return r}))},9472:function(e,t,r){var n,a,o;!function(s,i){"use strict";e.exports?e.exports=i(r(2675),r(9825),r(1811)):(a=[r(2675),r(9825),r(1811)],void 0===(o="function"==typeof(n=i)?n.apply(t,a):n)||(e.exports=o))}(0,(function(e,t,r,n){"use strict";var a=n&&n.URI;function o(e,t){var r=arguments.length>=1;if(!(this instanceof o))return r?arguments.length>=2?new o(e,t):new o(e):new o;if(void 0===e){if(r)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&r)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}o.version="1.19.11";var s=o.prototype,i=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function u(e){return"Array"===l(e)}function p(e,t){var r,n,a={};if("RegExp"===l(t))a=null;else if(u(t))for(r=0,n=t.length;r<n;r++)a[t[r]]=!0;else a[t]=!0;for(r=0,n=e.length;r<n;r++)(a&&void 0!==a[e[r]]||!a&&t.test(e[r]))&&(e.splice(r,1),n--,r--);return e}function d(e,t){var r,n;if(u(t)){for(r=0,n=t.length;r<n;r++)if(!d(e,t[r]))return!1;return!0}var a=l(t);for(r=0,n=e.length;r<n;r++)if("RegExp"===a){if("string"==typeof e[r]&&e[r].match(t))return!0}else if(e[r]===t)return!0;return!1}function m(e,t){if(!u(e)||!u(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(var r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0}function h(e){return e.replace(/^\/+|\/+$/g,"")}function f(e){return escape(e)}function g(e){return encodeURIComponent(e).replace(/[!'()*]/g,f).replace(/\*/g,"%2A")}o._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:o.preventInvalidHostname,duplicateQueryParameters:o.duplicateQueryParameters,escapeQuerySpace:o.escapeQuerySpace}},o.preventInvalidHostname=!1,o.duplicateQueryParameters=!1,o.escapeQuerySpace=!0,o.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,o.idn_expression=/[^a-z0-9\._-]/i,o.punycode_expression=/(xn--)/i,o.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,o.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,o.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,o.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},o.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,o.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,o.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},o.hostProtocols=["http","https"],o.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,o.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},o.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return o.domAttributes[t]}},o.encode=g,o.decode=decodeURIComponent,o.iso8859=function(){o.encode=escape,o.decode=unescape},o.unicode=function(){o.encode=g,o.decode=decodeURIComponent},o.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},o.encodeQuery=function(e,t){var r=o.encode(e+"");return void 0===t&&(t=o.escapeQuerySpace),t?r.replace(/%20/g,"+"):r},o.decodeQuery=function(e,t){e+="",void 0===t&&(t=o.escapeQuerySpace);try{return o.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var y,v={encode:"encode",decode:"decode"},$=function(e,t){return function(r){try{return o[t](r+"").replace(o.characters[e][t].expression,(function(r){return o.characters[e][t].map[r]}))}catch(e){return r}}};for(y in v)o[y+"PathSegment"]=$("pathname",v[y]),o[y+"UrnPathSegment"]=$("urnpath",v[y]);var A=function(e,t,r){return function(n){var a;a=r?function(e){return o[t](o[r](e))}:o[t];for(var s=(n+"").split(e),i=0,c=s.length;i<c;i++)s[i]=a(s[i]);return s.join(e)}};function b(e){return function(t,r){return void 0===t?this._parts[e]||"":(this._parts[e]=t||null,this.build(!r),this)}}function T(e,t){return function(r,n){return void 0===r?this._parts[e]||"":(null!==r&&(r+="").charAt(0)===t&&(r=r.substring(1)),this._parts[e]=r,this.build(!n),this)}}o.decodePath=A("/","decodePathSegment"),o.decodeUrnPath=A(":","decodeUrnPathSegment"),o.recodePath=A("/","encodePathSegment","decode"),o.recodeUrnPath=A(":","encodeUrnPathSegment","decode"),o.encodeReserved=$("reserved","encode"),o.parse=function(e,t){var r;return t||(t={preventInvalidHostname:o.preventInvalidHostname}),(r=(e=(e=e.replace(o.leading_whitespace_expression,"")).replace(o.ascii_tab_whitespace,"")).indexOf("#"))>-1&&(t.fragment=e.substring(r+1)||null,e=e.substring(0,r)),(r=e.indexOf("?"))>-1&&(t.query=e.substring(r+1)||null,e=e.substring(0,r)),"//"===(e=(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).replace(/^[/\\]{2,}/i,"//")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=o.parseAuthority(e,t)):(r=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,r)||null,t.protocol&&!t.protocol.match(o.protocol_expression)?t.protocol=void 0:"//"===e.substring(r+1,r+3).replace(/\\/g,"/")?(e=e.substring(r+3),e=o.parseAuthority(e,t)):(e=e.substring(r+1),t.urn=!0)),t.path=e,t},o.parseHost=function(e,t){e||(e="");var r,n,a=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===a&&(a=e.length),"["===e.charAt(0))r=e.indexOf("]"),t.hostname=e.substring(1,r)||null,t.port=e.substring(r+2,a)||null,"/"===t.port&&(t.port=null);else{var s=e.indexOf(":"),i=e.indexOf("/"),c=e.indexOf(":",s+1);-1!==c&&(-1===i||c<i)?(t.hostname=e.substring(0,a)||null,t.port=null):(n=e.substring(0,a).split(":"),t.hostname=n[0]||null,t.port=n[1]||null)}return t.hostname&&"/"!==e.substring(a).charAt(0)&&(a++,e="/"+e),t.preventInvalidHostname&&o.ensureValidHostname(t.hostname,t.protocol),t.port&&o.ensureValidPort(t.port),e.substring(a)||"/"},o.parseAuthority=function(e,t){return e=o.parseUserinfo(e,t),o.parseHost(e,t)},o.parseUserinfo=function(e,t){var r=e;-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/"));var n,a=e.indexOf("/"),s=e.lastIndexOf("@",a>-1?a:e.length-1);return s>-1&&(-1===a||s<a)?(n=e.substring(0,s).split(":"),t.username=n[0]?o.decode(n[0]):null,n.shift(),t.password=n[0]?o.decode(n.join(":")):null,e=r.substring(s+1)):(t.username=null,t.password=null),e},o.parseQuery=function(e,t){if(!e)return{};if(!(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var r,n,a,s={},c=e.split("&"),l=c.length,u=0;u<l;u++)r=c[u].split("="),n=o.decodeQuery(r.shift(),t),a=r.length?o.decodeQuery(r.join("="),t):null,"__proto__"!==n&&(i.call(s,n)?("string"!=typeof s[n]&&null!==s[n]||(s[n]=[s[n]]),s[n].push(a)):s[n]=a);return s},o.build=function(e){var t="",r=!1;return e.protocol&&(t+=e.protocol+":"),e.urn||!t&&!e.hostname||(t+="//",r=!0),t+=o.buildAuthority(e)||"","string"==typeof e.path&&("/"!==e.path.charAt(0)&&r&&(t+="/"),t+=e.path),"string"==typeof e.query&&e.query&&(t+="?"+e.query),"string"==typeof e.fragment&&e.fragment&&(t+="#"+e.fragment),t},o.buildHost=function(e){var t="";return e.hostname?(o.ip6_expression.test(e.hostname)?t+="["+e.hostname+"]":t+=e.hostname,e.port&&(t+=":"+e.port),t):""},o.buildAuthority=function(e){return o.buildUserinfo(e)+o.buildHost(e)},o.buildUserinfo=function(e){var t="";return e.username&&(t+=o.encode(e.username)),e.password&&(t+=":"+o.encode(e.password)),t&&(t+="@"),t},o.buildQuery=function(e,t,r){var n,a,s,c,l="";for(a in e)if("__proto__"!==a&&i.call(e,a))if(u(e[a]))for(n={},s=0,c=e[a].length;s<c;s++)void 0!==e[a][s]&&void 0===n[e[a][s]+""]&&(l+="&"+o.buildQueryParameter(a,e[a][s],r),!0!==t&&(n[e[a][s]+""]=!0));else void 0!==e[a]&&(l+="&"+o.buildQueryParameter(a,e[a],r));return l.substring(1)},o.buildQueryParameter=function(e,t,r){return o.encodeQuery(e,r)+(null!==t?"="+o.encodeQuery(t,r):"")},o.addQuery=function(e,t,r){if("object"==typeof t)for(var n in t)i.call(t,n)&&o.addQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[t])return void(e[t]=r);"string"==typeof e[t]&&(e[t]=[e[t]]),u(r)||(r=[r]),e[t]=(e[t]||[]).concat(r)}},o.setQuery=function(e,t,r){if("object"==typeof t)for(var n in t)i.call(t,n)&&o.setQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[t]=void 0===r?null:r}},o.removeQuery=function(e,t,r){var n,a,s;if(u(t))for(n=0,a=t.length;n<a;n++)e[t[n]]=void 0;else if("RegExp"===l(t))for(s in e)t.test(s)&&(e[s]=void 0);else if("object"==typeof t)for(s in t)i.call(t,s)&&o.removeQuery(e,s,t[s]);else{if("string"!=typeof t)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==r?"RegExp"===l(r)?!u(e[t])&&r.test(e[t])?e[t]=void 0:e[t]=p(e[t],r):e[t]!==String(r)||u(r)&&1!==r.length?u(e[t])&&(e[t]=p(e[t],r)):e[t]=void 0:e[t]=void 0}},o.hasQuery=function(e,t,r,n){switch(l(t)){case"String":break;case"RegExp":for(var a in e)if(i.call(e,a)&&t.test(a)&&(void 0===r||o.hasQuery(e,a,r)))return!0;return!1;case"Object":for(var s in t)if(i.call(t,s)&&!o.hasQuery(e,s,t[s]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(r)){case"Undefined":return t in e;case"Boolean":return r===Boolean(u(e[t])?e[t].length:e[t]);case"Function":return!!r(e[t],t,e);case"Array":return!!u(e[t])&&(n?d:m)(e[t],r);case"RegExp":return u(e[t])?!!n&&d(e[t],r):Boolean(e[t]&&e[t].match(r));case"Number":r=String(r);case"String":return u(e[t])?!!n&&d(e[t],r):e[t]===r;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},o.joinPaths=function(){for(var e=[],t=[],r=0,n=0;n<arguments.length;n++){var a=new o(arguments[n]);e.push(a);for(var s=a.segment(),i=0;i<s.length;i++)"string"==typeof s[i]&&t.push(s[i]),s[i]&&r++}if(!t.length||!r)return new o("");var c=new o("").segment(t);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||c.path("/"+c.path()),c.normalize()},o.commonPath=function(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r)){r--;break}return r<1?e.charAt(0)===t.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(r)&&"/"===t.charAt(r)||(r=e.substring(0,r).lastIndexOf("/")),e.substring(0,r+1))},o.withinString=function(e,t,r){r||(r={});var n=r.start||o.findUri.start,a=r.end||o.findUri.end,s=r.trim||o.findUri.trim,i=r.parens||o.findUri.parens,c=/[a-z0-9-]=["']?$/i;for(n.lastIndex=0;;){var l=n.exec(e);if(!l)break;var u=l.index;if(r.ignoreHtml){var p=e.slice(Math.max(u-3,0),u);if(p&&c.test(p))continue}for(var d=u+e.slice(u).search(a),m=e.slice(u,d),h=-1;;){var f=i.exec(m);if(!f)break;var g=f.index+f[0].length;h=Math.max(h,g)}if(!((m=h>-1?m.slice(0,h)+m.slice(h).replace(s,""):m.replace(s,"")).length<=l[0].length||r.ignore&&r.ignore.test(m))){var y=t(m,u,d=u+m.length,e);void 0!==y?(y=String(y),e=e.slice(0,u)+y+e.slice(d),n.lastIndex=u+y.length):n.lastIndex=d}}return n.lastIndex=0,e},o.ensureValidHostname=function(t,r){var n=!!t,a=!1;if(!!r&&(a=d(o.hostProtocols,r)),a&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+r);if(t&&t.match(o.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(o.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},o.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},o.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=a),this},s.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=o.build(this._parts),this._deferred_build=!1),this},s.clone=function(){return new o(this)},s.valueOf=s.toString=function(){return this.build(!1)._string},s.protocol=b("protocol"),s.username=b("username"),s.password=b("password"),s.hostname=b("hostname"),s.port=b("port"),s.query=T("query","?"),s.fragment=T("fragment","#"),s.search=function(e,t){var r=this.query(e,t);return"string"==typeof r&&r.length?"?"+r:r},s.hash=function(e,t){var r=this.fragment(e,t);return"string"==typeof r&&r.length?"#"+r:r},s.pathname=function(e,t){if(void 0===e||!0===e){var r=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?o.decodeUrnPath:o.decodePath)(r):r}return this._parts.urn?this._parts.path=e?o.recodeUrnPath(e):"":this._parts.path=e?o.recodePath(e):"/",this.build(!t),this},s.path=s.pathname,s.href=function(e,t){var r;if(void 0===e)return this.toString();this._string="",this._parts=o._parts();var n=e instanceof o,a="object"==typeof e&&(e.hostname||e.path||e.pathname);if(e.nodeName&&(e=e[o.getDomAttribute(e)]||"",a=!1),!n&&a&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=o.parse(String(e),this._parts);else{if(!n&&!a)throw new TypeError("invalid input");var s=n?e._parts:e;for(r in s)"query"!==r&&i.call(this._parts,r)&&(this._parts[r]=s[r]);s.query&&this.query(s.query,!1)}return this.build(!t),this},s.is=function(e){var t=!1,n=!1,a=!1,s=!1,i=!1,c=!1,l=!1,u=!this._parts.urn;switch(this._parts.hostname&&(u=!1,n=o.ip4_expression.test(this._parts.hostname),a=o.ip6_expression.test(this._parts.hostname),i=(s=!(t=n||a))&&r&&r.has(this._parts.hostname),c=s&&o.idn_expression.test(this._parts.hostname),l=s&&o.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return u;case"absolute":return!u;case"domain":case"name":return s;case"sld":return i;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return a;case"idn":return c;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return l}return null};var C=s.protocol,w=s.port,D=s.hostname;s.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(o.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return C.call(this,e,t)},s.scheme=s.protocol,s.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),o.ensureValidPort(e))),w.call(this,e,t))},s.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var r={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==o.parseHost(e,r))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=r.hostname,this._parts.preventInvalidHostname&&o.ensureValidHostname(e,this._parts.protocol)}return D.call(this,e,t)},s.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=this.protocol();return this.authority()?(r?r+"://":"")+this.authority():""}var n=o(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},s.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildHost(this._parts):"";if("/"!==o.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildAuthority(this._parts):"";if("/"!==o.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=o.buildUserinfo(this._parts);return r?r.substring(0,r.length-1):r}return"@"!==e[e.length-1]&&(e+="@"),o.parseUserinfo(e,this._parts),this.build(!t),this},s.resource=function(e,t){var r;return void 0===e?this.path()+this.search()+this.hash():(r=o.parse(e),this._parts.path=r.path,this._parts.query=r.query,this._parts.fragment=r.fragment,this.build(!t),this)},s.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,r)||""}var n=this._parts.hostname.length-this.domain().length,a=this._parts.hostname.substring(0,n),s=new RegExp("^"+c(a));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&o.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(s,e),this.build(!t),this},s.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.match(/\./g);if(r&&r.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(o.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var a=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(a,e)}return this.build(!t),this},s.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),a=this._parts.hostname.substring(n+1);return!0!==t&&r&&r.list[a.toLowerCase()]&&r.get(this._parts.hostname)||a}var o;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!r||!r.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}return this.build(!t),this},s.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var r=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,r)||(this._parts.hostname?"/":"");return e?o.decodePath(n):n}var a=this._parts.path.length-this.filename().length,s=this._parts.path.substring(0,a),i=new RegExp("^"+c(s));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=o.recodePath(e),this._parts.path=this._parts.path.replace(i,e),this.build(!t),this},s.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var r=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(r+1);return e?o.decodePathSegment(n):n}var a=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(a=!0);var s=new RegExp(c(this.filename())+"$");return e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e),a?this.normalizePath(t):this.build(!t),this},s.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var r,n,a=this.filename(),s=a.lastIndexOf(".");return-1===s?"":(r=a.substring(s+1),n=/^[a-z0-9%]+$/i.test(r)?r:"",e?o.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var i,l=this.suffix();if(l)i=e?new RegExp(c(l)+"$"):new RegExp(c("."+l)+"$");else{if(!e)return this;this._parts.path+="."+o.recodePath(e)}return i&&(e=o.recodePath(e),this._parts.path=this._parts.path.replace(i,e)),this.build(!t),this},s.segment=function(e,t,r){var n=this._parts.urn?":":"/",a=this.path(),o="/"===a.substring(0,1),s=a.split(n);if(void 0!==e&&"number"!=typeof e&&(r=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(o&&s.shift(),e<0&&(e=Math.max(s.length+e,0)),void 0===t)return void 0===e?s:s[e];if(null===e||void 0===s[e])if(u(t)){s=[];for(var i=0,c=t.length;i<c;i++)(t[i].length||s.length&&s[s.length-1].length)&&(s.length&&!s[s.length-1].length&&s.pop(),s.push(h(t[i])))}else(t||"string"==typeof t)&&(t=h(t),""===s[s.length-1]?s[s.length-1]=t:s.push(t));else t?s[e]=h(t):s.splice(e,1);return o&&s.unshift(""),this.path(s.join(n),r)},s.segmentCoded=function(e,t,r){var n,a,s;if("number"!=typeof e&&(r=t,t=e,e=void 0),void 0===t){if(u(n=this.segment(e,t,r)))for(a=0,s=n.length;a<s;a++)n[a]=o.decode(n[a]);else n=void 0!==n?o.decode(n):void 0;return n}if(u(t))for(a=0,s=t.length;a<s;a++)t[a]=o.encode(t[a]);else t="string"==typeof t||t instanceof String?o.encode(t):t;return this.segment(e,t,r)};var F=s.query;return s.query=function(e,t){if(!0===e)return o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof e){var r=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace),n=e.call(this,r);return this._parts.query=o.buildQuery(n||r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this}return void 0!==e&&"string"!=typeof e?(this._parts.query=o.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this):F.call(this,e,t)},s.setQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof e||e instanceof String)n[e]=void 0!==t?t:null;else{if("object"!=typeof e)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var a in e)i.call(e,a)&&(n[a]=e[a])}return this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.addQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.addQuery(n,e,void 0===t?null:t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.removeQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.removeQuery(n,e,t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.hasQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.hasQuery(n,e,t,r)},s.setSearch=s.setQuery,s.addSearch=s.addQuery,s.removeSearch=s.removeQuery,s.hasSearch=s.hasQuery,s.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},s.normalizeProtocol=function(e){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},s.normalizeHostname=function(r){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!r)),this},s.normalizePort=function(e){return"string"==typeof this._parts.protocol&&this._parts.port===o.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},s.normalizePath=function(e){var t,r=this._parts.path;if(!r)return this;if(this._parts.urn)return this._parts.path=o.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;var n,a,s="";for("/"!==(r=o.recodePath(r)).charAt(0)&&(t=!0,r="/"+r),"/.."!==r.slice(-3)&&"/."!==r.slice(-2)||(r+="/"),r=r.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),t&&(s=r.substring(1).match(/^(\.\.\/)+/)||"")&&(s=s[0]);-1!==(n=r.search(/\/\.\.(\/|$)/));)0!==n?(-1===(a=r.substring(0,n).lastIndexOf("/"))&&(a=n),r=r.substring(0,a)+r.substring(n+3)):r=r.substring(3);return t&&this.is("relative")&&(r=s+r.substring(1)),this._parts.path=r,this.build(!e),this},s.normalizePathname=s.normalizePath,s.normalizeQuery=function(e){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(o.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},s.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},s.normalizeSearch=s.normalizeQuery,s.normalizeHash=s.normalizeFragment,s.iso8859=function(){var e=o.encode,t=o.decode;o.encode=escape,o.decode=decodeURIComponent;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.unicode=function(){var e=o.encode,t=o.decode;o.encode=g,o.decode=unescape;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.readable=function(){var t=this.clone();t.username("").password("").normalize();var r="";if(t._parts.protocol&&(r+=t._parts.protocol+"://"),t._parts.hostname&&(t.is("punycode")&&e?(r+=e.toUnicode(t._parts.hostname),t._parts.port&&(r+=":"+t._parts.port)):r+=t.host()),t._parts.hostname&&t._parts.path&&"/"!==t._parts.path.charAt(0)&&(r+="/"),r+=t.path(!0),t._parts.query){for(var n="",a=0,s=t._parts.query.split("&"),i=s.length;a<i;a++){var c=(s[a]||"").split("=");n+="&"+o.decodeQuery(c[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==c[1]&&(n+="="+o.decodeQuery(c[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}r+="?"+n.substring(1)}return r+o.decodeQuery(t.hash(),!0)},s.absoluteTo=function(e){var t,r,n,a=this.clone(),s=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof o||(e=new o(e)),a._parts.protocol)return a;if(a._parts.protocol=e._parts.protocol,this._parts.hostname)return a;for(r=0;n=s[r];r++)a._parts[n]=e._parts[n];return a._parts.path?(".."===a._parts.path.substring(-2)&&(a._parts.path+="/"),"/"!==a.path().charAt(0)&&(t=(t=e.directory())||(0===e.path().indexOf("/")?"/":""),a._parts.path=(t?t+"/":"")+a._parts.path,a.normalizePath())):(a._parts.path=e._parts.path,a._parts.query||(a._parts.query=e._parts.query)),a.build(),a},s.relativeTo=function(e){var t,r,n,a,s,i=this.clone().normalize();if(i._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new o(e).normalize(),t=i._parts,r=e._parts,a=i.path(),s=e.path(),"/"!==a.charAt(0))throw new Error("URI is already relative");if("/"!==s.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(t.protocol===r.protocol&&(t.protocol=null),t.username!==r.username||t.password!==r.password)return i.build();if(null!==t.protocol||null!==t.username||null!==t.password)return i.build();if(t.hostname!==r.hostname||t.port!==r.port)return i.build();if(t.hostname=null,t.port=null,a===s)return t.path="",i.build();if(!(n=o.commonPath(a,s)))return i.build();var c=r.path.substring(n.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return t.path=c+t.path.substring(n.length)||"./",i.build()},s.equals=function(e){var t,r,n,a,s,c=this.clone(),l=new o(e),p={};if(c.normalize(),l.normalize(),c.toString()===l.toString())return!0;if(n=c.query(),a=l.query(),c.query(""),l.query(""),c.toString()!==l.toString())return!1;if(n.length!==a.length)return!1;for(s in t=o.parseQuery(n,this._parts.escapeQuerySpace),r=o.parseQuery(a,this._parts.escapeQuerySpace),t)if(i.call(t,s)){if(u(t[s])){if(!m(t[s],r[s]))return!1}else if(t[s]!==r[s])return!1;p[s]=!0}for(s in r)if(i.call(r,s)&&!p[s])return!1;return!0},s.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},s.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},s.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},o}))},2675:function(e,t,r){var n;e=r.nmd(e),function(){t&&t.nodeType,e&&e.nodeType;var a="object"==typeof r.g&&r.g;a.global!==a&&a.window!==a&&a.self;var o,s=2147483647,i=36,c=/^xn--/,l=/[^\x20-\x7E]/,u=/[\x2E\u3002\uFF0E\uFF61]/g,p={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,m=String.fromCharCode;function h(e){throw new RangeError(p[e])}function f(e,t){for(var r=e.length,n=[];r--;)n[r]=t(e[r]);return n}function g(e,t){var r=e.split("@"),n="";return r.length>1&&(n=r[0]+"@",e=r[1]),n+f((e=e.replace(u,".")).split("."),t).join(".")}function y(e){for(var t,r,n=[],a=0,o=e.length;a<o;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<o?56320==(64512&(r=e.charCodeAt(a++)))?n.push(((1023&t)<<10)+(1023&r)+65536):(n.push(t),a--):n.push(t);return n}function v(e){return f(e,(function(e){var t="";return e>65535&&(t+=m((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+m(e)})).join("")}function $(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function A(e,t,r){var n=0;for(e=r?d(e/700):e>>1,e+=d(e/t);e>455;n+=i)e=d(e/35);return d(n+36*e/(e+38))}function b(e){var t,r,n,a,o,c,l,u,p,m,f,g=[],y=e.length,$=0,b=128,T=72;for((r=e.lastIndexOf("-"))<0&&(r=0),n=0;n<r;++n)e.charCodeAt(n)>=128&&h("not-basic"),g.push(e.charCodeAt(n));for(a=r>0?r+1:0;a<y;){for(o=$,c=1,l=i;a>=y&&h("invalid-input"),((u=(f=e.charCodeAt(a++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:i)>=i||u>d((s-$)/c))&&h("overflow"),$+=u*c,!(u<(p=l<=T?1:l>=T+26?26:l-T));l+=i)c>d(s/(m=i-p))&&h("overflow"),c*=m;T=A($-o,t=g.length+1,0==o),d($/t)>s-b&&h("overflow"),b+=d($/t),$%=t,g.splice($++,0,b)}return v(g)}function T(e){var t,r,n,a,o,c,l,u,p,f,g,v,b,T,C,w=[];for(v=(e=y(e)).length,t=128,r=0,o=72,c=0;c<v;++c)(g=e[c])<128&&w.push(m(g));for(n=a=w.length,a&&w.push("-");n<v;){for(l=s,c=0;c<v;++c)(g=e[c])>=t&&g<l&&(l=g);for(l-t>d((s-r)/(b=n+1))&&h("overflow"),r+=(l-t)*b,t=l,c=0;c<v;++c)if((g=e[c])<t&&++r>s&&h("overflow"),g==t){for(u=r,p=i;!(u<(f=p<=o?1:p>=o+26?26:p-o));p+=i)C=u-f,T=i-f,w.push(m($(f+C%T,0))),u=d(C/T);w.push(m($(u,0))),o=A(r,b,n==a),r=0,++n}++r,++t}return w.join("")}o={version:"1.3.2",ucs2:{decode:y,encode:v},decode:b,encode:T,toASCII:function(e){return g(e,(function(e){return l.test(e)?"xn--"+T(e):e}))},toUnicode:function(e){return g(e,(function(e){return c.test(e)?b(e.slice(4).toLowerCase()):e}))}},void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)}()},5237:(e,t,r)=>{"use strict";const n=r(3686),a=r(1861),o=r(5477),s=r(5430),i=r(4404),c=r(8088),l=r(9869),u=r(8058),p=r(953),d=r(6341),m=r(8171),h=r(7337),f=r(3218),g=r(745),y=r(7189),v=r(3135),$=r(8968),A=r(7046),b=r(9852),T=r(1529),C=r(2302),w=r(6099),D=r(6375),F=r(1976),E=r(516),I=r(2523),M=r(9259),N=r(6113),S=r(7755),O=r(1595),x=r(2438),P=r(4471),L=r(6226),R=r(9481),_=r(3673),k=r(1768),V=r(6803),B=r(6033),j=r(7624),U=r(7662),Q=r(3899),z=r(8330);e.exports={SecurityException:n,IllegalModelException:a,TypeNotFoundException:o,MetamodelException:s,Decorator:i,DecoratorFactory:c,DecoratorManager:B,ClassDeclaration:l,IdentifiedDeclaration:u,AssetDeclaration:p,ConceptDeclaration:d,EnumValueDeclaration:m,EventDeclaration:h,ParticipantDeclaration:f,TransactionDeclaration:g,ScalarDeclaration:y,MapDeclaration:v,MapKeyType:$,MapValueType:A,Property:b,Field:T,EnumDeclaration:C,RelationshipDeclaration:w,Validator:D,NumberValidator:F,StringValidator:E,Typed:I,Identifiable:M,Relationship:N,Resource:S,Factory:O,Globalize:x,Introspector:P,ModelFile:L,ModelManager:R,Serializer:_,ModelUtil:k,ModelLoader:V,DateTimeUtil:j,Concerto:U,MetaModel:Q,version:z}},7833:(e,t,r)=>{var n=r(9907);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(736)(t);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(7250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},9967:(e,t,r)=>{var n,a=r(9907);self,n=()=>{return e={348:(e,t,r)=>{"use strict";const n=r(954);e.exports={MetaModelUtil:n,MetaModelNamespace:"concerto.metamodel@1.0.0"}},702:e=>{"use strict";e.exports='/*\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@DotNetNamespace("AccordProject.Concerto.Metamodel")\nnamespace concerto.metamodel@1.0.0\n\nconcept Position {\n o Integer line\n o Integer column\n o Integer offset\n}\n\nconcept Range {\n o Position start\n o Position end\n o String source optional\n}\n\nconcept TypeIdentifier {\n o String name\n o String namespace optional\n}\n\nabstract concept DecoratorLiteral {\n o Range location optional\n}\n\nconcept DecoratorString extends DecoratorLiteral {\n o String value\n}\n\nconcept DecoratorNumber extends DecoratorLiteral {\n o Double value\n}\n\nconcept DecoratorBoolean extends DecoratorLiteral {\n o Boolean value\n}\n\nconcept DecoratorTypeReference extends DecoratorLiteral {\n o TypeIdentifier type\n o Boolean isArray default=false\n}\n\nconcept Decorator {\n o String name\n o DecoratorLiteral[] arguments optional\n o Range location optional\n}\n\nconcept Identified {\n}\n\nconcept IdentifiedBy extends Identified {\n o String name\n}\n\nabstract concept Declaration {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapKeyType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nabstract concept MapValueType {\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept MapDeclaration extends Declaration {\n o MapKeyType key\n o MapValueType value\n}\n\nconcept StringMapKeyType extends MapKeyType {}\nconcept DateTimeMapKeyType extends MapKeyType {}\n\nconcept ObjectMapKeyType extends MapKeyType {\n o TypeIdentifier type\n}\n\nconcept BooleanMapValueType extends MapValueType {}\nconcept DateTimeMapValueType extends MapValueType {}\nconcept StringMapValueType extends MapValueType {}\nconcept IntegerMapValueType extends MapValueType {}\nconcept LongMapValueType extends MapValueType {}\nconcept DoubleMapValueType extends MapValueType {}\n\nconcept ObjectMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept RelationshipMapValueType extends MapValueType {\n o TypeIdentifier type\n}\n\nconcept EnumDeclaration extends Declaration {\n o EnumProperty[] properties\n}\n\nconcept EnumProperty {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept ConceptDeclaration extends Declaration {\n o Boolean isAbstract default=false\n o Identified identified optional\n o TypeIdentifier superType optional\n o Property[] properties\n}\n\nconcept AssetDeclaration extends ConceptDeclaration {\n}\n\nconcept ParticipantDeclaration extends ConceptDeclaration {\n}\n\nconcept TransactionDeclaration extends ConceptDeclaration {\n}\n\nconcept EventDeclaration extends ConceptDeclaration {\n}\n\nabstract concept Property {\n o String name regex=/^(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u\n o Boolean isArray default=false\n o Boolean isOptional default=false\n o Decorator[] decorators optional\n o Range location optional\n}\n\nconcept RelationshipProperty extends Property {\n o TypeIdentifier type\n}\n\nconcept ObjectProperty extends Property {\n o String defaultValue optional\n o TypeIdentifier type\n}\n\nconcept BooleanProperty extends Property {\n o Boolean defaultValue optional\n}\n\nconcept DateTimeProperty extends Property {\n}\n\nconcept StringProperty extends Property {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept StringRegexValidator {\n o String pattern\n o String flags\n}\n\nconcept StringLengthValidator {\n o Integer minLength optional\n o Integer maxLength optional\n}\n\nconcept DoubleProperty extends Property {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept DoubleDomainValidator {\n o Double lower optional\n o Double upper optional\n}\n\nconcept IntegerProperty extends Property {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept IntegerDomainValidator {\n o Integer lower optional\n o Integer upper optional\n}\n\nconcept LongProperty extends Property {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept LongDomainValidator {\n o Long lower optional\n o Long upper optional\n}\n\nconcept AliasedType{\n o String name\n o String aliasedName\n}\nabstract concept Import {\n o String namespace\n o String uri optional\n}\n\nconcept ImportAll extends Import {\n}\n\nconcept ImportType extends Import {\n o String name\n}\n\nconcept ImportTypes extends Import {\n o String[] types\n o AliasedType[] aliasedTypes optional\n}\n\nconcept Model {\n o String namespace\n o String sourceUri optional\n o String concertoVersion optional\n o Import[] imports optional\n o Declaration[] declarations optional\n o Decorator[] decorators optional\n}\n\nconcept Models {\n o Model[] models\n}\n\nabstract concept ScalarDeclaration extends Declaration {\n}\n\nconcept BooleanScalar extends ScalarDeclaration {\n o Boolean defaultValue optional\n}\n\nconcept IntegerScalar extends ScalarDeclaration {\n o Integer defaultValue optional\n o IntegerDomainValidator validator optional\n}\n\nconcept LongScalar extends ScalarDeclaration {\n o Long defaultValue optional\n o LongDomainValidator validator optional\n}\n\nconcept DoubleScalar extends ScalarDeclaration {\n o Double defaultValue optional\n o DoubleDomainValidator validator optional\n}\n\nconcept StringScalar extends ScalarDeclaration {\n o String defaultValue optional\n o StringRegexValidator validator optional\n o StringLengthValidator lengthValidator optional\n}\n\nconcept DateTimeScalar extends ScalarDeclaration {\n o String defaultValue optional\n}\n'},954:(e,t,r)=>{"use strict";const n=r(865),a="concerto.metamodel@1.0.0",o=r(702);function s(e,t){return e.declarations.find((e=>e.name===t))}function i(e,t){if(!t[e])throw new Error(`Name ${e} not found`);return t[e].namespace}function c(e,t){switch((e.decorators||[]).forEach((e=>{c(e,t)})),e.$class){case`${a}.Model`:(e.declarations||[]).forEach((e=>{c(e,t)}));break;case`${a}.AssetDeclaration`:case`${a}.ConceptDeclaration`:case`${a}.EventDeclaration`:case`${a}.TransactionDeclaration`:case`${a}.ParticipantDeclaration`:if(e.superType){const r=e.superType.name;e.superType.namespace=i(r,t),e.superType.name=t[r].name,t[r]?.resolvedName&&(e.superType.resolvedName=t[r].resolvedName)}(e.properties||[]).forEach((e=>{c(e,t)}));break;case`${a}.MapDeclaration`:c(e.key,t),c(e.value,t);break;case`${a}.Decorator`:(e.arguments||[]).forEach((e=>{c(e,t)}));break;case`${a}.EnumProperty`:case`${a}.ObjectProperty`:case`${a}.RelationshipProperty`:case`${a}.DecoratorTypeReference`:case`${a}.ObjectMapKeyType`:case`${a}.ObjectMapValueType`:e.type.namespace=i(e.type.name,t),e.type.name=t[e.type.name].name,t[e.type.name]?.resolvedName&&(e.type.resolvedName=t[e.type.name].resolvedName);break;case`${a}.StringScalar`:case`${a}.BooleanScalar`:case`${a}.DateTimeScalar`:case`${a}.DoubleScalar`:case`${a}.LongScalar`:case`${a}.IntegerScalar`:e.namespace=i(e.name,t),e.name=t[e.name].name}return e}function l(e,t){const r=JSON.parse(JSON.stringify(t)),n=function(e,t){const r="concerto@1.0.0",n={Concept:{namespace:r,name:"Concept"},Asset:{namespace:r,name:"Asset"},Participant:{namespace:r,name:"Participant"},Transaction:{namespace:r,name:"Transaction"},Event:{namespace:r,name:"Event"}};return(t.imports||[]).forEach((t=>{const r=t.namespace,o=function(e,t){return e.models.find((e=>e.namespace===t))}(e,r);if(t.$class===`${a}.ImportType`){if(!s(o,t.name))throw new Error(`Declaration ${t.name} in namespace ${r} not found`);n[t.name]={namespace:r,name:t.name}}else if(t.$class===`${a}.ImportTypes`){const e=t.aliasedTypes?new Map(t.aliasedTypes.map((({name:e,aliasedName:t})=>[e,t]))):new Map;t.types.forEach((t=>{const a=e.get(t)||t;if(!s(o,t))throw new Error(`Declaration ${t} in namespace ${r} not found`);n[a]=a!==t?{namespace:r,name:a,resolvedName:t}:{namespace:r,name:t}}))}else(o.declarations||[]).forEach((e=>{n[e.name]={namespace:r,name:e.name}}))})),(t.declarations||[]).forEach((e=>{n[e.name]={namespace:t.namespace,name:e.name}})),n}(e,t);return c(r,n),r}function u(e){const t=[];switch(e.$class){case`${a}.ImportAll`:t.push(`${e.namespace}.*`);break;case`${a}.ImportType`:t.push(`${e.namespace}.${e.name}`);break;case`${a}.ImportTypes`:e.types.forEach((r=>{t.push(`${e.namespace}.${r}`)}));break;default:throw new Error(`Unrecognized imports ${e.$class}`)}return t}e.exports={metaModelAst:n,metaModelCto:o,resolveLocalNames:l,resolveLocalNamesForAll:function(e){const t={$class:`${a}.Models`,models:[]};return e.models.forEach((r=>{const n=l(e,r);t.models.push(n)})),t},importFullyQualifiedNames:u,getExternalImports:function(e){const t={};return e.imports&&e.imports.forEach((e=>{const r=u(e);e.uri&&(t[r[0]]=e.uri)})),t}}},573:(e,t,r)=>{"use strict";const n=r(187);e.exports=n.PromisePool},160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolError=void 0;class r extends Error{constructor(e,t){super(),this.item=t,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,t){return new this(e,t)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}t.PromisePoolError=r},241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolExecutor=void 0;const n=r(160);t.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const t=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(t),1)})).catch((r=>{if(this.tasks.splice(this.tasks.indexOf(t),1),this.errorHandler)return this.errorHandler(r,e);this.errors.push(n.PromisePoolError.createFrom(r,e))}));this.tasks.push(t)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePool=void 0;const n=r(241);class a{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new a(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new n.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}t.PromisePool=a},548:(e,t,r)=>{"use strict";const n=r(558),{DefaultFileLoader:a,FileDownloader:o}=r(20),s=r(833)("concerto:ModelManager"),i=r(206),{MetaModelUtil:c,MetaModelNamespace:l}=r(348);e.exports={resolveExternal:async function(e,t,r){s("updateExternalModels","updateExternalModels",t),r||(r=new o(new a(((e,t)=>{if(".cto"===n.extname(e))return i.parse(t);throw new Error("External model file references are expected to have a .cto extension")})),c.getExternalImports));const u=await r.downloadExternalDependencies(e.models,t);let p=e;return u.forEach((e=>{p=function(e,t){const r={$class:`${l}.Models`,models:[]},n=t.namespace,a=e.models;let o=!1;return a.forEach(((e,a)=>{e.namespace===n?(r.models.push(t),o=!0):r.models.push(e)})),o||r.models.push(t),r}(p,e)})),p}}},713:(e,t,r)=>{"use strict";const{BaseFileException:n}=r(20);e.exports=class extends n{constructor(e,t,r,n,a){let o=e,s="";r&&(s+=" File "+r),t&&(t.end&&t.start&&t.end.offset&&t.start.offset&&t.end.offset-t.start.offset==1&&(t.end.column=t.start.column,t.end.offset=t.start.offset),s+=s?" line "+t.start.line+" column "+t.start.column:" Line "+t.start.line+" column "+t.start.column),o+=s,super(e,t,n||o,r,a)}}},206:e=>{"use strict";function t(e,r,n,a){var o=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(o,t.prototype),o.expected=r,o.found=n,o.location=a,o.name="SyntaxError",o}function r(e,t,r){return r=r||" ",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}!function(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}(t,Error),t.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var n,a=null;for(n=0;n<e.length;n++)if(e[n].source===this.location.source){a=e[n].text.split(/\r\n|\n|\r/g);break}var o=this.location.start,s=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(o):o,i=this.location.source+":"+s.line+":"+s.column;if(a){var c=this.location.end,l=r("",s.line.toString().length," "),u=a[o.line-1],p=(o.line===c.line?c.column:u.length+1)-o.column||1;t+="\n --\x3e "+i+"\n"+l+" |\n"+s.line+" | "+u+"\n"+l+" | "+r("",o.column-1," ")+r("",p,"^")}else t+="\n at "+i}return t},t.buildMessage=function(e,t){var r={literal:function(e){return'"'+a(e.text)+'"'},class:function(e){var t=e.parts.map((function(e){return Array.isArray(e)?o(e[0])+"-"+o(e[1]):o(e)}));return"["+(e.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(e){return e.description}};function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}function a(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+n(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+n(e)}))}function o(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+n(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+n(e)}))}function s(e){return r[e.type](e)}return"Expected "+function(e){var t,r,n=e.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(e)+" but "+function(e){return e?'"'+a(e)+'"':"end of input"}(t)+" found."},e.exports={StartRules:["Start"],SyntaxError:t,parse:function(e,r){var n,a={},o=(r=void 0!==r?r:{}).grammarSource,s={Start:No},i=No,c="\n",l="\r\n",u="/*",p="*/",d="//",m="\\",h=".",f="0",g="e",y="0x",v='"',$="'",A="b",b="f",T="n",C="r",w="t",D="v",F="x",E="u",I="/",M="[",N="]",S="enum",O="map",x="false",P="import",L="true",R="as",_="}",k="%",V=":",B="?",j="#",U="@",Q="::",z="25",H="2",W="1",G="-",q="+",J="concerto",K="version",Y="namespace",X="abstract",Z="concept",ee="asset",te="transaction",re="event",ne="participant",ae="scalar",oe="from",se="*",ie="Integer",ce="Double",le="Long",ue="String",pe="DateTime",de="Boolean",me="identified by",he="identified",fe="[]",ge="(",ye=",",ve=")",$e="extends",Ae="{",be="optional",Te="default",Ce="=",we="o",De="regex",Fe="length",Ee="range",Ie="--\x3e",Me=".{",Ne=/^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/,Se=/^[\n\r\u2028\u2029]/,Oe=/^[\r\u2028-\u2029]/,xe=/^[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD-\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0-\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Pe=/^[0-9_\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62-\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B-\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1885-\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19D9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C-\u200D\u203F-\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880-\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]/,Le=/^[+\-]/,Re=/^[0-9]/,_e=/^[1-9]/,ke=/^[0-9a-f]/i,Ve=/^[\n\r"\\\u2028-\u2029]/,Be=/^[\n\r'\\\u2028-\u2029]/,je=/^["'\\]/,Ue=/^[0-9ux]/,Qe=/^[*\\\/[]/,ze=/^[\\\/[]/,He=/^[\]\\]/,We=/^[A-Za-z]/,Ge=/^[A-F]/i,qe=/^[\--.0-9A-Z_a-z~]/,Je=/^[+\--.0-9A-Za-z]/,Ke=/^[!$&-,:-;=]/,Ye=/^[\--.0-:A-Z_a-z~]/,Xe=/^[0-5]/,Ze=/^[0-4]/,et=/^[!$&-,:-;=@]/,tt=/^[\/?]/,rt=/^[a-z0-9\-]/i,nt=/^[a-z\-]/i,at={type:"any"},ot=Fo("whitespace"),st=Do(["\t",["\v","\f"]," "," "," ",[" "," "]," "," "," ","\ufeff"],!1,!1),it=Do(["\n","\r","\u2028","\u2029"],!1,!1),ct=Fo("end of line"),lt=wo("\n",!1),ut=wo("\r\n",!1),pt=Do(["\r",["\u2028","\u2029"]],!1,!1),dt=Fo("comment"),mt=wo("/*",!1),ht=wo("*/",!1),ft=wo("//",!1),gt=Fo("identifier"),yt=Do(["$",["A","Z"],"_",["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),vt=wo("\\",!1),$t=Do([["0","9"],"_",["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","٩"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],["۰","۹"],"ܑ",["ܰ","݊"],["ަ","ް"],["߀","߉"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["०","९"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],["০","৯"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["੦","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["૦","૯"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],["୦","୯"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["௦","௯"],["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["౦","౯"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],["೦","೯"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["൦","൯"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["෦","෯"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],["๐","๙"],"ັ",["ິ","ຼ"],["່","໎"],["໐","໙"],["༘","༙"],["༠","༩"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["၀","၉"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],["ႏ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["០","៩"],["᠋","᠍"],["᠏","᠙"],["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["᥆","᥏"],["᧐","᧙"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],["᩿","᪉"],["᪐","᪙"],["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭐","᭙"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᮰","᮹"],["᯦","᯳"],["ᰤ","᰷"],["᱀","᱉"],["᱐","᱙"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["",""],["‿","⁀"],"⁔",["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],["꘠","꘩"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣐","꣙"],["꣠","꣱"],["ꣿ","꤉"],["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],["꧐","꧙"],"ꧥ",["꧰","꧹"],["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["꩐","꩙"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],["꯰","꯹"],"ﬞ",["︀","️"],["︠","︯"],["︳","︴"],["﹍","﹏"],["0","9"],"_"],!1,!1),At=(Do([["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],["Ͷ","ͷ"],["ͺ","ͽ"],"Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԯ"],["Ա","Ֆ"],"ՙ",["ՠ","ֈ"],["א","ת"],["ׯ","ײ"],["ؠ","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۥ","ۦ"],["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ߴ","ߵ"],"ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣉ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๆ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏽ"],["ᏸ","ᏽ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛮ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᲀ","ᲈ"],["Ა","Ჺ"],["Ჽ","Ჿ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ",["Ⅰ","ↈ"],["Ⰰ","ⳤ"],["Ⳬ","ⳮ"],["Ⳳ","ⳳ"],["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ",["々","〇"],["〡","〩"],["〱","〵"],["〸","〼"],["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],["Ꙁ","ꙮ"],["ꙿ","ꚝ"],["ꚠ","ꛯ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꟊ"],["Ꟑ","ꟑ"],"ꟓ",["ꟕ","ꟙ"],["ꟲ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꧠ","ꧤ"],["ꧦ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꬰ","ꭚ"],["ꭜ","ꭩ"],["ꭰ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Do([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ः"],["ऺ","़"],["ा","ॏ"],["॑","ॗ"],["ॢ","ॣ"],["ঁ","ঃ"],"়",["া","ৄ"],["ে","ৈ"],["ো","্"],"ৗ",["ৢ","ৣ"],"৾",["ਁ","ਃ"],"਼",["ਾ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ઃ"],"઼",["ા","ૅ"],["ે","ૉ"],["ો","્"],["ૢ","ૣ"],["ૺ","૿"],["ଁ","ଃ"],"଼",["ା","ୄ"],["େ","ୈ"],["ୋ","୍"],["୕","ୗ"],["ୢ","ୣ"],"ஂ",["ா","ூ"],["ெ","ை"],["ொ","்"],"ௗ",["ఀ","ఄ"],"఼",["ా","ౄ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],["ಁ","ಃ"],"಼",["ಾ","ೄ"],["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"],["ೢ","ೣ"],"ೳ",["ഀ","ഃ"],["഻","഼"],["ാ","ൄ"],["െ","ൈ"],["ൊ","്"],"ൗ",["ൢ","ൣ"],["ඁ","ඃ"],"්",["ා","ු"],"ූ",["ෘ","ෟ"],["ෲ","ෳ"],"ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["༾","༿"],["ཱ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ါ","ှ"],["ၖ","ၙ"],["ၞ","ၠ"],["ၢ","ၤ"],["ၧ","ၭ"],["ၱ","ၴ"],["ႂ","ႍ"],"ႏ",["ႚ","ႝ"],["፝","፟"],["ᜒ","᜕"],["ᜲ","᜴"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤫ"],["ᤰ","᤻"],["ᨗ","ᨛ"],["ᩕ","ᩞ"],["᩠","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬄ"],["᬴","᭄"],["᭫","᭳"],["ᮀ","ᮂ"],["ᮡ","ᮭ"],["᯦","᯳"],["ᰤ","᰷"],["᳐","᳒"],["᳔","᳨"],"᳭","᳴",["᳷","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〯"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠣ","ꠧ"],"꠬",["ꢀ","ꢁ"],["ꢴ","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","꥓"],["ꦀ","ꦃ"],["꦳","꧀"],"ꧥ",["ꨩ","ꨶ"],"ꩃ",["ꩌ","ꩍ"],["ꩻ","ꩽ"],"ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫫ","ꫯ"],["ꫵ","꫶"],["ꯣ","ꯪ"],["꯬","꯭"],"ﬞ",["︀","️"],["︠","︯"]],!1,!1),Fo("number")),bt=wo(".",!1),Tt=Do(["+","-"],!1,!1),Ct=wo("0",!1),wt=Do([["0","9"]],!1,!1),Dt=Do([["1","9"]],!1,!1),Ft=wo("e",!0),Et=wo("0x",!0),It=Do([["0","9"],["a","f"]],!1,!0),Mt=Fo("string"),Nt=wo('"',!1),St=wo("'",!1),Ot=Do(["\n","\r",'"',"\\",["\u2028","\u2029"]],!1,!1),xt=Do(["\n","\r","'","\\",["\u2028","\u2029"]],!1,!1),Pt=Do(['"',"'","\\"],!1,!1),Lt=wo("b",!1),Rt=wo("f",!1),_t=wo("n",!1),kt=wo("r",!1),Vt=wo("t",!1),Bt=wo("v",!1),jt=Do([["0","9"],"u","x"],!1,!1),Ut=wo("x",!1),Qt=wo("u",!1),zt=Fo("regular expression"),Ht=wo("/",!1),Wt=Do(["*","\\","/","["],!1,!1),Gt=Do(["\\","/","["],!1,!1),qt=wo("[",!1),Jt=wo("]",!1),Kt=Do(["]","\\"],!1,!1),Yt=(Do([["a","z"],"µ",["ß","ö"],["ø","ÿ"],"ā","ă","ą","ć","ĉ","ċ","č","ď","đ","ē","ĕ","ė","ę","ě","ĝ","ğ","ġ","ģ","ĥ","ħ","ĩ","ī","ĭ","į","ı","ij","ĵ",["ķ","ĸ"],"ĺ","ļ","ľ","ŀ","ł","ń","ņ",["ň","ʼn"],"ŋ","ō","ŏ","ő","œ","ŕ","ŗ","ř","ś","ŝ","ş","š","ţ","ť","ŧ","ũ","ū","ŭ","ů","ű","ų","ŵ","ŷ","ź","ż",["ž","ƀ"],"ƃ","ƅ","ƈ",["ƌ","ƍ"],"ƒ","ƕ",["ƙ","ƛ"],"ƞ","ơ","ƣ","ƥ","ƨ",["ƪ","ƫ"],"ƭ","ư","ƴ","ƶ",["ƹ","ƺ"],["ƽ","ƿ"],"dž","lj","nj","ǎ","ǐ","ǒ","ǔ","ǖ","ǘ","ǚ",["ǜ","ǝ"],"ǟ","ǡ","ǣ","ǥ","ǧ","ǩ","ǫ","ǭ",["ǯ","ǰ"],"dz","ǵ","ǹ","ǻ","ǽ","ǿ","ȁ","ȃ","ȅ","ȇ","ȉ","ȋ","ȍ","ȏ","ȑ","ȓ","ȕ","ȗ","ș","ț","ȝ","ȟ","ȡ","ȣ","ȥ","ȧ","ȩ","ȫ","ȭ","ȯ","ȱ",["ȳ","ȹ"],"ȼ",["ȿ","ɀ"],"ɂ","ɇ","ɉ","ɋ","ɍ",["ɏ","ʓ"],["ʕ","ʯ"],"ͱ","ͳ","ͷ",["ͻ","ͽ"],"ΐ",["ά","ώ"],["ϐ","ϑ"],["ϕ","ϗ"],"ϙ","ϛ","ϝ","ϟ","ϡ","ϣ","ϥ","ϧ","ϩ","ϫ","ϭ",["ϯ","ϳ"],"ϵ","ϸ",["ϻ","ϼ"],["а","џ"],"ѡ","ѣ","ѥ","ѧ","ѩ","ѫ","ѭ","ѯ","ѱ","ѳ","ѵ","ѷ","ѹ","ѻ","ѽ","ѿ","ҁ","ҋ","ҍ","ҏ","ґ","ғ","ҕ","җ","ҙ","қ","ҝ","ҟ","ҡ","ң","ҥ","ҧ","ҩ","ҫ","ҭ","ү","ұ","ҳ","ҵ","ҷ","ҹ","һ","ҽ","ҿ","ӂ","ӄ","ӆ","ӈ","ӊ","ӌ",["ӎ","ӏ"],"ӑ","ӓ","ӕ","ӗ","ә","ӛ","ӝ","ӟ","ӡ","ӣ","ӥ","ӧ","ө","ӫ","ӭ","ӯ","ӱ","ӳ","ӵ","ӷ","ӹ","ӻ","ӽ","ӿ","ԁ","ԃ","ԅ","ԇ","ԉ","ԋ","ԍ","ԏ","ԑ","ԓ","ԕ","ԗ","ԙ","ԛ","ԝ","ԟ","ԡ","ԣ","ԥ","ԧ","ԩ","ԫ","ԭ","ԯ",["ՠ","ֈ"],["ა","ჺ"],["ჽ","ჿ"],["ᏸ","ᏽ"],["ᲀ","ᲈ"],["ᴀ","ᴫ"],["ᵫ","ᵷ"],["ᵹ","ᶚ"],"ḁ","ḃ","ḅ","ḇ","ḉ","ḋ","ḍ","ḏ","ḑ","ḓ","ḕ","ḗ","ḙ","ḛ","ḝ","ḟ","ḡ","ḣ","ḥ","ḧ","ḩ","ḫ","ḭ","ḯ","ḱ","ḳ","ḵ","ḷ","ḹ","ḻ","ḽ","ḿ","ṁ","ṃ","ṅ","ṇ","ṉ","ṋ","ṍ","ṏ","ṑ","ṓ","ṕ","ṗ","ṙ","ṛ","ṝ","ṟ","ṡ","ṣ","ṥ","ṧ","ṩ","ṫ","ṭ","ṯ","ṱ","ṳ","ṵ","ṷ","ṹ","ṻ","ṽ","ṿ","ẁ","ẃ","ẅ","ẇ","ẉ","ẋ","ẍ","ẏ","ẑ","ẓ",["ẕ","ẝ"],"ẟ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ỉ","ị","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ụ","ủ","ứ","ừ","ử","ữ","ự","ỳ","ỵ","ỷ","ỹ","ỻ","ỽ",["ỿ","ἇ"],["ἐ","ἕ"],["ἠ","ἧ"],["ἰ","ἷ"],["ὀ","ὅ"],["ὐ","ὗ"],["ὠ","ὧ"],["ὰ","ώ"],["ᾀ","ᾇ"],["ᾐ","ᾗ"],["ᾠ","ᾧ"],["ᾰ","ᾴ"],["ᾶ","ᾷ"],"ι",["ῂ","ῄ"],["ῆ","ῇ"],["ῐ","ΐ"],["ῖ","ῗ"],["ῠ","ῧ"],["ῲ","ῴ"],["ῶ","ῷ"],"ℊ",["ℎ","ℏ"],"ℓ","ℯ","ℴ","ℹ",["ℼ","ℽ"],["ⅆ","ⅉ"],"ⅎ","ↄ",["ⰰ","ⱟ"],"ⱡ",["ⱥ","ⱦ"],"ⱨ","ⱪ","ⱬ","ⱱ",["ⱳ","ⱴ"],["ⱶ","ⱻ"],"ⲁ","ⲃ","ⲅ","ⲇ","ⲉ","ⲋ","ⲍ","ⲏ","ⲑ","ⲓ","ⲕ","ⲗ","ⲙ","ⲛ","ⲝ","ⲟ","ⲡ","ⲣ","ⲥ","ⲧ","ⲩ","ⲫ","ⲭ","ⲯ","ⲱ","ⲳ","ⲵ","ⲷ","ⲹ","ⲻ","ⲽ","ⲿ","ⳁ","ⳃ","ⳅ","ⳇ","ⳉ","ⳋ","ⳍ","ⳏ","ⳑ","ⳓ","ⳕ","ⳗ","ⳙ","ⳛ","ⳝ","ⳟ","ⳡ",["ⳣ","ⳤ"],"ⳬ","ⳮ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ","ꙁ","ꙃ","ꙅ","ꙇ","ꙉ","ꙋ","ꙍ","ꙏ","ꙑ","ꙓ","ꙕ","ꙗ","ꙙ","ꙛ","ꙝ","ꙟ","ꙡ","ꙣ","ꙥ","ꙧ","ꙩ","ꙫ","ꙭ","ꚁ","ꚃ","ꚅ","ꚇ","ꚉ","ꚋ","ꚍ","ꚏ","ꚑ","ꚓ","ꚕ","ꚗ","ꚙ","ꚛ","ꜣ","ꜥ","ꜧ","ꜩ","ꜫ","ꜭ",["ꜯ","ꜱ"],"ꜳ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ꜿ","ꝁ","ꝃ","ꝅ","ꝇ","ꝉ","ꝋ","ꝍ","ꝏ","ꝑ","ꝓ","ꝕ","ꝗ","ꝙ","ꝛ","ꝝ","ꝟ","ꝡ","ꝣ","ꝥ","ꝧ","ꝩ","ꝫ","ꝭ","ꝯ",["ꝱ","ꝸ"],"ꝺ","ꝼ","ꝿ","ꞁ","ꞃ","ꞅ","ꞇ","ꞌ","ꞎ","ꞑ",["ꞓ","ꞕ"],"ꞗ","ꞙ","ꞛ","ꞝ","ꞟ","ꞡ","ꞣ","ꞥ","ꞧ","ꞩ","ꞯ","ꞵ","ꞷ","ꞹ","ꞻ","ꞽ","ꞿ","ꟁ","ꟃ","ꟈ","ꟊ","ꟑ","ꟓ","ꟕ","ꟗ","ꟙ","ꟶ","ꟺ",["ꬰ","ꭚ"],["ꭠ","ꭨ"],["ꭰ","ꮿ"],["ff","st"],["ﬓ","ﬗ"],["a","z"]],!1,!1),Do([["ʰ","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ","ʹ","ͺ","ՙ","ـ",["ۥ","ۦ"],["ߴ","ߵ"],"ߺ","ࠚ","ࠤ","ࠨ","ࣉ","ॱ","ๆ","ໆ","ჼ","ៗ","ᡃ","ᪧ",["ᱸ","ᱽ"],["ᴬ","ᵪ"],"ᵸ",["ᶛ","ᶿ"],"ⁱ","ⁿ",["ₐ","ₜ"],["ⱼ","ⱽ"],"ⵯ","ⸯ","々",["〱","〵"],"〻",["ゝ","ゞ"],["ー","ヾ"],"ꀕ",["ꓸ","ꓽ"],"ꘌ","ꙿ",["ꚜ","ꚝ"],["ꜗ","ꜟ"],"ꝰ","ꞈ",["ꟲ","ꟴ"],["ꟸ","ꟹ"],"ꧏ","ꧦ","ꩰ","ꫝ",["ꫳ","ꫴ"],["ꭜ","ꭟ"],"ꭩ","ー",["゙","゚"]],!1,!1),Do(["ª","º","ƻ",["ǀ","ǃ"],"ʔ",["א","ת"],["ׯ","ײ"],["ؠ","ؿ"],["ف","ي"],["ٮ","ٯ"],["ٱ","ۓ"],"ە",["ۮ","ۯ"],["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],["ࠀ","ࠕ"],["ࡀ","ࡘ"],["ࡠ","ࡪ"],["ࡰ","ࢇ"],["ࢉ","ࢎ"],["ࢠ","ࣈ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॲ","ঀ"],["অ","ঌ"],["এ","ঐ"],["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ",["ড়","ঢ়"],["য়","ৡ"],["ৰ","ৱ"],"ৼ",["ਅ","ਊ"],["ਏ","ਐ"],["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"],["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],["લ","ળ"],["વ","હ"],"ઽ","ૐ",["ૠ","ૡ"],"ૹ",["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"],["ପ","ର"],["ଲ","ଳ"],["ଵ","ହ"],"ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],["ங","ச"],"ஜ",["ஞ","ட"],["ண","த"],["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","హ"],"ఽ",["ౘ","ౚ"],"ౝ",["ౠ","ౡ"],"ಀ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ",["ೝ","ೞ"],["ೠ","ೡ"],["ೱ","ೲ"],["ഄ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ",["ൔ","ൖ"],["ൟ","ൡ"],["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],["า","ำ"],["เ","ๅ"],["ກ","ຂ"],"ຄ",["ຆ","ຊ"],["ຌ","ຣ"],"ລ",["ວ","ະ"],["າ","ຳ"],"ຽ",["ເ","ໄ"],["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ",["ၥ","ၦ"],["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["ᄀ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᛱ","ᛸ"],["ᜀ","ᜑ"],["ᜟ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៜ",["ᠠ","ᡂ"],["ᡄ","ᡸ"],["ᢀ","ᢄ"],["ᢇ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤞ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᦰ","ᧉ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],["ᬅ","ᬳ"],["ᭅ","ᭌ"],["ᮃ","ᮠ"],["ᮮ","ᮯ"],["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱷ"],["ᳩ","ᳬ"],["ᳮ","ᳳ"],["ᳵ","ᳶ"],"ᳺ",["ℵ","ℸ"],["ⴰ","ⵧ"],["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"〆","〼",["ぁ","ゖ"],"ゟ",["ァ","ヺ"],"ヿ",["ㄅ","ㄯ"],["ㄱ","ㆎ"],["ㆠ","ㆿ"],["ㇰ","ㇿ"],["㐀","䶿"],["一","ꀔ"],["ꀖ","ꒌ"],["ꓐ","ꓷ"],["ꔀ","ꘋ"],["ꘐ","ꘟ"],["ꘪ","ꘫ"],"ꙮ",["ꚠ","ꛥ"],"ꞏ","ꟷ",["ꟻ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꣽ","ꣾ"],["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],["ꧠ","ꧤ"],["ꧧ","ꧯ"],["ꧺ","ꧾ"],["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩯ"],["ꩱ","ꩶ"],"ꩺ",["ꩾ","ꪯ"],"ꪱ",["ꪵ","ꪶ"],["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫜ"],["ꫠ","ꫪ"],"ꫲ",["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ",["נּ","סּ"],["ףּ","פּ"],["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["ヲ","ッ"],["ア","ン"],["ᅠ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),Do(["Dž","Lj","Nj","Dz",["ᾈ","ᾏ"],["ᾘ","ᾟ"],["ᾨ","ᾯ"],"ᾼ","ῌ","ῼ"],!1,!1),Do([["A","Z"],["À","Ö"],["Ø","Þ"],"Ā","Ă","Ą","Ć","Ĉ","Ċ","Č","Ď","Đ","Ē","Ĕ","Ė","Ę","Ě","Ĝ","Ğ","Ġ","Ģ","Ĥ","Ħ","Ĩ","Ī","Ĭ","Į","İ","IJ","Ĵ","Ķ","Ĺ","Ļ","Ľ","Ŀ","Ł","Ń","Ņ","Ň","Ŋ","Ō","Ŏ","Ő","Œ","Ŕ","Ŗ","Ř","Ś","Ŝ","Ş","Š","Ţ","Ť","Ŧ","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ŵ","Ŷ",["Ÿ","Ź"],"Ż","Ž",["Ɓ","Ƃ"],"Ƅ",["Ɔ","Ƈ"],["Ɖ","Ƌ"],["Ǝ","Ƒ"],["Ɠ","Ɣ"],["Ɩ","Ƙ"],["Ɯ","Ɲ"],["Ɵ","Ơ"],"Ƣ","Ƥ",["Ʀ","Ƨ"],"Ʃ","Ƭ",["Ʈ","Ư"],["Ʊ","Ƴ"],"Ƶ",["Ʒ","Ƹ"],"Ƽ","DŽ","LJ","NJ","Ǎ","Ǐ","Ǒ","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ǟ","Ǡ","Ǣ","Ǥ","Ǧ","Ǩ","Ǫ","Ǭ","Ǯ","DZ","Ǵ",["Ƕ","Ǹ"],"Ǻ","Ǽ","Ǿ","Ȁ","Ȃ","Ȅ","Ȇ","Ȉ","Ȋ","Ȍ","Ȏ","Ȑ","Ȓ","Ȕ","Ȗ","Ș","Ț","Ȝ","Ȟ","Ƞ","Ȣ","Ȥ","Ȧ","Ȩ","Ȫ","Ȭ","Ȯ","Ȱ","Ȳ",["Ⱥ","Ȼ"],["Ƚ","Ⱦ"],"Ɂ",["Ƀ","Ɇ"],"Ɉ","Ɋ","Ɍ","Ɏ","Ͱ","Ͳ","Ͷ","Ϳ","Ά",["Έ","Ί"],"Ό",["Ύ","Ώ"],["Α","Ρ"],["Σ","Ϋ"],"Ϗ",["ϒ","ϔ"],"Ϙ","Ϛ","Ϝ","Ϟ","Ϡ","Ϣ","Ϥ","Ϧ","Ϩ","Ϫ","Ϭ","Ϯ","ϴ","Ϸ",["Ϲ","Ϻ"],["Ͻ","Я"],"Ѡ","Ѣ","Ѥ","Ѧ","Ѩ","Ѫ","Ѭ","Ѯ","Ѱ","Ѳ","Ѵ","Ѷ","Ѹ","Ѻ","Ѽ","Ѿ","Ҁ","Ҋ","Ҍ","Ҏ","Ґ","Ғ","Ҕ","Җ","Ҙ","Қ","Ҝ","Ҟ","Ҡ","Ң","Ҥ","Ҧ","Ҩ","Ҫ","Ҭ","Ү","Ұ","Ҳ","Ҵ","Ҷ","Ҹ","Һ","Ҽ","Ҿ",["Ӏ","Ӂ"],"Ӄ","Ӆ","Ӈ","Ӊ","Ӌ","Ӎ","Ӑ","Ӓ","Ӕ","Ӗ","Ә","Ӛ","Ӝ","Ӟ","Ӡ","Ӣ","Ӥ","Ӧ","Ө","Ӫ","Ӭ","Ӯ","Ӱ","Ӳ","Ӵ","Ӷ","Ӹ","Ӻ","Ӽ","Ӿ","Ԁ","Ԃ","Ԅ","Ԇ","Ԉ","Ԋ","Ԍ","Ԏ","Ԑ","Ԓ","Ԕ","Ԗ","Ԙ","Ԛ","Ԝ","Ԟ","Ԡ","Ԣ","Ԥ","Ԧ","Ԩ","Ԫ","Ԭ","Ԯ",["Ա","Ֆ"],["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["Ꭰ","Ᏽ"],["Ა","Ჺ"],["Ჽ","Ჿ"],"Ḁ","Ḃ","Ḅ","Ḇ","Ḉ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ḟ","Ḡ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ḭ","Ḯ","Ḱ","Ḳ","Ḵ","Ḷ","Ḹ","Ḻ","Ḽ","Ḿ","Ṁ","Ṃ","Ṅ","Ṇ","Ṉ","Ṋ","Ṍ","Ṏ","Ṑ","Ṓ","Ṕ","Ṗ","Ṙ","Ṛ","Ṝ","Ṟ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","Ṫ","Ṭ","Ṯ","Ṱ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ṽ","Ṿ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ẋ","Ẍ","Ẏ","Ẑ","Ẓ","Ẕ","ẞ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","Ỉ","Ị","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","Ỳ","Ỵ","Ỷ","Ỹ","Ỻ","Ỽ","Ỿ",["Ἀ","Ἇ"],["Ἐ","Ἕ"],["Ἠ","Ἧ"],["Ἰ","Ἷ"],["Ὀ","Ὅ"],"Ὑ","Ὓ","Ὕ","Ὗ",["Ὠ","Ὧ"],["Ᾰ","Ά"],["Ὲ","Ή"],["Ῐ","Ί"],["Ῠ","Ῥ"],["Ὸ","Ώ"],"ℂ","ℇ",["ℋ","ℍ"],["ℐ","ℒ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℰ","ℳ"],["ℾ","ℿ"],"ⅅ","Ↄ",["Ⰰ","Ⱟ"],"Ⱡ",["Ɫ","Ɽ"],"Ⱨ","Ⱪ","Ⱬ",["Ɑ","Ɒ"],"Ⱳ","Ⱶ",["Ȿ","Ⲁ"],"Ⲃ","Ⲅ","Ⲇ","Ⲉ","Ⲋ","Ⲍ","Ⲏ","Ⲑ","Ⲓ","Ⲕ","Ⲗ","Ⲙ","Ⲛ","Ⲝ","Ⲟ","Ⲡ","Ⲣ","Ⲥ","Ⲧ","Ⲩ","Ⲫ","Ⲭ","Ⲯ","Ⲱ","Ⲳ","Ⲵ","Ⲷ","Ⲹ","Ⲻ","Ⲽ","Ⲿ","Ⳁ","Ⳃ","Ⳅ","Ⳇ","Ⳉ","Ⳋ","Ⳍ","Ⳏ","Ⳑ","Ⳓ","Ⳕ","Ⳗ","Ⳙ","Ⳛ","Ⳝ","Ⳟ","Ⳡ","Ⳣ","Ⳬ","Ⳮ","Ⳳ","Ꙁ","Ꙃ","Ꙅ","Ꙇ","Ꙉ","Ꙋ","Ꙍ","Ꙏ","Ꙑ","Ꙓ","Ꙕ","Ꙗ","Ꙙ","Ꙛ","Ꙝ","Ꙟ","Ꙡ","Ꙣ","Ꙥ","Ꙧ","Ꙩ","Ꙫ","Ꙭ","Ꚁ","Ꚃ","Ꚅ","Ꚇ","Ꚉ","Ꚋ","Ꚍ","Ꚏ","Ꚑ","Ꚓ","Ꚕ","Ꚗ","Ꚙ","Ꚛ","Ꜣ","Ꜥ","Ꜧ","Ꜩ","Ꜫ","Ꜭ","Ꜯ","Ꜳ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ꜿ","Ꝁ","Ꝃ","Ꝅ","Ꝇ","Ꝉ","Ꝋ","Ꝍ","Ꝏ","Ꝑ","Ꝓ","Ꝕ","Ꝗ","Ꝙ","Ꝛ","Ꝝ","Ꝟ","Ꝡ","Ꝣ","Ꝥ","Ꝧ","Ꝩ","Ꝫ","Ꝭ","Ꝯ","Ꝺ","Ꝼ",["Ᵹ","Ꝿ"],"Ꞁ","Ꞃ","Ꞅ","Ꞇ","Ꞌ","Ɥ","Ꞑ","Ꞓ","Ꞗ","Ꞙ","Ꞛ","Ꞝ","Ꞟ","Ꞡ","Ꞣ","Ꞥ","Ꞧ","Ꞩ",["Ɦ","Ɪ"],["Ʞ","Ꞵ"],"Ꞷ","Ꞹ","Ꞻ","Ꞽ","Ꞿ","Ꟁ","Ꟃ",["Ꞔ","Ꟈ"],"Ꟊ","Ꟑ","Ꟗ","Ꟙ","Ꟶ",["A","Z"]],!1,!1),Do(["ः","ऻ",["ा","ी"],["ॉ","ौ"],["ॎ","ॏ"],["ং","ঃ"],["া","ী"],["ে","ৈ"],["ো","ৌ"],"ৗ","ਃ",["ਾ","ੀ"],"ઃ",["ા","ી"],"ૉ",["ો","ૌ"],["ଂ","ଃ"],"ା","ୀ",["େ","ୈ"],["ୋ","ୌ"],"ୗ",["ா","ி"],["ு","ூ"],["ெ","ை"],["ொ","ௌ"],"ௗ",["ఁ","ః"],["ు","ౄ"],["ಂ","ಃ"],"ಾ",["ೀ","ೄ"],["ೇ","ೈ"],["ೊ","ೋ"],["ೕ","ೖ"],"ೳ",["ം","ഃ"],["ാ","ീ"],["െ","ൈ"],["ൊ","ൌ"],"ൗ",["ං","ඃ"],["ා","ෑ"],["ෘ","ෟ"],["ෲ","ෳ"],["༾","༿"],"ཿ",["ါ","ာ"],"ေ","း",["ျ","ြ"],["ၖ","ၗ"],["ၢ","ၤ"],["ၧ","ၭ"],["ႃ","ႄ"],["ႇ","ႌ"],"ႏ",["ႚ","ႜ"],"᜕","᜴","ា",["ើ","ៅ"],["ះ","ៈ"],["ᤣ","ᤦ"],["ᤩ","ᤫ"],["ᤰ","ᤱ"],["ᤳ","ᤸ"],["ᨙ","ᨚ"],"ᩕ","ᩗ","ᩡ",["ᩣ","ᩤ"],["ᩭ","ᩲ"],"ᬄ","ᬵ","ᬻ",["ᬽ","ᭁ"],["ᭃ","᭄"],"ᮂ","ᮡ",["ᮦ","ᮧ"],"᮪","ᯧ",["ᯪ","ᯬ"],"ᯮ",["᯲","᯳"],["ᰤ","ᰫ"],["ᰴ","ᰵ"],"᳡","᳷",["〮","〯"],["ꠣ","ꠤ"],"ꠧ",["ꢀ","ꢁ"],["ꢴ","ꣃ"],["ꥒ","꥓"],"ꦃ",["ꦴ","ꦵ"],["ꦺ","ꦻ"],["ꦾ","꧀"],["ꨯ","ꨰ"],["ꨳ","ꨴ"],"ꩍ","ꩻ","ꩽ","ꫫ",["ꫮ","ꫯ"],"ꫵ",["ꯣ","ꯤ"],["ꯦ","ꯧ"],["ꯩ","ꯪ"],"꯬"],!1,!1),Do([["̀","ͯ"],["҃","҇"],["֑","ֽ"],"ֿ",["ׁ","ׂ"],["ׄ","ׅ"],"ׇ",["ؐ","ؚ"],["ً","ٟ"],"ٰ",["ۖ","ۜ"],["۟","ۤ"],["ۧ","ۨ"],["۪","ۭ"],"ܑ",["ܰ","݊"],["ަ","ް"],["߫","߳"],"߽",["ࠖ","࠙"],["ࠛ","ࠣ"],["ࠥ","ࠧ"],["ࠩ","࠭"],["࡙","࡛"],["࢘","࢟"],["࣊","࣡"],["ࣣ","ं"],"ऺ","़",["ु","ै"],"्",["॑","ॗ"],["ॢ","ॣ"],"ঁ","়",["ু","ৄ"],"্",["ৢ","ৣ"],"৾",["ਁ","ਂ"],"਼",["ੁ","ੂ"],["ੇ","ੈ"],["ੋ","੍"],"ੑ",["ੰ","ੱ"],"ੵ",["ઁ","ં"],"઼",["ુ","ૅ"],["ે","ૈ"],"્",["ૢ","ૣ"],["ૺ","૿"],"ଁ","଼","ି",["ୁ","ୄ"],"୍",["୕","ୖ"],["ୢ","ୣ"],"ஂ","ீ","்","ఀ","ఄ","఼",["ా","ీ"],["ె","ై"],["ొ","్"],["ౕ","ౖ"],["ౢ","ౣ"],"ಁ","಼","ಿ","ೆ",["ೌ","್"],["ೢ","ೣ"],["ഀ","ഁ"],["഻","഼"],["ു","ൄ"],"്",["ൢ","ൣ"],"ඁ","්",["ි","ු"],"ූ","ั",["ิ","ฺ"],["็","๎"],"ັ",["ິ","ຼ"],["່","໎"],["༘","༙"],"༵","༷","༹",["ཱ","ཾ"],["ྀ","྄"],["྆","྇"],["ྍ","ྗ"],["ྙ","ྼ"],"࿆",["ိ","ူ"],["ဲ","့"],["္","်"],["ွ","ှ"],["ၘ","ၙ"],["ၞ","ၠ"],["ၱ","ၴ"],"ႂ",["ႅ","ႆ"],"ႍ","ႝ",["፝","፟"],["ᜒ","᜔"],["ᜲ","ᜳ"],["ᝒ","ᝓ"],["ᝲ","ᝳ"],["឴","឵"],["ិ","ួ"],"ំ",["៉","៓"],"៝",["᠋","᠍"],"᠏",["ᢅ","ᢆ"],"ᢩ",["ᤠ","ᤢ"],["ᤧ","ᤨ"],"ᤲ",["᤹","᤻"],["ᨗ","ᨘ"],"ᨛ","ᩖ",["ᩘ","ᩞ"],"᩠","ᩢ",["ᩥ","ᩬ"],["ᩳ","᩼"],"᩿",["᪰","᪽"],["ᪿ","ᫎ"],["ᬀ","ᬃ"],"᬴",["ᬶ","ᬺ"],"ᬼ","ᭂ",["᭫","᭳"],["ᮀ","ᮁ"],["ᮢ","ᮥ"],["ᮨ","ᮩ"],["᮫","ᮭ"],"᯦",["ᯨ","ᯩ"],"ᯭ",["ᯯ","ᯱ"],["ᰬ","ᰳ"],["ᰶ","᰷"],["᳐","᳒"],["᳔","᳠"],["᳢","᳨"],"᳭","᳴",["᳸","᳹"],["᷀","᷿"],["⃐","⃜"],"⃡",["⃥","⃰"],["⳯","⳱"],"⵿",["ⷠ","ⷿ"],["〪","〭"],["゙","゚"],"꙯",["ꙴ","꙽"],["ꚞ","ꚟ"],["꛰","꛱"],"ꠂ","꠆","ꠋ",["ꠥ","ꠦ"],"꠬",["꣄","ꣅ"],["꣠","꣱"],"ꣿ",["ꤦ","꤭"],["ꥇ","ꥑ"],["ꦀ","ꦂ"],"꦳",["ꦶ","ꦹ"],["ꦼ","ꦽ"],"ꧥ",["ꨩ","ꨮ"],["ꨱ","ꨲ"],["ꨵ","ꨶ"],"ꩃ","ꩌ","ꩼ","ꪰ",["ꪲ","ꪴ"],["ꪷ","ꪸ"],["ꪾ","꪿"],"꫁",["ꫬ","ꫭ"],"꫶","ꯥ","ꯨ","꯭","ﬞ",["︀","️"],["︠","︯"]],!1,!1),Do([["0","9"],["٠","٩"],["۰","۹"],["߀","߉"],["०","९"],["০","৯"],["੦","੯"],["૦","૯"],["୦","୯"],["௦","௯"],["౦","౯"],["೦","೯"],["൦","൯"],["෦","෯"],["๐","๙"],["໐","໙"],["༠","༩"],["၀","၉"],["႐","႙"],["០","៩"],["᠐","᠙"],["᥆","᥏"],["᧐","᧙"],["᪀","᪉"],["᪐","᪙"],["᭐","᭙"],["᮰","᮹"],["᱀","᱉"],["᱐","᱙"],["꘠","꘩"],["꣐","꣙"],["꤀","꤉"],["꧐","꧙"],["꧰","꧹"],["꩐","꩙"],["꯰","꯹"],["0","9"]],!1,!1),Do([["ᛮ","ᛰ"],["Ⅰ","ↂ"],["ↅ","ↈ"],"〇",["〡","〩"],["〸","〺"],["ꛦ","ꛯ"]],!1,!1),Do(["_",["‿","⁀"],"⁔",["︳","︴"],["﹍","﹏"],"_"],!1,!1),Do([" "," "," ",[" "," "]," "," "," "],!1,!1),wo("enum",!1)),Xt=wo("map",!1),Zt=wo("false",!1),er=wo("import",!1),tr=(wo("null",!1),wo("true",!1)),rr=wo("as",!1),nr=(wo(";",!1),wo("}",!1)),ar=Do([["A","Z"],["a","z"]],!1,!1),or=(Do([["0","1"]],!1,!1),Do([["",""]],!1,!1),wo("\r",!1),Do([["\0",""],""],!1,!1),Do(['"'],!1,!1),Do([["A","F"]],!1,!0)),sr=(wo("\t",!1),Do([["\0","ÿ"]],!1,!1),wo(" ",!1),Do([["!","~"]],!1,!1),Do(["\t"," "],!1,!1),wo("%",!1)),ir=(Do(["!",["#","$"],["&",","],"/",[":",";"],"=",["?","@"],"[","]"],!1,!1),Do(["#","/",":",["?","@"],"[","]"],!1,!1),Do(["!","$",["&",","],";","="],!1,!1),Do([["-","."],["0","9"],["A","Z"],"_",["a","z"],"~"],!1,!1)),cr=wo(":",!1),lr=wo("?",!1),ur=wo("#",!1),pr=Do(["+",["-","."],["0","9"],["A","Z"],["a","z"]],!1,!1),dr=wo("@",!1),mr=Do(["!","$",["&",","],[":",";"],"="],!1,!1),hr=Do([["-","."],["0",":"],["A","Z"],"_",["a","z"],"~"],!1,!1),fr=wo("::",!1),gr=wo("25",!1),yr=Do([["0","5"]],!1,!1),vr=wo("2",!1),$r=Do([["0","4"]],!1,!1),Ar=wo("1",!1),br=(Do(["!","$",["&",","],";","=","@"],!1,!1),Do(["!","$",["&",","],[":",";"],"=","@"],!1,!1)),Tr=Do(["/","?"],!1,!1),Cr=wo("-",!1),wr=wo("+",!1),Dr=Do([["a","z"],["0","9"],"-"],!1,!0),Fr=Do([["a","z"],"-"],!1,!0),Er=wo("concerto",!1),Ir=wo("version",!1),Mr=wo("namespace",!1),Nr=wo("abstract",!1),Sr=wo("concept",!1),Or=wo("asset",!1),xr=wo("transaction",!1),Pr=wo("event",!1),Lr=wo("participant",!1),Rr=wo("scalar",!1),_r=wo("from",!1),kr=wo("*",!1),Vr=wo("Integer",!1),Br=wo("Double",!1),jr=wo("Long",!1),Ur=wo("String",!1),Qr=wo("DateTime",!1),zr=wo("Boolean",!1),Hr=wo("identified by",!1),Wr=wo("identified",!1),Gr=wo("[]",!1),qr=wo("(",!1),Jr=wo(",",!1),Kr=wo(")",!1),Yr=wo("extends",!1),Xr=wo("{",!1),Zr=wo("optional",!1),en=wo("default",!1),tn=wo("=",!1),rn=wo("o",!1),nn=wo("regex",!1),an=wo("length",!1),on=wo("range",!1),sn=wo("--\x3e",!1),cn=wo(".{",!1),ln=function(e){return e},un=function(e){return e},pn=function(e,t){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e+t.join("")}},dn=function(e){return e},mn=function(){return{type:"Literal",value:!0}},hn=function(){return{type:"Literal",value:!1}},fn=function(e){return e},gn=function(e){return e},yn=function(){return{type:"Literal",value:parseFloat(To())}},vn=function(){return{type:"Literal",value:parseFloat(To())}},$n=function(){return{type:"Literal",value:parseFloat(To())}},An=function(){return{type:"Literal",value:parseFloat(To())}},bn=function(e){return{type:"Literal",value:parseInt(e,16)}},Tn=function(e){return{type:"Literal",value:e.join("")}},Cn=function(e){return{type:"Literal",value:e.join("")}},wn=function(){return To()},Dn=function(e){return e},Fn=function(){return To()},En=function(e){return e},In=function(){return""},Mn=function(){return"\0"},Nn=function(){return"\b"},Sn=function(){return"\f"},On=function(){return"\n"},xn=function(){return"\r"},Pn=function(){return"\t"},Ln=function(){return"\v"},Rn=function(){return To()},_n=function(e){return String.fromCharCode(parseInt(e,16))},kn=function(e){return String.fromCharCode(parseInt(e,16))},Vn=function(e,t){return{$class:`${li}.StringRegexValidator`,pattern:e,flags:t}},Bn=function(e,t,r){return{versionCore:e,pre:t,build:r}},jn=function(e,t,r){return{major:parseInt(e,10),minor:parseInt(t,10),patch:parseInt(r,10)}},Un=function(e,t){return[e,...t]},Qn=function(e,t){return[e,...t]},zn=function(){return"Integer"},Hn=function(){return"Double"},Wn=function(){return"Long"},Gn=function(){return"String"},qn=function(){return"DateTime"},Jn=function(){return"Boolean"},Kn=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},Yn=function(e,t){return e+t},Xn=function(e){return{$class:"concerto.metamodel@1.0.0.IdentifiedBy",name:e.name}},Zn=function(){return{$class:"concerto.metamodel@1.0.0.Identified"}},ea=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorString",value:e.value,...mi(Co())}},ta=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorNumber",value:+e,...mi(Co())}},ra=function(e){return{$class:"concerto.metamodel@1.0.0.DecoratorBoolean",value:"true"==e,...mi(Co())}},na=function(e,t){return{$class:"concerto.metamodel@1.0.0.DecoratorTypeReference",type:e,isArray:!!t,...mi(Co())}},aa=function(e){return e},oa=function(e,t){return t?e.concat(t):[]},sa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.Decorator",name:e,...mi(Co())};return t&&(r.arguments=t),r},ia=function(e){return e},ca=function(e){return{$class:"concerto.metamodel@1.0.0.TypeIdentifier",name:e.name}},la=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.AssetDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(Co())};if(a){if(a.name===r.name)throw new Error(`The asset "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ua=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ParticipantDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(Co())};if(a){if(a.name===r.name)throw new Error(`The participant "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},pa=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.TransactionDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(Co())};if(a){if(a.name===r.name)throw new Error(`The transaction "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},da=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.EventDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(Co())};if(a){if(a.name===r.name)throw new Error(`The event "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ma=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ConceptDeclaration",name:r.name,isAbstract:di(t),properties:o.declarations,...mi(Co())};if(a){if(a.name===r.name)throw new Error(`The concept "${r.name}" cannot extend itself.`);s.superType=a}return n&&(s.identified=n),e.length>0&&(s.decorators=e),s},ha=function(e){const t={$class:"concerto.metamodel@1.0.0.BooleanScalar"};return e&&(t.defaultValue="true"===e),t},fa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.IntegerScalar"};return e&&(r.defaultValue=parseInt(e)),t&&(r.validator=t),r},ga=function(e,t){const r={$class:"concerto.metamodel@1.0.0.LongScalar"};return e&&(r.defaultValue=parseInt(e)),t&&(r.validator=t),r},ya=function(e,t){const r={$class:"concerto.metamodel@1.0.0.DoubleScalar"};return e&&(r.defaultValue=parseFloat(e)),t&&(r.validator=t),r},va=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.StringScalar"};return e&&(n.defaultValue=e),t&&(n.validator=t),r&&(n.lengthValidator=r),n},$a=function(e){return{$class:"concerto.metamodel@1.0.0.DateTimeScalar",defaultValue:e}},Aa=function(e,t,r){const n={...r,name:t.name,...mi(Co())};return e.length>0&&(n.decorators=e),n},ba=function(){return{type:"Optional"}},Ta=function(e){return e.value},Ca=function(e){return e},wa=function(e){return e},Da=function(e){return e},Fa=function(e){return{type:"ClassDeclarationBody",declarations:pi(e),...mi(Co())}},Ea=function(e,t,r,n,a,o){const s={$class:"concerto.metamodel@1.0.0.ObjectProperty",name:n.name,type:t,isArray:di(r),isOptional:di(o),...mi(Co())};return a&&(s.defaultValue=a),e.length>0&&(s.decorators=e),s},Ia=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.BooleanProperty",name:r.name,isArray:di(t),isOptional:di(a),...mi(Co())};return n&&(o.defaultValue="true"===n),e.length>0&&(o.decorators=e),o},Ma=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.DateTimeProperty",name:r.name,isArray:di(t),isOptional:di(a),...mi(Co())};return n&&(o.defaultValue=n),e.length>0&&(o.decorators=e),o},Na=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.StringProperty",name:r.name,isArray:di(t),isOptional:di(s),...mi(Co())};return n&&(i.defaultValue=n),e.length>0&&(i.decorators=e),a&&(i.validator=a),o&&(i.lengthValidator=o),i},Sa=function(e){return e},Oa=function(e,t){const r={$class:`${li}.StringLengthValidator`};return e&&(r.minLength=parseInt(e)),t&&(r.maxLength=parseInt(t)),r},xa=function(e,t){const r={$class:`${li}.DoubleDomainValidator`};return e&&(r.lower=parseFloat(e)),t&&(r.upper=parseFloat(t)),r},Pa=function(e,t){const r={$class:`${li}.IntegerDomainValidator`};return e&&(r.lower=parseInt(e)),t&&(r.upper=parseInt(t)),r},La=function(e,t){const r={$class:`${li}.LongDomainValidator`};return e&&(r.lower=parseInt(e)),t&&(r.upper=parseInt(t)),r},Ra=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.DoubleProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(Co())};return a&&(i.defaultValue=parseFloat(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},_a=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.IntegerProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(Co())};return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},ka=function(e,t,r,n,a,o,s){const i={$class:"concerto.metamodel@1.0.0.LongProperty",name:n.name,isArray:di(r),isOptional:di(s),...mi(Co())};return a&&(i.defaultValue=parseInt(a)),e.length>0&&(i.decorators=e),o&&(i.validator=o),i},Va=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.MapDeclaration",name:t.name,key:r.declarations[0],value:r.declarations[1],...mi(Co())};return e.length>0&&(n.decorators=e),n},Ba=function(e,t){return{type:"MapDeclarationBody",declarations:pi([e,t])}},ja=function(e){const t={$class:"concerto.metamodel@1.0.0.StringMapKeyType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Ua=function(e){const t={$class:"concerto.metamodel@1.0.0.DateTimeMapKeyType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Qa=function(e,t){const r={$class:"concerto.metamodel@1.0.0.ObjectMapKeyType",type:t,...mi(Co())};return e.length>0&&(r.decorators=e),r},za=function(e){const t={$class:"concerto.metamodel@1.0.0.BooleanMapValueType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Ha=function(e){const t={$class:"concerto.metamodel@1.0.0.DateTimeMapValueType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Wa=function(e){const t={$class:"concerto.metamodel@1.0.0.StringMapValueType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Ga=function(e){const t={$class:"concerto.metamodel@1.0.0.IntegerMapValueType",...mi(Co())};return e.length>0&&(t.decorators=e),t},qa=function(e){const t={$class:"concerto.metamodel@1.0.0.LongMapValueType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Ja=function(e){const t={$class:"concerto.metamodel@1.0.0.DoubleMapValueType",...mi(Co())};return e.length>0&&(t.decorators=e),t},Ka=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.ObjectMapValueType",type:r,...mi(Co())};return"--\x3e"===t&&(n.$class="concerto.metamodel@1.0.0.RelationshipMapValueType"),e.length>0&&(n.decorators=e),n},Ya=function(e,t,r){const n={$class:"concerto.metamodel@1.0.0.EnumDeclaration",name:t.name,properties:r.declarations,...mi(Co())};return e.length>0&&(n.decorators=e),n},Xa=function(e){return{type:"EnumDeclarationBody",declarations:pi(e)}},Za=function(e,t){const r={$class:"concerto.metamodel@1.0.0.EnumProperty",name:t.name,...mi(Co())};return e.length>0&&(r.decorators=e),r},eo=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.RelationshipProperty",name:n.name,type:t,isArray:di(r),isOptional:di(a),...mi(Co())};return e.length>0&&(o.decorators=e),o},to=function(e,t){return e.concat(JSON.stringify(t).replace(/['"]+/g,""))},ro=function(e,t,r){return`${e}@${t}.${r}`},no=function(e,t){return`${e}@${t}`},ao=function(e){return e},oo=function(e){return e},so=function(e,t){const r={$class:"concerto.metamodel@1.0.0.ImportAll",namespace:e};return t&&(r.uri=t),r},io=function(e,t){const{namespace:r,name:n}=function(e){const t=e.split(".");return{name:t.pop(),namespace:t.join(".")}}(e),a={$class:`${li}.ImportType`,name:n,namespace:r};return t&&(a.uri=t),a},co=function(e,t,r){const{aliasedTypes:n,typesNames:a}=t.reduce(((e,t)=>("concerto.metamodel@1.0.0.AliasedType"===t.$class?(e.aliasedTypes.push(t),e.typesNames.push(t.name)):e.typesNames.push(t),e)),{aliasedTypes:[],typesNames:[]}),o={$class:"concerto.metamodel@1.0.0.ImportTypes",namespace:e,types:a,...n.length>0&&{aliasedTypes:n}};return r&&(o.uri=r),o},lo=function(e,t){if(["Boolean","String","DateTime","Double","Integer","Long"].indexOf(t)>=0)throw new Error(`A type cannot be aliased to a Primitive type, here "${e}" is being aliased as "${t}".`);return{$class:"concerto.metamodel@1.0.0.AliasedType",name:e,aliasedName:t}},uo=function(e,t){return[e,...t.map((e=>e[2]))]},po=function(e){return e.value},mo=function(e,t,r,n,a){const o={$class:"concerto.metamodel@1.0.0.Model",decorators:pi(t),namespace:r,imports:pi(n),declarations:pi(a)};return e&&(o.concertoVersion=e),o},ho=function(e,t){return ui(e,t,1)},fo=function(e,t){return ui(e,t,1)},go=0|r.peg$currPos,yo=go,vo=[{line:1,column:1}],$o=go,Ao=r.peg$maxFailExpected||[],bo=0|r.peg$silentFails;if(r.startRule){if(!(r.startRule in s))throw new Error("Can't start parsing from rule \""+r.startRule+'".');i=s[r.startRule]}function To(){return e.substring(yo,go)}function Co(){return Io(yo,go)}function wo(e,t){return{type:"literal",text:e,ignoreCase:t}}function Do(e,t,r){return{type:"class",parts:e,inverted:t,ignoreCase:r}}function Fo(e){return{type:"other",description:e}}function Eo(t){var r,n=vo[t];if(n)return n;if(t>=vo.length)r=vo.length-1;else for(r=t;!vo[--r];);for(n={line:(n=vo[r]).line,column:n.column};r<t;)10===e.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return vo[t]=n,n}function Io(e,t,r){var n=Eo(e),a=Eo(t),s={source:o,start:{offset:e,line:n.line,column:n.column},end:{offset:t,line:a.line,column:a.column}};return r&&o&&"function"==typeof o.offset&&(s.start=o.offset(s.start),s.end=o.offset(s.end)),s}function Mo(e){go<$o||(go>$o&&($o=go,Ao=[]),Ao.push(e))}function No(){var t,r;return t=go,ss(),r=function(){var t,r,n,o,s,i;return t=go,r=function(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,8)===J?(r=J,go+=8):(r=a,0===bo&&Mo(Er)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,7)===K?(r=K,go+=7):(r=a,0===bo&&Mo(Ir)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=Go())!==a?(ss(),yo=t,t=po(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r===a&&(r=null),n=Us(),o=function(){var t,r,n;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,9)===Y?(r=Y,go+=9):(r=a,0===bo&&Mo(Mr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),(n=ai())!==a?(ss(),yo=t,t=ao(n)):(go=t,t=a)):(go=t,t=a),t}(),o!==a?(s=function(){var e,t,r,n,o,s;if(e=go,(t=ii())!==a){for(r=[],n=go,o=ss(),(s=ii())!==a?n=o=[o,s]:(go=n,n=a);n!==a;)r.push(n),n=go,o=ss(),(s=ii())!==a?n=o=[o,s]:(go=n,n=a);yo=e,e=ho(t,r)}else go=e,e=a;return e}(),s===a&&(s=null),i=function(){var e,t,r,n,o,s;if(e=go,(t=ci())!==a){for(r=[],n=go,o=ss(),(s=ci())!==a?n=o=[o,s]:(go=n,n=a);n!==a;)r.push(n),n=go,o=ss(),(s=ci())!==a?n=o=[o,s]:(go=n,n=a);yo=e,e=fo(t,r)}else go=e,e=a;return e}(),i===a&&(i=null),yo=t,t=mo(r,n,o,s,i)):(go=t,t=a),t}(),r!==a?(ss(),yo=t,t=ln(r)):(go=t,t=a),t}function So(){var t;return e.length>go?(t=e.charAt(go),go++):(t=a,0===bo&&Mo(at)),t}function Oo(){var t;return bo++,t=e.charAt(go),Ne.test(t)?go++:(t=a,0===bo&&Mo(st)),bo--,t===a&&0===bo&&Mo(ot),t}function xo(){var t;return t=e.charAt(go),Se.test(t)?go++:(t=a,0===bo&&Mo(it)),t}function Po(){var t;return bo++,10===e.charCodeAt(go)?(t=c,go++):(t=a,0===bo&&Mo(lt)),t===a&&(e.substr(go,2)===l?(t=l,go+=2):(t=a,0===bo&&Mo(ut)),t===a&&(t=e.charAt(go),Oe.test(t)?go++:(t=a,0===bo&&Mo(pt)))),bo--,t===a&&0===bo&&Mo(ct),t}function Lo(){var t;return bo++,(t=function(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===u?(r=u,go+=2):(r=a,0===bo&&Mo(mt)),r!==a){for(n=[],o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=So())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=So())!==a?o=s=[s,i]:(go=o,o=a);e.substr(go,2)===p?(o=p,go+=2):(o=a,0===bo&&Mo(ht)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}())===a&&(t=function(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===d?(r=d,go+=2):(r=a,0===bo&&Mo(ft)),r!==a){for(n=[],o=go,s=go,bo++,i=xo(),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=So())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,i=xo(),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=So())!==a?o=s=[s,i]:(go=o,o=a);t=r=[r,n]}else go=t,t=a;return t}()),bo--,t===a&&0===bo&&Mo(dt),t}function Ro(){var t,r,n,o,s,i;if(t=go,e.substr(go,2)===u?(r=u,go+=2):(r=a,0===bo&&Mo(mt)),r!==a){for(n=[],o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),i===a&&(i=xo()),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=So())!==a?o=s=[s,i]:(go=o,o=a);o!==a;)n.push(o),o=go,s=go,bo++,e.substr(go,2)===p?(i=p,go+=2):(i=a,0===bo&&Mo(ht)),i===a&&(i=xo()),bo--,i===a?s=void 0:(go=s,s=a),s!==a&&(i=So())!==a?o=s=[s,i]:(go=o,o=a);e.substr(go,2)===p?(o=p,go+=2):(o=a,0===bo&&Mo(ht)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}function _o(){var e,t;return e=go,t=function(){var e,t,r,n;if(bo++,e=go,(t=ko())!==a){for(r=[],n=Vo();n!==a;)r.push(n),n=Vo();yo=e,e=pn(t,r)}else go=e,e=a;return bo--,e===a&&(t=a,0===bo&&Mo(gt)),e}(),t!==a&&(yo=e,t=un(t)),t}function ko(){var t,r,n;return t=e.charAt(go),xe.test(t)?go++:(t=a,0===bo&&Mo(yt)),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Zo())!==a?(yo=t,t=dn(n)):(go=t,t=a)),t}function Vo(){var t;return(t=ko())===a&&(t=e.charAt(go),Pe.test(t)?go++:(t=a,0===bo&&Mo($t))),t}function Bo(){var t,r;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,4)===L?(r=L,go+=4):(r=a,0===bo&&Mo(tr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a&&(yo=t,r=mn()),(t=r)===a&&(t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,5)===x?(r=x,go+=5):(r=a,0===bo&&Mo(Zt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a&&(yo=t,r=hn()),t=r),t}function jo(){var t,r,n,o,s;if(t=go,r=e.charAt(go),Le.test(r)?go++:(r=a,0===bo&&Mo(Tt)),r===a&&(r=null),Uo()!==a)if(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a){for(o=[],s=Qo();s!==a;)o.push(s),s=Qo();(s=zo())===a&&(s=null),yo=t,t=An()}else go=t,t=a;else go=t,t=a;return t}function Uo(){var t,r,n,o;if(48===e.charCodeAt(go)?(t=f,go++):(t=a,0===bo&&Mo(Ct)),t===a)if(t=go,r=function(){var t;return t=e.charAt(go),_e.test(t)?go++:(t=a,0===bo&&Mo(Dt)),t}(),r!==a){for(n=[],o=Qo();o!==a;)n.push(o),o=Qo();t=r=[r,n]}else go=t,t=a;return t}function Qo(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function zo(){var t,r,n;return t=go,r=function(){var t;return(t=e.charAt(go)).toLowerCase()===g?go++:(t=a,0===bo&&Mo(Ft)),t}(),r!==a&&(n=Ho())!==a?t=r=[r,n]:(go=t,t=a),t}function Ho(){var t,r,n,o;if(t=go,r=e.charAt(go),Le.test(r)?go++:(r=a,0===bo&&Mo(Tt)),r===a&&(r=null),n=[],(o=Qo())!==a)for(;o!==a;)n.push(o),o=Qo();else n=a;return n!==a?t=r=[r,n]:(go=t,t=a),t}function Wo(){var t;return t=e.charAt(go),ke.test(t)?go++:(t=a,0===bo&&Mo(It)),t}function Go(){var t,r,n,o;if(bo++,t=go,34===e.charCodeAt(go)?(r=v,go++):(r=a,0===bo&&Mo(Nt)),r!==a){for(n=[],o=qo();o!==a;)n.push(o),o=qo();34===e.charCodeAt(go)?(o=v,go++):(o=a,0===bo&&Mo(Nt)),o!==a?(yo=t,t=Tn(n)):(go=t,t=a)}else go=t,t=a;if(t===a)if(t=go,39===e.charCodeAt(go)?(r=$,go++):(r=a,0===bo&&Mo(St)),r!==a){for(n=[],o=Jo();o!==a;)n.push(o),o=Jo();39===e.charCodeAt(go)?(o=$,go++):(o=a,0===bo&&Mo(St)),o!==a?(yo=t,t=Cn(n)):(go=t,t=a)}else go=t,t=a;return bo--,t===a&&(r=a,0===bo&&Mo(Mt)),t}function qo(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Ve.test(n)?go++:(n=a,0===bo&&Mo(Ot)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=So())!==a?(yo=t,t=wn()):(go=t,t=a),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Yo())!==a?(yo=t,t=Dn(n)):(go=t,t=a),t===a&&(t=Ko())),t}function Jo(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Be.test(n)?go++:(n=a,0===bo&&Mo(xt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=So())!==a?(yo=t,t=Fn()):(go=t,t=a),t===a&&(t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=Yo())!==a?(yo=t,t=En(n)):(go=t,t=a),t===a&&(t=Ko())),t}function Ko(){var t,r;return t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&Po()!==a?(yo=t,t=In()):(go=t,t=a),t}function Yo(){var t,r,n,o;return t=function(){var t;return(t=Xo())===a&&(t=function(){var t,r,n;return t=go,r=go,bo++,n=function(){var t;return(t=Xo())===a&&(t=e.charAt(go),Ue.test(t)?go++:(t=a,0===bo&&Mo(jt))),t}(),n===a&&(n=xo()),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=So())!==a?(yo=t,t=Rn()):(go=t,t=a),t}()),t}(),t===a&&(t=go,48===e.charCodeAt(go)?(r=f,go++):(r=a,0===bo&&Mo(Ct)),r!==a?(n=go,bo++,o=Qo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Mn()):(go=t,t=a)):(go=t,t=a),t===a&&(t=function(){var t,r,n,o,s,i;return t=go,120===e.charCodeAt(go)?(r=F,go++):(r=a,0===bo&&Mo(Ut)),r!==a?(n=go,o=go,(s=Wo())!==a&&(i=Wo())!==a?o=s=[s,i]:(go=o,o=a),(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=_n(n)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=Zo()))),t}function Xo(){var t,r;return t=e.charAt(go),je.test(t)?go++:(t=a,0===bo&&Mo(Pt)),t===a&&(t=go,98===e.charCodeAt(go)?(r=A,go++):(r=a,0===bo&&Mo(Lt)),r!==a&&(yo=t,r=Nn()),(t=r)===a&&(t=go,102===e.charCodeAt(go)?(r=b,go++):(r=a,0===bo&&Mo(Rt)),r!==a&&(yo=t,r=Sn()),(t=r)===a&&(t=go,110===e.charCodeAt(go)?(r=T,go++):(r=a,0===bo&&Mo(_t)),r!==a&&(yo=t,r=On()),(t=r)===a&&(t=go,114===e.charCodeAt(go)?(r=C,go++):(r=a,0===bo&&Mo(kt)),r!==a&&(yo=t,r=xn()),(t=r)===a&&(t=go,116===e.charCodeAt(go)?(r=w,go++):(r=a,0===bo&&Mo(Vt)),r!==a&&(yo=t,r=Pn()),(t=r)===a&&(t=go,118===e.charCodeAt(go)?(r=D,go++):(r=a,0===bo&&Mo(Bt)),r!==a&&(yo=t,r=Ln()),t=r)))))),t}function Zo(){var t,r,n,o,s,i,c,l;return t=go,117===e.charCodeAt(go)?(r=E,go++):(r=a,0===bo&&Mo(Qt)),r!==a?(n=go,o=go,(s=Wo())!==a&&(i=Wo())!==a&&(c=Wo())!==a&&(l=Wo())!==a?o=s=[s,i,c,l]:(go=o,o=a),(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=kn(n)):(go=t,t=a)):(go=t,t=a),t}function es(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),ze.test(n)?go++:(n=a,0===bo&&Mo(Gt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts())===a&&(t=ns()),t}function ts(){var t,r,n;return t=go,92===e.charCodeAt(go)?(r=m,go++):(r=a,0===bo&&Mo(vt)),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t}function rs(){var e,t,r;return e=go,t=go,bo++,r=xo(),bo--,r===a?t=void 0:(go=t,t=a),t!==a&&(r=So())!==a?e=t=[t,r]:(go=e,e=a),e}function ns(){var t,r,n,o;if(t=go,91===e.charCodeAt(go)?(r=M,go++):(r=a,0===bo&&Mo(qt)),r!==a){for(n=[],o=as();o!==a;)n.push(o),o=as();93===e.charCodeAt(go)?(o=N,go++):(o=a,0===bo&&Mo(Jt)),o!==a?t=r=[r,n,o]:(go=t,t=a)}else go=t,t=a;return t}function as(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),He.test(n)?go++:(n=a,0===bo&&Mo(Kt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts()),t}function os(){var t,r,n,o;return t=go,e.substr(go,6)===P?(r=P,go+=6):(r=a,0===bo&&Mo(er)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function ss(){var e,t;for(e=[],(t=Oo())===a&&(t=Po())===a&&(t=Lo());t!==a;)e.push(t),(t=Oo())===a&&(t=Po())===a&&(t=Lo());return e}function is(){var e,t;for(e=[],(t=Oo())===a&&(t=Ro());t!==a;)e.push(t),(t=Oo())===a&&(t=Ro());return e}function cs(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function ls(){var t;return(t=cs())===a&&(t=e.charAt(go),Ge.test(t)?go++:(t=a,0===bo&&Mo(or))),t}function us(){var t,r,n,o,s;return t=go,r=go,37===e.charCodeAt(go)?(n=k,go++):(n=a,0===bo&&Mo(sr)),n!==a&&(o=ls())!==a&&(s=ls())!==a?r=n=[n,o,s]:(go=r,r=a),r!==a?e.substring(t,go):r}function ps(){var t;return t=e.charAt(go),qe.test(t)?go++:(t=a,0===bo&&Mo(ir)),t}function ds(){var t,r,n,o;return t=go,(r=hs())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a&&(o=hs())!==a?t=r=[r,n,o]:(go=t,t=a)):(go=t,t=a),t===a&&(t=fs()),t}function ms(){var t,r,n;return t=go,(r=hs())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function hs(){var t,r,n,o,s,i,c,l;return t=go,r=go,(n=ls())!==a?(o=go,(s=ls())!==a?(i=go,(c=ls())!==a?((l=ls())===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),r=n=[n,o]):(go=r,r=a),r!==a?e.substring(t,go):r}function fs(){var t,r,n,o,s,i,c,l,u;return t=go,r=go,(n=gs())!==a?(46===e.charCodeAt(go)?(o=h,go++):(o=a,0===bo&&Mo(bt)),o!==a&&(s=gs())!==a?(46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=gs())!==a?(46===e.charCodeAt(go)?(l=h,go++):(l=a,0===bo&&Mo(bt)),l!==a&&(u=gs())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a)):(go=r,r=a)):(go=r,r=a)):(go=r,r=a),r!==a?e.substring(t,go):r}function gs(){var t,r,n,o,s;return t=go,r=go,e.substr(go,2)===z?(n=z,go+=2):(n=a,0===bo&&Mo(gr)),n!==a?(o=e.charAt(go),Xe.test(o)?go++:(o=a,0===bo&&Mo(yr)),o!==a?r=n=[n,o]:(go=r,r=a)):(go=r,r=a),r===a&&(r=go,50===e.charCodeAt(go)?(n=H,go++):(n=a,0===bo&&Mo(vr)),n!==a?(o=e.charAt(go),Ze.test(o)?go++:(o=a,0===bo&&Mo($r)),o!==a&&(s=cs())!==a?r=n=[n,o,s]:(go=r,r=a)):(go=r,r=a),r===a&&(r=go,49===e.charCodeAt(go)?(n=W,go++):(n=a,0===bo&&Mo(Ar)),n!==a&&(o=cs())!==a&&(s=cs())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=e.charAt(go),_e.test(n)?go++:(n=a,0===bo&&Mo(Dt)),n!==a&&(o=cs())!==a?r=n=[n,o]:(go=r,r=a),r===a&&(r=cs())))),r!==a?e.substring(t,go):r}function ys(){var e;return(e=ps())===a&&(e=us()),e}function vs(){var t,r,n,o;for(t=go,r=[],n=go,47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?n=o=[o,$s()]:(go=n,n=a);n!==a;)r.push(n),n=go,47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?n=o=[o,$s()]:(go=n,n=a);return e.substring(t,go)}function $s(){var t,r,n;for(t=go,r=[],n=bs();n!==a;)r.push(n),n=bs();return e.substring(t,go)}function As(){var t,r,n;if(t=go,r=[],(n=bs())!==a)for(;n!==a;)r.push(n),n=bs();else r=a;return r!==a?e.substring(t,go):r}function bs(){var t;return(t=ps())===a&&(t=us())===a&&(t=e.charAt(go),et.test(t)?go++:(t=a,0===bo&&Mo(br))),t}function Ts(){var t,r,n;for(t=go,r=[],(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Tr)));n!==a;)r.push(n),(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Tr)));return e.substring(t,go)}function Cs(){var t,r,n;for(t=go,r=[],(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Tr)));n!==a;)r.push(n),(n=bs())===a&&(n=e.charAt(go),tt.test(n)?go++:(n=a,0===bo&&Mo(Tr)));return e.substring(t,go)}function ws(){var t,r,n,o,s,i;return t=go,r=function(){var t,r,n,o,s,i,c;return t=go,r=go,(r=(n=Is())!==a?e.substring(r,go):n)!==a?(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a?(o=go,(o=(s=Is())!==a?e.substring(o,go):s)!==a?(46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Is())!==a?e.substring(i,go):c)!==a?(yo=t,t=jn(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r!==a?(n=go,45===e.charCodeAt(go)?(o=G,go++):(o=a,0===bo&&Mo(Cr)),o!==a?(s=function(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=Ds())!==a?e.substring(r,go):n)!==a){for(n=[],o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Ds())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Ds())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);yo=t,t=Un(r,n)}else go=t,t=a;return t}(),s!==a?n=s:(go=n,n=a)):(go=n,n=a),n===a&&(n=null),o=go,43===e.charCodeAt(go)?(s=q,go++):(s=a,0===bo&&Mo(wr)),s!==a?(i=function(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=Fs())!==a?e.substring(r,go):n)!==a){for(n=[],o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Fs())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=Fs())!==a?e.substring(i,go):c)!==a?o=i:(go=o,o=a)):(go=o,o=a);yo=t,t=Qn(r,n)}else go=t,t=a;return t}(),i!==a?o=i:(go=o,o=a)):(go=o,o=a),o===a&&(o=null),yo=t,t=Bn(r,n,o)):(go=t,t=a),t}function Ds(){var e;return(e=Es())===a&&(e=Is()),e}function Fs(){var e,t;if((e=Es())===a)if(e=[],(t=Ns())!==a)for(;t!==a;)e.push(t),t=Ns();else e=a;return e}function Es(){var t,r,n,o,s;for(t=go,r=[],n=Ns();n!==a;)r.push(n),n=Ns();if(n=function(){var t;return t=e.charAt(go),nt.test(t)?go++:(t=a,0===bo&&Mo(Fr)),t}(),n!==a){for(o=[],s=Ms();s!==a;)o.push(s),s=Ms();t=r=[r,n,o]}else go=t,t=a;return t}function Is(){var t,r,n,o;if(48===e.charCodeAt(go)?(t=f,go++):(t=a,0===bo&&Mo(Ct)),t===a)if(t=go,r=function(){var t;return t=e.charAt(go),_e.test(t)?go++:(t=a,0===bo&&Mo(Dt)),t}(),r!==a){for(n=[],o=Ns();o!==a;)n.push(o),o=Ns();t=r=[r,n]}else go=t,t=a;return t}function Ms(){var t;return t=e.charAt(go),rt.test(t)?go++:(t=a,0===bo&&Mo(Dr)),t}function Ns(){var t;return t=e.charAt(go),Re.test(t)?go++:(t=a,0===bo&&Mo(wt)),t}function Ss(){var t,r,n,o;return t=go,e.substr(go,8)===X?(r=X,go+=8):(r=a,0===bo&&Mo(Nr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}function Os(){var t,r,n,o;return t=go,e.substr(go,7)===ie?(r=ie,go+=7):(r=a,0===bo&&Mo(Vr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=zn()):(go=t,t=a)):(go=t,t=a),t}function xs(){var t,r,n,o;return t=go,e.substr(go,6)===ce?(r=ce,go+=6):(r=a,0===bo&&Mo(Br)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Hn()):(go=t,t=a)):(go=t,t=a),t}function Ps(){var t,r,n,o;return t=go,e.substr(go,4)===le?(r=le,go+=4):(r=a,0===bo&&Mo(jr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Wn()):(go=t,t=a)):(go=t,t=a),t}function Ls(){var t,r,n,o;return t=go,e.substr(go,6)===ue?(r=ue,go+=6):(r=a,0===bo&&Mo(Ur)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Gn()):(go=t,t=a)):(go=t,t=a),t}function Rs(){var t,r,n,o;return t=go,e.substr(go,8)===pe?(r=pe,go+=8):(r=a,0===bo&&Mo(Qr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=qn()):(go=t,t=a)):(go=t,t=a),t}function _s(){var t,r,n,o;return t=go,e.substr(go,7)===de?(r=de,go+=7):(r=a,0===bo&&Mo(zr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=Jn()):(go=t,t=a)):(go=t,t=a),t}function ks(){var e,t,r,n,o;return e=go,t=go,bo++,r=function(){var e;return(e=Ls())===a&&(e=function(){var e;return(e=Os())===a&&(e=xs())===a&&(e=Ps()),e}())===a&&(e=Rs())===a&&(e=_s()),e}(),bo--,r===a?t=void 0:(go=t,t=a),t!==a&&(r=_o())!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=e,e=Kn(r)):(go=e,e=a)):(go=e,e=a),e}function Vs(){var t;return(t=function(){var t,r,n;return t=go,e.substr(go,13)===me?(r=me,go+=13):(r=a,0===bo&&Mo(Hr)),r!==a?(ss(),(n=_o())!==a?(yo=t,t=Xn(n)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r;return t=go,e.substr(go,10)===he?(r=he,go+=10):(r=a,0===bo&&Mo(Wr)),r!==a&&(yo=t,r=Zn()),r}()),t}function Bs(){var t;return(t=function(){var e,t;return e=go,(t=Go())!==a&&(yo=e,t=ea(t)),t}())===a&&(t=function(){var t,r,n;return t=go,r=go,(r=(n=Bo())!==a?e.substring(r,go):n)!==a&&(yo=t,r=ra(r)),r}())===a&&(t=function(){var t,r;return t=go,r=function(){var t,r,n,o;return t=go,r=go,45===e.charCodeAt(go)?(n=G,go++):(n=a,0===bo&&Mo(Cr)),n===a&&(n=null),r=e.substring(r,go),n=go,(n=(o=function(){var t,r,n,o;return bo++,t=go,r=function(){var t,r,n,o,s;if(t=go,(r=e.substr(go,2)).toLowerCase()===y?go+=2:(r=a,0===bo&&Mo(Et)),r!==a){if(n=go,o=[],(s=Wo())!==a)for(;s!==a;)o.push(s),s=Wo();else o=a;(n=o!==a?e.substring(n,go):o)!==a?(yo=t,t=bn(n)):(go=t,t=a)}else go=t,t=a;return t}(),r!==a?(n=go,bo++,(o=ko())===a&&(o=Qo()),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=fn(r)):(go=t,t=a)):(go=t,t=a),t===a&&(t=go,r=function(){var t,r,n,o,s;if(t=go,(r=Uo())!==a)if(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a){for(o=[],s=Qo();s!==a;)o.push(s),s=Qo();(s=zo())===a&&(s=null),yo=t,t=yn()}else go=t,t=a;else go=t,t=a;if(t===a){if(t=go,46===e.charCodeAt(go)?(r=h,go++):(r=a,0===bo&&Mo(bt)),r!==a){if(n=[],(o=Qo())!==a)for(;o!==a;)n.push(o),o=Qo();else n=a;n!==a?((o=zo())===a&&(o=null),yo=t,t=vn()):(go=t,t=a)}else go=t,t=a;t===a&&(t=go,(r=Uo())!==a?((n=zo())===a&&(n=null),yo=t,t=$n()):(go=t,t=a))}return t}(),r!==a?(n=go,bo++,(o=ko())===a&&(o=Qo()),bo--,o===a?n=void 0:(go=n,n=a),n!==a?(yo=t,t=gn(r)):(go=t,t=a)):(go=t,t=a)),bo--,t===a&&(r=a,0===bo&&Mo(At)),t}())!==a?e.substring(n,go):o)!==a?(yo=t,t=Yn(r,n)):(go=t,t=a),t}(),r!==a&&(yo=t,r=ta(r)),r}())===a&&(t=function(){var t,r,n;return t=go,(r=_o())!==a?(ss(),e.substr(go,2)===fe?(n=fe,go+=2):(n=a,0===bo&&Mo(Gr)),n===a&&(n=null),yo=t,t=na(r,n)):(go=t,t=a),t}()),t}function js(){var t,r,n,o;return t=go,64===e.charCodeAt(go)?(r=U,go++):(r=a,0===bo&&Mo(dr)),r!==a?(n=go,(n=(o=_o())!==a?e.substring(n,go):o)!==a?(o=function(){var t,r,n,o,s,i,c;if(t=go,40===e.charCodeAt(go)?(r=ge,go++):(r=a,0===bo&&Mo(qr)),r!==a){for(ss(),n=[],o=go,(s=Bs())!==a?(i=ss(),44===e.charCodeAt(go)?(c=ye,go++):(c=a,0===bo&&Mo(Jr)),c!==a?(ss(),yo=o,o=aa(s)):(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,(s=Bs())!==a?(i=ss(),44===e.charCodeAt(go)?(c=ye,go++):(c=a,0===bo&&Mo(Jr)),c!==a?(ss(),yo=o,o=aa(s)):(go=o,o=a)):(go=o,o=a);(o=Bs())===a&&(o=null),s=ss(),41===e.charCodeAt(go)?(i=ve,go++):(i=a,0===bo&&Mo(Kr)),i!==a?(yo=t,t=oa(n,o)):(go=t,t=a)}else go=t,t=a;return t}(),o===a&&(o=null),yo=t,t=sa(n,o)):(go=t,t=a)):(go=t,t=a),t}function Us(){var e,t,r;for(e=[],t=go,(r=js())!==a?(ss(),yo=t,t=ia(r)):(go=t,t=a);t!==a;)e.push(t),t=go,(r=js())!==a?(ss(),yo=t,t=ia(r)):(go=t,t=a);return e}function Qs(){var t,r,n;return t=go,e.substr(go,7)===$e?(r=$e,go+=7):(r=a,0===bo&&Mo(Yr)),r!==a?(ss(),(n=_o())!==a?(yo=t,t=ca(n)):(go=t,t=a)):(go=t,t=a),t}function zs(){var t,r;return t=go,e.substr(go,8)===be?(r=be,go+=8):(r=a,0===bo&&Mo(Zr)),r!==a&&(yo=t,r=ba()),r}function Hs(){var t,r,n,o;return t=go,e.substr(go,7)===Te?(r=Te,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),(o=Go())!==a?(yo=t,t=Ta(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Ws(){var t,r,n,o,s;return t=go,e.substr(go,7)===Te?(r=Te,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=Bo())!==a?e.substring(o,go):s)!==a?(yo=t,t=Ca(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Gs(){var t,r,n,o,s;return t=go,e.substr(go,7)===Te?(r=Te,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=Ho())!==a?e.substring(o,go):s)!==a?(yo=t,t=wa(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function qs(){var t,r,n,o,s;return t=go,e.substr(go,7)===Te?(r=Te,go+=7):(r=a,0===bo&&Mo(en)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),o=go,(o=(s=jo())!==a?e.substring(o,go):s)!==a?(yo=t,t=Da(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Js(){var t;return(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=_o())!==a?(ss(),(i=Hs())===a&&(i=null),ss(),(c=Ys())===a&&(c=null),ss(),(l=Xs())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=Na(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=xs())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=_o())!==a?(ss(),(c=qs())===a&&(c=null),ss(),(l=Zs())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=Ra(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),_s()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=_o())!==a?(ss(),(i=Ws())===a&&(i=null),ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=Ia(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),e.substr(go,2)===fe?(o=fe,go+=2):(o=a,0===bo&&Mo(Gr)),o===a&&(o=null),ss(),(s=_o())!==a?(ss(),(i=Hs())===a&&(i=null),ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=Ma(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),e.substr(go,3)===Ie?(n=Ie,go+=3):(n=a,0===bo&&Mo(sn)),n!==a?(ss(),(o=_o())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=_o())!==a?(ss(),(c=zs())===a&&(c=null),ss(),yo=t,t=eo(r,o,s,i,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=ks())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=_o())!==a?(ss(),(c=Hs())===a&&(c=null),ss(),(l=zs())===a&&(l=null),ss(),yo=t,t=Ea(r,o,s,i,c,l)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=Os())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=_o())!==a?(ss(),(c=Gs())===a&&(c=null),ss(),(l=ei())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=_a(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=Ps())!==a?(ss(),e.substr(go,2)===fe?(s=fe,go+=2):(s=a,0===bo&&Mo(Gr)),s===a&&(s=null),ss(),(i=_o())!==a?(ss(),(c=Gs())===a&&(c=null),ss(),(l=ti())===a&&(l=null),ss(),(u=zs())===a&&(u=null),ss(),yo=t,t=ka(r,o,s,i,c,l,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}()),t}function Ks(){var e,t,r;for(e=go,t=[],r=Js();r!==a;)t.push(r),r=Js();return yo=e,Fa(t)}function Ys(){var t,r,n,o;return t=go,e.substr(go,5)===De?(r=De,go+=5):(r=a,0===bo&&Mo(nn)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),(o=function(){var t,r,n,o,s;return bo++,t=go,47===e.charCodeAt(go)?(r=I,go++):(r=a,0===bo&&Mo(Ht)),r!==a?(n=go,o=function(){var t,r,n,o;if(t=go,r=function(){var t,r,n;return t=go,r=go,bo++,n=e.charAt(go),Qe.test(n)?go++:(n=a,0===bo&&Mo(Wt)),bo--,n===a?r=void 0:(go=r,r=a),r!==a&&(n=rs())!==a?t=r=[r,n]:(go=t,t=a),t===a&&(t=ts())===a&&(t=ns()),t}(),r!==a){for(n=[],o=es();o!==a;)n.push(o),o=es();t=r=[r,n]}else go=t,t=a;return t}(),(n=o!==a?e.substring(n,go):o)!==a?(47===e.charCodeAt(go)?(o=I,go++):(o=a,0===bo&&Mo(Ht)),o!==a?(s=go,function(){var e,t;for(e=[],t=Vo();t!==a;)e.push(t),t=Vo()}(),s=e.substring(s,go),yo=t,t=Vn(n,s)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),bo--,t===a&&(r=a,0===bo&&Mo(zt)),t}())!==a?(yo=t,t=Sa(o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Xs(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,6)===Fe?(r=Fe,go+=6):(r=a,0===bo&&Mo(an)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=N,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=Oa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function Zs(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,jo(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,jo(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=N,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=xa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ei(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=N,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=Pa(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ti(){var t,r,n,o,s,i,c,l;return t=go,e.substr(go,5)===Ee?(r=Ee,go+=5):(r=a,0===bo&&Mo(on)),r!==a?(ss(),61===e.charCodeAt(go)?(n=Ce,go++):(n=a,0===bo&&Mo(tn)),n!==a?(ss(),91===e.charCodeAt(go)?(o=M,go++):(o=a,0===bo&&Mo(qt)),o!==a?(ss(),s=go,Ho(),s=e.substring(s,go),ss(),44===e.charCodeAt(go)?(i=ye,go++):(i=a,0===bo&&Mo(Jr)),i!==a?(ss(),c=go,Ho(),c=e.substring(c,go),ss(),93===e.charCodeAt(go)?(l=N,go++):(l=a,0===bo&&Mo(Jt)),l!==a?(yo=t,t=La(s,c)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}function ri(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=_o())!==a?(ss(),yo=t,t=Za(r,o)):(go=t,t=a)):(go=t,t=a),t}function ni(){var t,r,n,o,s,i,c;if(t=go,r=go,(r=(n=_o())!==a?e.substring(r,go):n)!==a){for(n=go,o=[],s=go,46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=_o())!==a?s=i=[i,c]:(go=s,s=a);s!==a;)o.push(s),s=go,46===e.charCodeAt(go)?(i=h,go++):(i=a,0===bo&&Mo(bt)),i!==a&&(c=_o())!==a?s=i=[i,c]:(go=s,s=a);n=e.substring(n,go),yo=t,t=to(r,n)}else go=t,t=a;return t}function ai(){var t;return(t=function(){var t,r,n,o,s;return t=go,(r=ni())!==a?(64===e.charCodeAt(go)?(n=U,go++):(n=a,0===bo&&Mo(dr)),n!==a?(o=go,(o=(s=ws())!==a?e.substring(o,go):s)!==a?(yo=t,t=no(r,o)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=ni()),t}function oi(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,e.substr(go,4)===oe?(r=oe,go+=4):(r=a,0===bo&&Mo(_r)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),r!==a?(ss(),n=go,(n=(o=function(){var t,r,n,o,s,i,c;return t=go,(r=function(){var t,r,n,o,s;if(t=go,r=go,n=function(){var t;return t=e.charAt(go),We.test(t)?go++:(t=a,0===bo&&Mo(ar)),t}(),n!==a){for(o=[],s=e.charAt(go),Je.test(s)?go++:(s=a,0===bo&&Mo(pr));s!==a;)o.push(s),s=e.charAt(go),Je.test(s)?go++:(s=a,0===bo&&Mo(pr));r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}())!==a?(58===e.charCodeAt(go)?(n=V,go++):(n=a,0===bo&&Mo(cr)),n!==a&&(o=function(){var t,r,n;return t=go,e.substr(go,2)===d?(r=d,go+=2):(r=a,0===bo&&Mo(ft)),r!==a&&(n=function(){var t,r,n,o,s,i;return t=go,r=go,n=function(){var t,r,n;for(t=go,r=[],(n=ps())===a&&(n=us())===a&&(n=e.charAt(go),Ke.test(n)?go++:(n=a,0===bo&&Mo(mr)));n!==a;)r.push(n),(n=ps())===a&&(n=us())===a&&(n=e.charAt(go),Ke.test(n)?go++:(n=a,0===bo&&Mo(mr)));return e.substring(t,go)}(),64===e.charCodeAt(go)?(o=U,go++):(o=a,0===bo&&Mo(dr)),o!==a?r=n=[n,o]:(go=r,r=a),r===a&&(r=null),n=function(){var t,r,n,o;return t=go,r=function(){var t,r,n,o;return t=go,91===e.charCodeAt(go)?(r=M,go++):(r=a,0===bo&&Mo(qt)),r!==a?(n=function(){var t,r,n,o,s,i,c,l,u,p,d,m,h,f;return t=go,r=go,(n=ms())!==a&&(o=ms())!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,e.substr(go,2)===Q?(n=Q,go+=2):(n=a,0===bo&&Mo(fr)),n!==a&&(o=ms())!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,(n=hs())===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ms())!==a&&(u=ds())!==a?r=n=[n,o,s,i,c,l,u]:(go=r,r=a),r===a&&(r=go,n=go,(o=ms())===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ms())!==a&&(l=ds())!==a?r=n=[n,o,s,i,c,l]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?((i=ms())===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ms())!==a&&(c=ds())!==a?r=n=[n,o,s,i,c]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?((l=ms())===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ms())!==a&&(i=ds())!==a?r=n=[n,o,s,i]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?((p=ms())===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=ds())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?(p=go,(d=ms())!==a?((m=ms())===a&&(m=null),p=d=[d,m]):(go=p,p=a),p===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a&&(s=hs())!==a?r=n=[n,o,s]:(go=r,r=a),r===a&&(r=go,n=go,o=go,(s=ms())!==a?(i=go,(c=ms())!==a?(l=go,(u=ms())!==a?(p=go,(d=ms())!==a?(m=go,(h=ms())!==a?((f=ms())===a&&(f=null),m=h=[h,f]):(go=m,m=a),m===a&&(m=null),p=d=[d,m]):(go=p,p=a),p===a&&(p=null),l=u=[u,p]):(go=l,l=a),l===a&&(l=null),i=c=[c,l]):(go=i,i=a),i===a&&(i=null),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),(s=hs())!==a?n=o=[o,s]:(go=n,n=a),n===a&&(n=null),e.substr(go,2)===Q?(o=Q,go+=2):(o=a,0===bo&&Mo(fr)),o!==a?r=n=[n,o]:(go=r,r=a))))))))),r!==a?e.substring(t,go):r}(),n===a&&(n=function(){var t,r,n,o,s,i,c;if(t=go,118===e.charCodeAt(go)?(r=D,go++):(r=a,0===bo&&Mo(Bt)),r!==a){if(n=go,o=[],(s=ls())!==a)for(;s!==a;)o.push(s),s=ls();else o=a;if((n=o!==a?e.substring(n,go):o)!==a)if(46===e.charCodeAt(go)?(o=h,go++):(o=a,0===bo&&Mo(bt)),o!==a){if(s=go,i=[],c=e.charAt(go),Ye.test(c)?go++:(c=a,0===bo&&Mo(hr)),c!==a)for(;c!==a;)i.push(c),c=e.charAt(go),Ye.test(c)?go++:(c=a,0===bo&&Mo(hr));else i=a;(s=i!==a?e.substring(s,go):i)!==a?t=r=[r,n,o,s]:(go=t,t=a)}else go=t,t=a;else go=t,t=a}else go=t,t=a;return t}()),n!==a?(93===e.charCodeAt(go)?(o=N,go++):(o=a,0===bo&&Mo(Jt)),o!==a?t=r=[r,n,o]:(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}(),r!==a?(n=go,bo++,o=ys(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t===a&&(t=go,(r=fs())!==a?(n=go,bo++,o=ys(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t===a&&(t=function(){var t,r,n;for(t=go,r=[],n=ys();n!==a;)r.push(n),n=ys();return e.substring(t,go)}())),t}(),n!==a?(o=go,58===e.charCodeAt(go)?(s=V,go++):(s=a,0===bo&&Mo(cr)),s!==a?(i=function(){var t,r,n;for(t=go,r=[],n=cs();n!==a;)r.push(n),n=cs();return e.substring(t,go)}(),o=s=[s,i]):(go=o,o=a),o===a&&(o=null),t=r=[r,n,o]):(go=t,t=a),t}())!==a?t=r=[r,n,vs()]:(go=t,t=a),t===a&&(t=function(){var t,r,n,o,s,i,c,l;if(t=go,r=go,47===e.charCodeAt(go)?(n=I,go++):(n=a,0===bo&&Mo(Ht)),n!==a){if(o=go,(s=As())!==a){for(i=[],c=go,47===e.charCodeAt(go)?(l=I,go++):(l=a,0===bo&&Mo(Ht)),l!==a?c=l=[l,$s()]:(go=c,c=a);c!==a;)i.push(c),c=go,47===e.charCodeAt(go)?(l=I,go++):(l=a,0===bo&&Mo(Ht)),l!==a?c=l=[l,$s()]:(go=c,c=a);o=s=[s,i]}else go=o,o=a;o===a&&(o=null),r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}())===a&&(t=function(){var t,r,n,o,s,i;if(t=go,r=go,(n=As())!==a){for(o=[],s=go,47===e.charCodeAt(go)?(i=I,go++):(i=a,0===bo&&Mo(Ht)),i!==a?s=i=[i,$s()]:(go=s,s=a);s!==a;)o.push(s),s=go,47===e.charCodeAt(go)?(i=I,go++):(i=a,0===bo&&Mo(Ht)),i!==a?s=i=[i,$s()]:(go=s,s=a);r=n=[n,o]}else go=r,r=a;return r!==a?e.substring(t,go):r}(),t===a&&(t="")),t}())!==a?(s=go,63===e.charCodeAt(go)?(i=B,go++):(i=a,0===bo&&Mo(lr)),i!==a?s=i=[i,c=Ts()]:(go=s,s=a),s===a&&(s=null),i=go,35===e.charCodeAt(go)?(c=j,go++):(c=a,0===bo&&Mo(ur)),c!==a?i=c=[c,Cs()]:(go=i,i=a),i===a&&(i=null),t=r=[r,n,o,s,i]):(go=t,t=a)):(go=t,t=a),t}())!==a?e.substring(n,go):o)!==a?(o=ss(),yo=t,t=oo(n)):(go=t,t=a)):(go=t,t=a),t}function si(){var t,r;return(t=function(){var t,r,n,o,s,i,c;return t=go,r=go,(r=(n=_o())!==a?e.substring(r,go):n)!==a?(n=is(),o=go,s=function(){var t,r,n,o;return t=go,e.substr(go,2)===R?(r=R,go+=2):(r=a,0===bo&&Mo(rr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),(o=s!==a?e.substring(o,go):s)!==a?(s=is(),i=go,(i=(c=_o())!==a?e.substring(i,go):c)!==a?(yo=t,t=lo(r,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=go,t=(r=_o())!==a?e.substring(t,go):r),t}function ii(){var t;return(t=function(){var t,r,n,o,s,i;return t=go,os()!==a?(ss(),(r=ai())!==a?(e.substr(go,2)===Me?(n=Me,go+=2):(n=a,0===bo&&Mo(cn)),n!==a?(is(),o=function(){var t,r,n,o,s,i,c;if(t=go,(r=si())!==a){for(is(),n=[],o=go,44===e.charCodeAt(go)?(s=ye,go++):(s=a,0===bo&&Mo(Jr)),s!==a?(i=is(),(c=si())!==a?o=s=[s,i,c]:(go=o,o=a)):(go=o,o=a);o!==a;)n.push(o),o=go,44===e.charCodeAt(go)?(s=ye,go++):(s=a,0===bo&&Mo(Jr)),s!==a?(i=is(),(c=si())!==a?o=s=[s,i,c]:(go=o,o=a)):(go=o,o=a);yo=t,t=uo(r,n)}else go=t,t=a;return t}(),o!==a?(is(),125===e.charCodeAt(go)?(s=_,go++):(s=a,0===bo&&Mo(nr)),s!==a?(ss(),(i=oi())===a&&(i=null),yo=t,t=co(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s;return t=go,os()!==a?(ss(),(r=ai())!==a?(46===e.charCodeAt(go)?(n=h,go++):(n=a,0===bo&&Mo(bt)),n!==a?(o=function(){var t,r,n,o;return t=go,42===e.charCodeAt(go)?(r=se,go++):(r=a,0===bo&&Mo(kr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=oi())===a&&(s=null),yo=t,t=so(r,s)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n;return t=go,os()!==a?(ss(),(r=function(){var t;return(t=function(){var t,r,n,o,s,i,c;return t=go,(r=ni())!==a?(64===e.charCodeAt(go)?(n=U,go++):(n=a,0===bo&&Mo(dr)),n!==a?(o=go,(o=(s=ws())!==a?e.substring(o,go):s)!==a?(46===e.charCodeAt(go)?(s=h,go++):(s=a,0===bo&&Mo(bt)),s!==a?(i=go,(i=(c=_o())!==a?e.substring(i,go):c)!==a?(yo=t,t=ro(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=ni()),t}())!==a?(ss(),(n=oi())===a&&(n=null),yo=t,t=io(r,n)):(go=t,t=a)):(go=t,t=a),t}()),t}function ci(){var t;return(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ss())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,5)===ee?(r=ee,go+=5):(r=a,0===bo&&Mo(Or)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=_o())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=_,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=la(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ss())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,11)===te?(r=te,go+=11):(r=a,0===bo&&Mo(xr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=_o())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=_,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=pa(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ss())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,5)===re?(r=re,go+=5):(r=a,0===bo&&Mo(Pr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=_o())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=_,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=da(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ss())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,11)===ne?(r=ne,go+=11):(r=a,0===bo&&Mo(Lr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=_o())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=_,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=ua(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,4)===S?(r=S,go+=4):(r=a,0===bo&&Mo(Yt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=_o())!==a?(ss(),123===e.charCodeAt(go)?(s=Ae,go++):(s=a,0===bo&&Mo(Xr)),s!==a?(ss(),i=function(){var e,t,r;for(e=go,t=[],r=ri();r!==a;)t.push(r),r=ri();return yo=e,Xa(t)}(),ss(),125===e.charCodeAt(go)?(c=_,go++):(c=a,0===bo&&Mo(nr)),c!==a?(yo=t,t=Ya(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c,l,u,p;return t=go,r=Us(),ss(),(n=Ss())===a&&(n=null),ss(),o=function(){var t,r,n,o;return t=go,e.substr(go,7)===Z?(r=Z,go+=7):(r=a,0===bo&&Mo(Sr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),o!==a?(ss(),(s=_o())!==a?(ss(),(i=Vs())===a&&(i=null),ss(),(c=Qs())===a&&(c=null),ss(),123===e.charCodeAt(go)?(l=Ae,go++):(l=a,0===bo&&Mo(Xr)),l!==a?(ss(),u=Ks(),ss(),125===e.charCodeAt(go)?(p=_,go++):(p=a,0===bo&&Mo(nr)),p!==a?(yo=t,t=ma(r,n,s,i,c,u)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,6)===ae?(r=ae,go+=6):(r=a,0===bo&&Mo(Rr)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=_o())!==a?(ss(),e.substr(go,7)===$e?(s=$e,go+=7):(s=a,0===bo&&Mo(Yr)),s!==a?(ss(),(i=function(){var e;return(e=function(){var e,t;return e=go,_s()!==a?(ss(),(t=Ws())===a&&(t=null),ss(),yo=e,e=ha(t)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,Os()!==a?(ss(),(t=Gs())===a&&(t=null),ss(),(r=ei())===a&&(r=null),ss(),yo=e,e=fa(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,Ps()!==a?(ss(),(t=Gs())===a&&(t=null),ss(),(r=ti())===a&&(r=null),ss(),yo=e,e=ga(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r;return e=go,xs()!==a?(ss(),(t=qs())===a&&(t=null),ss(),(r=Zs())===a&&(r=null),ss(),yo=e,e=ya(t,r)):(go=e,e=a),e}())===a&&(e=function(){var e,t,r,n;return e=go,Ls()!==a?(ss(),(t=Hs())===a&&(t=null),ss(),(r=Ys())===a&&(r=null),ss(),(n=Xs())===a&&(n=null),ss(),yo=e,e=va(t,r,n)):(go=e,e=a),e}())===a&&(e=function(){var e,t;return e=go,Rs()!==a?(ss(),(t=Hs())===a&&(t=null),ss(),yo=e,e=$a(t)):(go=e,e=a),e}()),e}())!==a?(ss(),yo=t,t=Aa(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}())===a&&(t=function(){var t,r,n,o,s,i,c;return t=go,r=Us(),ss(),n=function(){var t,r,n,o;return t=go,e.substr(go,3)===O?(r=O,go+=3):(r=a,0===bo&&Mo(Xt)),r!==a?(n=go,bo++,o=Vo(),bo--,o===a?n=void 0:(go=n,n=a),n!==a?t=r=[r,n]:(go=t,t=a)):(go=t,t=a),t}(),n!==a?(ss(),(o=_o())!==a?(ss(),123===e.charCodeAt(go)?(s=Ae,go++):(s=a,0===bo&&Mo(Xr)),s!==a?(ss(),i=function(){var t,r,n;return t=go,r=function(){var t;return t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),yo=t,t=ja(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),yo=t,t=Ua(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),(o=ks())!==a?(ss(),yo=t,t=Qa(r,o)):(go=t,t=a)):(go=t,t=a),t}())),t}(),r!==a?(ss(),n=function(){var t;return t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),_s()!==a?(ss(),yo=t,t=za(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Rs()!==a?(ss(),yo=t,t=Ha(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ls()!==a?(ss(),yo=t,t=Wa(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Os()!==a?(ss(),yo=t,t=Ga(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),Ps()!==a?(ss(),yo=t,t=qa(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n!==a?(ss(),xs()!==a?(ss(),yo=t,t=Ja(r)):(go=t,t=a)):(go=t,t=a),t}(),t===a&&(t=function(){var t,r,n,o;return t=go,r=Us(),ss(),111===e.charCodeAt(go)?(n=we,go++):(n=a,0===bo&&Mo(rn)),n===a&&(e.substr(go,3)===Ie?(n=Ie,go+=3):(n=a,0===bo&&Mo(sn))),n!==a?(ss(),(o=ks())!==a?(ss(),yo=t,t=Ka(r,n,o)):(go=t,t=a)):(go=t,t=a),t}())))))),t}(),n!==a?(yo=t,t=Ba(r,n)):(go=t,t=a)):(go=t,t=a),t}(),i!==a?(ss(),125===e.charCodeAt(go)?(c=_,go++):(c=a,0===bo&&Mo(nr)),c!==a?(yo=t,t=Va(r,o,i)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a)):(go=t,t=a),t}()),t}const li="concerto.metamodel@1.0.0";function ui(e,t,r){return[e].concat(function(e,t){var r,n=new Array(e.length);for(r=0;r<e.length;r++)n[r]=e[r][t];return n}(t,r))}function pi(e){return null!==e?e:[]}function di(e){return!!e}function mi(e){if(r?.skipLocationNodes)return;const t=e.start,n=e.end;t.$class=`${li}.Position`,n.$class=`${li}.Position`;const a={$class:`${li}.Range`,start:t,end:n};return e.source&&e.source[0]&&(a.source=e.source[0]),{location:a}}if(n=i(),r.peg$library)return{peg$result:n,peg$currPos:go,peg$FAILED:a,peg$maxFailExpected:Ao,peg$maxFailPos:$o};if(n!==a&&go===e.length)return n;throw n!==a&&go<e.length&&Mo({type:"end"}),function(e,r,n){return new t(t.buildMessage(e,r),e,r,n)}(Ao,$o<e.length?e.charAt($o):null,$o<e.length?Io($o,$o+1):Io($o,$o))}}},303:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(348),a=r(206),o=r(713);e.exports={parse:function(e,t,r){try{return a.parse(e,r)}catch(e){throw e.location&&e.location.start?new o(e.message,e.location,t):e}},parseModels:function(e,t){const r={$class:`${n}.Models`,models:[]};return e.forEach((e=>{let n=a.parse(e,t);r.models.push(n)})),r}}},993:(e,t,r)=>{"use strict";const{MetaModelNamespace:n}=r(348),{isNull:a}=r(20).NullUtil;function o(e){let t="";switch(e.$class){case`${n}.DecoratorTypeReference`:t+=`${e.type.name}${e.isArray?"[]":""}`;break;case`${n}.DecoratorString`:t+=`"${e.value}"`;break;default:t+=`${e.value}`}return t}function s(e){let t="";return t+=`@${e.name}`,e.arguments&&(t+="(",t+=e.arguments.map(o).join(","),t+=")"),t}function i(e,t){let r="";return r+=e.map(s).join(`\n${t}`),r+=`\n${t}`,r}function c(e){let t="";switch(e.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanScalar`:case`${n}.BooleanProperty`:case`${n}.BooleanMapValueType`:t+=" Boolean";break;case`${n}.DateTimeProperty`:case`${n}.DateTimeScalar`:case`${n}.DateTimeMapKeyType`:case`${n}.DateTimeMapValueType`:t+=" DateTime";break;case`${n}.DoubleProperty`:case`${n}.DoubleScalar`:case`${n}.DoubleMapValueType`:t+=" Double";break;case`${n}.IntegerProperty`:case`${n}.IntegerScalar`:case`${n}.IntegerMapValueType`:t+=" Integer";break;case`${n}.LongProperty`:case`${n}.LongScalar`:case`${n}.LongMapValueType`:t+=" Long";break;case`${n}.StringProperty`:case`${n}.StringScalar`:case`${n}.StringMapKeyType`:case`${n}.StringMapValueType`:t+=" String";break;case`${n}.ObjectProperty`:case`${n}.ObjectMapKeyType`:case`${n}.ObjectMapValueType`:case`${n}.RelationshipProperty`:case`${n}.RelationshipMapValueType`:t+=` ${e.type.name}`}return t}function l(e){let t="",r="",o="";switch(e.$class){case`${n}.EnumProperty`:break;case`${n}.BooleanProperty`:case`${n}.BooleanScalar`:!0!==e.defaultValue&&!1!==e.defaultValue||(e.defaultValue?r+=" default=true":r+=" default=false");break;case`${n}.DateTimeProperty`:case`${n}.DateTimeScalar`:e.defaultValue&&(t+=` default="${e.defaultValue}"`);break;case`${n}.DoubleProperty`:case`${n}.DoubleScalar`:a(e.defaultValue)||(r+=` default=${e.defaultValue.toFixed(Math.max(1,(e.defaultValue.toString().split(".")[1]||[]).length))}`),e.validator&&(o+=` range=[${e.validator.lower?e.validator.lower:""},${e.validator.upper?e.validator.upper:""}]`);break;case`${n}.IntegerProperty`:case`${n}.IntegerScalar`:case`${n}.LongProperty`:case`${n}.LongScalar`:a(e.defaultValue)||(r+=` default=${e.defaultValue.toString()}`),e.validator&&(o+=` range=[${e.validator.lower?e.validator.lower:""},${e.validator.upper?e.validator.upper:""}]`);break;case`${n}.StringProperty`:case`${n}.StringScalar`:e.defaultValue&&(r+=` default="${e.defaultValue}"`),e.validator&&(o+=` regex=/${e.validator.pattern}/${e.validator.flags}`),e.lengthValidator&&(o+=` length=[${e.lengthValidator.minLength?e.lengthValidator.minLength:""},${e.lengthValidator.maxLength?e.lengthValidator.maxLength:""}]`);break;case`${n}.ObjectProperty`:e.defaultValue&&(r+=` default="${e.defaultValue}"`)}return t+=r,t+=o,t}e.exports={toCTO:function(e){let t="";return e.concertoVersion&&(t+=`concerto version "${e.concertoVersion}"`,t+="\n",t+="\n"),e.decorators&&e.decorators.length>0&&(t+=i(e.decorators,"")),t+=`namespace ${e.namespace}`,e.imports&&e.imports.length>0&&(t+="\n",e.imports.forEach((e=>{switch(e.$class){case`${n}.ImportType`:case`${n}.ImportTypeFrom`:t+=`\nimport ${e.namespace}.${e.name}`;break;case`${n}.ImportAll`:case`${n}.ImportAllFrom`:t+=`\nimport ${e.namespace}.*`;break;case`${n}.ImportTypes`:{const r=e.aliasedTypes?new Map(e.aliasedTypes.map((e=>{let{name:t,aliasedName:r}=e;return[t,r]}))):new Map,n=e.types.map((e=>r.has(e)?`${e} as ${r.get(e)}`:e)).join(",");t+=`\nimport ${e.namespace}.{${n}}`;break}default:throw new Error("Unrecognized import")}e.uri&&(t+=` from ${e.uri}`)}))),e.declarations&&e.declarations.length>0&&e.declarations.forEach((e=>{t+=`\n\n${function(e){let t="";if(e.decorators&&(t+=i(e.decorators,"")),function(e){return[`${n}.BooleanScalar`,`${n}.IntegerScalar`,`${n}.LongScalar`,`${n}.DoubleScalar`,`${n}.StringScalar`,`${n}.DateTimeScalar`].includes(e.$class)}(e))t+=`scalar ${e.name} extends`,t+=c(e),t+=l(e);else if(function(e){return e.$class===`${n}.MapDeclaration`}(e)){const r=[e.key,e.value];t+=`map ${e.name} {`,r.forEach((e=>{t+=`\n ${function(e){let t="";return e.decorators&&(t+=i(e.decorators," ")),e.$class===`${n}.RelationshipMapValueType`?t+="--\x3e":t+="o",t+=c(e),t}(e)}`})),t+="\n}"}else{switch(e.isAbstract&&(t+="abstract "),e.$class){case`${n}.AssetDeclaration`:t+=`asset ${e.name} `;break;case`${n}.ConceptDeclaration`:t+=`concept ${e.name} `;break;case`${n}.EventDeclaration`:t+=`event ${e.name} `;break;case`${n}.ParticipantDeclaration`:t+=`participant ${e.name} `;break;case`${n}.TransactionDeclaration`:t+=`transaction ${e.name} `;break;case`${n}.EnumDeclaration`:t+=`enum ${e.name} `}if(e.identified&&(e.identified.$class===`${n}.IdentifiedBy`?t+=`identified by ${e.identified.name} `:t+="identified "),e.superType){if(e.superType.name===e.name)throw new Error(`The declaration "${e.name}" cannot extend itself.`);t+=`extends ${e.superType.name} `}t+="{",e.properties.forEach((e=>{t+=`\n ${function(e){let t="";return e.decorators&&(t+=i(e.decorators," ")),e.$class===`${n}.RelationshipProperty`?t+="--\x3e":t+="o",t+=c(e),e.isArray&&(t+="[]"),t+=` ${e.name}`,t+=l(e),e.isOptional&&(t+=" optional"),t}(e)}`})),t+="\n}"}return t}(e)}`})),t}}},250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},431:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},237:(e,t,r)=>{"use strict";const n=r(713),a=r(303),o=r(993),s=r(548);e.exports={ParseException:n,Parser:a,Printer:o,External:s}},833:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(736)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},20:(e,t,r)=>{"use strict";const n=r(786),a=r(516),o=r(539),s=r(705),i=r(587),c=r(357),l=r(390),u=r(597),p=r(931),d=r(870),m=r(529),h=r(934),f=r(830),g=r(526),y=r(284),v=r(405),$=r(795),A=r(116);e.exports={BaseException:n,BaseFileException:a,FileDownloader:o,CompositeFileLoader:s,DefaultFileLoader:i,GitHubFileLoader:c,HTTPFileLoader:l,Writer:u,FileWriter:p,InMemoryWriter:m,ModelWriter:d,Logger:h,TypedStack:f,Label:g,Identifiers:y,ErrorCodes:v,NullUtil:$,Warning:A}},786:(e,t,r)=>{"use strict";const n=r(775),a=r(405);class o extends Error{constructor(e,t,r){super(e),this.component=t||n.name,this.name=this.constructor.name,this.message=e,this.errorType=r||a.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=o},516:(e,t,r)=>{"use strict";const n=r(786);e.exports=class extends n{constructor(e,t,r,n,a){super(r||e,a),this.fileLocation=t,this.shortMessage=e,this.fileName=n}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},405:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},539:(e,t,r)=>{"use strict";const n=r(986)("concerto:FileDownloader"),a=r(573),o=e=>[].concat(...e),s=e=>e.filter(Boolean),i=async(e,t)=>{const r=e.response&&e.response.status&&200!==e.response.status,n=e.code&&"ENOTFOUND"===e.code;if(r||n){const e=new Error(`Unable to download external model dependency '${t.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+t.url+" Details: "+e)};e.exports=class{constructor(e,t,r=10){this.fileLoader=e,this.concurrency=r,this.getExternalImports=t}downloadExternalDependencies(e,t){n("downloadExternalDependencies");const r=new Set;t||(t={});const c=o(e.map((e=>{const n=this.getExternalImports(e);return Object.keys(n).map((e=>({downloadedUris:r,url:n[e],options:t})))})));return a.withConcurrency(this.concurrency).for(c).handleError(i).process((e=>this.runJob(e,this.fileLoader))).then((({results:e})=>s(o(e))))}runJob(e,t){const r=e.downloadedUris,c=e.options,l=e.url;return r.add(l),n("runJob","Loading",l),t.load(l,c).then((async e=>{n("runJob","Loaded",l);const u=this.getExternalImports(e),p=Array.from(new Set(Object.keys(u).map((e=>u[e]))));return n("runJob","importedUris",p),(await a.withConcurrency(this.concurrency).for(p).handleError(i).process((e=>{if(!r.has(e))return this.runJob({options:c,url:e,downloadedUris:r},t)})).then((({results:e})=>s(o(e))))).concat([e])}))}}},931:(e,t,r)=>{"use strict";const n=r(995),a=r(495),o=r(597);e.exports=class extends o{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,n.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,t){this.relativeDir=e,this.fileName=t}writeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,t)}writeBeforeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,t)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=a.resolve(e,this.relativeDir)),e=a.resolve(e,this.fileName),n.mkdirSync(a.dirname(e),{recursive:!0}),n.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},284:e=>{"use strict";const t=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e,r=-1){const n=(e,t)=>{let r="";for(const e of t)r+=`_${e.codePointAt(0).toString(16)}`;return r};let a=e??String(e);if("string"!=typeof a)throw new Error(`Unsupported identifier type, '${typeof a}'.`);if(a=a.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,n).replace(/([\uD800-\uDFFF])/g,n),r>0&&(a=a.substring(0,r)),!t.test(a))throw new Error(`Unexpected error. Not able to escape identifier '${a}'.`);return a},ID_REGEX:t}},529:(e,t,r)=>{"use strict";const n=r(597);e.exports=class extends n{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},526:e=>{"use strict";e.exports={labelToSentence:function(e=""){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(e=""){const t=e.split(/[^A-Za-z0-9_-]+/);return t.forEach(((e,r)=>{t[r]=t[r].replace(/^./,(e=>e.toUpperCase()))})),t.join("").replace(/^./,(e=>e.toLowerCase()))}}},705:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let t=0;t<this.fileLoaders.length;t++)if(this.fileLoaders[t].accepts(e))return!0;return!1}load(e,t){for(let r=0;r<this.fileLoaders.length;r++){const n=this.fileLoaders[r];if(n.accepts(e))return n.load(e,t)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},587:(e,t,r)=>{"use strict";const n=r(705),a=r(390),o=r(357);e.exports=class extends n{constructor(e){super();const t=new a(e),r=new o(e);this.addFileLoader(r),this.addFileLoader(t)}}},357:(e,t,r)=>{"use strict";const n=r(390);e.exports=class extends n{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,t){const r="https://raw.githubusercontent.com/"+e.substring(9);return super.load(r,t)}}},390:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,t){t||(t={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP request failed with status: ${r.status}`);const n=await r.text(),a=new URL(e),o="@"+(a.host+a.pathname).replace(/\//g,".");return this.processFile(o,n)}}},934:e=>{"use strict";const t={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},r=e=>e,n={};Object.keys(t).forEach((e=>{n[e]=(...n)=>((e,...n)=>{let a=e,o=n,s=o.shift();if(s&&"object"==typeof s&&s.level&&s.message){const e=s.padding&&s.padding[s.level];"error"===s.level&&s.stack?(a="error",s=`${s.message}\n${s.stack}`):Object.keys(t).includes(s.level)&&(a=s.level,s=s.message),s=e?`${e} ${s}`:s}o.unshift(s),(["error","warn"].includes(a)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${a}:`,...o.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(r))})(e,...n)}));class a{static dispatch(e,...r){t[e]>t[this.level]||this.transports.forEach((t=>{t[e]&&t[e](...r)}))}static add(e){this.transports.push(e)}static error(...e){return this.dispatch("error",...e)}static warn(...e){return this.dispatch("warn",...e)}static info(...e){return this.dispatch("info",...e)}static log(...e){return this.info(...e)}static http(...e){return this.dispatch("http",...e)}static verbose(...e){return this.dispatch("verbose",...e)}static debug(...e){return this.dispatch("debug",...e)}static silly(...e){return this.dispatch("silly",...e)}}a.level="info",a.transports=[n],e.exports=a},870:(e,t,r)=>{"use strict";const n=r(995),a=r(495),o=r(431);e.exports={writeModelsToFileSystem:function(e,t,r={}){if(!t)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const s=Object.assign({includeExternalModels:!0},r);e.forEach((function(e){if(e.external&&!s.includeExternalModels)return;const r=o(e.fileName).split("/").pop();n.writeFileSync(t+a.sep+r,e.definitions)}))}}},795:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},830:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,t){if(t&&!(e instanceof t))throw new Error("Did not find expected type "+t.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const t=this.stack[this.stack.length-1];if(e&&!(t instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+t);return t}clear(){this.stack=[]}}},116:e=>{"use strict";let t=!1;e.exports={printDeprecationWarning:function(e,r,n,o){const s=a.emitWarning;t||(t=!0,s(`DEPRECATED: ${e}`,{type:r,code:n,detail:o}))}}},597:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,t){for(let t=0;t<e;t++)this.beforeBuffer+=" ";this.beforeBuffer+=t,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},986:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==a&&"env"in a&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(77)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},77:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},558:()=>{},995:()=>{},495:()=>{},865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"resolvedName","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},775:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.20.1","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-util.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.57.1","jsdoc":"^4.0.4","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","tmp-promise":"3.0.3","typescript":"5.7.2","undici":"^7.0.0","webpack":"5.96.1","sinon":"19.0.2"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.7","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')}},t={},function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}(237);var e,t},e.exports=n()},8487:e=>{var t;self,t=()=>{return e={573:(e,t,r)=>{"use strict";const n=r(187);e.exports=n.PromisePool},160:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolError=void 0;class r extends Error{constructor(e,t){super(),this.item=t,this.name=this.constructor.name,this.message=this.messageFrom(e),Error.captureStackTrace(this,this.constructor)}static createFrom(e,t){return new this(e,t)}messageFrom(e){return e instanceof Error||"object"==typeof e?e.message:"string"==typeof e||"number"==typeof e?e.toString():""}}t.PromisePoolError=r},241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePoolExecutor=void 0;const n=r(160);t.PromisePoolExecutor=class{constructor(){this.tasks=[],this.items=[],this.errors=[],this.results=[],this.concurrency=10,this.handler=()=>{},this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}for(e){return this.items=e,this}withHandler(e){return this.handler=e,this}handleError(e){return this.errorHandler=e,this}hasReachedConcurrencyLimit(){return this.activeCount()>=this.concurrency}activeCount(){return this.tasks.length}async start(){return this.validateInputs(),await this.process()}validateInputs(){if("function"!=typeof this.handler)throw new Error("The first parameter for the .process(fn) method must be a function");if(!("number"==typeof this.concurrency&&this.concurrency>=1))throw new TypeError(`"concurrency" must be a number, 1 or up. Received "${this.concurrency}" (${typeof this.concurrency})`);if(!Array.isArray(this.items))throw new TypeError('"items" must be an array. Received '+typeof this.items);if(this.errorHandler&&"function"!=typeof this.errorHandler)throw new Error("The error handler must be a function. Received "+typeof this.errorHandler)}async process(){for(const e of this.items)this.hasReachedConcurrencyLimit()&&await this.processingSlot(),this.startProcessing(e);return this.drained()}async processingSlot(){return this.waitForTaskToFinish()}async waitForTaskToFinish(){await Promise.race(this.tasks)}startProcessing(e){const t=this.createTaskFor(e).then((e=>{this.results.push(e),this.tasks.splice(this.tasks.indexOf(t),1)})).catch((r=>{if(this.tasks.splice(this.tasks.indexOf(t),1),this.errorHandler)return this.errorHandler(r,e);this.errors.push(n.PromisePoolError.createFrom(r,e))}));this.tasks.push(t)}async createTaskFor(e){return this.handler(e)}async drained(){return await this.drainActiveTasks(),{results:this.results,errors:this.errors}}async drainActiveTasks(){await Promise.all(this.tasks)}}},187:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PromisePool=void 0;const n=r(241);class a{constructor(e){this.concurrency=10,this.items=null!=e?e:[],this.errorHandler=void 0}withConcurrency(e){return this.concurrency=e,this}static withConcurrency(e){return(new this).withConcurrency(e)}for(e){return new a(e).withConcurrency(this.concurrency)}static for(e){return(new this).for(e)}handleError(e){return this.errorHandler=e,this}async process(e){return(new n.PromisePoolExecutor).withConcurrency(this.concurrency).withHandler(e).handleError(this.errorHandler).for(this.items).start()}}t.PromisePool=a},599:(e,t,r)=>{"use strict";const n=r(330),a=r(673);class o extends Error{constructor(e,t,r){super(e),this.component=t||n.name,this.name=this.constructor.name,this.message=e,this.errorType=r||a.DEFAULT_BASE_EXCEPTION,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}e.exports=o},133:(e,t,r)=>{"use strict";const n=r(599);e.exports=class extends n{constructor(e,t,r,n,a){super(r||e,a),this.fileLocation=t,this.shortMessage=e,this.fileName=n}getFileLocation(){return this.fileLocation}getShortMessage(){return this.shortMessage}getFileName(){return this.fileName}}},673:e=>{"use strict";e.exports={DEFAULT_BASE_EXCEPTION:"DefaultBaseException",DEFAULT_VALIDATOR_EXCEPTION:"DefaultValidatorException",REGEX_VALIDATOR_EXCEPTION:"RegexValidatorException",TYPE_NOT_FOUND_EXCEPTION:"TypeNotFoundException",DEPRECATION_WARNING:"DeprecationWarning",CONCERTO_DEPRECATION_001:"concerto-dep:001",CONCERTO_DEPRECATION_002:"concerto-dep:002"}},168:(e,t,r)=>{"use strict";const n=r(833)("concerto:FileDownloader"),a=r(573),o=e=>[].concat(...e),s=e=>e.filter(Boolean),i=async(e,t)=>{const r=e.response&&e.response.status&&200!==e.response.status,n=e.code&&"ENOTFOUND"===e.code;if(r||n){const e=new Error(`Unable to download external model dependency '${t.url}'`);throw e.code="MISSING_DEPENDENCY",e}throw new Error("Failed to load model file. Job: "+t.url+" Details: "+e)};e.exports=class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;this.fileLoader=e,this.concurrency=r,this.getExternalImports=t}downloadExternalDependencies(e,t){n("downloadExternalDependencies");const r=new Set;t||(t={});const c=o(e.map((e=>{const n=this.getExternalImports(e);return Object.keys(n).map((e=>({downloadedUris:r,url:n[e],options:t})))})));return a.withConcurrency(this.concurrency).for(c).handleError(i).process((e=>this.runJob(e,this.fileLoader))).then((e=>{let{results:t}=e;return s(o(t))}))}runJob(e,t){const r=e.downloadedUris,c=e.options,l=e.url;return r.add(l),n("runJob","Loading",l),t.load(l,c).then((async e=>{n("runJob","Loaded",l);const u=this.getExternalImports(e),p=Array.from(new Set(Object.keys(u).map((e=>u[e]))));return n("runJob","importedUris",p),(await a.withConcurrency(this.concurrency).for(p).handleError(i).process((e=>{if(!r.has(e))return this.runJob({options:c,url:e,downloadedUris:r},t)})).then((e=>{let{results:t}=e;return s(o(t))}))).concat([e])}))}}},64:(e,t,r)=>{"use strict";const n=r(686),a=r(558),o=r(926);e.exports=class extends o{constructor(e){super(),this.outputDirectory=e,this.relativeDir=null,this.fileName=null,n.mkdirSync(e,{recursive:!0})}openFile(e){this.fileName=e,this.relativeDir=null}openRelativeFile(e,t){this.relativeDir=e,this.fileName=t}writeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeLine(e,t)}writeBeforeLine(e,t){if(!this.fileName)throw Error("File has not been opened!");super.writeBeforeLine(e,t)}closeFile(){if(!this.fileName)throw new Error("No file open");let e=this.outputDirectory;this.relativeDir&&(e=a.resolve(e,this.relativeDir)),e=a.resolve(e,this.fileName),n.mkdirSync(a.dirname(e),{recursive:!0}),n.writeFileSync(e,this.getBuffer()),this.fileName=null,this.relativeDir=null,this.clearBuffer()}}},721:e=>{"use strict";const t=/^(\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4})(?:\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\\u[0-9A-Fa-f]{4}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D)*$/u;e.exports={normalizeIdentifier:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;const n=(e,t)=>{let r="";for(const e of t)r+=`_${e.codePointAt(0).toString(16)}`;return r};let a=e??String(e);if("string"!=typeof a)throw new Error(`Unsupported identifier type, '${typeof a}'.`);if(a=a.replace(/^\p{Nd}/u,"_$&").replace(/[-‐−@#:;><|/\\\u200c\u200d]/g,"_").replace(/\s/g,"_").replace(/(?!\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\$|_|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\u200C|\u200D|\\u[0-9A-Fa-f]{4})(.)/gu,n).replace(/([\uD800-\uDFFF])/g,n),r>0&&(a=a.substring(0,r)),!t.test(a))throw new Error(`Unexpected error. Not able to escape identifier '${a}'.`);return a},ID_REGEX:t}},530:(e,t,r)=>{"use strict";const n=r(926);e.exports=class extends n{constructor(){super(),this.fileName="",this.data=new Map}openFile(e){this.fileName=e}closeFile(){this.data.set(this.fileName,this.getBuffer()),this.clearBuffer()}getFilesInMemory(){return this.data}}},911:e=>{"use strict";e.exports={labelToSentence:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z])([a-z])/g," $1$2").replace(/ +/g," ").replace(/^./,(e=>e.toUpperCase())).trim()},sentenceToLabel:function(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(/[^A-Za-z0-9_-]+/);return e.forEach(((t,r)=>{e[r]=e[r].replace(/^./,(e=>e.toUpperCase()))})),e.join("").replace(/^./,(e=>e.toLowerCase()))}}},996:e=>{"use strict";e.exports=class{constructor(){this.fileLoaders=[]}addFileLoader(e){this.fileLoaders.push(e)}getFileLoaders(){return this.fileLoaders}clearFileLoaders(){this.fileLoaders=[]}accepts(e){for(let t=0;t<this.fileLoaders.length;t++)if(this.fileLoaders[t].accepts(e))return!0;return!1}load(e,t){for(let r=0;r<this.fileLoaders.length;r++){const n=this.fileLoaders[r];if(n.accepts(e))return n.load(e,t)}throw new Error("Failed to find a model file loader that can handle: "+e)}}},546:(e,t,r)=>{"use strict";const n=r(996),a=r(25),o=r(990);e.exports=class extends n{constructor(e){super();const t=new a(e),r=new o(e);this.addFileLoader(r),this.addFileLoader(t)}}},990:(e,t,r)=>{"use strict";const n=r(25);e.exports=class extends n{constructor(e){super(e)}accepts(e){return e.startsWith("github://")}load(e,t){const r="https://raw.githubusercontent.com/"+e.substring(9);return super.load(r,t)}}},25:e=>{"use strict";e.exports=class{constructor(e){this.processFile=e}accepts(e){return e.startsWith("http://")||e.startsWith("https://")}async load(e,t){t||(t={method:"GET",headers:{"Content-Type":"text/plain"}}),console.log(e);const r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP request failed with status: ${r.status}`);const n=await r.text(),a=new URL(e),o="@"+(a.host+a.pathname).replace(/\//g,".");return this.processFile(o,n)}}},545:e=>{"use strict";const t={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6},r=e=>e,n={};Object.keys(t).forEach((e=>{n[e]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return function(e){let n=e;for(var a=arguments.length,o=new Array(a>1?a-1:0),s=1;s<a;s++)o[s-1]=arguments[s];let i=o,c=i.shift();if(c&&"object"==typeof c&&c.level&&c.message){const e=c.padding&&c.padding[c.level];"error"===c.level&&c.stack?(n="error",c=`${c.message}\n${c.stack}`):Object.keys(t).includes(c.level)&&(n=c.level,c=c.message),c=e?`${e} ${c}`:c}i.unshift(c),(["error","warn"].includes(n)?console.error:console.log)(`${(new Date).toLocaleTimeString()} - ${n}:`,...i.map((e=>e instanceof Error?`${e.message}\n${e.stack}`:e)).map(r))}(e,...a)}}));class a{static dispatch(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];t[e]>t[this.level]||this.transports.forEach((t=>{t[e]&&t[e](...n)}))}static add(e){this.transports.push(e)}static error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("error",...t)}static warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("warn",...t)}static info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("info",...t)}static log(){return this.info(...arguments)}static http(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("http",...t)}static verbose(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("verbose",...t)}static debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("debug",...t)}static silly(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.dispatch("silly",...t)}}a.level="info",a.transports=[n],e.exports=a},95:(e,t,r)=>{"use strict";const n=r(686),a=r(558),o=r(431);e.exports={writeModelsToFileSystem:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw new Error("`path` is a required parameter of writeModelsToFileSystem");const s=Object.assign({includeExternalModels:!0},r);e.forEach((function(e){if(e.external&&!s.includeExternalModels)return;const r=o(e.fileName).split("/").pop();n.writeFileSync(t+a.sep+r,e.definitions)}))}}},328:e=>{"use strict";e.exports=class{static isNull(e){return null==e}}},717:e=>{"use strict";e.exports=class{constructor(e){this.stack=[],this.push(e)}push(e,t){if(t&&!(e instanceof t))throw new Error("Did not find expected type "+t.constructor.name+" as argument to push. Found: "+e.toString());this.stack.push(e)}pop(e){return this.peek(e),this.stack.pop()}peek(e){if(this.stack.length<1)throw new Error("Stack is empty!");const t=this.stack[this.stack.length-1];if(e&&!(t instanceof e))throw new Error("Did not find expected type "+e+" on head of stack. Found: "+t);return t}clear(){this.stack=[]}}},361:e=>{"use strict";let t=!1;e.exports={printDeprecationWarning:function(e,r,n,a){t||(t=!0,function(e,t){console.warn({message:`DEPRECATED: ${e}`,type:t?.type,code:t?.code,detail:t?.detail})}(`DEPRECATED: ${e}`,{type:r,code:n,detail:a}))}}},926:e=>{"use strict";e.exports=class{constructor(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}writeBeforeLine(e,t){for(let t=0;t<e;t++)this.beforeBuffer+=" ";this.beforeBuffer+=t,this.beforeBuffer+="\n",this.linesWritten++}writeLine(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t),this.write("\n"),this.linesWritten++}getLineCount(){return this.linesWritten}writeIndented(e,t){for(let t=0;t<e;t++)this.write(" ");this.write(t)}write(e){if("string"!=typeof e)throw new Error("Can only append strings. Argument "+e+" has type "+typeof e);this.buffer+=e,this.linesWritten+=e.split(/\r\n|\r|\n/).length}getBuffer(){return this.beforeBuffer+this.buffer}clearBuffer(){this.beforeBuffer="",this.buffer="",this.linesWritten=0}}},250:e=>{var t=1e3,r=60*t,n=60*r,a=24*n,o=7*a;function s(e,t,r,n){var a=t>=1.5*r;return Math.round(e/r)+" "+n+(a?"s":"")}e.exports=function(e,i){i=i||{};var c,l,u=typeof e;if("string"===u&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var s=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(s){var i=parseFloat(s[1]);switch((s[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return i*o;case"days":case"day":case"d":return i*a;case"hours":case"hour":case"hrs":case"hr":case"h":return i*n;case"minutes":case"minute":case"mins":case"min":case"m":return i*r;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===u&&isFinite(e))return i.long?(c=e,(l=Math.abs(c))>=a?s(c,l,a,"day"):l>=n?s(c,l,n,"hour"):l>=r?s(c,l,r,"minute"):l>=t?s(c,l,t,"second"):c+" ms"):function(e){var o=Math.abs(e);return o>=a?Math.round(e/a)+"d":o>=n?Math.round(e/n)+"h":o>=r?Math.round(e/r)+"m":o>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},907:e=>{var t,r,n=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var i,c=[],l=!1,u=-1;function p(){l&&i&&(l=!1,i.length?c=i.concat(c):u=-1,c.length&&d())}function d(){if(!l){var e=s(p);l=!0;for(var t=c.length;t;){for(i=c,c=[];++u<t;)i&&i[u].run();u=-1,t=c.length}i=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function h(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new m(e,t)),1!==c.length||l||s(d)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=h,n.addListener=h,n.once=h,n.off=h,n.removeListener=h,n.removeAllListeners=h,n.emit=h,n.prependListener=h,n.prependOnceListener=h,n.listeners=function(e){return[]},n.binding=function(e){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(e){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},431:e=>{"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),r=/[^\u0000-\u0080]+/.test(e);return t||r?e:e.replace(/\\/g,"/")}},237:(e,t,r)=>{"use strict";const n=r(599),a=r(133),o=r(168),s=r(996),i=r(546),c=r(990),l=r(25),u=r(926),p=r(64),d=r(95),m=r(530),h=r(545),f=r(717),g=r(911),y=r(721),v=r(673),$=r(328),A=r(361);e.exports={BaseException:n,BaseFileException:a,FileDownloader:o,CompositeFileLoader:s,DefaultFileLoader:i,GitHubFileLoader:c,HTTPFileLoader:l,Writer:u,FileWriter:p,InMemoryWriter:m,ModelWriter:d,Logger:h,TypedStack:f,Label:g,Identifiers:y,ErrorCodes:v,NullUtil:$,Warning:A}},833:(e,t,r)=>{var n=r(907);t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(a=n))})),t.splice(a,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(736)(t);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,t,r)=>{e.exports=function(e){function t(e){let r,a,o,s=null;function i(...e){if(!i.enabled)return;const n=i,a=Number(new Date),o=a-(r||a);n.diff=o,n.prev=r,n.curr=a,r=a,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,a)=>{if("%%"===r)return"%";s++;const o=t.formatters[a];if("function"==typeof o){const t=e[s];r=o.call(n,t),e.splice(s,1),s--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return i.namespace=e,i.useColors=t.useColors(),i.color=t.selectColor(e),i.extend=n,i.destroy=t.destroy,Object.defineProperty(i,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(a!==t.namespaces&&(a=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"==typeof t.init&&t.init(i),i}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(a),...t.skips.map(a).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),a=n.length;for(r=0;r<a;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(250),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},686:()=>{},558:()=>{},330:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-util","version":"3.20.1","description":"Utilities for Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-util.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint && npm run doc","lint":"eslint .","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"nyc mocha --recursive -t 10000","test:watch":"nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-util"},"keywords":["blockchain","hyperledger","solutions"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","eslint":"8.57.1","jsdoc":"^4.0.4","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","tmp-promise":"3.0.3","typescript":"5.7.2","undici":"^7.0.0","webpack":"5.96.1","sinon":"19.0.2"},"dependencies":{"@supercharge/promise-pool":"1.7.0","debug":"4.3.7","slash":"3.0.0"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"all":true,"check-coverage":true,"statements":99,"branches":93,"functions":98,"lines":99}}')}},t={},function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}(237);var e,t},e.exports=t()},6686:()=>{},5558:()=>{},182:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.validate=t.v7=t.v6ToV1=t.v6=t.v5=t.v4=t.v3=t.v1ToV6=t.v1=t.stringify=t.parse=t.NIL=t.MAX=void 0;var n=r(2196);Object.defineProperty(t,"MAX",{enumerable:!0,get:function(){return n.default}});var a=r(3465);Object.defineProperty(t,"NIL",{enumerable:!0,get:function(){return a.default}});var o=r(1797);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return o.default}});var s=r(6011);Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return s.default}});var i=r(1425);Object.defineProperty(t,"v1",{enumerable:!0,get:function(){return i.default}});var c=r(6568);Object.defineProperty(t,"v1ToV6",{enumerable:!0,get:function(){return c.default}});var l=r(591);Object.defineProperty(t,"v3",{enumerable:!0,get:function(){return l.default}});var u=r(8286);Object.defineProperty(t,"v4",{enumerable:!0,get:function(){return u.default}});var p=r(4557);Object.defineProperty(t,"v5",{enumerable:!0,get:function(){return p.default}});var d=r(6356);Object.defineProperty(t,"v6",{enumerable:!0,get:function(){return d.default}});var m=r(268);Object.defineProperty(t,"v6ToV1",{enumerable:!0,get:function(){return m.default}});var h=r(4299);Object.defineProperty(t,"v7",{enumerable:!0,get:function(){return h.default}});var f=r(9746);Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return f.default}});var g=r(2770);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return g.default}})},2196:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="ffffffff-ffff-ffff-ffff-ffffffffffff"},338:(e,t)=>{"use strict";function r(e){return 14+(e+64>>>9<<4)+1}function n(e,t){const r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function a(e,t,r,a,o,s){return n((i=n(n(t,e),n(a,s)))<<(c=o)|i>>>32-c,r);var i,c}function o(e,t,r,n,o,s,i){return a(t&r|~t&n,e,t,o,s,i)}function s(e,t,r,n,o,s,i){return a(t&n|r&~n,e,t,o,s,i)}function i(e,t,r,n,o,s,i){return a(t^r^n,e,t,o,s,i)}function c(e,t,r,n,o,s,i){return a(r^(t|~n),e,t,o,s,i)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return function(e){const t=new Uint8Array(4*e.length);for(let r=0;r<4*e.length;r++)t[r]=e[r>>2]>>>r%4*8&255;return t}(function(e,t){const a=new Uint32Array(r(t)).fill(0);a.set(e),a[t>>5]|=128<<t%32,a[a.length-1]=t,e=a;let l=1732584193,u=-271733879,p=-1732584194,d=271733878;for(let t=0;t<e.length;t+=16){const r=l,a=u,m=p,h=d;l=o(l,u,p,d,e[t],7,-680876936),d=o(d,l,u,p,e[t+1],12,-389564586),p=o(p,d,l,u,e[t+2],17,606105819),u=o(u,p,d,l,e[t+3],22,-1044525330),l=o(l,u,p,d,e[t+4],7,-176418897),d=o(d,l,u,p,e[t+5],12,1200080426),p=o(p,d,l,u,e[t+6],17,-1473231341),u=o(u,p,d,l,e[t+7],22,-45705983),l=o(l,u,p,d,e[t+8],7,1770035416),d=o(d,l,u,p,e[t+9],12,-1958414417),p=o(p,d,l,u,e[t+10],17,-42063),u=o(u,p,d,l,e[t+11],22,-1990404162),l=o(l,u,p,d,e[t+12],7,1804603682),d=o(d,l,u,p,e[t+13],12,-40341101),p=o(p,d,l,u,e[t+14],17,-1502002290),u=o(u,p,d,l,e[t+15],22,1236535329),l=s(l,u,p,d,e[t+1],5,-165796510),d=s(d,l,u,p,e[t+6],9,-1069501632),p=s(p,d,l,u,e[t+11],14,643717713),u=s(u,p,d,l,e[t],20,-373897302),l=s(l,u,p,d,e[t+5],5,-701558691),d=s(d,l,u,p,e[t+10],9,38016083),p=s(p,d,l,u,e[t+15],14,-660478335),u=s(u,p,d,l,e[t+4],20,-405537848),l=s(l,u,p,d,e[t+9],5,568446438),d=s(d,l,u,p,e[t+14],9,-1019803690),p=s(p,d,l,u,e[t+3],14,-187363961),u=s(u,p,d,l,e[t+8],20,1163531501),l=s(l,u,p,d,e[t+13],5,-1444681467),d=s(d,l,u,p,e[t+2],9,-51403784),p=s(p,d,l,u,e[t+7],14,1735328473),u=s(u,p,d,l,e[t+12],20,-1926607734),l=i(l,u,p,d,e[t+5],4,-378558),d=i(d,l,u,p,e[t+8],11,-2022574463),p=i(p,d,l,u,e[t+11],16,1839030562),u=i(u,p,d,l,e[t+14],23,-35309556),l=i(l,u,p,d,e[t+1],4,-1530992060),d=i(d,l,u,p,e[t+4],11,1272893353),p=i(p,d,l,u,e[t+7],16,-155497632),u=i(u,p,d,l,e[t+10],23,-1094730640),l=i(l,u,p,d,e[t+13],4,681279174),d=i(d,l,u,p,e[t],11,-358537222),p=i(p,d,l,u,e[t+3],16,-722521979),u=i(u,p,d,l,e[t+6],23,76029189),l=i(l,u,p,d,e[t+9],4,-640364487),d=i(d,l,u,p,e[t+12],11,-421815835),p=i(p,d,l,u,e[t+15],16,530742520),u=i(u,p,d,l,e[t+2],23,-995338651),l=c(l,u,p,d,e[t],6,-198630844),d=c(d,l,u,p,e[t+7],10,1126891415),p=c(p,d,l,u,e[t+14],15,-1416354905),u=c(u,p,d,l,e[t+5],21,-57434055),l=c(l,u,p,d,e[t+12],6,1700485571),d=c(d,l,u,p,e[t+3],10,-1894986606),p=c(p,d,l,u,e[t+10],15,-1051523),u=c(u,p,d,l,e[t+1],21,-2054922799),l=c(l,u,p,d,e[t+8],6,1873313359),d=c(d,l,u,p,e[t+15],10,-30611744),p=c(p,d,l,u,e[t+6],15,-1560198380),u=c(u,p,d,l,e[t+13],21,1309151649),l=c(l,u,p,d,e[t+4],6,-145523070),d=c(d,l,u,p,e[t+11],10,-1120210379),p=c(p,d,l,u,e[t+2],15,718787259),u=c(u,p,d,l,e[t+9],21,-343485551),l=n(l,r),u=n(u,a),p=n(p,m),d=n(d,h)}return Uint32Array.of(l,u,p,d)}(function(e){if(0===e.length)return new Uint32Array;const t=new Uint32Array(r(8*e.length)).fill(0);for(let r=0;r<e.length;r++)t[r>>2]|=(255&e[r])<<r%4*8;return t}(e),8*e.length))}},3779:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);t.default={randomUUID:r}},3465:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="00000000-0000-0000-0000-000000000000"},1797:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9746);t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}},6697:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i},2291:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(n)};const n=new Uint8Array(16)},2829:(e,t)=>{"use strict";function r(e,t,r,n){switch(e){case 0:return t&r^~t&n;case 1:case 3:return t^r^n;case 2:return t&r^t&n^r&n}}function n(e,t){return e<<t|e>>>32-t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520],o=new Uint8Array(e.length+1);o.set(e),o[e.length]=128;const s=(e=o).length/4+2,i=Math.ceil(s/16),c=new Array(i);for(let t=0;t<i;++t){const r=new Uint32Array(16);for(let n=0;n<16;++n)r[n]=e[64*t+4*n]<<24|e[64*t+4*n+1]<<16|e[64*t+4*n+2]<<8|e[64*t+4*n+3];c[t]=r}c[i-1][14]=8*(e.length-1)/Math.pow(2,32),c[i-1][14]=Math.floor(c[i-1][14]),c[i-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<i;++e){const o=new Uint32Array(80);for(let t=0;t<16;++t)o[t]=c[e][t];for(let e=16;e<80;++e)o[e]=n(o[e-3]^o[e-8]^o[e-14]^o[e-16],1);let s=a[0],i=a[1],l=a[2],u=a[3],p=a[4];for(let e=0;e<80;++e){const a=Math.floor(e/20),c=n(s,5)+r(a,i,l,u)+p+t[a]+o[e]>>>0;p=u,u=l,l=n(i,30)>>>0,i=s,s=c}a[0]=a[0]+s>>>0,a[1]=a[1]+i>>>0,a[2]=a[2]+l>>>0,a[3]=a[3]+u>>>0,a[4]=a[4]+p>>>0}return Uint8Array.of(a[0]>>24,a[0]>>16,a[0]>>8,a[0],a[1]>>24,a[1]>>16,a[1]>>8,a[1],a[2]>>24,a[2]>>16,a[2]>>8,a[2],a[3]>>24,a[3]>>16,a[3]>>8,a[3],a[4]>>24,a[4]>>16,a[4]>>8,a[4])}},6011:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unsafeStringify=o;const n=r(9746),a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));function o(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}t.default=function(e,t=0){const r=o(e,t);if(!(0,n.default)(r))throw TypeError("Stringified UUID is invalid");return r}},1425:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV1State=s;const n=r(2291),a=r(6011),o={};function s(e,t,r){return e.msecs??=-1/0,e.nsecs??=0,t===e.msecs?(e.nsecs++,e.nsecs>=1e4&&(e.node=void 0,e.nsecs=0)):t>e.msecs?e.nsecs=0:t<e.msecs&&(e.node=void 0),e.node||(e.node=r.slice(10,16),e.node[0]|=1,e.clockseq=16383&(r[8]<<8|r[9])),e.msecs=t,e}function i(e,t,r,n,a,o,s=0){o||(o=new Uint8Array(16),s=0),t??=Date.now(),r??=0,n??=16383&(e[8]<<8|e[9]),a??=e.slice(10,16);const i=(1e4*(268435455&(t+=122192928e5))+r)%4294967296;o[s++]=i>>>24&255,o[s++]=i>>>16&255,o[s++]=i>>>8&255,o[s++]=255&i;const c=t/4294967296*1e4&268435455;o[s++]=c>>>8&255,o[s++]=255&c,o[s++]=c>>>24&15|16,o[s++]=c>>>16&255,o[s++]=n>>>8|128,o[s++]=255&n;for(let e=0;e<6;++e)o[s++]=a[e];return o}t.default=function(e,t,r){let c;const l=e?._v6??!1;if(e){const t=Object.keys(e);1===t.length&&"_v6"===t[0]&&(e=void 0)}if(e)c=i(e.random??e.rng?.()??(0,n.default)(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{const e=Date.now(),a=(0,n.default)();s(o,e,a),c=i(a,o.msecs,o.nsecs,l?void 0:o.clockseq,l?void 0:o.node,t,r)}return t?c:(0,a.unsafeStringify)(c)}},6568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(r="string"==typeof e?(0,n.default)(e):e,Uint8Array.of((15&r[6])<<4|r[7]>>4&15,(15&r[7])<<4|(240&r[4])>>4,(15&r[4])<<4|(240&r[5])>>4,(15&r[5])<<4|(240&r[0])>>4,(15&r[0])<<4|(240&r[1])>>4,(15&r[1])<<4|(240&r[2])>>4,96|15&r[2],r[3],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]));var r;return"string"==typeof e?(0,a.unsafeStringify)(t):t};const n=r(1797),a=r(6011)},591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;const n=r(338),a=r(2988);var o=r(2988);function s(e,t,r,o){return(0,a.default)(48,n.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=a.DNS,s.URL=a.URL,t.default=s},2988:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0,t.stringToBytes=o,t.default=function(e,t,r,s,i,c){const l="string"==typeof r?o(r):r,u="string"==typeof s?(0,n.default)(s):s;if("string"==typeof s&&(s=(0,n.default)(s)),16!==s?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let p=new Uint8Array(16+l.length);if(p.set(u),p.set(l,u.length),p=t(p),p[6]=15&p[6]|e,p[8]=63&p[8]|128,i){c=c||0;for(let e=0;e<16;++e)i[c+e]=p[e];return i}return(0,a.unsafeStringify)(p)};const n=r(1797),a=r(6011);function o(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}t.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",t.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},8286:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(3779),a=r(2291),o=r(6011);t.default=function(e,t,r){if(n.default.randomUUID&&!t&&!e)return n.default.randomUUID();const s=(e=e||{}).random||(e.rng||a.default)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=s[e];return t}return(0,o.unsafeStringify)(s)}},4557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.URL=t.DNS=void 0;const n=r(2829),a=r(2988);var o=r(2988);function s(e,t,r,o){return(0,a.default)(80,n.default,e,t,r,o)}Object.defineProperty(t,"DNS",{enumerable:!0,get:function(){return o.DNS}}),Object.defineProperty(t,"URL",{enumerable:!0,get:function(){return o.URL}}),s.DNS=a.DNS,s.URL=a.URL,t.default=s},6356:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(6011),a=r(1425),o=r(6568);t.default=function(e,t,r){e??={},r??=0;let s=(0,a.default)({...e,_v6:!0},new Uint8Array(16));if(s=(0,o.default)(s),t){for(let e=0;e<16;e++)t[r+e]=s[e];return t}return(0,n.unsafeStringify)(s)}},268:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t=(r="string"==typeof e?(0,n.default)(e):e,Uint8Array.of((15&r[3])<<4|r[4]>>4&15,(15&r[4])<<4|(240&r[5])>>4,(15&r[5])<<4|15&r[6],r[7],(15&r[1])<<4|(240&r[2])>>4,(15&r[2])<<4|(240&r[3])>>4,16|(240&r[0])>>4,(15&r[0])<<4|(240&r[1])>>4,r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]));var r;return"string"==typeof e?(0,a.unsafeStringify)(t):t};const n=r(1797),a=r(6011)},4299:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateV7State=s;const n=r(2291),a=r(6011),o={};function s(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,0===e.seq&&e.msecs++),e}function i(e,t,r,n,a=0){return n||(n=new Uint8Array(16),a=0),t??=Date.now(),r??=127*e[6]<<24|e[7]<<16|e[8]<<8|e[9],n[a++]=t/1099511627776&255,n[a++]=t/4294967296&255,n[a++]=t/16777216&255,n[a++]=t/65536&255,n[a++]=t/256&255,n[a++]=255&t,n[a++]=112|r>>>28&15,n[a++]=r>>>20&255,n[a++]=128|r>>>14&63,n[a++]=r>>>6&255,n[a++]=r<<2&255|3&e[10],n[a++]=e[11],n[a++]=e[12],n[a++]=e[13],n[a++]=e[14],n[a++]=e[15],n}t.default=function(e,t,r){let c;if(e)c=i(e.random??e.rng?.()??(0,n.default)(),e.msecs,e.seq,t,r);else{const e=Date.now(),a=(0,n.default)();s(o,e,a),c=i(a,o.msecs,o.seq,t,r)}return t?c:(0,a.unsafeStringify)(c)}},9746:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(6697);t.default=function(e){return"string"==typeof e&&n.default.test(e)}},2770:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(9746);t.default=function(e){if(!(0,n.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}},4865:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto.Metamodel"}]}],"namespace":"concerto.metamodel@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Position","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"line","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"column","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"offset","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Range","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"start","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"end","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Position"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"source","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TypeIdentifier","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"resolvedName","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorLiteral","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorString","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorNumber","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorBoolean","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"value","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DecoratorTypeReference","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"arguments","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DecoratorLiteral"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Identified","isAbstract":false,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IdentifiedBy","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Declaration","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapKeyType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapValueType","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"MapDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"key","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"},"isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"value","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapKeyType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapKeyType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapKeyType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleMapValueType","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipMapValueType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"MapValueType"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"EnumProperty"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EnumProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ConceptDeclaration","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isAbstract","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"identified","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Identified"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"superType","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"properties","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"},"isArray":true,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AssetDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ParticipantDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"TransactionDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"EventDeclaration","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ConceptDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Property","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false,"validator":{"$class":"concerto.metamodel@1.0.0.StringRegexValidator","pattern":"^(\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4})(?:\\\\p{Lu}|\\\\p{Ll}|\\\\p{Lt}|\\\\p{Lm}|\\\\p{Lo}|\\\\p{Nl}|\\\\$|_|\\\\\\\\u[0-9A-Fa-f]{4}|\\\\p{Mn}|\\\\p{Mc}|\\\\p{Nd}|\\\\p{Pc}|\\\\u200C|\\\\u200D)*$","flags":"u"}},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isArray","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"isOptional","isArray":false,"isOptional":false,"defaultValue":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"location","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Range"},"isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"RelationshipProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ObjectProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"type","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"TypeIdentifier"},"isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeProperty","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringRegexValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"pattern","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"flags","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringLengthValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"minLength","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"maxLength","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongProperty","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Property"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongDomainValidator","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"lower","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"upper","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"AliasedType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"aliasedName","isArray":false,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Import","isAbstract":true,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"uri","isArray":false,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportAll","isAbstract":false,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportType","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"name","isArray":false,"isOptional":false}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ImportTypes","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"types","isArray":true,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"aliasedTypes","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"AliasedType"},"isArray":true,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Model","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"sourceUri","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"concertoVersion","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"imports","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Import"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"declarations","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"},"isArray":true,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"decorators","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isArray":true,"isOptional":true}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Models","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"models","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Model"},"isArray":true,"isOptional":false}]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"ScalarDeclaration","isAbstract":true,"properties":[],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Declaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"BooleanScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.BooleanProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"IntegerScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.IntegerProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"IntegerDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"LongScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.LongProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"LongDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DoubleScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.DoubleProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"DoubleDomainValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"StringScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"validator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringRegexValidator"},"isArray":false,"isOptional":true},{"$class":"concerto.metamodel@1.0.0.ObjectProperty","name":"lengthValidator","type":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"StringLengthValidator"},"isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DateTimeScalar","isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"defaultValue","isArray":false,"isOptional":true}],"superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"ScalarDeclaration"}}]}')},480:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[],"namespace":"concerto.decorator@1.0.0","imports":[],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Decorator","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"DotNetNamespace","superType":{"$class":"concerto.metamodel@1.0.0.TypeIdentifier","name":"Decorator"},"isAbstract":false,"properties":[{"$class":"concerto.metamodel@1.0.0.StringProperty","name":"namespace","isArray":false,"isOptional":false}]}]}')},6391:e=>{"use strict";e.exports=JSON.parse('{"$class":"concerto.metamodel@1.0.0.Model","decorators":[{"$class":"concerto.metamodel@1.0.0.Decorator","name":"DotNetNamespace","arguments":[{"$class":"concerto.metamodel@1.0.0.DecoratorString","value":"AccordProject.Concerto"}]}],"namespace":"concerto@1.0.0","imports":[{"$class":"concerto.metamodel@1.0.0.ImportType","name":"DotNetNamespace","namespace":"concerto.decorator@1.0.0"}],"declarations":[{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Concept","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Asset","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Participant","isAbstract":true,"properties":[],"identified":{"$class":"concerto.metamodel@1.0.0.Identified"}},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Transaction","isAbstract":true,"properties":[]},{"$class":"concerto.metamodel@1.0.0.ConceptDeclaration","name":"Event","isAbstract":true,"properties":[]}]}')},8168:e=>{"use strict";e.exports=JSON.parse('{"en":{"like":["{0, plural, offset:1"," =0 {Be the first to like this}"," =1 {You liked this}"," one {You and someone else liked this}"," other {You and # others liked this}","}"],"test-hello-array":"Hello, {0} {1} {2}","test-hello-object":"Hello, {first} {middle} {last}","test-repeat-array":"{0} {0} {0}","test-repeat-object":"{value} {value} {value}","classdeclaration-constructor-modelastreq":"\\"ModelFile\\" and \\"AST\\" are required to create a \\"ClassDecl\\".","classdeclaration-process-unrecmodelelem":"Unrecognised model element \\"{type}\\".","classdeclaration-getfield-notfindsupertype":"Could not find supertype \\"{type}\\".","classdeclaration-validate-identifiernotproperty":"Class \\"{class}\\" is identified by field \\"{idField}\\", but does not contain this property.","classdeclaration-validate-identifiernotstring":"Class \\"{class}\\" is identified by field \\"{idField}\\", but the type of the field is not \\"String\\".","classdeclaration-validate-duplicatefieldname":"Class \\"{class}\\" has more than one field named \\"{fieldName}\\".","classdeclaration-validate-missingidentifier":"Class \\"{class}\\" is not declared as \\"abstract\\". It must define an identifying field.","classdeclaration-validate-selfextending":"Class \\"{class}\\" cannot extend itself.","classdeclaration-validate-undefined-properties":"Properties of Class \\"{class}\\" has to be defined.","modelfile-constructor-unrecmodelelem":"Unrecognised model element \\"{type}\\".","modelfile-resolvetype-undecltype":"Undeclared type \\"{type}\\" in \\"{context}\\".","modelfile-resolveimport-failfindimp":"Failed to find \\"{type}\\" in list of imports \\"[{imports}]\\" for namespace \\"{namespace}\\".","transactiondeclaration-getidentifierfieldname-noidentifyingfield":"Transactions do not have an identifying field.","composer-connect-noconopts":"\\"connectOptions\\" not specified.","composer-connect-nokeyvalstore":"\\"connectOptions.keyValStore\\" not specified.","composer-connect-nomembersrvcurl":"\\"connectOptions.membershipServicesURL\\" not specified.","composer-connect-nopeerurl":"\\"connectOptions.peerURL\\" not specified.","composer-connect-noeventhuburl":"\\"connectOptions.eventHubURL\\" not specified.","composer-connect-notconnected":"Connection needs to be connected. Call \\"connect(..)\\".","composer-login-noenrollmentid":"\\"enrollmentID\\" not specified.","composer-login-noenrollmentsecret":"\\"enrollmentSecret\\" not specified.","composer-deploy-nosecuritycontext":"\\"securityContext\\" not specified.","factory-newinstance-missingidentifier":"Missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-invalididentifier":"Invalid or missing identifier for Type \\"{type}\\" in namespace \\"{namespace}\\".","factory-newinstance-abstracttype":"Cannot instantiate the abstract type \\"{type}\\" in the \\"{namespace}\\" namespace.","factory-newrelationship-notregisteredwithmm":"Cannot create relationship as namespace \\"{namespace}\\" is not known.","factory-newinstance-typenotdeclaredinns":"Cannot instantiate Type \\"{type}\\" in namespace \\"{namespace}\\".","instancegenerator-newinstance-noconcreteclass":"No concrete extending type for \\"{type}\\".","modelmanager-resolvetype-nonsfortype":"No registered namespace for type \\"{type}\\" in \\"{context}\\".","modelmanager-resolvetype-notypeinnsforcontext":"No type \\"{type}\\" in namespace \\"{namespace}\\" for \\"{context}\\".","modelmanager-gettype-noregisteredns":"Namespace is not defined for type \\"{type}\\".","modelmanager-gettype-duplicatensimport":"Importing types from different versions (\\"{version1}\\", \\"{version2}\\") of the same namespace \\"{namespace}\\" is not permitted.","modelmanager-gettype-notypeinns":"Type \\"{type}\\" is not defined in namespace \\"{namespace}\\".","serializer-constructor-factorynull":"\\"Factory\\" cannot be \\"null\\".","serializer-constructor-modelmanagernull":"\\"ModelManager\\" cannot be \\"null\\".","serializer-tojson-notcobject":"\\"Serializer.toJSON\\" only accepts \\"Concept\\", \\"Event\\", \\"Asset\\", \\"Participant\\" or \\"Transaction\\".","util-securitycheck-novalidcontext":"A valid \\"SecurityContext\\" must be specified.","modelutil-getnamespace-nofnq":"FQN is invalid.","resourcevalidator-notresourceorconcept":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has the value of \\"{invalidValue}\\". Expected a \\"Resource\\" or a \\"Concept\\".","resourcevalidator-notrelationship":"Model violation in the \\"{resourceId}\\" instance. Class \\"{classFQN}\\" has a value of \\"{invalidValue}\\". Expected a \\"Relationship\\".","resourcevalidator-fieldtypeviolation":"Model violation in the \\"{resourceId}\\" instance. The field \\"{propertyName}\\" has a value of \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type of value: \\"{fieldType}\\".","resourcevalidator-missingrequiredproperty":"The instance \\"{resourceId}\\" is missing the required field \\"{fieldName}\\".","resourcevalidator-invalidenumvalue":"Model violation in the \\"{resourceId}\\" instance. Invalid enum value of \\"{value}\\" for the field \\"{fieldName}\\".","resourcevalidator-abstractclass":"The class \\"{className}\\" is abstract and should not contain an instance.","resourcevalidator-undeclaredfield":"Instance \\"{resourceId}\\" has a property named \\"{propertyName}\\", which is not declared in \\"{fullyQualifiedTypeName}\\".","resourcevalidator-invalidfieldassignment":"Instance \\"{resourceId}\\" has a property \\"{propertyName}\\" with type \\"{objectType}\\" that is not derived from \\"{fieldType}\\".","resourcevalidator-emptyidentifier":"Instance \\"{resourceId}\\" has an empty identifier.","resourcevalidator-invalidmap":"Model violation in the \\"{resourceId}\\" instance. Invalid Type for Map Key or Value - expected String type.","typenotfounderror-defaultmessage":"Type \\"{typeName}\\" not found.","whereastvalidator-propertytypeviolation":"Property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"{fieldType}\\".","whereastvalidator-enum-propertytypeviolation":"Enum property \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-relationship-propertytypeviolation":"Relationship \\"{propertyName}\\" cannot be compared with \\"{value}\\" (type of value: \\"{typeOfValue}\\"). Expected type: \\"String\\".","whereastvalidator-unsupportedtype":"Property \\"{propertyName}\\" of type \\"{fieldType}\\" cannot be compared with a literal value.","whereastvalidator-invalidoperator":"Property \\"{propertyName}\\" cannot be compared using the \\"{operator}\\" operator."}}')},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"@accordproject/concerto-core","version":"3.20.3","description":"Core Implementation for the Concerto Modeling Language","homepage":"https://github.com/accordproject/concerto","engines":{"node":">=18","npm":">=10"},"main":"index.js","browser":"dist/concerto-core.js","typings":"types/index.d.ts","scripts":{"prepublishOnly":"npm run webpack","pretest":"npm run lint","lint":"eslint .","postlicchk":"npm run doc","doc":"jsdoc --pedantic --recurse -c jsdoc.json","test":"node ./scripts/api-changelog.js && cross-env TZ=UTC nyc mocha --recursive -t 10000","test:watch":"cross-env TZ=UTC nyc mocha --watch --recursive -t 10000","mocha":"mocha --recursive -t 10000","nyc":"nyc mocha --recursive -t 10000","build":"npm run build:types","postbuild":"npm run webpack","webpack":"webpack --config webpack.config.js --mode production","build:types":"tsc index.js --declaration --allowJs --emitDeclarationOnly --outDir types"},"repository":{"type":"git","url":"https://github.com/accordproject/concerto.git","directory":"packages/concerto-cto"},"keywords":["schema","data model","verification"],"author":"accordproject.org","license":"Apache-2.0","devDependencies":{"@babel/preset-env":"7.26.0","acorn":"8.14.0","acorn-walk":"8.3.4","babel-loader":"9.2.1","chai":"4.3.6","chai-as-promised":"7.1.1","chai-things":"0.2.0","commander":"2.20.0","cross-env":"7.0.3","doctrine":"3.0.0","eslint":"8.57.1","fs-extra":"11.2.0","jsdoc":"^4.0.4","klaw":"4.1.0","mocha":"10.8.2","node-polyfill-webpack-plugin":"4.0.0","nyc":"17.1.0","sinon":"19.0.2","tmp-promise":"3.0.3","typescript":"5.7.2","webpack":"5.96.1","webpack-cli":"^5.1.4","xregexp":"5.1.1","yargs":"17.7.2"},"dependencies":{"@accordproject/concerto-cto":"3.20.3","@accordproject/concerto-metamodel":"3.11.0","@accordproject/concerto-util":"3.20.3","dayjs":"1.11.13","debug":"4.3.7","lorem-ipsum":"2.0.8","randexp":"0.5.3","semver":"7.6.3","urijs":"1.19.11","uuid":"11.0.3"},"browserslist":"> 0.25%, not dead","nyc":{"produce-source-map":"true","sourceMap":"inline","reporter":["lcov","text-summary","html","json"],"include":["lib/**/*.js"],"exclude":[],"all":true,"check-coverage":true,"statements":99,"branches":97,"functions":98,"lines":99}}')}},t={};function r(n){var a=t[n];if(void 0!==a)return a.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}return 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.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r(5237)})()));
|