@social-mail/social-mail-client 1.9.41 → 1.9.43
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/admin/AdminAppIndex.pack.js +2 -2
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/SocialMailApp.d.ts +1 -0
- package/dist/common/SocialMailApp.d.ts.map +1 -1
- package/dist/common/SocialMailApp.js.map +1 -1
- package/dist/public/store/StoreApp.pack.js.map +1 -1
- package/dist/public/store/StoreApp.pack.min.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.js +2 -2
- package/dist/public/store/cart/ShoppingCart.pack.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js.map +1 -1
- package/dist/services/LoginService.js +2 -2
- package/dist/services/LoginService.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.js +2 -2
- package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js +1 -1
- package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +3 -7
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +1 -1
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/drawer/AppDrawer.d.ts.map +1 -1
- package/dist/web/drawer/AppDrawer.js +1 -5
- package/dist/web/drawer/AppDrawer.js.map +1 -1
- package/package.json +1 -1
- package/src/common/SocialMailApp.ts +1 -0
- package/src/services/LoginService.ts +1 -1
- package/src/web/drawer/AppDrawer.tsx +1 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function setupTSLib(){var __extends;var __assign;var __rest;var __decorate;var __param;var __esDecorate;var __runInitializers;var __propKey;var __setFunctionName;var __metadata;var __awaiter;var __generator;var __exportStar;var __values;var __read;var __spread;var __spreadArrays;var __spreadArray;var __await;var __asyncGenerator;var __asyncDelegator;var __asyncValues;var __makeTemplateObject;var __importStar;var __importDefault;var __classPrivateFieldGet;var __classPrivateFieldSet;var __classPrivateFieldIn;var __createBinding;var __addDisposableResource;var __disposeResources;var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)};__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw new TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true};__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0};__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)};__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})};__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)};__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)};__createBinding=Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]};__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar};__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r};__spreadArray=function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}};__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)}))}}function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)}};__makeTemplateObject=function(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}};__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)};__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose]}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");env.stack.push({value,dispose,async})}else if(async){env.stack.push({async:true})}return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=new Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e;env.hasError=true}function next(){while(env.stack.length){var rec=env.stack.pop();try{var result=rec.dispose&&rec.dispose.call(rec.value);if(rec.async)return Promise.resolve(result).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(env.hasError)throw env.error}return next()};return{__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources}}var Reflect;(function(Reflect){(function(factory){const root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();let exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return(key,value)=>{if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){const hasOwn=Object.prototype.hasOwnProperty;const supportsSymbol=typeof Symbol==="function";const toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";const iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";const supportsCreate=typeof Object.create==="function";const supportsProto={__proto__:[]}instanceof Array;const downLevel=!supportsCreate&&!supportsProto;const HashMap={create:supportsCreate?()=>MakeDictionary(Object.create(null)):supportsProto?()=>MakeDictionary({__proto__:null}):()=>MakeDictionary({}),has:downLevel?(map,key)=>hasOwn.call(map,key):(map,key)=>key in map,get:downLevel?(map,key)=>hasOwn.call(map,key)?map[key]:undefined:(map,key)=>map[key]};const functionPrototype=Object.getPrototypeOf(Function);const usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";const _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();const _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();const _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();const Metadata=new _WeakMap;function decorate(decorators,target,propertyKey,attributes){if(!IsUndefined(propertyKey)){if(!IsArray(decorators))throw new TypeError;if(!IsObject(target))throw new TypeError;if(!IsObject(attributes)&&!IsUndefined(attributes)&&!IsNull(attributes))throw new TypeError;if(IsNull(attributes))attributes=undefined;propertyKey=ToPropertyKey(propertyKey);return DecorateProperty(decorators,target,propertyKey,attributes)}else{if(!IsArray(decorators))throw new TypeError;if(!IsConstructor(target))throw new TypeError;return DecorateConstructor(decorators,target)}}exporter("decorate",decorate);function metadata(metadataKey,metadataValue){function decorator(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey)&&!IsPropertyKey(propertyKey))throw new TypeError;OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}return decorator}exporter("metadata",metadata);function defineMetadata(metadataKey,metadataValue,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}exporter("defineMetadata",defineMetadata);function hasMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasMetadata(metadataKey,target,propertyKey)}exporter("hasMetadata",hasMetadata);function hasOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasOwnMetadata(metadataKey,target,propertyKey)}exporter("hasOwnMetadata",hasOwnMetadata);function getMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetMetadata(metadataKey,target,propertyKey)}exporter("getMetadata",getMetadata);function getOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetOwnMetadata(metadataKey,target,propertyKey)}exporter("getOwnMetadata",getOwnMetadata);function getMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryMetadataKeys(target,propertyKey)}exporter("getMetadataKeys",getMetadataKeys);function getOwnMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryOwnMetadataKeys(target,propertyKey)}exporter("getOwnMetadataKeys",getOwnMetadataKeys);function deleteMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);const metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;const targetMetadata=Metadata.get(target);targetMetadata.delete(propertyKey);if(targetMetadata.size>0)return true;Metadata.delete(target);return true}exporter("deleteMetadata",deleteMetadata);function DecorateConstructor(decorators,target){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsConstructor(decorated))throw new TypeError;target=decorated}}return target}function DecorateProperty(decorators,target,propertyKey,descriptor){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target,propertyKey,descriptor);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsObject(decorated))throw new TypeError;descriptor=decorated}}return descriptor}function GetOrCreateMetadataMap(O,P,Create){let targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}let metadataMap=targetMetadata.get(P);if(IsUndefined(metadataMap)){if(!Create)return undefined;metadataMap=new _Map;targetMetadata.set(P,metadataMap)}return metadataMap}function OrdinaryHasMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){const ownKeys=OrdinaryOwnMetadataKeys(O,P);const parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;const parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;const set=new _Set;const keys=[];for(const key of ownKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(const key of parentKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){const keys=[];const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;const keysObj=metadataMap.keys();const iterator=GetIterator(keysObj);let k=0;while(true){const next=IteratorStep(iterator);if(!next){keys.length=k;return keys}const nextValue=IteratorValue(next);try{keys[k]=nextValue}catch(e){try{IteratorClose(iterator)}finally{throw e}}k++}}function Type(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function IsUndefined(x){return x===undefined}function IsNull(x){return x===null}function IsSymbol(x){return typeof x==="symbol"}function IsObject(x){return typeof x==="object"?x!==null:typeof x==="function"}function ToPrimitive(input,PreferredType){switch(Type(input)){case 0:return input;case 1:return input;case 2:return input;case 3:return input;case 4:return input;case 5:return input}const hint=PreferredType===3?"string":PreferredType===5?"number":"default";const exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){const result=exoticToPrim.call(input,hint);if(IsObject(result))throw new TypeError;return result}return OrdinaryToPrimitive(input,hint==="default"?"number":hint)}function OrdinaryToPrimitive(O,hint){if(hint==="string"){const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}}else{const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){const key=ToPrimitive(argument,3);if(IsSymbol(key))return key;return ToString(key)}function IsArray(argument){return Array.isArray?Array.isArray(argument):argument instanceof Object?argument instanceof Array:Object.prototype.toString.call(argument)==="[object Array]"}function IsCallable(argument){return typeof argument==="function"}function IsConstructor(argument){return typeof argument==="function"}function IsPropertyKey(argument){switch(Type(argument)){case 3:return true;case 4:return true;default:return false}}function GetMethod(V,P){const func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){const method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;const iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){const result=iterator.next();return result.done?false:result}function IteratorClose(iterator){const f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){const proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;const prototype=O.prototype;const prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;const constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){const cacheSentinel={};const arraySentinel=[];class MapIterator{constructor(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}"@@iterator"(){return this}[iteratorSymbol](){return this}next(){const index=this._index;if(index>=0&&index<this._keys.length){const result=this._selector(this._keys[index],this._values[index]);if(index+1>=this._keys.length){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}else{this._index++}return{value:result,done:false}}return{value:undefined,done:true}}throw(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error}return(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}}}return class Map{constructor(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}get size(){return this._keys.length}has(key){return this._find(key,false)>=0}get(key){const index=this._find(key,false);return index>=0?this._values[index]:undefined}set(key,value){const index=this._find(key,true);this._values[index]=value;return this}delete(key){const index=this._find(key,false);if(index>=0){const size=this._keys.length;for(let i=index+1;i<size;i++){this._keys[i-1]=this._keys[i];this._values[i-1]=this._values[i]}this._keys.length--;this._values.length--;if(key===this._cacheKey){this._cacheKey=cacheSentinel;this._cacheIndex=-2}return true}return false}clear(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2}keys(){return new MapIterator(this._keys,this._values,getKey)}values(){return new MapIterator(this._keys,this._values,getValue)}entries(){return new MapIterator(this._keys,this._values,getEntry)}"@@iterator"(){return this.entries()}[iteratorSymbol](){return this.entries()}_find(key,insert){if(this._cacheKey!==key){this._cacheIndex=this._keys.indexOf(this._cacheKey=key)}if(this._cacheIndex<0&&insert){this._cacheIndex=this._keys.length;this._keys.push(key);this._values.push(undefined)}return this._cacheIndex}};function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return class Set{constructor(){this._map=new _Map}get size(){return this._map.size}has(value){return this._map.has(value)}add(value){return this._map.set(value,value),this}delete(value){return this._map.delete(value)}clear(){this._map.clear()}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}"@@iterator"(){return this.keys()}[iteratorSymbol](){return this.keys()}}}function CreateWeakMapPolyfill(){const UUID_SIZE=16;const keys=HashMap.create();const rootKey=CreateUniqueKey();return class WeakMap{constructor(){this._key=CreateUniqueKey()}has(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false}get(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined}set(target,value){const table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this}delete(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false}clear(){this._key=CreateUniqueKey()}};function CreateUniqueKey(){let key;do{key="@@WeakMap@@"+CreateUUID()}while(HashMap.has(keys,key));keys[key]=true;return key}function GetOrCreateWeakMapTable(target,create){if(!hasOwn.call(target,rootKey)){if(!create)return undefined;Object.defineProperty(target,rootKey,{value:HashMap.create()})}return target[rootKey]}function FillRandomBytes(buffer,size){for(let i=0;i<size;++i)buffer[i]=Math.random()*255|0;return buffer}function GenRandomBytes(size){if(typeof Uint8Array==="function"){if(typeof crypto!=="undefined")return crypto.getRandomValues(new Uint8Array(size));if(typeof msCrypto!=="undefined")return msCrypto.getRandomValues(new Uint8Array(size));return FillRandomBytes(new Uint8Array(size),size)}return FillRandomBytes(new Array(size),size)}function CreateUUID(){const data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;let result="";for(let offset=0;offset<UUID_SIZE;++offset){const byte=data[offset];if(offset===4||offset===6||offset===8)result+="-";if(byte<16)result+="0";result+=byte.toString(16).toLowerCase()}return result}}function MakeDictionary(obj){obj.__=undefined;delete obj.__;return obj}}))})(Reflect||(Reflect={}));if(!Array.prototype.find){Array.prototype.find=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return item}}}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return i}}return-1}}if(!Array.prototype.map){Array.prototype.map=function(callbackfn,thisArg){const a=[];for(let i=0;i<this.length;i++){const r=callbackfn(this[i],i,this);if(r!==undefined){a.push(r)}}return a}}if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,endPosition){const index=this.indexOf(searchString,endPosition);return index===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,endPosition){const index=this.lastIndexOf(searchString,endPosition);if(index===-1){return false}const l=this.length-index;return l===searchString.length}}if(!Number.parseInt){Number.parseInt=function(n){return Math.floor(parseFloat(n))}}if(!Number.parseFloat){Number.parseFloat=function(n){return parseFloat(n)}}if(typeof Element!=="undefined"){if(!("remove"in Element.prototype)){Element.prototype["remove"]=function(){if(this.parentNode){this.parentNode.removeChild(this)}}}}const currentModuleSymbol=Symbol("currentModule");class Module{get url(){const u=AmdLoader.instance.resolveSource(this.name);Object.defineProperty(this,"url",{value:u,enumerable:true});return u}get meta(){return{url:this.url,resolve:this.require.resolve}}get filename(){return this.name}constructor(name,folder){this.name=name;this.folder=folder;this.emptyExports={};this.packed=false;this.isLoaded=false;this.isResolved=false;this.dependencies=[];this.rID=null;const index=name.lastIndexOf("/");if(index===-1){this.folder=""}else{this.folder=name.substring(0,index)}this.exports=this.emptyExports}import(name){const resolvedName=this.require.resolve(name);return AmdLoader.instance.import(resolvedName)}addDependency(d){this.dependencies.push(d);if(UMD.debug){if(d.isDependentOn(this)){console.warn(`${d.name} already depends on ${this.name}`)}}}getExports(){if(this.factory){try{const factory=this.factory;this.factory=null;delete this.factory;AmdLoader.instance.currentStack.push(this);const result=factory(this.require,this.exports);if(result){if(typeof result==="object"||typeof result==="function"){this.exports=result;if(typeof result.default==="undefined"){result.default=result}}else if(!this.exports.default){this.exports.default=result}}AmdLoader.instance.currentStack.pop();delete this.factory;const def=this.exports.default;if(typeof def==="function"||typeof def==="object"){def[UMD.nameSymbol]=this.name}}catch(e){const em=e.stack?`${e}\n${e.stack}`:e;const s=[];console.error(e);for(const iterator of AmdLoader.instance.currentStack){s.push(iterator.name);console.error(iterator.name)}const ne=new Error(`Failed loading module ${this.name} with error ${em}\nDependents: ${s.join("\n\t")}`);console.error(ne);throw ne}}return this.exports}isDependentOn(m,visited){visited!==null&&visited!==void 0?visited:visited=new Set;visited.add(this);for(const iterator of this.dependencies){if(iterator===m){return true}if(visited.has(iterator)){continue}if(iterator.isDependentOn(m,visited)){return true}}return false}}Module.nextID=1;var _a,_b,_c;var _d,_e;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);(_a=(_d=Symbol).dispose)!==null&&_a!==void 0?_a:_d.dispose=Symbol("dispose");(_b=(_e=Symbol).asyncDispose)!==null&&_b!==void 0?_b:_e.asyncDispose=Symbol("asyncDispose");class AmdLoader{constructor(){this.root=null;this.defaultUrl=null;this.currentStack=[];this.nodeModules=[];this.modules=new Map;this.pathMap=new Map;this.mockTypes=[]}register(packages,modules){for(const iterator of packages){if(!this.pathMap.has(iterator)){this.map(iterator,"/")}}for(const iterator of modules){this.get(iterator)}}setupRoot(root,url){if(url.endsWith("/")){url=url.substring(0,url.length-1)}for(const key of this.pathMap.keys()){const moduleUrl=key===root?url:`${url}/node_modules/${key}`;this.map(key,moduleUrl)}this.defaultUrl=`${url}/node_modules/`}registerModule(name,moduleExports){const m=this.get(name);m.package.url="/";m.exports=Object.assign({__esModule:true},moduleExports);m.loader=promiseDone;m.resolver=()=>Promise.resolve(m.exports);m.isLoaded=true;m.isResolved=true}setup(name){const jsModule=this.get(name);jsModule.packed=true;AmdLoader.current=jsModule}replace(type,name,mock){if(mock&&!this.enableMock){return}const peek=this.currentStack.length?this.currentStack[this.currentStack.length-1]:undefined;name=this.resolveRelativePath(name,peek.name);const rt=new MockType(peek,type,name,mock);rt.replacedModule=this.get(rt.moduleName);rt.replacedModule.postExports=()=>{rt.replaced=rt.replacedModule.getExports()[rt.exportName]};(peek.dynamicImports=peek.dynamicImports||[]).push(rt);this.mockTypes.push(rt)}resolveType(type){const t=this.mockTypes.find((tx=>tx.type===type));return t?t.replaced:type}map(packageName,packageUrl,type="amd",exportVar){let existing=this.pathMap.get(packageName);if(existing){existing.url=packageUrl;existing.exportVar=exportVar;existing.type=type;return existing}existing={name:packageName,url:packageUrl,type,exportVar,version:""};if(packageName==="reflect-metadata"){type="global"}this.pathMap.set(packageName,existing);return existing}resolveSource(name,defExt=".js"){try{if(/^((\/)|((http|https)\:\/\/))/i.test(name)){return name}let path=null;for(const key of this.pathMap.keys()){const packageName=key;if(name.startsWith(packageName)){path=this.pathMap.get(key).url;if(name.length!==packageName.length){if(name[packageName.length]!=="/"){continue}name=name.substring(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substring(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substring(i+1);if(!/\.(js|mjs|jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm|json)$/i.test(fileName)){path=path+defExt}return path}}return name}catch(e){console.error(`Failed to resolve ${name} with error ${JSON.stringify(e)}`);console.error(e)}}resolveRelativePath(name,currentPackage){if(name.charAt(0)!=="."){return name}const tokens=name.split("/");const currentTokens=currentPackage.split("/");currentTokens.pop();while(tokens.length){const first=tokens[0];if(first===".."){currentTokens.pop();tokens.splice(0,1);continue}if(first==="."){tokens.splice(0,1)}break}return`${currentTokens.join("/")}/${tokens.join("/")}`}getPackageVersion(name){let[scope,packageName]=name.split("/",3);let version="";if(scope[0]!=="@"){packageName=scope;scope=""}else{scope+="/"}const versionTokens=packageName.split("@");if(versionTokens.length>1){version=versionTokens[1];name=name.replace("@"+version,"")}packageName=scope+packageName;return{packageName,version,name}}get(name1){let module=this.modules.get(name1);if(!module){const{packageName,version,name}=this.getPackageVersion(name1);module=new Module(name);this.modules.set(name1,module);let pp=this.pathMap.get(packageName);if(!pp){pp={type:"amd",name:packageName,version,url:this.defaultUrl?this.defaultUrl+packageName:undefined};this.pathMap.set(packageName,pp)}module.package=pp;module.require=(n,resolve,reject)=>{let isAsync=false;if(typeof n!=="string"){n=n[0];isAsync=true}const an=this.resolveRelativePath(n,module.name);const resolvedModule=this.get(an);if(isAsync){return this.import(resolvedModule).then(resolve,reject)}const m=resolvedModule.getExports();return m};module.require.resolve=n=>this.resolveRelativePath(n,module.name);this.modules.set(name,module)}return module}import(name){var _a;const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}return(_a=module.importPromise)!==null&&_a!==void 0?_a:module.importPromise=module.isResolved?Promise.resolve(module.getExports()):this.importAsync(module)}importNodeModule(module){if(typeof require!=="undefined"){const name=module.url;const moduleCode=require("fs").readFileSync(require.resolve(name),"utf8").trim();if(!/^System\.Register/.test(moduleCode)){return Promise.resolve(require(name))}}}importAsync(module){return __awaiter(this,void 0,void 0,(function*(){yield this.load(module);if(module.resolver){return yield module.resolver()}return yield this.resolve(module)}))}resolve(module){return __awaiter(this,void 0,void 0,(function*(){const ds=[];if(UMD.debug){const waiting=module.waiting=[];for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}waiting.push(iterator);ds.push(this.import(iterator))}}else{for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}ds.push(this.import(iterator))}}yield Promise.all(ds);const exports=module.getExports();module.isResolved=true;if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return exports}))}load(module){if(module.loader){return module.loader}if(AmdLoader.isJson.test(module.url)){const mUrl=module.url.startsWith(module.package.url)?module.url:module.package.url+module.url;module.loader=new Promise(((resolve,reject)=>{try{AmdLoader.httpTextLoader(mUrl,(r=>{try{module.exports=JSON.parse(r);module.exports.default=module.exports;module.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}));return module.loader}if(AmdLoader.isCss.test(module.url)){const m={get url(){var _a;let mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(mUrl))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}if(!/\.css$/i.test(mUrl)){mUrl+=".css"}if(!module.packed){window.installStyleSheet(mUrl)}return mUrl},toString(){return this.url}};const e={__esModule:true,default:m.url};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}if(AmdLoader.isMedia.test(module.url)){const m={get url(){const mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;Object.defineProperty(m,"url",{value:mUrl,enumerable:true});return mUrl},toString(){return this.url}};const e={__esModule:true,default:m};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}module.loader=new Promise(((resolve,reject)=>{const script=AmdLoader.moduleLoader(module.name,module.url,(()=>{try{AmdLoader.current=module;if(AmdLoader.instance.define){AmdLoader.instance.define();AmdLoader.instance.define=null}if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}if(AmdLoader.moduleProgress){AmdLoader.moduleProgress(module.name,this.modules,"loading")}module.isLoaded=true;resolve()}catch(e){console.error(e);reject(e)}}),(error=>{reject(error)}));script[currentModuleSymbol]=module}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm)$/i;AmdLoader.isCss=/\.(css|less|scss)$/i;AmdLoader.isJson=/\.json$/i;AmdLoader.globalVar={};AmdLoader.instance=new AmdLoader;AmdLoader.current=null;const a=AmdLoader.instance;a.map("global","/","global");a.registerModule("global/document",{default:document});a.registerModule("global/window",{default:typeof window!=="undefined"?window:global});a.map("reflect-metadata","/","global");a.registerModule("reflect-metadata",Reflect);AmdLoader.moduleLoader=(name,url,success,error)=>{const script=document.createElement("script");script.type="text/javascript";script.src=url;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;success()};script.onerror=e=>{error(e)};document.body.appendChild(script);return script};AmdLoader.httpTextLoader=(url,success,error)=>{const xhr=new XMLHttpRequest;xhr.onreadystatechange=e=>{if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){success(xhr.responseText)}else{error(xhr.responseText)}}};xhr.open("GET",url);xhr.send()};var amdConfig;amdConfig!==null&&amdConfig!==void 0?amdConfig:amdConfig={};(_c=amdConfig.moduleProgress)!==null&&_c!==void 0?_c:amdConfig.moduleProgress=(()=>{if(!document){return(name,p)=>{console.log(`${name} ${p}%`)}}return(name,n,status)=>{}})();AmdLoader.moduleProgress=amdConfig.moduleProgress;var define=(requiresOrFactory,factory,nested)=>{const loader=AmdLoader.instance;const{currentScript}=document;let module;if(currentScript){module=currentScript[currentModuleSymbol];if(module){AmdLoader.current=module}}module!==null&&module!==void 0?module:module=AmdLoader.current;let requires=[];if(typeof requiresOrFactory!=="function"){requires=requiresOrFactory}else{factory=requiresOrFactory}if(!module){factory();return}if(module.factory){return}module.dependencies=[];const args=[];for(const s of requires){if(s==="require"){args.push(module.require);continue}if(s==="exports"){args.push(module.emptyExports);continue}if(/^global/.test(s)){args.push(loader.get(s).exports)}const name=loader.resolveRelativePath(s,module.name);const child=loader.get(name);module.addDependency(child)}module.factory=()=>factory.apply(module,args)};define.amd={};class MockType{constructor(module,type,name,mock,moduleName,exportName){this.module=module;this.type=type;this.name=name;this.mock=mock;this.moduleName=moduleName;this.exportName=exportName;this.name=name=name.replace("{lang}",UMD.lang).replace("{platform}",UMD.viewPrefix);if(name.indexOf("$")!==-1){const tokens=name.split("$");this.moduleName=tokens[0];this.exportName=tokens[1]||tokens[0].split("/").pop()}else{this.moduleName=name;this.exportName="default"}}}const merge=(target,source)=>{for(const key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}};const enumerable=true,configurable=true;class System{static resolve(id){return AmdLoader.instance.resolveSource(id)}static import(name){return AmdLoader.instance.import(name)}static register(nameOrImports,importsOrSetup,setup){var _a,_b;const instance=AmdLoader.instance;const currentModule=(_b=(_a=document.currentScript)===null||_a===void 0?void 0:_a[currentModuleSymbol])!==null&&_b!==void 0?_b:AmdLoader.current;const name=typeof nameOrImports==="string"?nameOrImports:void 0;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=name?instance.get(name):currentModule;if(module.packed){for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);if(/\.(css|less)$/i.test(absolutePath)){dm.packed=true}module.dependencies.push(dm)}}else{for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);module.dependencies.push(dm)}}module.isLoaded=true;if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}module.setup=setup;module.loader=promiseDone;const r=module.setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);if(!module.exports.default){module.exports.default=module.exports}return module.exports}module.exports[key]=value;return value}),module);module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){const ds=[];const{setters}=r;let isCircularDependency;let index=0;for(const iterator of module.dependencies){const set=setters[index++];if(iterator.isResolved){set(iterator.getExports());continue}const setP=this.import(iterator).then(set);if(iterator.isDependentOn(module)){isCircularDependency=true;continue}ds.push(setP)}yield Promise.all(ds);if(isCircularDependency){yield new Promise((resolve=>setTimeout(resolve,1)))}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){yield rp}module.isResolved=true;module.getExports();if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return module.exports}));return module}}const globalNS=typeof window!=="undefined"?window:global;class UMDClass{constructor(){this.debug=false;this.viewPrefix="web";this.defaultApp="@web-atoms/core/dist/web/WebApp";this.lang="en-US";this.nameSymbol=typeof Symbol!=="undefined"?Symbol():"_$_nameSymbol"}get mock(){return AmdLoader.instance.enableMock}set mock(v){AmdLoader.instance.enableMock=v}resolvePath(n){return AmdLoader.instance.resolveSource(n,null)}resolveViewPath(path){return path.replace("{platform}",this.viewPrefix)}resolveType(type){return AmdLoader.instance.resolveType(type)}map(name,path,type="amd",exportVar){AmdLoader.instance.map(name,path,type,exportVar)}setupRoot(name,url){AmdLoader.instance.setupRoot(name,url)}mockType(type,name){AmdLoader.instance.replace(type,name,true)}inject(type,name){AmdLoader.instance.replace(type,name,false)}resolveViewClassAsync(path){return __awaiter(this,void 0,void 0,(function*(){path=this.resolveViewPath(path);const e=yield AmdLoader.instance.import(path);return e.default}))}import(path){return AmdLoader.instance.import(path)}load(path,designMode){return __awaiter(this,void 0,void 0,(function*(){this.mock=designMode;const t=yield AmdLoader.instance.import("@web-atoms/core/dist/core/types");const a=yield AmdLoader.instance.import("@web-atoms/core/dist/Atom");a.Atom.designMode=designMode;const al=yield AmdLoader.instance.import("@web-atoms/core/dist/core/AtomList");return yield AmdLoader.instance.import(path)}))}hostView(id,path,designMode){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=typeof id==="string"?document.getElementById(id):id;element.appendChild(view.element);return view}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;return view}catch(er){console.error(er);throw er}}))}installStyleSheet(path,imports={}){}}const UMD=new UMDClass;(u=>{globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);if(window){let first=document.head.firstElementChild;const markers={};const addMarker=name=>{const m=document.createElement("meta");m.name=name+"-marker";if(first){first.insertAdjacentElement("afterend",m)}else{document.head.insertAdjacentElement("afterbegin",m)}first=m;markers[name]=m;return m};addMarker("global-low");addMarker("global");addMarker("global-high");addMarker("local-low");addMarker("local");addMarker("local-high");window.installStyleSheet=UMD.installStyleSheet=(path,{imports}={})=>{var _a,_b;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(path))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}const marker=(_b=markers[segment])!==null&&_b!==void 0?_b:markers["local"];const link=document.createElement("link");link.rel="stylesheet";link.href=path;marker.insertAdjacentElement("beforebegin",link)}}AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/date-time","@web-atoms/entity"],["@social-mail/social-mail-client/dist/public/store/cart/ShoppingCart","@web-atoms/core/dist/Pack","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomList","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/services/LoginService","@web-atoms/core/dist/di/DISingleton","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/entity/dist/services/resolve","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/sleep","@social-mail/social-mail-client/dist/common/controls/Loader","@social-mail/social-mail-client/content/images/gif/loader.gif","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/web/styles/AtomTheme"]);AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomMap");System.register([],(function(_export,_context){"use strict";return{setters:[],execute:function(){Map.prototype.getOrCreate=function(key,factory){let item=this.get(key);if(item===undefined){item=factory(key);this.set(key,item)}return item};_export("default",Map)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,errorHandled,flat,groupBy,globalNS,DI,UMD;_export({CancelToken:void 0,ArrayHelper:void 0});return{setters:[function(_reflectMetadata){},function(_AtomMap){Map=_AtomMap.default}],execute:function(){_export("ignoreValue",ignoreValue=Symbol("ignore"));_export("errorHandled",errorHandled=Symbol("errorHandled"));_export("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;if(e[errorHandled]){return true}if(/^(cancelled$|canceled$|aborterror\:)/i.test((_a=e.message)!==null&&_a!==void 0?_a:e.toString().trim())){return true}if(e.name==="AbortError"){return true}}get cancelled(){return this.mCancelled}constructor(timeout=-1){this.listeners=[];this.mCancelled=null;this.cancelTimeout=null;if(timeout>0){this.cancelTimeout=setTimeout((()=>{this.cancelTimeout=null;this.cancel("timeout")}),timeout)}}cancel(r="cancelled"){this.mCancelled=r;const existing=this.listeners.slice(0);this.listeners.length=0;for(const fx of existing){fx(r)}this.dispose()}reset(){this.mCancelled=null;this.dispose()}dispose(){this.listeners.length=0;if(this.cancelTimeout){clearTimeout(this.cancelTimeout)}}registerForCancel(f){if(this.mCancelled){f(this.mCancelled);this.cancel();return}this.listeners.push(f)}});_export("ArrayHelper",ArrayHelper=class ArrayHelper{static remove(a,filter){for(let i=0;i<a.length;i++){const item=a[i];if(filter(item)){a.splice(i,1);return true}}return false}});(_a=Object.values)!==null&&_a!==void 0?_a:Object.values=function(t){const r=[];for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){const element=t[key];r.push(element)}}return r};flat=(_b=Array.prototype.flat)!==null&&_b!==void 0?_b:function(depth=1){const r=[];const flat=depth>0;const nestDepth=depth-1;const nestFlat=nestDepth>0;for(const iterator of this){if(flat&&Array.isArray(iterator)){if(nestFlat){r.push(...iterator.flat(nestDepth));continue}r.push(...iterator);continue}r.push(iterator)}return r};groupBy=(_c=Array.prototype.groupBy)!==null&&_c!==void 0?_c:function(keySelector){const map=new Map;const groups=[];for(const iterator of this){const key=keySelector(iterator);let g=map.get(key);if(!g){g=[];g.key=key;groups.push(g);map.set(key,g)}g.push(iterator)}map.clear();return groups};Object.defineProperties(Array.prototype,{flat:{enumerable:false,value:flat,configurable:true},groupBy:{enumerable:false,value:groupBy,configurable:true}});globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBinder");System.register(["./types"],(function(_export,_context){"use strict";var ArrayHelper,AtomBinder,symbolHandlers,symbolBindable;_export("AtomBinder",void 0);return{setters:[function(_types){ArrayHelper=_types.ArrayHelper}],execute:function(){_export("symbolHandlers",symbolHandlers=Symbol.for("handlers"));_export("symbolBindable",symbolBindable=Symbol.for("bindable"));_export("AtomBinder",AtomBinder=class AtomBinder{static refreshValue(target,key){const handlers=AtomBinder.get_WatchHandler(target,key);if(handlers===undefined||handlers==null){return}for(const item of handlers){item(target,key)}if(target.onPropertyChanged){target.onPropertyChanged(key)}}static add_WatchHandler(target,key,handler){if(target==null){return}const handlers=AtomBinder.get_WatchHandler(target,key);handlers.push(handler);if(Array.isArray(target)){return}const pv=AtomBinder.getPropertyDescriptor(target,key);if(pv&&pv.get){return}const tw=target;let bindables=tw[symbolBindable];if(bindables===undefined){bindables={};Object.defineProperty(tw,symbolBindable,{value:bindables,enumerable:false,writable:true,configurable:true})}if(!bindables[key]){bindables[key]=1;const o=target[key];const nk=Symbol.for(key);target[nk]=o;const set=function(v){const ov=this[nk];if(ov===undefined?ov===v:ov==v){return}this[nk]=v;AtomBinder.refreshValue(this,key)};const get=function(){return this[nk]};if(pv){delete target[key];Object.defineProperty(target,key,{get,set,configurable:true,enumerable:true})}else{Object.defineProperty(target,key,{get,set,enumerable:true,configurable:true})}}}static getPropertyDescriptor(target,key){const pv=Object.getOwnPropertyDescriptor(target,key);if(!pv){const pt=Object.getPrototypeOf(target);if(pt){return AtomBinder.getPropertyDescriptor(pt,key)}}return pv}static get_WatchHandler(target,key){if(target==null){return null}let handlers=target[symbolHandlers];if(handlers===undefined){handlers={};Object.defineProperty(target,symbolHandlers,{value:handlers,enumerable:false,writable:true,configurable:true})}let handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){handlersForKey=[];handlers[key]=handlersForKey}return handlersForKey}static remove_WatchHandler(target,key,handler){if(target==null){return}const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const handlersForKey=target[symbolHandlers][key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static invokeItemsEvent(target,mode,index,item,oldItem){const key="_items";const handlers=AtomBinder.get_WatchHandler(target,key);if(!handlers){return}for(const obj of handlers){obj(target,mode,index,item,oldItem)}AtomBinder.refreshValue(target,"length")}static refreshItems(ary){AtomBinder.invokeItemsEvent(ary,"refresh",-1,null)}static add_CollectionChanged(target,handler){if(target==null){throw new Error("Target Array to watch cannot be null")}if(handler==null){throw new Error("Target handle to watch an Array cannot be null")}const handlers=AtomBinder.get_WatchHandler(target,"_items");handlers.push(handler);return{dispose:()=>{AtomBinder.remove_CollectionChanged(target,handler)}}}static remove_CollectionChanged(t,handler){if(t==null){return}const target=t;const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const key="_items";const handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static watch(item,property,f){AtomBinder.add_WatchHandler(item,property,f);return{dispose:()=>{AtomBinder.remove_WatchHandler(item,property,f)}}}static clear(a){a.length=0;this.invokeItemsEvent(a,"refresh",-1,null);AtomBinder.refreshValue(a,"length")}static addItem(a,item){const index=a.length;a.push(item);this.invokeItemsEvent(a,"add",index,item);AtomBinder.refreshValue(a,"length")}static removeItem(a,item){const i=a.findIndex((x=>x===item));if(i===-1){return false}a.splice(i,1);AtomBinder.invokeItemsEvent(a,"remove",i,item);AtomBinder.refreshValue(a,"length");return true}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{[Symbol.dispose](){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomList");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,AtomList,ap;_export("AtomList",void 0);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("AtomList",AtomList=class AtomList extends Array{constructor(){super();this.startValue=0;this.totalValue=0;this.sizeValue=10;this["__proto__"]=AtomList.prototype;this.next=()=>{this.start=this.start+this.size};this.prev=()=>{if(this.start>=this.size){this.start=this.start-this.size}}}get start(){return this.startValue}set start(v){if(v===this.startValue){return}this.startValue=v;AtomBinder.refreshValue(this,"start")}get total(){return this.totalValue}set total(v){if(v===this.totalValue){return}this.totalValue=v;AtomBinder.refreshValue(this,"total")}get size(){return this.sizeValue}set size(v){if(v===this.sizeValue){return}this.sizeValue=v;AtomBinder.refreshValue(this,"size")}add(item){const i=this.length;const n=this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length");return n}addAll(items){for(const item of items){const i=this.length;this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}const t=items["total"];if(t){this.total=t}}replace(items,start,size){this.length=items.length;for(let i=0;i<items.length;i++){this[i]=items[i]}this.refresh();const t=items["total"];if(t){this.total=t}if(start!==undefined){this.start=start}if(size!==undefined){this.size=size}}insert(i,item){const n=this.splice(i,0,item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}set(i,item){const old=this[i];this[i]=item;AtomBinder.invokeItemsEvent(this,"replace",i,item,old);AtomBinder.refreshValue(this,"length")}removeAt(i){const item=this[i];this.splice(i,1);AtomBinder.invokeItemsEvent(this,"remove",i,item);AtomBinder.refreshValue(this,"length");return item}remove(item){if(item instanceof Function){let removed=false;for(let index=0;index<this.length;){const it=this[index];if(item(it)){this.splice(index,1);AtomBinder.invokeItemsEvent(this,"remove",index,it);AtomBinder.refreshValue(this,"length");removed=true;continue}index++}return removed}const n=this.indexOf(item);if(n!==-1){this.removeAt(n);return true}return false}clear(){this.length=0;this.refresh()}refresh(){AtomBinder.invokeItemsEvent(this,"refresh",-1,null);AtomBinder.refreshValue(this,"length")}watch(f,wrap){if(wrap){const fx=f;f=function(){const p=[];for(let i=0;i<arguments.length;i++){const iterator=arguments[i];p.push(iterator)}return fx.call(this,p)}}return AtomBinder.add_CollectionChanged(this,f)}count(f){let total=0;for(const iterator of this){if(f(iterator)){total++}}return total}avg(f){if(!this.length){return 0}let sum=0;for(const iterator of this){sum+=f(iterator)}return sum/this.length}includes(item){return this.indexOf(item)!==-1}});ap=Array.prototype;for(const key of Object.getOwnPropertyNames(AtomList.prototype)){const{value}=Object.getOwnPropertyDescriptor(AtomList.prototype,key);switch(key){case"add":case"addAll":case"clear":case"refresh":case"set":case"remove":case"removeAt":case"watch":case"replace":case"insert":case"count":case"avg":case"includes":if(key in ap){continue}Object.defineProperty(ap,key,{enumerable:false,value,configurable:true,writable:true});continue}}}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");System.register([],(function(_export,_context){"use strict";var TimeSpan,msMinutes,msSeconds,msHours,msDays,daysPerMS,hoursPerMS,minutesPerMS,secondsPerMS;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}_export("default",void 0);return{setters:[],execute:function(){_export("msMinutes",msMinutes=6e4);_export("msSeconds",msSeconds=1e3);_export("msHours",msHours=36e5);_export("msDays",msDays=24*msHours);daysPerMS=1/msDays;hoursPerMS=1/msHours;minutesPerMS=1/msMinutes;secondsPerMS=1/msSeconds;_export("default",TimeSpan=class TimeSpan{static fromDays(n){return new TimeSpan(n*msDays)}static fromHours(n){return new TimeSpan(n*msHours)}static fromMinutes(n){return new TimeSpan(n*msMinutes)}static fromSeconds(n){return new TimeSpan(n*msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/msDays)}get hours(){return Math.floor(this.msSinceEpoch/msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*msDays+(hours||0)*msHours+(minutes||0)*msMinutes+(seconds||0)*msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(msDays);format(msHours,formatAs12&&!d);format(msMinutes);let s=format(msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}});if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["./TimeSpan"],(function(_export,_context){"use strict";var TimeSpan,DateTime;_export("default",void 0);return{setters:[function(_TimeSpan){TimeSpan=_TimeSpan.default}],execute:function(){_export("default",DateTime=class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}});DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService","./core/AtomList","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_coreAtomList){},function(_webAtomsDateTimeDistDateTime){},function(_webAtomsDateTimeDistTimeSpan){}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}static installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.readyHandlers=[];this.onError=error=>{console.log(error)};App_1.current=this;this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){App_1.installStyleSheet(ssConfig)}installScript(location){return App_1.installScript(location)}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){if(this.invokeReadyHandler){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator[Symbol.dispose]()}));a.catch((e=>{indicator[Symbol.dispose]();console.error(typeof e==="string"?e:JSON.stringify(e))}));return}indicator[Symbol.dispose]()}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;if((_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancelled){return}asyncState.token=undefined;(_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Hacks");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,visitDescendents,refreshInherited,watchProperty,setValue;return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("visitDescendents",visitDescendents=(element,action)=>{for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}visitDescendents(iterator,action)}});_export("refreshInherited",refreshInherited=(target,name,fieldName)=>{AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){refreshInherited(ac,name,fieldName)}return false}return true}))});_export("watchProperty",watchProperty=(element,name,events,f)=>{if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}});_export("setValue",setValue=(element,name,value)=>{element[name]=value})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export("RootObject",void 0);return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}};XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);_export("default",XNode);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register(["tslib","../App","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./Hacks","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,visitDescendents,watchProperty,InheritedProperty,PropertyMap,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,localBindSymbol,localXNodeSymbol,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_Hacks){visitDescendents=_Hacks.visitDescendents;watchProperty=_Hacks.watchProperty},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this.creator||this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){element[name]=value}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}pushInit(){this.runAfterInit((()=>{var _c,_d,_e;(_e=(_d=(_c=this).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>CancelToken.isCancelled(error)?void 0:console.error(error)))}))}});_a=isControl;_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}let r="[^\\/]{1,500}";if(this.parseAsNumber){r="[0-9]{1,500}"}if(this.optional){return`(/(?<${this.variable}>${r}))?`}return`/${StringHelper.escapeRegExp(this.prefix)}(?<${this.variable}>${r})${StringHelper.escapeRegExp(this.suffix)}`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.prefix="";this.suffix="";this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.parseAsNumber=true;this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}const match=/\{(\*?[\p{L}:]{1,50}\??)\}/u.exec(iterator);if(!match){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}const start=match.index;const index=match[0].length;const name=match[1];const prefix=iterator.substring(0,start);const suffix=iterator.substring(index+1);const v=new Variable(name);v.prefix=prefix;v.suffix=suffix;regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.href),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){if(this.routePrefix){if(!route.startsWith(this.routePrefix)){route=this.routePrefix+route}}cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}};Command.routePrefix="";Command.registry=new Map;Command.routes=[];_export("default",Command);_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register(["tslib","../../core/AtomBinder","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/Hacks","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomComponent,BindableProperty,Command,FormattedString,refreshInherited,visitDescendents,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,defaultStyleSheets,ElementValueSetters,propertyId,getSelection,body,html;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreHacks){refreshInherited=_coreHacks.refreshInherited;visitDescendents=_coreHacks.visitDescendents},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("attr-")){if(value===null){element.removeAttribute(name.substring(5));return}element.setAttribute(name.substring(5),value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};body=document.body;html=body.parentElement;window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;if(originalTarget===html){return}let clickEvent;while(start&&start!==body){clickEvent||(clickEvent=start.getAttribute("data-click-event"));if(start.tagName==="A"){if(!clickEvent){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}if(targetElement===void 0&&srcElement){target[key]=srcElement;continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","../App"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,App,FetchBuilder,JsonError;_export("default",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_App){App=_App.App}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static url(url){return this.method(url,"GET")}static header(name,value){return new FetchBuilder({headers:{url:"",method:"POST",[name]:value}})}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}log(logger){return this.append({log:logger})}logWhenFailed(logger){return this.append({logError:logger})}get(url){return this.method(url,"GET")}put(url){return this.method(url,"PUT")}post(url){return this.method(url,"POST")}delete(url){return this.method(url,"DELETE")}method(url,method){return this.append({url,method})}signal(signal){if(!signal){return this}return this.append({signal})}cancelToken(ct){if(!ct){return this}const ac=new AbortController;const signal=ac.signal;ct.registerForCancel((()=>ac.abort()));return this.signal(signal)}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}queries(obj,encode=true,encodeObjectAsJson=true){let url=this.request.url;let prefix=url.indexOf("?")===-1?"?":"&";for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){let value=obj[key];if(value===void 0){continue}if(encodeObjectAsJson){if(typeof value==="object"&&value!==null){value=JSON.stringify(value)}encode=true}if(encode){value=encodeURIComponent(value)}const name=encodeURIComponent(key);url+=`${prefix}${name}=${value}`;prefix="&"}}return this.append({url})}asText(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asTextResponse(ensureSuccess);return result}))}asBlob(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asBlobResponse(ensureSuccess);return result}))}asJson(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asJsonResponse(ensureSuccess);return result}))}jsonPostProcessor(jsonPostProcessor){return this.append({jsonPostProcessor})}asJsonResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,((x,jsonPostProcessor)=>__awaiter(this,void 0,void 0,(function*(){if(!/json/i.test(x.headers.get("content-type"))){throw new Error(`Failed to parse json from ${this.request.url}\n${yield x.text()}`)}if(jsonPostProcessor){return x.json().then(jsonPostProcessor)}return x.json()}))))}))}asTextResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.text()))}))}asBlobResponse(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.blob()))}dispatcher(dispatcher){return this.append({dispatcher})}withFetchProxy(fetchProxy){return this.append({fetchProxy})}execute(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true,postProcessor){var _a,_b,_c,_e,_f,_g;const env_1={stack:[],error:void 0,hasError:false};try{let{log,logError,hideBusyIndicator}=this.request;const _d=__addDisposableResource(env_1,!hideBusyIndicator?App.current.createBusyIndicator():null,false);try{const{headers,fetchProxy,jsonPostProcessor}=this.request;const r=yield(fetchProxy!==null&&fetchProxy!==void 0?fetchProxy:fetch)(this.request.url,this.request);if(ensureSuccess){if(r.status>300){log=logError;log===null||log===void 0?void 0:log(`fetch: ${(_a=this.request.method)!==null&&_a!==void 0?_a:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}log===null||log===void 0?void 0:log(`${r.status} ${r.statusText||"Http Error"}`);const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();log===null||log===void 0?void 0:log(json);const message=(_f=(_e=(_c=(_b=json.title)!==null&&_b!==void 0?_b:json.detail)!==null&&_c!==void 0?_c:json.message)!==null&&_e!==void 0?_e:json.exceptionMessage)!==null&&_f!==void 0?_f:"Json Server Error";log=null;logError=null;throw new JsonError(message,json)}const text=yield r.text();log===null||log===void 0?void 0:log(text);log=null;logError=null;throw new Error(`Fetch failed with error ${r.status} for ${this.request.url}\n${text}`)}}log===null||log===void 0?void 0:log(`${(_g=this.request.method)!==null&&_g!==void 0?_g:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}const result=yield postProcessor(r,jsonPostProcessor);if(log){log(`${r.status} ${r.statusText||"OK"}`);log(result)}return{result,headers:r.headers,status:r.status}}catch(error){log===null||log===void 0?void 0:log(error);throw error}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}append(r){let{url}=this.request;const{url:newUrl}=r;if(newUrl){if(!url){url=newUrl}else{if(/^https?\:\/\//i.test(newUrl)){url=newUrl}else{let fullUrl=url;if(!/^https?\:\/\//i.test(url)){fullUrl=new URL(url,location.href).toString()}url=new URL(newUrl,fullUrl).toString()}}}return new FetchBuilder(Object.assign(Object.assign(Object.assign({},this.request),r),{url}))}});JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}};FetchBuilder.JsonError=JsonError}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["tslib","./StringHelper","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,StringHelper,FetchBuilder,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_StringHelper){StringHelper=_StringHelper.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace("\n"," ");x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains";case".count":return".Count"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}union(tOrP,q){return this.process("union",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(){return __awaiter(this,arguments,void 0,(function*(p={}){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray(){return __awaiter(this,arguments,void 0,(function*({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList(){return __awaiter(this,arguments,void 0,(function*({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,cacheImmutable=cacheSeconds>0,count=true}={}){const env_1={stack:[],error:void 0,hasError:false};try{let url;const{traceQuery,name,service,queryFunction,entityKey,navigation,args}=this.context;const busy=__addDisposableResource(env_1,service.createBusyIndicator(hideActivityIndicator),false);const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}if(entityKey){fm.append("entityKey",entityKey)}if(navigation){fm.append("navigation",navigation)}const encodedMethods=fm.toString();let result;if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;result=yield FetchBuilder.post(url).cancelToken(cancelToken).jsonBody({methods:this.methods,start,size,split:splitInclude,count,navigation,trace,function:queryFunction||void 0,args:queryFunction?args:void 0,entityKey:entityKey!==null&&entityKey!==void 0?entityKey:void 0}).asJson();result=service.resultConverter(result);return result}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion);if(!cacheImmutable){fm.append("cacheImmutable","false")}}else{}url=`${service.url}query/${name}?${fm.toString()}`;result=yield FetchBuilder.get(url).cancelToken(cancelToken).asJson();return service.resultConverter(result)}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.service.queryProcessor==="DotNet"||this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store.get(this.head)}enqueue(item){this.store.set(this.tail,item);this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store.get(head);this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","./Queue"],(function(_export,_context){"use strict";var __awaiter,Queue,TaskManager,sleep;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_Queue){Queue=_Queue.default}],execute:function(){sleep=n=>new Promise((r=>setTimeout(r,n)));_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}queueRun(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));pr.catch((error=>console.error(error)));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}runAfterEnd(fx){(()=>__awaiter(this,void 0,void 0,(function*(){for(;;){yield sleep(100);if(this.running.size>0){continue}yield sleep(10);if(this.running.size>0){continue}break}fx()})))().catch(console.error)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["tslib","../models/Cloner","../models/IEntityModel","./mergeProperties","./Query","./resolve","../models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,Cloner,EntityContext,mergeProperties,Query,resolve,TaskManager,FetchBuilder,DefaultFactory,Model,BaseEntityService,_a,_b,_c,_d,ArrayPrototype,orderBy,orderByDescending;_export({DefaultFactory:void 0,Model:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");ArrayPrototype=Array.prototype;orderBy=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};orderByDescending=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};Object.defineProperties(ArrayPrototype,{where:{enumerable:false,value:ArrayPrototype.filter,configurable:true},any:{enumerable:false,value:ArrayPrototype.some,configurable:true},select:{enumerable:false,value:ArrayPrototype.map,configurable:true},selectMany:{enumerable:false,value(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r},configurable:true},firstOrDefault:{enumerable:false,value(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]},configurable:true},sum:{enumerable:false,value(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n},configurable:true},average:{enumerable:false,value(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length},configurable:true},orderBy:{enumerable:false,value:orderBy,configurable:true},thenBy:{enumerable:false,value:orderBy,configurable:false},orderByDescending:{enumerable:false,value:orderByDescending,configurable:true},thenByDescending:{enumerable:false,value:orderByDescending,configurable:false},count:{enumerable:false,value(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length},configurable:false}});_export("DefaultFactory",DefaultFactory=class DefaultFactory{constructor(factory){this.factory=factory}});_export("Model",Model=class Model{constructor(name,keys=[],defaults=null,schema=null){this.name=name;this.keys=keys;this.schema=schema;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){if(value instanceof DefaultFactory){properties[key]=value.factory()}else{properties[key]=value}}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends TaskManager{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{if(this.entityModel){return this.entityModel}const busy=__addDisposableResource(env_1,this.createBusyIndicator(false),false);const c=yield FetchBuilder.get(`${this.url}model`).asJson();this.entityModel=new EntityContext(c);return this.entityModel}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}queryNavigation(entity,navigation){const name=entity.$type;const{$key}=entity;return new Query({service:this,name,entityKey:$key,navigation})}queryEntity(m,entity,queryFunction,...args){let entityKey;const{$key}=entity;if(!$key){throw new Error(`Entity does not contain public/private key`)}entityKey=$key;return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,entityKey,args})}as(){return this}delete(body){return __awaiter(this,void 0,void 0,(function*(){const env_2={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_2,this.createBusyIndicator(false),false);const url=this.url;return yield FetchBuilder.delete(url).jsonBody(body).asJson()}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}insert(body){return __awaiter(this,void 0,void 0,(function*(){const env_3={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_3,this.createBusyIndicator(false),false);const url=this.url;const result=yield FetchBuilder.put(url).jsonBody(body).asJson();return this.resultConverter(result)}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}invoke(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_4={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_4,this.createBusyIndicator(false),false);const{$type,$key:key}=argEntity;let keys=void 0;if(!key){keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}}const result=yield FetchBuilder.post(`${this.url}invoke/${$type}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({key,keys,args}).asJson();return this.resultConverter(result)}catch(e_4){env_4.error=e_4;env_4.hasError=true}finally{__disposeResources(env_4)}}))}buildRunUrl(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const{$type,$key}=argEntity;if(!$key){throw new Error(`Run requires encrypted $key`)}const usp=new URLSearchParams;usp.append("key",$key);if(args){usp.append("args",JSON.stringify(args))}if(cacheSeconds){usp.append("cache",cacheSeconds.toString())}if(cacheVersion){usp.append("cv",cacheVersion)}return`${this.url}run/${$type}/${method}?${usp.toString()}`}run(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const url=this.buildRunUrl(m,method,argEntity,{args,cacheSeconds,cacheVersion});return FetchBuilder.get(url).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonPostProcessor(this.resultConverter)}runFiltered(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_5={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_5,this.createBusyIndicator(false),false);const keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}return FetchBuilder.post(`${this.url}run/${m.name}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({keys,args}).jsonPostProcessor(this.resultConverter)}catch(e_5){env_5.error=e_5;env_5.hasError=true}finally{__disposeResources(env_5)}}))}save(body,cloner,trace){return __awaiter(this,void 0,void 0,(function*(){const env_6={stack:[],error:void 0,hasError:false};try{if(Array.isArray(body)&&body.length===0){return body}const _busy=__addDisposableResource(env_6,this.createBusyIndicator(false),false);let url=this.url;if(body instanceof Cloner){body=body.copy}if(trace){const hasQuery=url.includes("?");if(hasQuery){url=url+="&trace=true"}else{url=url+="?trace=true"}}if(cloner){if(Array.isArray(body)){body=body.map((x=>cloner(new Cloner(x)).copy))}else{const c=cloner(new Cloner(body));body=c.copy}}let result=yield FetchBuilder.post(url).jsonBody(body).asJson();result=this.resultConverter(result);mergeProperties(result,body);return body}catch(e_6){env_6.error=e_6;env_6.hasError=true}finally{__disposeResources(env_6)}}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities_1,update_1){return __awaiter(this,arguments,void 0,(function*(entities,update,throwWhenNotFound=false){const env_7={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_7,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;let results=yield FetchBuilder.post(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_7){env_7.error=e_7;env_7.hasError=true}finally{__disposeResources(env_7)}}))}bulkDelete(entities_1){return __awaiter(this,arguments,void 0,(function*(entities,throwWhenNotFound=false){const env_8={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_8,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};let results=yield FetchBuilder.delete(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_8){env_8.error=e_8;env_8.hasError=true}finally{__disposeResources(env_8)}}))}createBusyIndicator(hideActivityIndicator=false){return{[Symbol.dispose](){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["../styles/app/busy-progress-control.local.css"],(function(_export,_context){"use strict";var BusyProgress,container,stack;_export("default",void 0);return{setters:[function(_stylesAppBusyProgressControlLocalCss){}],execute:function(){stack=0;_export("default",BusyProgress=class BusyProgress{static install(app){app.createBusyIndicator=()=>this.create()}static create(){if(!container){container=document.createElement("div");container.className="busy-progress-control";const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{[Symbol.dispose](){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");System.register([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","./BusyProgress","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,DISingleton,BaseEntityService,BusyProgress,apiPath,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_BusyProgress){BusyProgress=_BusyProgress.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/social-mail/api/entity/")}postPageReady(){setTimeout((()=>this.runAfterEnd((()=>window.pageReady=true))),100)}createBusyIndicator(hideActivityIndicator){if(hideActivityIndicator){return{[Symbol.dispose](){}}}return BusyProgress.create()}};EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,AppPassword,WebHookEventTypeArray,WebHookHttpVerbArray,WebHook,WebHookEvent,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,HostedZone,HostedZoneRecordTypeArray,HostedZoneRecord,HostedZoneUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,MailboxSubscriptionTypeArray,Mailbox,ChannelEmail,GeoIPBlock,MailboxContactStatusArray,MailboxContactSubscriptionTypeArray,MailboxContact,MailboxContactEvent,MailboxFolder,MailboxContactEmail,MailboxContactTag,MailboxTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,NameToken,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,StoreConfig,StoreItemItemTypeArray,StoreItemItemUnitTypeArray,StoreItem,StoreCouponTypeArray,StoreCoupon,StoreJournalCoupon,StoreItemFolder,StoreItemFolderTag,StoreItemPrice,StorePaymentAttempt,StoreMediaFile,StoreInsight,StoreAccount,StoreAccountAddress,StoreAccountEmail,StoreAccountPhone,StorePaymentGatewayPaymentGatewayArray,StorePaymentGateway,StoreJournalJournalTypeArray,StoreJournalStatusArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTax,StoreTag,StoreItemTag,UserStatusArray,User,UserGroupMember,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSite,WebSiteHost,WebSiteVersion,WebSiteChannelDomain,WebSiteChannel,WebSiteTag,LoginSessionDeviceTokenTypeArray,LoginSession,TextDocument,IncomingSmsSource,VerificationTokenTypeArray,VerificationToken,VerificationTokenAddress,EmailAddressName,ThreadParticipant,Tag,AppTempFile,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string",dataType:"Char",length:100}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentDisposition",type:"string",dataType:"AsciiChar",length:10,default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",dataType:"Char",default:["contentID",'""']},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"creatorID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",dataType:"Boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",dataType:"Int",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSite"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSite"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],queries:{storeItemFiles:"external",channelPostFiles:"external",channelEmailFiles:"external",channelFiles:"external",children:"external",templateSnapshot:"external"}}));modelEntitySchemas["AppFile"]=AppFile;_export("AppPassword",AppPassword=new Model("AppPassword",["userID","name"],{passwordHash:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_passwords",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400}],properties:[{name:"passwordHash",type:"string",dataType:"Char",length:200,default:["passwordHash",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppPassword"]=AppPassword;_export("WebHookEventTypeArray",WebHookEventTypeArray=[{label:"email-received",value:"email-received"},{label:"order-paid",value:"order-paid"}]);_export("WebHookHttpVerbArray",WebHookHttpVerbArray=[{label:"POST",value:"POST"},{label:"GET",value:"GET"}]);_export("WebHook",WebHook=new Model("WebHook",["webHookID"],{eventType:"email-received",name:"",url:"",httpVerb:"POST",lastEvent:""},{name:"web_hooks",keys:[{name:"webHookID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"eventType",type:"string",dataType:"Char",length:50,default:["eventType",'"email-received"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"httpVerb",type:"string",dataType:"Char",length:20,default:["httpVerb",'"POST"']},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"lastEvent",type:"string",dataType:"Char",length:50,default:["lastEvent",'""']},{name:"lastEventTime",type:"DateTime",dataType:"DateTime",default:["lastEventTime","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"events",isCollection:true,isInverse:true,relatedName:"WebHookEvent"}]}));modelEntitySchemas["WebHook"]=WebHook;_export("WebHookEvent",WebHookEvent=new Model("WebHookEvent",["webHookEventID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"web_hook_events",keys:[{name:"webHookEventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"webHookID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"number",dataType:"Int",default:["status","0"]},{name:"response",type:"string",dataType:"Char",length:400,default:["response",'""']},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"webHook",fkMap:[{fk:"webHookID",relatedKey:"webHookID"}],relatedName:"WebHook"}]}));modelEntitySchemas["WebHookEvent"]=WebHookEvent;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"secret",type:"string",dataType:"Char",length:400,default:["secret",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",dataType:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"sessionID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"folderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["fileID","userID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"app_file_access",keys:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:10}],properties:[{name:"accessCode",type:"string",dataType:"Char",length:200,default:["accessCode",'""']},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contentHash",type:"string",dataType:"AsciiChar",length:200,default:["contentHash",'""']},{name:"cloudPath",type:"string",dataType:"Char",length:450,default:["cloudPath",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentSize",type:"number",dataType:"BigInt",default:["contentSize","0"]},{name:"compression",type:"string",dataType:"Char",length:10,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number",dataType:"BigInt",default:["textDocumentID","0"]},{name:"deleted",type:"boolean",dataType:"Boolean",default:["deleted","false"]}],relations:[{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"textDocument",isCollection:false,isInverse:true,relatedName:"TextDocument"},{name:"tempFiles",isCollection:true,isInverse:true,relatedName:"AppTempFile"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string",dataType:"Char",length:200}],properties:[{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",length:200,default:["description",'""']},{name:"companyID",type:"string",dataType:"Char",length:200,default:["companyID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"synchronization",type:"string",dataType:"Char",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number",dataType:"BigInt"},{name:"billingAddressID",type:"number",dataType:"BigInt"},{name:"shippingAddressID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:50}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:200,default:["type",'""']},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"valuesJson",type:"string",dataType:"Char",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID"],{keyHash:"",key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"keyHash",type:"string",dataType:"Char",length:450,default:["keyHash",'""']},{name:"key",type:"string",dataType:"Char",default:["key",'""']},{name:"expiry",type:"DateTime",dataType:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",dataType:"Boolean",default:["ready","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"slide",type:"boolean",dataType:"Boolean",default:["slide","false"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"received",type:"number",dataType:"Int",default:["received","0"]},{name:"failed",type:"number",dataType:"Int",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"hostedZone",isCollection:false,isInverse:true,relatedName:"HostedZone"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}],queries:{forSignup:"external"}}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,maxSendPerSecond:0,allowSignup:false},{name:"hosted_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"}],properties:[{name:"enableReceive",type:"boolean",dataType:"Boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",dataType:"Boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",dataType:"Boolean",default:["useRelay","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"allowSignup",type:"boolean",dataType:"Boolean",default:["allowSignup","false"]},{name:"aliasForName",type:"string",dataType:"Char",length:200}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteChannelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"}],queries:{hosted:"external"},actions:{deleteDomain:"external"}}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[{name:"prefix",type:"string",dataType:"Char",length:20,default:["prefix",'""']},{name:"isAdmin",type:"boolean",dataType:"Boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",dataType:"Boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_export("HostedZone",HostedZone=new Model("HostedZone",["zoneID"],{dnsHosted:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"hosted_zones",keys:[{name:"zoneID",type:"number",dataType:"BigInt"}],properties:[{name:"dnsHosted",type:"boolean",dataType:"Boolean",default:["dnsHosted","false"]},{name:"unsigned",type:"string",dataType:"Char",default:["unsigned",'""']},{name:"digest",type:"string",dataType:"Char",default:["digest",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"dateSigned",type:"DateTime",dataType:"DateTime",default:["dateSigned","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"domain",fkMap:[{fk:"zoneID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"records",isCollection:true,isInverse:true,relatedName:"HostedZoneRecord"},{name:"users",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"}],actions:{updateHosting:"external"}}));modelEntitySchemas["HostedZone"]=HostedZone;_export("HostedZoneRecordTypeArray",HostedZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("HostedZoneRecord",HostedZoneRecord=new Model("HostedZoneRecord",["recordID"],{disabled:false,readonly:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"hosted_zone_records",keys:[{name:"recordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"disabled",type:"boolean",dataType:"Boolean",default:["disabled","false"]},{name:"readonly",type:"boolean",dataType:"Boolean",default:["readonly","false"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"type",type:"Object",dataType:"Char",length:15,default:["type",'"A"']},{name:"isAlias",type:"boolean",dataType:"Boolean",default:["isAlias","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"ttl",type:"number",dataType:"Int",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"expiryDate",type:"DateTime",dataType:"DateTimeOffset",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"hosted",type:"boolean",dataType:"Boolean",default:["hosted","false"]},{name:"fqdn",type:"string",dataType:"Char",default:["fqdn",'""']}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"}]}));modelEntitySchemas["HostedZoneRecord"]=HostedZoneRecord;_export("HostedZoneUser",HostedZoneUser=new Model("HostedZoneUser",["zoneID","userID"],{},{name:"hosted_zone_users",keys:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["HostedZoneUser"]=HostedZoneUser;_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"AsciiChar",length:20,default:["type",'"smtp"']},{name:"host",type:"string",dataType:"Char",length:400,default:["host",'""']},{name:"username",type:"string",dataType:"Char",length:100,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:100,default:["password",'""']},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"script",type:"string",dataType:"Char",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"keyType",type:"string",dataType:"Char",length:20,default:["keyType",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"privateKey",type:"string",dataType:"Char",default:["privateKey",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"approved",value:"approved"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"},{label:"closed",value:"closed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,hasUnsubscribe:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,engagementCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"subject",type:"string",dataType:"Char",default:["subject",'""']},{name:"summary",type:"string",dataType:"Char",length:200,default:["summary",'""']},{name:"textBody",type:"string",dataType:"Char",default:["textBody",'""']},{name:"htmlBody",type:"string",dataType:"Char",default:["htmlBody",'""']},{name:"senderName",type:"string",dataType:"Char",default:["senderName",'""']},{name:"senderID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"received",type:"boolean",dataType:"Boolean",default:["received","false"]},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"hasUnsubscribe",type:"boolean",dataType:"Boolean",default:["hasUnsubscribe","false"]},{name:"headerMessageID",type:"string",dataType:"Char",default:["headerMessageID",'""']},{name:"inReplyTo",type:"string",dataType:"Char",default:["inReplyTo",'""']},{name:"externalEmailID",type:"string",dataType:"Char",length:200,default:["externalEmailID",'""']},{name:"syncedMailboxID",type:"number",dataType:"BigInt",default:["syncedMailboxID","0"]},{name:"dateReceived",type:"DateTime",dataType:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",dataType:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'"queued"']},{name:"forwardCount",type:"number",dataType:"Int",default:["forwardCount","0"]},{name:"replyCount",type:"number",dataType:"Int",default:["replyCount","0"]},{name:"viewCount",type:"number",dataType:"Int",default:["viewCount","0"]},{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"mimeFileID",type:"number",dataType:"BigInt"},{name:"sentMessageID",type:"string",dataType:"Char",length:200,default:["sentMessageID",'""']},{name:"htmlBodyID",type:"number",dataType:"BigInt"},{name:"emailSize",type:"number",dataType:"BigInt",default:["emailSize","0"]},{name:"originalFileSize",type:"number",dataType:"Int",default:["originalFileSize","0"]},{name:"workflowID",type:"string",dataType:"Char",length:400,default:["workflowID",'""']},{name:"parentID",type:"number",dataType:"BigInt"},{name:"threadID",type:"number",dataType:"BigInt"},{name:"forwardedID",type:"number",dataType:"BigInt"},{name:"lastReplyID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"tags",type:"string",dataType:"Char",default:["tags",'""']},{name:"stateReferencesUpdated",type:"boolean",dataType:"Boolean",default:["stateReferencesUpdated","false"]},{name:"statePostReceiveInvoked",type:"boolean",dataType:"Boolean",default:["statePostReceiveInvoked","false"]}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"thread",fkMap:[{fk:"threadID",relatedKey:"emailID"}],relatedName:"Email"},{name:"threadChildren",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"lastReply",fkMap:[{fk:"lastReplyID",relatedKey:"emailID"}],relatedName:"Email"},{name:"lastRepliedThreads",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxContactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"threadContacts",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}],queries:{channelEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"fileName",type:"string",dataType:"Char",length:200,default:["fileName",'""']},{name:"fileSize",type:"number",dataType:"Int",default:["fileSize","0"]},{name:"compression",type:"string",dataType:"Char",length:20,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"},{label:"unsubscribed",value:"unsubscribed"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"},{name:"email_recipients",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:20,default:["type",'"from"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"dateSent",type:"DateTime",dataType:"DateTimeOffset",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'""']},{name:"replyTo",type:"string",dataType:"Char",length:400,default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailAddress",type:"string",dataType:"Char",length:400,default:["emailAddress",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"mailboxContactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"names",isCollection:true,isInverse:true,relatedName:"EmailAddressName"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("MailboxSubscriptionTypeArray",MailboxSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,openThreads:0,totalThreads:0,pendingModerationCount:0,unread:0,isExternal:false,maxSendPerSecond:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isLibrary:false,isPrivateChannel:false,membersCanPostTopLevel:false,nonMembersCanPost:false,nonMembersCanComment:false,nonMembersCanReact:false,requiresMembershipApproval:false,requiresPostModeration:false,requiresCommentModeration:false,requiresSignup:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",dataType:"Boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",dataType:"Boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"uniqueAddress",type:"string",dataType:"Char",length:400,default:["uniqueAddress",'""']},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"pendingModerationCount",type:"number",dataType:"Int",default:["pendingModerationCount","0"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"logoID",type:"number",dataType:"BigInt"},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",dataType:"Boolean",default:["isChannel","false"]},{name:"isLibrary",type:"boolean",dataType:"Boolean",default:["isLibrary","false"]},{name:"isPrivateChannel",type:"boolean",dataType:"Boolean",default:["isPrivateChannel","false"]},{name:"membersCanPostTopLevel",type:"boolean",dataType:"Boolean",default:["membersCanPostTopLevel","false"]},{name:"nonMembersCanPost",type:"boolean",dataType:"Boolean",default:["nonMembersCanPost","false"]},{name:"nonMembersCanComment",type:"boolean",dataType:"Boolean",default:["nonMembersCanComment","false"]},{name:"nonMembersCanReact",type:"boolean",dataType:"Boolean",default:["nonMembersCanReact","false"]},{name:"requiresMembershipApproval",type:"boolean",dataType:"Boolean",default:["requiresMembershipApproval","false"]},{name:"requiresPostModeration",type:"boolean",dataType:"Boolean",default:["requiresPostModeration","false"]},{name:"requiresCommentModeration",type:"boolean",dataType:"Boolean",default:["requiresCommentModeration","false"]},{name:"requiresSignup",type:"boolean",dataType:"Boolean",default:["requiresSignup","false"]},{name:"subscriberCount",type:"number",dataType:"Int",default:["subscriberCount","0"]},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:20,default:["subscriptionType",'"all"']},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",dataType:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",dataType:"BigInt",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"folders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{channels:"external"},actions:{updateFolders:"external",fetch:"external"}}));modelEntitySchemas["Mailbox"]=Mailbox;_export("ChannelEmail",ChannelEmail=new Model("ChannelEmail",["mailboxID","emailID"],{engagementCount:0,isThread:false},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"isThread",type:"boolean",dataType:"Boolean",default:["isThread","false"]},{name:"previewFileID",type:"number",dataType:"BigInt"}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"previewFile",fkMap:[{fk:"previewFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}],queries:{channelEmails:"external",libraryEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["ChannelEmail"]=ChannelEmail;_export("GeoIPBlock",GeoIPBlock=new Model("GeoIPBlock",["blockStart","blockEnd"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateExpires:new DefaultFactory((()=>new DateTime)),country:"",verified:false},{name:"geo_ipblocks",keys:[{name:"blockStart",type:"number",dataType:"BigInt"},{name:"blockEnd",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateExpires",type:"DateTime",dataType:"DateTime",default:["dateExpires","new DefaultFactory(() => new DateTime())"]},{name:"country",type:"string",dataType:"Char",length:50,default:["country",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']}],relations:[]}));modelEntitySchemas["GeoIPBlock"]=GeoIPBlock;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContactSubscriptionTypeArray",MailboxContactSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,openThreads:0,totalThreads:0,autoClose:false,total:0,isOwner:false,isModerator:false,canContribute:false,priority:0,blocked:false,newRequest:false,spam:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"folderTagID",type:"number",dataType:"BigInt",default:["folderTagID","0"]},{name:"lastEmailID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"autoClose",type:"boolean",dataType:"Boolean",default:["autoClose","false"]},{name:"total",type:"number",dataType:"Int",default:["total","0"]},{name:"doNotIndex",type:"boolean",dataType:"Boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",dataType:"Boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",dataType:"Boolean",default:["isOwner","false"]},{name:"isModerator",type:"boolean",dataType:"Boolean",default:["isModerator","false"]},{name:"canContribute",type:"boolean",dataType:"Boolean",default:["canContribute","false"]},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]},{name:"newRequest",type:"boolean",dataType:"Boolean",default:["newRequest","false"]},{name:"spam",type:"boolean",dataType:"Boolean",default:["spam","false"]},{name:"mute",type:"boolean",dataType:"Boolean",default:["mute","false"]},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'"invited"']},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:10,default:["subscriptionType",'"all"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"contactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEvent",MailboxContactEvent=new Model("MailboxContactEvent",["eventID"],{emailAddressID:0,startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_events",keys:[{name:"eventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"emailID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"description",type:"string",dataType:"Char",length:400,default:["description",'""']},{name:"location",type:"string",dataType:"Char",length:400,default:["location",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],queries:{calendarMonth:"external"}}));modelEntitySchemas["MailboxContactEvent"]=MailboxContactEvent;_export("MailboxFolder",MailboxFolder=new Model("MailboxFolder",["mailboxID","tagID"],{count:0,isSystem:false},{name:"mailbox_folders",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"isSystem",type:"boolean",dataType:"Boolean",default:["isSystem","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["MailboxFolder"]=MailboxFolder;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"dateReceived",type:"DateTime",dataType:"DateTimeOffset",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",dataType:"DateTimeOffset",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],actions:{markAsRead:"external"}}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"mailboxTag",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"tagID",relatedKey:"tagID"}],relatedName:"MailboxTag"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_export("MailboxTag",MailboxTag=new Model("MailboxTag",["mailboxID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"contactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}],queries:{channelTags:"external"}}));modelEntitySchemas["MailboxTag"]=MailboxTag;_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"},{label:"smtp",value:"smtp"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"direction",type:"string",dataType:"Char",length:5,default:["direction",'"in"']},{name:"protocol",type:"string",dataType:"Char",length:20,default:["protocol",'"imap"']},{name:"username",type:"string",dataType:"Char",length:200,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:200,default:["password",'""']},{name:"host",type:"string",dataType:"Char",length:200,default:["host",'""']},{name:"port",type:"number",dataType:"Int",default:["port","0"]},{name:"isSecure",type:"boolean",dataType:"Boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",dataType:"Boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",dataType:"Boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",dataType:"Char",length:200,default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",dataType:"Int",default:["intervalSeconds","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",dataType:"DateTimeOffset",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",dataType:"Char",length:200,default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",dataType:"Char",default:["syncState",'""']},{name:"lastSyncError",type:"string",dataType:"Char",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("NameToken",NameToken=new Model("NameToken",["nameTokenID"],{word:""},{name:"name_tokens",keys:[{name:"nameTokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",length:400,default:["word",'""']},{name:"suggest",type:"boolean",generated:"computed",dataType:"Boolean"}],relations:[{name:"emailAddressNames",isCollection:true,isInverse:true,relatedName:"EmailAddressName"}]}));modelEntitySchemas["NameToken"]=NameToken;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"inviteContent",type:"string",dataType:"Char",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",dataType:"Char",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",dataType:"Boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",dataType:"Boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",dataType:"Boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",dataType:"Char",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"activity",type:"string",dataType:"Char",length:20,default:["activity",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",default:["word",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"Char",length:10,default:["status",'"begin"']},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"}],properties:[{name:"rank",type:"number",dataType:"Int",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"webSiteFolderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"activity",type:"string",dataType:"Char",length:50,default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"groupName",type:"string",dataType:"Char",length:50},{name:"configName",type:"string",dataType:"Char",length:200}],properties:[{name:"encrypted",type:"boolean",dataType:"Boolean",default:["encrypted","false"]},{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItemItemUnitTypeArray",StoreItemItemUnitTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",itemUnit:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"internalNotes",type:"string",dataType:"Char",default:["internalNotes",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"itemType",type:"string",dataType:"Char",length:20,default:["itemType",'"product"']},{name:"itemUnitType",type:"string",dataType:"Char",length:50,default:["itemUnitType",'"product"']},{name:"itemUnit",type:"number",dataType:"Decimal",default:["itemUnit","0"]},{name:"folderID",type:"number",dataType:"BigInt"},{name:"sizeForID",type:"number",dataType:"BigInt"},{name:"variantForID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"maxPrice",type:"number",dataType:"Decimal",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"itemCoupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"applicableTaxes",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"taxItems",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreCouponTypeArray",StoreCouponTypeArray=[{label:"discount",value:"discount"},{label:"subtract",value:"subtract"}]);_export("StoreCoupon",StoreCoupon=new Model("StoreCoupon",["couponID"],{code:"",active:false,hidden:false,startDate:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),exclusive:false,minOrderAmount:0,maxOrderAmount:0,minQuantity:0,maxQuantity:0,amount:0,type:"discount"},{name:"store_coupons",keys:[{name:"couponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"code",type:"string",dataType:"Char",length:100,default:["code",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"hidden",type:"boolean",dataType:"Boolean",default:["hidden","false"]},{name:"itemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"exclusive",type:"boolean",dataType:"Boolean",default:["exclusive","false"]},{name:"minOrderAmount",type:"number",dataType:"Decimal",default:["minOrderAmount","0"]},{name:"maxOrderAmount",type:"number",dataType:"Decimal",default:["maxOrderAmount","0"]},{name:"minQuantity",type:"number",dataType:"Int",default:["minQuantity","0"]},{name:"maxQuantity",type:"number",dataType:"Int",default:["maxQuantity","0"]},{name:"amount",type:"number",dataType:"Int",default:["amount","0"]},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'"discount"']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"orders",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"}]}));modelEntitySchemas["StoreCoupon"]=StoreCoupon;_export("StoreJournalCoupon",StoreJournalCoupon=new Model("StoreJournalCoupon",["appliedCouponID"],{couponCode:""},{name:"store_journal_coupons",keys:[{name:"appliedCouponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"couponID",type:"number",dataType:"BigInt"},{name:"orderID",type:"number",dataType:"BigInt"},{name:"lineItemID",type:"number",dataType:"BigInt"},{name:"couponCode",type:"string",dataType:"Char",length:200,default:["couponCode",'""']}],relations:[{name:"coupon",fkMap:[{fk:"couponID",relatedKey:"couponID"}],relatedName:"StoreCoupon"},{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalCoupon"]=StoreJournalCoupon;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemFolderTag",StoreItemFolderTag=new Model("StoreItemFolderTag",["itemFolderID","tagID"],{count:0},{name:"store_item_folder_tags",keys:[{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemFolderTag"]=StoreItemFolderTag;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",recurring:false,amount:0,maxQuantity:0,taxIncluded:false,taxAmount:0,active:false},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTimeOffset",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTimeOffset",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",dataType:"Char",length:5,default:["currency",'""']},{name:"recurring",type:"boolean",dataType:"Boolean",default:["recurring","false"]},{name:"durationDays",type:"number",dataType:"Int",default:["durationDays","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"maxAmount",type:"number",dataType:"Decimal",default:["maxAmount","0"]},{name:"maxQuantity",type:"number",dataType:"Decimal",default:["maxQuantity","0"]},{name:"taxIncluded",type:"boolean",dataType:"Boolean",default:["taxIncluded","false"]},{name:"taxAmount",type:"number",dataType:"Decimal",default:["taxAmount","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePaymentAttempt",StorePaymentAttempt=new Model("StorePaymentAttempt",["attemptID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),success:false,timedout:false},{name:"store_payment_attempt",keys:[{name:"attemptID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"orderID",type:"number",dataType:"BigInt"},{name:"gatewayID",type:"number",dataType:"BigInt"},{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"timedout",type:"boolean",dataType:"Boolean",default:["timedout","false"]}],relations:[{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"gateway",fkMap:[{fk:"gatewayID",relatedKey:"accountID"}],relatedName:"StorePaymentGateway"}]}));modelEntitySchemas["StorePaymentAttempt"]=StorePaymentAttempt;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"}],properties:[{name:"fileContentID",type:"number",dataType:"BigInt",default:["fileContentID","0"]},{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"isPreview",type:"boolean",dataType:"Boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",dataType:"Char",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",dataType:"Char",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"value",type:"number",dataType:"Decimal",default:["value","0"]},{name:"isPublic",type:"boolean",dataType:"Boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreAccount",StoreAccount=new Model("StoreAccount",["accountID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ledgerType:"",name:"",balance:0},{name:"store_accounts",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"storeID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"head",type:"string",dataType:"Char",length:50,default:["head",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ledgerType",type:"string",dataType:"Char",length:50,default:["ledgerType",'""']},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"billingAddressID",type:"number",dataType:"BigInt",default:["billingAddressID","0"]},{name:"shippingAddressID",type:"number",dataType:"BigInt",default:["shippingAddressID","0"]}],relations:[{name:"user",fkMap:[{fk:"accountID",relatedKey:"userID"}],relatedName:"User"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"StoreAccountAddress"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storePaymentGateway",isCollection:false,isInverse:true,relatedName:"StorePaymentGateway"},{name:"emails",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"StoreAccountPhone"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreAccount"]=StoreAccount;_export("StoreAccountAddress",StoreAccountAddress=new Model("StoreAccountAddress",["addressID"],{title:"",line1:""},{name:"store_account_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"otherTaxID",type:"string",dataType:"Char",length:200,default:["otherTaxID",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"billedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"shippedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"}]}));modelEntitySchemas["StoreAccountAddress"]=StoreAccountAddress;_export("StoreAccountEmail",StoreAccountEmail=new Model("StoreAccountEmail",["accountID","emailAddressID"],{},{name:"store_account_emails",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["StoreAccountEmail"]=StoreAccountEmail;_export("StoreAccountPhone",StoreAccountPhone=new Model("StoreAccountPhone",["accountID","phoneNumberE64"],{},{name:"store_account_phones",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:200}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"}]}));modelEntitySchemas["StoreAccountPhone"]=StoreAccountPhone;_export("StorePaymentGatewayPaymentGatewayArray",StorePaymentGatewayPaymentGatewayArray=[{label:"paypal",value:"paypal"},{label:"phone-pe",value:"phone-pe"},{label:"stripe",value:"stripe"}]);_export("StorePaymentGateway",StorePaymentGateway=new Model("StorePaymentGateway",["accountID"],{isGatewayActive:false,isDefault:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"store_payment_gateways",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"paymentGateway",type:"string",dataType:"Char",length:50,default:["paymentGateway",'"paypal"']},{name:"isGatewayActive",type:"boolean",dataType:"Boolean",default:["isGatewayActive","false"]},{name:"isDefault",type:"boolean",dataType:"Boolean",default:["isDefault","false"]},{name:"merchantID",type:"string",dataType:"Char",length:400,default:["merchantID",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"accessID",type:"string",dataType:"Char",default:["accessID",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"clientID",type:"string",dataType:"Char",default:["clientID",'""']},{name:"saltIndex",type:"string",dataType:"Char",length:50,default:["saltIndex",'""']},{name:"encryptedSalt",type:"string",dataType:"Char",length:400,default:["encryptedSalt",'""']},{name:"encryptedSecret",type:"string",dataType:"Char",default:["encryptedSecret",'""']},{name:"country",type:"string",dataType:"Char",length:20,default:["country",'""']},{name:"currency",type:"string",dataType:"Char",length:20,default:["currency",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"}]}));modelEntitySchemas["StorePaymentGateway"]=StorePaymentGateway;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournalStatusArray",StoreJournalStatusArray=[{label:"new",value:"new"},{label:"paid",value:"paid"},{label:"draft",value:"draft"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"new",total:0,balance:0,taxExempt:false},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",dataType:"AsciiChar",length:50,default:["journalType",'"order"']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"posted",type:"boolean",dataType:"Boolean",default:["posted","false"]},{name:"status",type:"string",dataType:"Char",length:50,default:["status",'"new"']},{name:"sellerID",type:"number",dataType:"BigInt"},{name:"buyerID",type:"number",dataType:"BigInt"},{name:"buyerBillingAddressID",type:"number",dataType:"BigInt"},{name:"buyerShippingAddressID",type:"number",dataType:"BigInt"},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"referenceID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"},{name:"taxExempt",type:"boolean",dataType:"Boolean",default:["taxExempt","false"]},{name:"taxExemptNotes",type:"string",dataType:"Char",default:["taxExemptNotes",'""']},{name:"taxExemptTaxID",type:"string",dataType:"Char",default:["taxExemptTaxID",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyerBillingAddress",fkMap:[{fk:"buyerBillingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"buyerShippingAddress",fkMap:[{fk:"buyerShippingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"orderCoupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"accountID",type:"number",dataType:"BigInt"},{name:"credit",type:"number",dataType:"Decimal",default:["credit","0"]},{name:"debit",type:"number",dataType:"Decimal",default:["debit","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"lineItemID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{price:0,discountPercentage:0,discount:0,priceAfterDiscount:0,couponDiscount:0,quantity:0,amount:0,taxes:0,total:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"itemID",type:"number",dataType:"BigInt"},{name:"itemPriceID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"discountPercentage",type:"number",dataType:"Decimal",default:["discountPercentage","0"]},{name:"discount",type:"number",dataType:"Decimal",default:["discount","0"]},{name:"priceAfterDiscount",type:"number",dataType:"Decimal",default:["priceAfterDiscount","0"]},{name:"couponDiscount",type:"number",dataType:"Decimal",default:["couponDiscount","0"]},{name:"quantity",type:"number",dataType:"Decimal",default:["quantity","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"taxes",type:"number",dataType:"Decimal",default:["taxes","0"]},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"itemType",type:"string",dataType:"Char",length:50,default:["itemType",'"product"']},{name:"hide",type:"boolean",dataType:"Boolean",default:["hide","false"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"sourceID",type:"number",dataType:"BigInt"},{name:"taxForID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFor",fkMap:[{fk:"taxForID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTax",StoreItemTax=new Model("StoreItemTax",["storeItemID","taxItemID"],{inclusive:false,print:false},{name:"store_item_taxes",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"taxItemID",type:"number",dataType:"BigInt"}],properties:[{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"print",type:"boolean",dataType:"Boolean",default:["print","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"taxItem",fkMap:[{fk:"taxItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreItemTax"]=StoreItemTax;_export("StoreTag",StoreTag=new Model("StoreTag",["storeID","tagID"],{count:0},{name:"store_tags",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreTag"]=StoreTag;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"tagValue",type:"string",dataType:"Char",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0,maxWebSites:0,maxExternalInboxes:0,maxChildUsers:0,isGroup:false},{name:"users",keys:[{name:"userID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userName",type:"string",dataType:"Char",length:200,default:["userName",'""']},{name:"displayName",type:"string",dataType:"Char",length:200,default:["displayName",'""']},{name:"passwordHash",type:"string",dataType:"Char",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",dataType:"Char",length:20,default:["passwordSalt",'""']},{name:"externalUID",type:"string",dataType:"Char",length:400,default:["externalUID",'""']},{name:"status",type:"string",dataType:"AsciiChar",length:15,default:["status",'"active"']},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",dataType:"Boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"uniquePhoneNumber",type:"string",dataType:"Char",length:20,default:["uniquePhoneNumber",'""']},{name:"contactEmail",type:"string",dataType:"Char",length:200,default:["contactEmail",'""']},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"maxWebSites",type:"number",dataType:"BigInt",default:["maxWebSites","0"]},{name:"maxExternalInboxes",type:"number",dataType:"BigInt",default:["maxExternalInboxes","0"]},{name:"maxChildUsers",type:"number",dataType:"BigInt",default:["maxChildUsers","0"]},{name:"parentID",type:"number",dataType:"BigInt"},{name:"isGroup",type:"boolean",dataType:"Boolean",default:["isGroup","false"]}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"userID"}],relatedName:"User"},{name:"children",isCollection:true,isInverse:true,relatedName:"User"},{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"appPasswords",isCollection:true,isInverse:true,relatedName:"AppPassword"},{name:"storeAccount",isCollection:false,isInverse:true,relatedName:"StoreAccount"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"hostedZones",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"},{name:"groups",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"groupMembers",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],actions:{createWebSite:"external"}}));modelEntitySchemas["User"]=User;_export("UserGroupMember",UserGroupMember=new Model("UserGroupMember",["ownerID","groupID"],{},{name:"user_group_members",keys:[{name:"ownerID",type:"number",dataType:"BigInt"},{name:"groupID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"owner",fkMap:[{fk:"ownerID",relatedKey:"userID"}],relatedName:"User"},{name:"group",fkMap:[{fk:"groupID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserGroupMember"]=UserGroupMember;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"notify",type:"boolean",dataType:"Boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"roleName",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"},{label:"otp-in",value:"otp-in"},{label:"sms-to-user",value:"sms-to-user"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"method",type:"string",dataType:"Char",length:20,default:["method",'"totp"']},{name:"secret",type:"string",dataType:"Char",default:["secret",'""']},{name:"hint",type:"string",dataType:"Char",length:100,default:["hint",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:20,default:["phoneNumber",'""']},{name:"isdCode",type:"string",dataType:"Char",length:20,default:["isdCode",'""']},{name:"verificationID",type:"number",dataType:"BigInt"},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSite",WebSite=new Model("WebSite",["folderID"],{isStatic:false,isTemplate:false,isDesign:false,templateSites:0,templateRank:0,storeEnabled:false,isModified:false,snapshotStorage:0,currency:""},{name:"web_sites",keys:[{name:"folderID",type:"number",dataType:"BigInt"}],properties:[{name:"currentVersionID",type:"number",dataType:"BigInt"},{name:"isStatic",type:"boolean",dataType:"Boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",dataType:"Boolean",default:["isTemplate","false"]},{name:"isDesign",type:"boolean",dataType:"Boolean",default:["isDesign","false"]},{name:"templateSites",type:"number",dataType:"Int",default:["templateSites","0"]},{name:"templateRank",type:"number",dataType:"Int",default:["templateRank","0"]},{name:"remoteUrl",type:"string",dataType:"Char",length:1024,default:["remoteUrl",'""']},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"storeEnabled",type:"boolean",dataType:"Boolean",default:["storeEnabled","false"]},{name:"description",type:"string",dataType:"Char",length:450,default:["description",'""']},{name:"isModified",type:"boolean",dataType:"Boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",dataType:"BigInt",default:["snapshotStorage","0"]},{name:"supportEmail",type:"string",dataType:"Char",length:200,default:["supportEmail",'""']},{name:"fromEmail",type:"string",dataType:"Char",length:200,default:["fromEmail",'""']},{name:"currency",type:"string",dataType:"Char",length:10,default:["currency",'""']}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"},{name:"channelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}],queries:{templates:"external"},actions:{deleteSite:"external"}}));modelEntitySchemas["WebSite"]=WebSite;_export("WebSiteHost",WebSiteHost=new Model("WebSiteHost",["host"],{},{name:"web_site_hosts",keys:[{name:"host",type:"string",dataType:"Char",length:200}],properties:[{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["WebSiteHost"]=WebSiteHost;_export("WebSiteVersion",WebSiteVersion=new Model("WebSiteVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_versions",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"snapshotFolderID",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"authorID",type:"number",dataType:"BigInt"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteVersion"]=WebSiteVersion;_export("WebSiteChannelDomain",WebSiteChannelDomain=new Model("WebSiteChannelDomain",["folderID","domainID"],{},{name:"web_site_channel_domains",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["WebSiteChannelDomain"]=WebSiteChannelDomain;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"channelID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("WebSiteTag",WebSiteTag=new Model("WebSiteTag",["webSiteID","tagID"],{},{name:"web_site_tags",keys:[{name:"webSiteID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"webSite",fkMap:[{fk:"webSiteID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["WebSiteTag"]=WebSiteTag;_export("LoginSessionDeviceTokenTypeArray",LoginSessionDeviceTokenTypeArray=[{label:"WebPush",value:"WebPush"},{label:"fcm",value:"fcm"},{label:"apn",value:"apn"}]);_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"start",type:"DateTime",dataType:"DateTimeOffset",default:["start","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"invalid",type:"boolean",dataType:"Boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"deviceToken",type:"string",dataType:"AsciiChar",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",dataType:"AsciiChar",length:50,default:["deviceTokenType",'"WebPush"']},{name:"verificationID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}],queries:{currentUser:"external"},actions:{updateDeviceToken:"external"}}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number",dataType:"BigInt"}],properties:[{name:"searchable",type:"string",dataType:"Char",default:["searchable",'""']}],relations:[{name:"fileContent",fkMap:[{fk:"textDocumentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("IncomingSmsSource",IncomingSmsSource=new Model("IncomingSmsSource",["textInSourceID"],{name:"",isdPrefix:"",phoneNumber:"",dateUpdated:new DefaultFactory((()=>new DateTime)),countryCode:""},{name:"incoming_sms_source",keys:[{name:"textInSourceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"username",type:"string",dataType:"Char",default:["username",'""']},{name:"encryptedPassword",type:"string",dataType:"Char",default:["encryptedPassword",'""']},{name:"isdPrefix",type:"string",dataType:"Char",default:["isdPrefix",'""']},{name:"keyword",type:"string",dataType:"Char",default:["keyword",'""']},{name:"phoneNumber",type:"string",dataType:"Char",default:["phoneNumber",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"countryCode",type:"string",dataType:"Char",length:20,default:["countryCode",'""']}],relations:[]}));modelEntitySchemas["IncomingSmsSource"]=IncomingSmsSource;_export("VerificationTokenTypeArray",VerificationTokenTypeArray=[{label:"email",value:"email"},{label:"sms",value:"sms"},{label:"captcha",value:"captcha"},{label:"totp",value:"totp"},{label:"sms-to-user",value:"sms-to-user"}]);_export("VerificationToken",VerificationToken=new Model("VerificationToken",["verificationID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiry:new DefaultFactory((()=>new DateTime)),verified:false,accessCode:"",attempt:0,type:"email"},{name:"verification_tokens",keys:[{name:"verificationID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:200,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt",default:["userID","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"email",type:"string",dataType:"Char",length:200,default:["email",'""']},{name:"phone",type:"string",dataType:"Char",length:20,default:["phone",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"code",type:"string",dataType:"Char",length:20,default:["code",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"attempt",type:"number",dataType:"Int",default:["attempt","0"]},{name:"externalConfig",type:"string",dataType:"Char",default:["externalConfig",'""']},{name:"type",type:"string",dataType:"AsciiChar",length:50,default:["type",'"email"']},{name:"webSiteFolderID",type:"number",dataType:"BigInt",default:["webSiteFolderID","0"]}],relations:[{name:"loginSessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"VerificationTokenAddress"}],actions:{updatePhone:"external",resendPhone:"external",verifyPhone:"external",resendCode:"external",verifyCode:"external",login:"external",getCaptchaGif:"external"}}));modelEntitySchemas["VerificationToken"]=VerificationToken;_export("VerificationTokenAddress",VerificationTokenAddress=new Model("VerificationTokenAddress",["verificationID","address"],{},{name:"verification_token_addresses",keys:[{name:"verificationID",type:"number",dataType:"BigInt"},{name:"address",type:"string",dataType:"Char",length:200}],properties:[{name:"displayAddress",type:"string",dataType:"Char",length:200,default:["displayAddress",'""']}],relations:[{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["VerificationTokenAddress"]=VerificationTokenAddress;_export("EmailAddressName",EmailAddressName=new Model("EmailAddressName",["nameTokenID","emailAddressID"],{},{name:"email_address_names",keys:[{name:"nameTokenID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"nameToken",fkMap:[{fk:"nameTokenID",relatedKey:"nameTokenID"}],relatedName:"NameToken"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailAddressName"]=EmailAddressName;_export("ThreadParticipant",ThreadParticipant=new Model("ThreadParticipant",["emailID","emailAddressID"],{unsubscribed:false},{name:"thread_participants",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"unsubscribed",type:"boolean",dataType:"Boolean",default:["unsubscribed","false"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["ThreadParticipant"]=ThreadParticipant;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",label:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"label",type:"string",dataType:"Char",length:200,default:["label",'""']},{name:"lowerCaseName",type:"string",generated:"computed",dataType:"Char",length:200},{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isSystemTag",type:"boolean",dataType:"Boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",dataType:"Char",default:["contentTypes",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxFolders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"mailboxTags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"storeItemFolderTags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"},{name:"storeTags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}]}));modelEntitySchemas["Tag"]=Tag;_export("AppTempFile",AppTempFile=new Model("AppTempFile",["tempFileID"],{path:"",name:"",contentType:"",isFolder:false,fileSize:0,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_temp_files",keys:[{name:"tempFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:900,default:["path",'""']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"rootID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"root",fkMap:[{fk:"rootID",relatedKey:"tempFileID"}],relatedName:"AppTempFile"},{name:"descendants",isCollection:true,isInverse:true,relatedName:"AppTempFile"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["AppTempFile"]=AppTempFile;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register([],(function(_export,_context){"use strict";var SocialMailApp,_a,_b,_c,socialMail;return{setters:[],execute:function(){socialMail=(_a=window.socialMail)!==null&&_a!==void 0?_a:{path:"/",name:"Social Mail"};(_b=socialMail.links)!==null&&_b!==void 0?_b:socialMail.links={};(_c=socialMail.maxStreamSize)!==null&&_c!==void 0?_c:socialMail.maxStreamSize=100*1024*1024;SocialMailApp=class SocialMailApp{static get isAdmin(){var _a;return(_a=this.user.roles)===null||_a===void 0?void 0:_a.some((r=>/admin/i.test(r.roleName)))}};SocialMailApp.config=socialMail;SocialMailApp.newFolderTagID=null;SocialMailApp.contactsFolderTagID=null;_export("default",SocialMailApp)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/LoginService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","../common/SocialMailApp","@web-atoms/core/dist/App","@web-atoms/core/dist/core/sleep"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,LoginSession,SocialMailApp,App,sleep,LoginService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){LoginSession=_modelModel.LoginSession},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default}],execute:function(){LoginService=class LoginService{getUser(){return __awaiter(this,void 0,void 0,(function*(){var _a,_b;const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();(_a=this.user)!==null&&_a!==void 0?_a:this.user=session===null||session===void 0?void 0:session.user;SocialMailApp.user=this.user;if((_b=this.user)===null||_b===void 0?void 0:_b.userID){}return this.user}))}login(session,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const result=yield this.entityService.save(session);if(session.invalid){if(session.verificationToken){this.checkSession(session,cancelToken).catch(console.error)}return session.status}location.reload()}))}checkSession(session,cancelToken){return __awaiter(this,void 0,void 0,(function*(){}))}updateRegistration(s){return __awaiter(this,void 0,void 0,(function*(){throw new Error("Method not implemented.")}))}logout(){return __awaiter(this,void 0,void 0,(function*(){var _a,_b;const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.invalid=true;const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy);yield sleep(1e3);if((_b=(_a=SocialMailApp.config)===null||_a===void 0?void 0:_a.links)===null||_b===void 0?void 0:_b.login){location.href=SocialMailApp.config.links.home;return}location.reload()}))}enforceLogin(){return __awaiter(this,void 0,void 0,(function*(){const user=yield this.getUser();if(user===null||user===void 0?void 0:user.userID){return}}))}};__decorate([Inject,__metadata("design:type",EntityService)],LoginService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",App)],LoginService.prototype,"app",void 0);LoginService=__decorate([DISingleton()],LoginService);_export("default",LoginService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/store/cart/ShoppingCart");System.register(["tslib","@web-atoms/core/dist/Pack","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/InjectProperty","../../../services/LoginService","../../../common/controls/Loader","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Pack,AtomControl,InjectProperty,LoginService,Loader,XNode,ShoppingCart;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){ShoppingCart=class ShoppingCart extends AtomControl{constructor(app,e){super(app,e);this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create(Loader,null);yield this.loginService.getUser()}))}};__decorate([InjectProperty,__metadata("design:type",LoginService)],ShoppingCart.prototype,"loginService",void 0);ShoppingCart=__decorate([Pack,__metadata("design:paramtypes",[Object,Object])],ShoppingCart);_export("default",ShoppingCart)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomOnce");System.register([],(function(_export,_context){"use strict";var AtomOnce;_export("AtomOnce",void 0);return{setters:[],execute:function(){_export("AtomOnce",AtomOnce=class AtomOnce{run(f){if(this.isRunning){return}let isAsync=false;try{this.isRunning=true;const p=f();if(p&&p.then&&p.catch){isAsync=true;p.then((()=>{this.isRunning=false})).catch((()=>{this.isRunning=false}))}}finally{if(!isAsync){this.isRunning=false}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/StyleBuilder");System.register([],(function(_export,_context){"use strict";var StyleBuilder;function cssNumberToString(n,unit="px"){if(typeof n==="number"){if(n===0){return n+""}return n+unit}return n}_export({cssNumberToString,default:void 0});return{setters:[],execute:function(){_export("default",StyleBuilder=class StyleBuilder{static get newStyle(){return new StyleBuilder}constructor(style){this.style=style;this.style=this.style||{}}toStyle(){return this.style}size(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({width,height})}roundBorder(radius){radius=cssNumberToString(radius);return this.merge({borderRadius:radius,padding:radius})}border(borderWidth,borderColor,borderStyle="solid"){borderWidth=cssNumberToString(borderWidth);return this.merge({borderWidth,borderStyle,borderColor})}center(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({position:"absolute",left:0,right:0,top:0,bottom:0,width,height,margin:"auto"})}absolute(left,top,right,bottom){left=cssNumberToString(left);top=cssNumberToString(top);if(right!==undefined){right=cssNumberToString(right);bottom=cssNumberToString(bottom);return this.merge({position:"absolute",left,top,right,bottom})}return this.merge({position:"absolute",left,top})}merge(style){return new StyleBuilder(Object.assign(Object.assign({},this.style),style))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WebBusyIndicatorService");System.register(["tslib","../../App","../../di/Inject","../../di/RegisterSingleton","../../services/BusyIndicatorService","../../services/NavigationService","../controls/AtomControl","../styles/StyleBuilder"],(function(_export,_context){"use strict";var __decorate,__metadata,App,Inject,RegisterSingleton,BusyIndicatorService,NavigationService,AtomControl,cssNumberToString,WebBusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_App){App=_App.App},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString}],execute:function(){_export("WebBusyIndicatorService",WebBusyIndicatorService=class WebBusyIndicatorService extends BusyIndicatorService{constructor(){super(...arguments);this.zIndex=5e4;this.indicators=0}createIndicator(){const host=document.createElement("div");const popup=new AtomControl(this.app,host);host.className="indicator-host";const span=document.createElement("i");const divStyle=host.style;divStyle.position="absolute";divStyle.overflow="hidden";divStyle.left=divStyle.right=divStyle.bottom=divStyle.top="0";divStyle.zIndex=this.zIndex+++"";const spanStyle=span.style;spanStyle.position="absolute";spanStyle.margin="auto";spanStyle.width="16px";spanStyle.height="16px";spanStyle.overflow="hidden";spanStyle.maxHeight="100%";spanStyle.maxWidth="100%";spanStyle.left=spanStyle.right=spanStyle.bottom=spanStyle.top="0";span.className="fas fa-spinner fa-spin";host.appendChild(span);const ws=this.navigationService;const e=ws.getHostForElement();if(e){e.appendChild(host)}else{document.body.appendChild(host);ws.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,ws.screen)}popup.registerDisposable({dispose:()=>{host.remove()}});return{[Symbol.dispose](){popup.dispose()}}}});__decorate([Inject,__metadata("design:type",NavigationService)],WebBusyIndicatorService.prototype,"navigationService",void 0);__decorate([Inject,__metadata("design:type",App)],WebBusyIndicatorService.prototype,"app",void 0);_export("WebBusyIndicatorService",WebBusyIndicatorService=__decorate([RegisterSingleton],WebBusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Atom");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,Atom;_export("Atom",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("Atom",Atom=class Atom{static superProperty(tc,target,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(target)}while(true)}static get(target,path){const segments=path.split(".");for(const iterator of segments){if(target===undefined||target===null){return target}target=target[iterator]}return target}static delay(n,ct){return new Promise(((resolve,reject)=>{const h={};h.id=setTimeout((()=>{resolve()}),n);if(ct){ct.registerForCancel((()=>{clearTimeout(h.id);reject(new Error("cancelled"))}))}}))}static encodeParameters(p){if(!p){return""}let s="";for(const key in p){if(p.hasOwnProperty(key)){const element=p[key];let v=element;if(v===undefined||v===null){continue}if(v instanceof Date){v=v.toISOString()}else if(typeof element==="object"){v=JSON.stringify(element)}if(s){s+="&"}s+=`${key}=${encodeURIComponent(v)}`}}return s}static url(url,query,hash){if(!url){return url}let p=this.encodeParameters(query);if(p){if(url.indexOf("?")===-1){url+="?"}else{url+="&"}url+=p}p=this.encodeParameters(hash);if(p){if(url.indexOf("#")===-1){url+="#"}else{url+="&"}url+=p}return url}static postAsync(app,f){return new Promise(((resolve,reject)=>{app.callLater((()=>__awaiter(this,void 0,void 0,(function*(){try{resolve(yield f())}catch(error){reject(error)}}))))}))}});Atom.designMode=false}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/JsonService");System.register(["tslib","../core/StringHelper","../di/RegisterSingleton","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __decorate,StringHelper,RegisterSingleton,DateTime,dateFormatISORegEx,dateFormatMSRegEx,timeZoneDiff,JsonService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);_export("dateFormatMSRegEx",dateFormatMSRegEx=/^\/Date\((d|-|.*)\)[\/|\\]$/);timeZoneDiff=(new Date).getTimezoneOffset();_export("JsonService",JsonService=class JsonService{constructor(){this.options={indent:2,namingStrategy:"none",dateConverter:[{regex:dateFormatISORegEx,valueConverter:{fromSource(v){const d=new DateTime(v);return d},fromTarget(v){return v.toISOString()}}},{regex:dateFormatMSRegEx,valueConverter:{fromSource(v){const a=dateFormatMSRegEx.exec(v);const b=a[1].split(/[-+,.]/);return new DateTime(b[0]?+b[0]:0-+b[1])},fromTarget(v){return v.toISOString()}}}]}}transformKeys(t,v){if(!v){return v}if(typeof v!=="object"){return v}if(v instanceof Date){return v}if(typeof v==="object"&&v.length!==undefined&&typeof v.length==="number"){const a=v;if(a.map){return a.map((x=>this.transformKeys(t,x)))}const ra=[];for(let i=0;i<a.length;i++){const iterator=a[i];ra.push(this.transformKeys(t,iterator))}return ra}const r={};for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];r[t(key)]=this.transformKeys(t,element)}}return r}parse(text,options){const{dateConverter,namingStrategy}=Object.assign(Object.assign({},this.options),options);const result=JSON.parse(text,((key,value)=>{if(typeof value==="string"){for(const iterator of dateConverter){const a=iterator.regex.test(value);if(a){const dv=iterator.valueConverter.fromSource(value);return dv}}}return value}));switch(namingStrategy){case"hyphen":return this.transformKeys(StringHelper.fromHyphenToCamel,result);case"underscore":return this.transformKeys(StringHelper.fromUnderscoreToCamel,result);case"pascal":return this.transformKeys(StringHelper.fromPascalToCamel,result)}return result}stringify(v,options){const{namingStrategy,dateConverter,indent}=Object.assign(Object.assign({},this.options),options);switch(namingStrategy){case"hyphen":v=this.transformKeys(StringHelper.fromCamelToHyphen,v);break;case"underscore":v=this.transformKeys(StringHelper.fromCamelToUnderscore,v);break;case"pascal":v=this.transformKeys(StringHelper.fromCamelToPascal,v);break}return JSON.stringify(v,((key,value)=>{if(key&&/^\_\$\_/.test(key)){return undefined}if(dateConverter&&value instanceof Date){return dateConverter[0].valueConverter.fromTarget(value)}return value}),indent)}});_export("JsonService",JsonService=__decorate([RegisterSingleton],JsonService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources;__rest=_tslib.__rest},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesReferenceService){ReferenceService=_servicesReferenceService.default},function(_AtomUri){AtomUri=_AtomUri.AtomUri},function(_Command){displayRouteSymbol=_Command.displayRouteSymbol},function(_InheritedProperty){getOwnInheritedProperty=_InheritedProperty.getOwnInheritedProperty},function(_types){CancelToken=_types.CancelToken;DI=_types.DI}],execute:function(){_export("AtomLoader",AtomLoader=class AtomLoader{static load(url,app){return __awaiter(this,void 0,void 0,(function*(){if(typeof url==="string"){const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}if(url instanceof AtomUri){if(url.host==="reference"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return r.consume()}if(url.host==="class"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return app.resolve(r.consume(),true)}url=url.path;const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}const obj=app.resolve(url,true);return obj}))}static loadView(url,app,hookCloseEvents,vmFactory){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_1,app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);let vm=view.viewModel;if(!vm){if(!vmFactory){return{view}}vm=vmFactory();view.viewModel=vm}if("parameters"in view){vm=view.parameters}if(vm){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(typeof element==="object"){vm[key]=jsonService.parse(jsonService.stringify(element));continue}if(/^json\:/.test(key)){const k=key.split(":")[1];vm[k]=jsonService.parse(element.toString());continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element);vm[key.split(":",2)[1]]=v.consume();continue}try{vm[key]=element}catch(e){console.error(e)}}}}if(hookCloseEvents&&vm){const disposables=view.disposables;const id=(AtomLoader.id++).toString();view.id=id;const returnPromise=new Promise(((resolve,reject)=>{disposables.add(app.subscribe(`atom-window-close:${id}`,((m,r)=>{resolve(r);view.dispose()})));disposables.add(app.subscribe(`atom-window-cancel:${id}`,(()=>{reject("cancelled");view.dispose()})))}));vm.windowName=id;view.returnPromise=returnPromise;return{view,disposables,returnPromise,id}}return{view}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}static loadClass(url_1){return __awaiter(this,arguments,void 0,(function*(url,_a={},app){var _b,_c,_d,_e;var _f;var{title}=_a,_g=displayRouteSymbol,route=_a[_g],parameters=__rest(_a,["title",typeof _g==="symbol"?_g:_g+""]);const env_2={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_2,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_b=(_f=view).parameters)!==null&&_b!==void 0?_b:_f.parameters={}}else{console.warn("ViewModel is deprecated")}if(title){view.title=title}if(params){params[displayRouteSymbol]=route}if((vm||params)&¶meters){for(const key in parameters){if(parameters.hasOwnProperty(key)){const element=parameters[key];try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_e=(_d=(_c=view).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}static loadControl(url,app){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c,_d;var _e;const env_3={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_3,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_a=(_e=view).parameters)!==null&&_a!==void 0?_a:_e.parameters={}}if(vm||params){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(/^json\:/.test(key)){const k=key.split(":")[1];const v=jsonService.parse(element.toString());if(vm){vm[k]=v}if(params){params[k]=v}continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element).consume();const keyName=key.split(":",2)[1];if(vm){vm[keyName]=v}if(params){params[keyName]=v}continue}try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_d=(_c=(_b=view).init)===null||_c===void 0?void 0:_c.call(_b))===null||_d===void 0?void 0:_d.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedError");System.register([],(function(_export,_context){"use strict";var FormattedError;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedError=class FormattedError{constructor(msg){const e=new Error(msg.toString());e.formattedMessage=msg;e.__proto__=FormattedError.prototype;return e}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/baseTypes");System.register([],(function(_export,_context){"use strict";function registerInit(target,fx){const t=target;const inits=t._$_inits=t._$_inits||[];inits.push(fx)}_export("registerInit",registerInit);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomViewModel");System.register(["tslib","../App","../Atom","../core/AtomBinder","../core/AtomDisposableList","../core/AtomWatcher","../core/BindableProperty","../di/Inject","./baseTypes"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomBinder,AtomDisposableList,AtomWatcher,BindableProperty,Inject,registerInit,AtomViewModel;function runDecoratorInits(){const v=this.constructor.prototype;if(!v){return}const ris=v._$_inits;if(ris){for(const ri of ris){ri.call(this,this)}}}function privateInit(){return __awaiter(this,void 0,void 0,(function*(){try{yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){runDecoratorInits.apply(this)}))));yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){yield this.init();this.onReady()}))));if(this.postInit){for(const i of this.postInit){i()}this.postInit=null}}finally{const pi=this.pendingInits;this.pendingInits=null;for(const iterator of pi){iterator()}}}))}function waitForReady(vm){return __awaiter(this,void 0,void 0,(function*(){while(vm.pendingInits){yield Atom.delay(100)}}))}function Receive(...channel){return(target,key)=>{registerInit(target,(vm=>{const fx=vm[key];const a=(ch,d)=>{const p=fx.call(vm,ch,d);if(p&&p.then&&p.catch){p.catch((e=>{console.warn(e)}))}};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,a))}}))}}function BindableReceive(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=(cx,m)=>{vm[key]=m};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,fx))}}));return bp}}function BindableBroadcast(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=t=>{const v=vm[key];for(const c of channel){vm.app.broadcast(c,v)}};const d=new AtomWatcher(vm,[key.split(".")],fx);d.init();vm.registerDisposable(d)}));return bp}}function Watch(target,key,descriptor){registerInit(target,(vm=>{const ivm=vm;if(descriptor&&descriptor.get){ivm.setupWatch(descriptor.get,(()=>{vm.refresh(key.toString())}));return}ivm.setupWatch(vm[key])}))}function CachedWatch(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const ivm=vm;const fieldName=`_${key}`;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){const c=ivm[fieldName]||(ivm[fieldName]={value:getMethod.apply(ivm)});return c.value}});ivm.setupWatch(getMethod,(()=>{ivm[fieldName]=null;AtomBinder.refreshValue(ivm,key)}))}))}function Validate(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const initialized={i:false};const ivm=vm;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){if(vm.mShouldValidate&&initialized.i){return getMethod.apply(this)}return null}});ivm.setupWatch(getMethod,(()=>{initialized.i=true;vm.refresh(key.toString())}),true,key.toString());return}))}_export({waitForReady,Receive,BindableReceive,BindableBroadcast,Watch,CachedWatch,Validate});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreAtomWatcher){AtomWatcher=_coreAtomWatcher.AtomWatcher},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_diInject){Inject=_diInject.Inject},function(_baseTypes){registerInit=_baseTypes.registerInit}],execute:function(){_export("AtomViewModel",AtomViewModel=class AtomViewModel{get isReady(){return this.pendingInits===null}get errors(){const e=[];if(!this.mShouldValidate){return e}for(const v of this.validations){if(!v.initialized){return e}const error=this[v.name];if(error){e.push({name:v.name,error})}}return e}get parent(){return this.mParent}set parent(v){if(this.mParent&&this.mParent.mChildren){this.mParent.mChildren.remove(this)}this.mParent=v;if(v){const c=v.mChildren||(v.mChildren=[]);c.add(this);this.registerDisposable({dispose:()=>{c.remove(this)}})}}get isValid(){let valid=true;const validateWasFalse=this.mShouldValidate===false;this.mShouldValidate=true;for(const v of this.validations){if(!v.initialized){v.watcher.init(true);v.initialized=true}if(this[v.name]){if(validateWasFalse){AtomBinder.refreshValue(this,v.name)}valid=false}}if(this.mChildren){for(const child of this.mChildren){if(!child.isValid){valid=false}}}AtomBinder.refreshValue(this,"errors");return valid}constructor(app){this.app=app;this.disposables=null;this.validations=[];this.pendingInits=[];this.mShouldValidate=false;this.app.runAsync((()=>privateInit.apply(this)))}resetValidations(resetChildren=true){this.mShouldValidate=false;for(const v of this.validations){this.refresh(v.name)}if(resetChildren&&this.mChildren){for(const iterator of this.mChildren){iterator.resetValidations(resetChildren)}}}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f);return}f()}refresh(name){AtomBinder.refreshValue(this,name)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}dispose(){if(this.disposables){this.disposables.dispose()}}registerDisposable(d){this.disposables=this.disposables||new AtomDisposableList;return this.disposables.add(d)}onReady(){}setupWatch(ft,proxy,forValidation,name){const d=new AtomWatcher(this,ft,proxy,this);if(forValidation){this.validations=this.validations||[];this.validations.push({name,watcher:d,initialized:false})}else{d.init()}return this.registerDisposable(d)}onPropertyChanged(name){}});_export("AtomViewModel",AtomViewModel=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App])],AtomViewModel))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomWindowViewModel");System.register(["tslib","../services/NavigationService","./AtomViewModel"],(function(_export,_context){"use strict";var __awaiter,NavigationService,AtomViewModel,AtomWindowViewModel;_export("AtomWindowViewModel",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_AtomViewModel){AtomViewModel=_AtomViewModel.AtomViewModel}],execute:function(){_export("AtomWindowViewModel",AtomWindowViewModel=class AtomWindowViewModel extends AtomViewModel{close(result){this.app.broadcast(`atom-window-close:${this.windowName}`,result)}cancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){const navigationService=this.app.resolve(NavigationService);if(!(yield navigationService.confirm(this.closeWarning,"Are you sure?"))){return false}}this.app.broadcast(`atom-window-cancel:${this.windowName}`,"cancelled");return true}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Colors");System.register([],(function(_export,_context){"use strict";var ColorItem,Colors;function toFixedString(t){return("0"+t.toString(16)).slice(-2)}_export("ColorItem",void 0);return{setters:[],execute:function(){_export("ColorItem",ColorItem=class ColorItem{constructor(colorCodeOrRed,namedColorOrGreen,blue,alpha){if(typeof colorCodeOrRed==="string"){this.colorCode=colorCodeOrRed;if(typeof namedColorOrGreen==="string"){this.namedColor=namedColorOrGreen}const r=ColorItem.parseRgb(this.colorCode);this.red=r.red;this.green=r.green;this.blue=r.blue;this.alpha=r.alpha}else{this.red=colorCodeOrRed;if(typeof namedColorOrGreen==="number"){this.green=namedColorOrGreen}this.blue=blue;this.alpha=alpha;this.colorCode=ColorItem.rgb(this.red,this.green,this.blue,this.alpha)}}toString(){return this.colorCode}withAlphaPercent(a){return new ColorItem(this.red,this.green,this.blue,a)}static parseRgb(rgba){if(/^\#/.test(rgba)){rgba=rgba.substr(1);if(rgba.length===3){rgba=rgba.split("").map((x=>x+x)).join("")}const red=Number.parseInt(rgba[0]+rgba[1],16);const green=Number.parseInt(rgba[2]+rgba[3],16);const blue=Number.parseInt(rgba[4]+rgba[5],16);if(rgba.length>6){const alpha=Number.parseInt(rgba[6]+rgba[7],16);return{red,green,blue,alpha}}return{red,green,blue}}if(/^rgba/i.test(rgba)){rgba=rgba.substr(5);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map(((x,i)=>i===3?Number.parseFloat(x):Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2],alpha:a[3]}}if(/^rgb/i.test(rgba)){rgba=rgba.substr(4);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map((x=>Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2]}}throw new Error("Unknown color format "+rgba)}static rgb(r,g,b,a){if(a!==undefined){return`rgba(${r},${g},${b},${a})`}return"#"+toFixedString(r)+toFixedString(g)+toFixedString(b)}});Colors=class Colors{static rgba(red,green,blue,alpha){return new ColorItem(red,green,blue,alpha)}static parse(color){if(!color){return null}color=color.toLowerCase();for(const key in Colors){if(Colors.hasOwnProperty(key)){const element=Colors[key];if(element instanceof ColorItem){const ci=element;if(ci.namedColor===color){return ci}}}}if(/^(\#|rgb\(|rgba\()/i.test(color)){return new ColorItem(color)}throw new Error("Invalid color format "+color)}};Colors.black=new ColorItem("#000000","black");Colors.silver=new ColorItem("#c0c0c0","silver");Colors.gray=new ColorItem("#808080","gray");Colors.white=new ColorItem("#ffffff","white");Colors.maroon=new ColorItem("#800000","maroon");Colors.red=new ColorItem("#ff0000","red");Colors.purple=new ColorItem("#800080","purple");Colors.fuchsia=new ColorItem("#ff00ff","fuchsia");Colors.green=new ColorItem("#008000","green");Colors.lime=new ColorItem("#00ff00","lime");Colors.olive=new ColorItem("#808000","olive");Colors.yellow=new ColorItem("#ffff00","yellow");Colors.navy=new ColorItem("#000080","navy");Colors.blue=new ColorItem("#0000ff","blue");Colors.teal=new ColorItem("#008080","teal");Colors.aqua=new ColorItem("#00ffff","aqua");Colors.orange=new ColorItem("#ffa500","orange");Colors.aliceBlue=new ColorItem("#f0f8ff","aliceblue");Colors.antiqueWhite=new ColorItem("#faebd7","antiquewhite");Colors.aquaMarine=new ColorItem("#7fffd4","aquamarine");Colors.azure=new ColorItem("#f0ffff","azure");Colors.beige=new ColorItem("#f5f5dc","beige");Colors.bisque=new ColorItem("#ffe4c4","bisque");Colors.blanchedAlmond=new ColorItem("#ffebcd","blanchedalmond");Colors.blueViolet=new ColorItem("#8a2be2","blueviolet");Colors.brown=new ColorItem("#a52a2a","brown");Colors.burlyWood=new ColorItem("#deb887","burlywood");Colors.cadetBlue=new ColorItem("#5f9ea0","cadetblue");Colors.chartReuse=new ColorItem("#7fff00","chartreuse");Colors.chocolate=new ColorItem("#d2691e","chocolate");Colors.coral=new ColorItem("#ff7f50","coral");Colors.cornFlowerBlue=new ColorItem("#6495ed","cornflowerblue");Colors.cornSilk=new ColorItem("#fff8dc","cornsilk");Colors.crimson=new ColorItem("#dc143c","crimson");Colors.cyan=new ColorItem("#00ffff","cyan");Colors.darkBlue=new ColorItem("#00008b","darkblue");Colors.darkCyan=new ColorItem("#008b8b","darkcyan");Colors.darkGoldenRod=new ColorItem("#b8860b","darkgoldenrod");Colors.darkGray=new ColorItem("#a9a9a9","darkgray");Colors.darkGreen=new ColorItem("#006400","darkgreen");Colors.darkGrey=new ColorItem("#a9a9a9","darkgrey");Colors.darkKhaki=new ColorItem("#bdb76b","darkkhaki");Colors.darkMagenta=new ColorItem("#8b008b","darkmagenta");Colors.darkOliveGreen=new ColorItem("#556b2f","darkolivegreen");Colors.darkOrange=new ColorItem("#ff8c00","darkorange");Colors.darkOrchid=new ColorItem("#9932cc","darkorchid");Colors.darkRed=new ColorItem("#8b0000","darkred");Colors.darkSalmon=new ColorItem("#e9967a","darksalmon");Colors.darkSeaGreen=new ColorItem("#8fbc8f","darkseagreen");Colors.darkSlateBlue=new ColorItem("#483d8b","darkslateblue");Colors.darkSlateGray=new ColorItem("#2f4f4f","darkslategray");Colors.darkSlateGrey=new ColorItem("#2f4f4f","darkslategrey");Colors.darkTurquoise=new ColorItem("#00ced1","darkturquoise");Colors.darkViolet=new ColorItem("#9400d3","darkviolet");Colors.deepPink=new ColorItem("#ff1493","deeppink");Colors.deepSkyBlue=new ColorItem("#00bfff","deepskyblue");Colors.dimGray=new ColorItem("#696969","dimgray");Colors.dimGrey=new ColorItem("#696969","dimgrey");Colors.dodgerBlue=new ColorItem("#1e90ff","dodgerblue");Colors.fireBrick=new ColorItem("#b22222","firebrick");Colors.floralWhite=new ColorItem("#fffaf0","floralwhite");Colors.forestGreen=new ColorItem("#228b22","forestgreen");Colors.gainsboro=new ColorItem("#dcdcdc","gainsboro");Colors.ghostWhite=new ColorItem("#f8f8ff","ghostwhite");Colors.gold=new ColorItem("#ffd700","gold");Colors.goldenRod=new ColorItem("#daa520","goldenrod");Colors.greenYellow=new ColorItem("#adff2f","greenyellow");Colors.grey=new ColorItem("#808080","grey");Colors.honeyDew=new ColorItem("#f0fff0","honeydew");Colors.hotPink=new ColorItem("#ff69b4","hotpink");Colors.indianRed=new ColorItem("#cd5c5c","indianred");Colors.indigo=new ColorItem("#4b0082","indigo");Colors.ivory=new ColorItem("#fffff0","ivory");Colors.khaki=new ColorItem("#f0e68c","khaki");Colors.lavender=new ColorItem("#e6e6fa","lavender");Colors.lavenderBlush=new ColorItem("#fff0f5","lavenderblush");Colors.lawnGreen=new ColorItem("#7cfc00","lawngreen");Colors.lemonChiffon=new ColorItem("#fffacd","lemonchiffon");Colors.lightBlue=new ColorItem("#add8e6","lightblue");Colors.lightCoral=new ColorItem("#f08080","lightcoral");Colors.lightCyan=new ColorItem("#e0ffff","lightcyan");Colors.lightGoldenRodYellow=new ColorItem("#fafad2","lightgoldenrodyellow");Colors.lightGray=new ColorItem("#d3d3d3","lightgray");Colors.lightGreen=new ColorItem("#90ee90","lightgreen");Colors.lightGrey=new ColorItem("#d3d3d3","lightgrey");Colors.lightPink=new ColorItem("#ffb6c1","lightpink");Colors.lightSalmon=new ColorItem("#ffa07a","lightsalmon");Colors.lightSeaGreen=new ColorItem("#20b2aa","lightseagreen");Colors.lightSkyBlue=new ColorItem("#87cefa","lightskyblue");Colors.lightSlateGray=new ColorItem("#778899","lightslategray");Colors.lightSlateGrey=new ColorItem("#778899","lightslategrey");Colors.lightSteelBlue=new ColorItem("#b0c4de","lightsteelblue");Colors.lightYellow=new ColorItem("#ffffe0","lightyellow");Colors.limeGreen=new ColorItem("#32cd32","limegreen");Colors.linen=new ColorItem("#faf0e6","linen");Colors.magenta=new ColorItem("#ff00ff","magenta");Colors.mediumAquaMarine=new ColorItem("#66cdaa","mediumaquamarine");Colors.mediumBlue=new ColorItem("#0000cd","mediumblue");Colors.mediumOrchid=new ColorItem("#ba55d3","mediumorchid");Colors.mediumPurple=new ColorItem("#9370db","mediumpurple");Colors.mediumSeaGreen=new ColorItem("#3cb371","mediumseagreen");Colors.mediumSlateBlue=new ColorItem("#7b68ee","mediumslateblue");Colors.mediumSpringGreen=new ColorItem("#00fa9a","mediumspringgreen");Colors.mediumTurquoise=new ColorItem("#48d1cc","mediumturquoise");Colors.mediumVioletred=new ColorItem("#c71585","mediumvioletred");Colors.midNightBlue=new ColorItem("#191970","midnightblue");Colors.mintCream=new ColorItem("#f5fffa","mintcream");Colors.mistyRose=new ColorItem("#ffe4e1","mistyrose");Colors.moccasin=new ColorItem("#ffe4b5","moccasin");Colors.navajoWhite=new ColorItem("#ffdead","navajowhite");Colors.oldLace=new ColorItem("#fdf5e6","oldlace");Colors.oliveDrab=new ColorItem("#6b8e23","olivedrab");Colors.orangeRed=new ColorItem("#ff4500","orangered");Colors.orchid=new ColorItem("#da70d6","orchid");Colors.paleGoldenRod=new ColorItem("#eee8aa","palegoldenrod");Colors.paleGreen=new ColorItem("#98fb98","palegreen");Colors.paleTurquoise=new ColorItem("#afeeee","paleturquoise");Colors.paleVioletRed=new ColorItem("#db7093","palevioletred");Colors.papayaWhip=new ColorItem("#ffefd5","papayawhip");Colors.peachPuff=new ColorItem("#ffdab9","peachpuff");Colors.peru=new ColorItem("#cd853f","peru");Colors.pink=new ColorItem("#ffc0cb","pink");Colors.plum=new ColorItem("#dda0dd","plum");Colors.powderBlue=new ColorItem("#b0e0e6","powderblue");Colors.rosyBrown=new ColorItem("#bc8f8f","rosybrown");Colors.royalBlue=new ColorItem("#4169e1","royalblue");Colors.saddleBrown=new ColorItem("#8b4513","saddlebrown");Colors.salmon=new ColorItem("#fa8072","salmon");Colors.sandyBrown=new ColorItem("#f4a460","sandybrown");Colors.seaGreen=new ColorItem("#2e8b57","seagreen");Colors.seaShell=new ColorItem("#fff5ee","seashell");Colors.sienna=new ColorItem("#a0522d","sienna");Colors.skyBlue=new ColorItem("#87ceeb","skyblue");Colors.slateBlue=new ColorItem("#6a5acd","slateblue");Colors.slateGray=new ColorItem("#708090","slategray");Colors.slateGrey=new ColorItem("#708090","slategrey");Colors.snow=new ColorItem("#fffafa","snow");Colors.springGreen=new ColorItem("#00ff7f","springgreen");Colors.steelBlue=new ColorItem("#4682b4","steelblue");Colors.tan=new ColorItem("#d2b48c","tan");Colors.thistle=new ColorItem("#d8bfd8","thistle");Colors.tomato=new ColorItem("#ff6347","tomato");Colors.turquoise=new ColorItem("#40e0d0","turquoise");Colors.violet=new ColorItem("#ee82ee","violet");Colors.wheat=new ColorItem("#f5deb3","wheat");Colors.whiteSmoke=new ColorItem("#f5f5f5","whitesmoke");Colors.yellowGreen=new ColorItem("#9acd32","yellowgreen");Colors.rebeccaPurple=new ColorItem("#663399","rebeccapurple");Colors.transparent=new ColorItem("#00000000","transparent");_export("default",Colors)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomWindowStyle");System.register(["@web-atoms/core/src/web/images/close-button-hover.svg","../styles/AtomStyle"],(function(_export,_context){"use strict";var closeButtonHover,AtomStyle,AtomWindowStyle;_export("AtomWindowStyle",void 0);return{setters:[function(_webAtomsCoreSrcWebImagesCloseButtonHoverSvg){closeButtonHover=_webAtomsCoreSrcWebImagesCloseButtonHoverSvg.default},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomWindowStyle",AtomWindowStyle=class AtomWindowStyle extends AtomStyle{get root(){return Object.assign(Object.assign({},this.frameHost),{subclasses:{" .close-button":this.closeButton," .command-bar-presenter":this.commandBarPresenter," .command-bar":this.commandBar," .content-presenter":this.contentPresenter," .content":this.content," .frame":this.frame," .title":this.title," .title-host":this.titleHost," .title-presenter":this.titlePresenter}})}get frameHost(){return{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"#50505080"}}get frame(){return{position:"absolute",minHeight:"100px",minWidth:"300px",margin:"auto",border:"solid 1px #808080",borderRadius:"5px",backgroundColor:"white"}}get titlePresenter(){return{position:"relative",left:0,right:0,top:0,height:"37px"}}get titleHost(){return{position:"absolute",left:0,right:0,padding:"7px",minHeight:"32px",backgroundColor:"#404040",color:"white",top:0,borderTopRightRadius:"4px",borderTopLeftRadius:"4px"}}get title(){return{margin:"auto"}}get closeButton(){return{position:"absolute",right:"6px",top:"7px",width:"0",height:"0",padding:"9px",border:"none",backgroundColor:"transparent",backgroundImage:closeButtonHover}}get content(){return{}}get contentPresenter(){return{position:"relative",padding:"10px",background:"white"}}get commandBarPresenter(){return{left:0,right:0,bottom:0,padding:"5px",backgroundColor:"#d4d4d4",textAlign:"right",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px"}}get commandBar(){return{subclasses:{" button":{borderRadius:"3px",marginLeft:"5px",marginRight:"5px",padding:"4px 16px",backgroundColor:"whitesmoke",border:"1px solid gray"}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomAlertWindowStyle");System.register(["../../core/Colors","./AtomWindowStyle"],(function(_export,_context){"use strict";var Colors,AtomWindowStyle,AtomAlertWindowStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomWindowStyle){AtomWindowStyle=_AtomWindowStyle.AtomWindowStyle}],execute:function(){_export("default",AtomAlertWindowStyle=class AtomAlertWindowStyle extends AtomWindowStyle{get titleHost(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"titleHost")),{color:Colors.black,backgroundColor:Colors.white})}get contentPresenter(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"contentPresenter")),{padding:"0px 10px 30px 10px",textAlign:"center",color:Colors.rgba(51,51,51)})}get commandBar(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"commandBar")),{textAlign:"center",subclasses:{" button":this.buttonStyle," .yes-button":{backgroundColor:Colors.rgba(0,128,0)}," .no-button":{backgroundColor:Colors.rgba(255,0,0)}}})}get buttonStyle(){return{border:"none",color:Colors.white,width:"50%",height:"40px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomTemplate");System.register(["./AtomControl"],(function(_export,_context){"use strict";var AtomControl,AtomTemplate;_export("AtomTemplate",void 0);return{setters:[function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomTemplate",AtomTemplate=class AtomTemplate extends AtomControl{})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomWindow");System.register(["../../App","../../core/Bind","../../core/XNode","../styles/AtomWindowStyle","./AtomControl","./AtomTemplate"],(function(_export,_context){"use strict";var App,Bind,XNode,AtomWindowStyle,AtomControl,AtomTemplate,AtomWindowFrameTemplate,AtomWindowTitleTemplate,AtomWindow;function getTemplateParent(e){const tp=e._templateParent;if(tp){return tp}const p=e._logicalParent||e.parentElement;if(p){return getTemplateParent(p)}}_export({getTemplateParent,AtomWindowFrameTemplate:void 0,AtomWindow:void 0});return{setters:[function(_App){App=_App.App},function(_coreBind){Bind=_coreBind.default},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomWindowStyle){AtomWindowStyle=_stylesAtomWindowStyle.AtomWindowStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomTemplate){AtomTemplate=_AtomTemplate.AtomTemplate}],execute:function(){_export("AtomWindowFrameTemplate",AtomWindowFrameTemplate=class AtomWindowFrameTemplate extends AtomTemplate{get templateParent(){return getTemplateParent(this.element)}preCreate(){this.titlePresenter=null;this.commandPresenter=null;this.contentPresenter=null;super.preCreate()}create(){this.render(XNode.create("div",{class:"frame",styleWidth:Bind.oneWay((()=>this.templateParent.width||undefined)),styleHeight:Bind.oneWay((()=>this.templateParent.height||undefined)),styleLeft:Bind.oneWay((()=>this.templateParent.x>=0?`${this.templateParent.x}px`:undefined)),styleTop:Bind.oneWay((()=>this.templateParent.y>=0?`${this.templateParent.y}px`:undefined)),styleMarginTop:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginLeft:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginRight:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginBottom:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined))},XNode.create("div",{class:"title-presenter",presenter:Bind.presenter("titlePresenter")}),XNode.create("div",{class:"content-presenter",presenter:Bind.presenter("contentPresenter")}),XNode.create("div",{class:"command-bar-presenter",presenter:Bind.presenter("commandPresenter")})))}});AtomWindowTitleTemplate=class AtomWindowTitleTemplate extends AtomControl{get templateParent(){return getTemplateParent(this.element)}create(){this.render(XNode.create("div",{class:"title-host"},XNode.create("span",{class:"title",text:Bind.oneWay((()=>this.templateParent.title))}),XNode.create("button",{class:"close-button",eventClick:Bind.event((()=>this.templateParent.close()))})))}};_export("AtomWindow",AtomWindow=class AtomWindow extends AtomControl{constructor(){super(...arguments);this.title="";this.width="";this.height="";this.x=-1;this.y=-1;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;this.isReady=false}get templateParent(){return getTemplateParent(this.element)}onPropertyChanged(name){switch(name){case"windowTemplate":case"commandTemplate":case"frameTemplate":this.invalidate();break}}close(){const vm=this.viewModel;if(vm.cancel){this.app.runAsync((()=>vm.cancel()));return}const message=`atom-window-cancel:${this.id}`;const device=this.app.resolve(App);device.broadcast(message,"cancelled")}onUpdateUI(){if(!(this.windowTemplate&&this.frameTemplate)){return}if(this.isReady){return}this.bind(this.element,"title",[["viewModel","title"]]);const frame=new this.frameTemplate(this.app);const fe=frame.element;const titleContent=new this.titleTemplate(this.app);titleContent.element._templateParent=this;frame.titlePresenter.appendChild(titleContent.element);this.setupDragging(frame.titlePresenter);this.element.classList.add("frame-host");fe._logicalParent=this.element;fe._templateParent=this;if(!frame.contentPresenter){throw new Error("ContentPresenter must be set inside frameTemplate before creating window")}const content=new this.windowTemplate(this.app);content.element._templateParent=this;this.setElementClass(content.element,{content:1});frame.contentPresenter.appendChild(content.element);if(this.commandTemplate){if(!frame.commandPresenter){throw new Error("CommandPresenter must be set inside frameTemplate"+"before creating window if command template is present")}const command=new this.commandTemplate(this.app);command.element._templateParent=this;this.setElementClass(command.element,{"command-bar":1});frame.commandPresenter.appendChild(command.element)}this.append(frame);setTimeout((()=>{this.centerFrame(frame.element)}),100);this.isReady=true}preCreate(){this.defaultControlStyle=AtomWindowStyle;this.title=null;this.width="";this.height="";this.x=-1;this.y=-1;this.windowTemplate=null;this.commandTemplate=null;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;super.preCreate();this.render(XNode.create("div",{styleClass:Bind.oneTime((()=>this.controlStyle.name))}))}centerFrame(e){if(!this.element){return}const parent=this.element.parentElement;if(parent===window||parent===document.body){return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;this.x=x;this.y=y;e.style.opacity="1";this.element.style.removeProperty("opacity")}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{startEvent.preventDefault();const disposables=[];const offset={x:tp.parentElement.offsetLeft,y:tp.parentElement.offsetTop};const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;offset.x+=dx;offset.y+=dy;this.x=offset.x;this.y=offset.y;rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;for(const iterator of disposables){iterator.dispose()}})))}))}});AtomWindow.windowTemplate=XNode.prepare("windowTemplate",true,true);AtomWindow.commandTemplate=XNode.prepare("commandTemplate",true,true);AtomWindow.titleTemplate=XNode.prepare("titleTemplate",true,true);AtomWindow.frameTemplate=XNode.prepare("frameTemplate",true,true)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomAlertWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../view-model/AtomWindowViewModel","../styles/AtomAlertWindowStyle","./AtomWindow"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomWindowViewModel,AtomAlertWindowStyle,AtomWindow,AtomAlertWindow,AtomAlertViewModel;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_stylesAtomAlertWindowStyle){AtomAlertWindowStyle=_stylesAtomAlertWindowStyle.default},function(_AtomWindow){AtomWindow=_AtomWindow.AtomWindow}],execute:function(){_export("default",AtomAlertWindow=class AtomAlertWindow extends AtomWindow{create(){this.defaultControlStyle=AtomAlertWindowStyle;this.viewModel=this.resolve(AtomAlertViewModel);this.render(XNode.create(AtomWindow,{title:Bind.oneWay((()=>this.viewModel.title))},XNode.create(AtomWindow.windowTemplate,null,XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message))})),XNode.create(AtomWindow.commandTemplate,null,XNode.create("div",null,XNode.create("button",{class:"yes-button",styleDisplay:Bind.oneWay((()=>this.viewModel.okTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.okTitle)),eventClick:()=>this.viewModel.onOkClicked()}),XNode.create("button",{class:"no-button",styleMarginBottom:Bind.oneWay((()=>this.viewModel.cancelTitle?"0":"10px")),styleDisplay:Bind.oneWay((()=>this.viewModel.cancelTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.cancelTitle)),eventClick:()=>this.viewModel.onCancelClicked()})))))}});AtomAlertViewModel=class AtomAlertViewModel extends AtomWindowViewModel{onOkClicked(){this.close(true)}onCancelClicked(){this.cancel()}};__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"message",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"okTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"cancelTitle",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomNotificationStyle");System.register(["../../core/Colors","./AtomStyle"],(function(_export,_context){"use strict";var Colors,AtomStyle,AtomNotificationStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("default",AtomNotificationStyle=class AtomNotificationStyle extends AtomStyle{get root(){return{padding:"5px",borderRadius:"5px",border:"solid 1px lightgray",fontFamily:"Verdana, Geneva, sans-serif",fontSize:"16px",subclasses:{".error":{borderColor:Colors.red,color:Colors.red},".warning":{backgroundColor:Colors.lightYellow}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomNotification");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../styles/AtomNotificationStyle","./AtomControl"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomNotificationStyle,AtomControl,AtomNotification;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomNotificationStyle){AtomNotificationStyle=_stylesAtomNotificationStyle.default},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("default",AtomNotification=class AtomNotification extends AtomControl{constructor(){super(...arguments);this.timeout=5e3;this.timeoutKey=null}onPropertyChanged(name){switch(name){case"timeout":this.setupTimeout();break}}create(){this.defaultControlStyle=AtomNotificationStyle;this.render(XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message)),timeout:Bind.oneWay((()=>this.viewModel.timeout||5e3)),styleClass:Bind.oneWay((()=>({[this.controlStyle.name]:1,error:this.viewModel.type&&/error/i.test(this.viewModel.type),warning:this.viewModel.type&&/warn/i.test(this.viewModel.type)})))}))}setupTimeout(){if(this.timeoutKey){clearTimeout(this.timeoutKey)}this.timeoutKey=setTimeout((()=>{if(this.element){this.app.broadcast(`atom-window-close:${this.id}`,"")}}),this.timeout)}});__decorate([BindableProperty,__metadata("design:type",Number)],AtomNotification.prototype,"timeout",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomPopupStyle");System.register(["../styles/AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomPopupStyle;_export("AtomPopupStyle",void 0);return{setters:[function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomPopupStyle",AtomPopupStyle=class AtomPopupStyle extends AtomStyle{get root(){return{backgroundColor:"white",border:"solid 1px lightgray",padding:"5px",borderRadius:"5px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../controls/AtomControl","../core/AtomUI","./PopupWindow.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator},function(_PopupWindowGlobalCss){}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};_export("default",PopupWindow=class PopupWindow extends AtomControl{constructor(){super(...arguments);this.initialized=false}static showWindow(window,options){var arguments_1=arguments;return __awaiter(this,void 0,void 0,(function*(){if(arguments_1.length<=1){options=arguments_1[0];window=this}yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}static showModal(window,options){var arguments_2=arguments;return __awaiter(this,void 0,void 0,(function*(){var _a;if(arguments_2.length<=1){options=arguments_2[0];window=this}options!==null&&options!==void 0?options:options={};(_a=options.modal)!==null&&_a!==void 0?_a:options.modal=true;yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"iconRenderer":this.recreate(name,"icon");break;case"actionBarRenderer":this.recreate(name,"action-bar");break;case"footerRenderer":this.recreate(name,"footer");break;case"titleRenderer":this.recreate(name,"title");break;case"headerRenderer":this.recreate(name,"header");break;case"closeButtonRenderer":this.recreate(name,"close");break}}init(){}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield ConfirmPopup.confirm({message:this.closeWarning}))){return}}this.cancel()}))}recreate(renderer,name){var _a,_b,_c;const node=(_b=(_a=this[renderer])===null||_a===void 0?void 0:_a.call(this))!==null&&_b!==void 0?_b:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.getAttribute("data-window-element")===name){this.dispose(e);e.remove();break}}if(node){const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};na["data-window-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-window-element="${name}"]`)}return null}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(e=>e.getAttribute("data-window-element")==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){this.title=null;this.viewModelTitle=null;this.element.setAttribute("not-ready","1");const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});const handler=e=>{if(e.key==="Escape"){this.app.runAsync((()=>this.requestCancel()));e.preventDefault();return}};this.bindEvent(this.element,"keydown",handler);this.element.setAttribute("data-popup-window","popup-window");setTimeout((p=>{p.setAttribute("data-ready","true")}),10,this.element);setTimeout((p=>{var _a;const parent=(_a=p.offsetParent)!==null&&_a!==void 0?_a:document.body;const left=`${(parent.offsetWidth-p.offsetWidth)/2}px`;const top=`${(parent.offsetHeight-p.offsetHeight)/2}px`;p.style.left=left;p.style.top=top;p.removeAttribute("not-ready")}),1e3,this.element)}render(node,e,creator){var _a,_b,_c,_d,_e;if(e||((_a=node===null||node===void 0?void 0:node.attributes)===null||_a===void 0?void 0:_a["data-window-element"])){super.render(node,e,creator);return}this.render=super.render;(_b=this.titleRenderer)!==null&&_b!==void 0?_b:this.titleRenderer=()=>XNode.create("div",{class:"title-text",text:Bind.oneWay((()=>this.title||this.viewModelTitle))});(_c=this.closeButtonRenderer)!==null&&_c!==void 0?_c:this.closeButtonRenderer=()=>XNode.create("button",{class:"popup-close-button",text:"x",eventClick:Bind.event((()=>this.requestCancel()))});(_d=this.actionBarRenderer)!==null&&_d!==void 0?_d:this.actionBarRenderer=()=>XNode.create("div",null);const a=(_e=node.attributes)!==null&&_e!==void 0?_e:node.attributes={};a["data-window-content"]="window-content";a["data-window-element"]="content";const extracted=this.extractControlProperties(node);super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);if(!this.initialized){this.initialized=true;this.runAfterInit((()=>{setTimeout(focus,100,this)}))}}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{if(startEvent.target.tagName==="BUTTON"){return}startEvent.preventDefault();const disposables=[];const element=this.element;const offset={x:element.offsetLeft,y:element.offsetTop};this.element.dataset.dragging="true";const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;const finalX=offset.x+dx;const finalY=offset.y+dy;if(finalX<5||finalY<5){return}offset.x=finalX;offset.y=finalY;this.element.style.left=offset.x+"px";this.element.style.top=offset.y+"px";rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;this.element.removeAttribute("data-dragging");for(const iterator of disposables){iterator.dispose()}})))}))}});__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"closeButtonRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"closeWarning",void 0);delete PopupWindow.prototype.init;_export("ConfirmPopup",ConfirmPopup=class ConfirmPopup extends PopupWindow{static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){const PS=yield loadPopupService();return PS.confirm({title,message,yesLabel,noLabel,cancelLabel})}))}preCreate(){super.preCreate();this.yesLabel="Yes";this.noLabel="No";this.cancelLabel=null;this.element.setAttribute("data-confirm-popup","confirm-popup");this.footerRenderer=()=>XNode.create("div",null,XNode.create("button",{class:"yes",autofocus:true,text:Bind.oneWay((()=>this.yesLabel)),eventClick:()=>this.close(true),"style-display":Bind.oneWay((()=>!!this.yesLabel))}),XNode.create("button",{class:"no",text:Bind.oneWay((()=>this.noLabel)),eventClick:()=>this.close(false),"style-display":Bind.oneWay((()=>!!this.noLabel))}),XNode.create("button",{class:"cancel",text:Bind.oneWay((()=>this.cancelLabel)),eventClick:()=>this.requestCancel(),"style-display":Bind.oneWay((()=>!!this.cancelLabel))}));this.closeButtonRenderer=()=>XNode.create("div",{"style-display":"none"})}requestCancel(){this.cancel();return Promise.resolve()}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupService");System.register(["tslib","../../core/AtomDisposableList","../../core/InheritedProperty","../../core/types","../../core/XNode","../controls/AtomControl","./PopupService.global.css","./PopupWindow"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,getOwnInheritedProperty,CancelToken,XNode,AtomControl,PopupWindowA,ConfirmPopup,PopupControl,PopupService,PopupWindow,popupCss,disableContain,popupId,lastTarget;function findHostAndPosition(opener){let root=opener;const body=document.body;let rect=opener.getBoundingClientRect();const offset={x:rect.left,y:rect.top,handler:null,root};do{root=root.parentElement;if(root===body){break}if(root.parentElement.classList.contains("page-host")){break}if(root.classList.contains("popup-host")){break}if(root.getAttribute("data-pop-up-host")==="yes"){break}}while(true);rect=root.getBoundingClientRect();offset.x-=rect.x;offset.y-=rect.y;offset.root=root;return offset}function findHost(opener,offset){var _a,_b;let host=opener.offsetParent;while(host){const current=host;if(host===document.body){return host}if(host.classList.contains("popup-host")){return host}if(host.dataset.popUpHost==="yes"){return host}const parent=(_a=host.offsetParent)!==null&&_a!==void 0?_a:host.parentElement;host=parent;if(host.classList.contains("page-host")){host=current;return host}if(!host){continue}if(!offset){continue}offset.x+=host.offsetLeft;offset.y+=host.offsetTop-((_b=parent===null||parent===void 0?void 0:parent.scrollTop)!==null&&_b!==void 0?_b:0)}return host!==null&&host!==void 0?host:document.body}function closeHandler(host,opener,container,close){let handler=null;handler=e=>{var _a;if(container===null||container===void 0?void 0:container.element){const ce=new CustomEvent("outsideClick",{detail:e,cancelable:true,bubbles:true});container.element.dispatchEvent(ce);if(ce.defaultPrevented){return}}let start=e.target;if(e.defaultPrevented){return}while(start){if(start===host){break}if(start===opener){return}if(start===container.element){return}start=start.parentElement}close();e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e)};document.body.addEventListener("click",handler,true);container.registerDisposable((()=>document.body.removeEventListener("click",handler,true)));const onBack=e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();close()};window.addEventListener("backButton",onBack,true);container.registerDisposable((()=>window.removeEventListener("backButton",onBack,true)));setTimeout((()=>{container.registerDisposable(disableContain(container.element))}),10)}_export("PopupControl",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreInheritedProperty){getOwnInheritedProperty=_coreInheritedProperty.getOwnInheritedProperty},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_coreXNode){XNode=_coreXNode.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_PopupServiceGlobalCss){},function(_PopupWindow){PopupWindowA=_PopupWindow.default;ConfirmPopup=_PopupWindow.ConfirmPopup}],execute:function(){_export("PopupWindow",PopupWindow=PopupWindowA);document.body.addEventListener("click",(e=>{if(e.target.offsetParent){PopupService.lastTarget=e.target}}));popupCss="web-atoms-popup-local";_export("PopupControl",PopupControl=class PopupControl extends AtomControl{static showControl(opener,_a={}){var{onClick="close"}=_a,options=__rest(_a,["onClick"]);let openerElement=options===null||options===void 0?void 0:options.parentElement;let app;if(opener instanceof AtomControl){openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener.element;app=opener.app}else{openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener;let start=opener;while(!start.atomControl){start=start.parentElement}if(!start){return Promise.reject("Could not create popup as target is not attached")}app=start.atomControl.app}const popup=new this(app);if(onClick==="close"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.close()),10)))}else if(onClick==="cancel"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.cancel()),10)))}const p=PopupService.show(openerElement,popup.element,options);return new Promise(((resolve,reject)=>{let resolved=false;popup.close=r=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;resolve(r);p.dispose()};popup.cancel=e=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;reject(e);p.dispose()}}))}});_export("disableContain",disableContain=ce=>{const containNoneList=[];while(ce){const style=window.getComputedStyle(ce);const isNotNone=style.contain!=="none";if(isNotNone){ce.setAttribute("data-force-contain","none");containNoneList.push(ce)}ce=ce.parentElement}return()=>{for(const iterator of containNoneList){iterator.removeAttribute("data-force-contain")}}});popupId=1001;lastTarget={element:null,x:10,y:10};PopupService=class PopupService{static get lastTarget(){var _a,_b,_c;const{element,x=0,y=0}=lastTarget;if(element===null||element===void 0?void 0:element.isConnected){return element}const targets=this.targetPath;if(targets){for(;;){const first=targets[0];if(!first){break}if(first.isConnected){lastTarget={element:first,x,y};return first}targets.splice(0,1)}}let e=(_b=(_a=document.elementFromPoint)===null||_a===void 0?void 0:_a.call(document,x,y))!==null&&_b!==void 0?_b:document.body;if(((_c=this.defaultElementTarget)===null||_c===void 0?void 0:_c.isConnected)&&(e===document.documentElement||e===document.body)){e=this.defaultElementTarget}PopupService.lastTarget=e;return e}static set lastTarget(element){if(!element.isConnected){return}if(element===document.documentElement){return}let start=element;const targets=[start];while(start){start=start.parentElement;if(start){targets.push(start)}}this.targetPath=targets;if(!this.defaultElementTarget&&element!==document.body&&element!==document.documentElement){this.defaultElementTarget=element}const rect=element.getBoundingClientRect();lastTarget={element,x:rect.left+rect.width/2,y:rect.top+rect.height/2}}static alert(_a){return __awaiter(this,arguments,void 0,(function*({message,detail,title="Alert",yesLabel="Ok"}){var _b,_c;try{const isMsgXNode=message instanceof XNode;const isDetailXNode=detail&&detail instanceof XNode;if(isMsgXNode){((_b=message.attributes)!==null&&_b!==void 0?_b:message.attributes={})["data-element"]="message"}if(isDetailXNode){((_c=detail.attributes)!==null&&_c!==void 0?_c:detail.attributes={})["data-element"]="details"}const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,isMsgXNode?message:XNode.create("div",{"data-element":"message",text:message}),detail&&(isDetailXNode?detail:XNode.create("details",{"data-element":"details"},XNode.create("pre",{text:detail})))))}};return yield popup.showModal({parameters:{message,detail,yesLabel,noLabel:""},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){try{const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,message instanceof XNode?message:XNode.create("div",{text:message})))}};return yield popup.showModal({parameters:{message,yesLabel,noLabel,cancelLabel},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static showWindow(opener,popupClass,popupOptions){return new Promise(((resolve,reject)=>{var _a,_b,_c,_d,_e;var _f;const activeElement=document.activeElement;const previousTarget=opener;const parent=AtomControl.from(opener);const control=new popupClass(parent.app,document.createElement("div"));const vm=(_a=getOwnInheritedProperty(control,"viewModel"))!==null&&_a!==void 0?_a:"parameters"in control?(_b=(_f=control).parameters)!==null&&_b!==void 0?_b:_f.parameters={}:control;let element=control.element;element.style.zIndex=`${popupId++}`;let resolved=false;const close=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(resolve,1,r);if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};const cancel=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(reject,1,r!==null&&r!==void 0?r:"cancelled");if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};let isModal=false;if(popupOptions){const{width,height,minHeight,maxHeight,minWidth,maxWidth,maximize,title,parameters,cancelToken,modal}=popupOptions;if(title){vm.title=title}let widthSet=false;let heightSet=false;if(maximize){element.setAttribute("data-maximize","true");widthSet=heightSet=true}else{if(width){element.style.width=typeof width==="number"?width+"px":width;widthSet=true}if(height){element.style.height=typeof height==="number"?height+"px":height;heightSet=true}if(minWidth){element.style.minWidth=typeof minWidth==="number"?minWidth+"px":minWidth;widthSet=true}if(minHeight){element.style.minHeight=typeof minHeight==="number"?minHeight+"px":minHeight;heightSet=true}if(maxWidth){element.style.maxWidth=typeof maxWidth==="number"?maxWidth+"px":maxWidth;widthSet=true}if(maxHeight){element.style.maxHeight=typeof maxHeight==="number"?maxHeight+"px":maxHeight;heightSet=true}}if(!widthSet){element.setAttribute("data-no-width","true")}if(!heightSet){element.setAttribute("data-no-height","true")}if(parameters){for(const key in parameters){if(Object.prototype.hasOwnProperty.call(parameters,key)){const e=parameters[key];vm[key]=e}}(_e=(_d=(_c=control).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}))}cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel(cancel);isModal=modal}const host=findHost(opener);host.appendChild(control.element);vm.cancel=cancel;vm.close=close;if(vm!==control){control.cancel=cancel;control.close=close}if(isModal){const bg=document.createElement("div");bg.setAttribute("data-window-modal-background","background");host.appendChild(bg);const onBack=e=>{var _a,_b,_c;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();(_c=(_b=control).requestCancel)===null||_c===void 0?void 0:_c.call(_b)};window.addEventListener("backButton",onBack,true);control.registerDisposable({dispose:()=>{bg.remove();window.removeEventListener("backButton",onBack,true)}})}else{closeHandler(host,opener,control,cancel)}}))}static show(opener,popup,options){var _a,_b;const previousTarget=opener;const container={element:document.createElement("div"),disposables:new AtomDisposableList,registerDisposable:null,dispose:null};container.registerDisposable=f=>container.disposables.add(f);let alignment=(_a=options===null||options===void 0?void 0:options.alignment)!==null&&_a!==void 0?_a:"auto";if(alignment==="auto"){const rect=opener.getBoundingClientRect();const w=window.visualViewport.width;if(rect.left>w/2){alignment="bottomRight"}}const isCenterOfScreen=alignment==="centerOfScreen";const popupStyle=(_b=options===null||options===void 0?void 0:options.popupStyle)!==null&&_b!==void 0?_b:popupCss;container.element._logicalParent=opener;container.element.classList.add(popupStyle);if(isCenterOfScreen){container.element.dataset.centerPopup="center"}else{container.element.dataset.inlinePopup="left";const alignPopup=()=>{switch(alignment){case"bottomRight":container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";container.element.style.right="0px";container.element.dataset.inlinePopup="right";opener.insertAdjacentElement("afterend",container.element);break;case"topRight":case"right":container.element.style.top=opener.offsetTop+"px";container.element.style.left=opener.offsetWidth+"px";opener.insertAdjacentElement("afterend",container.element);break;case"bottomLeft":container.element.dataset.inlinePopup="inline-left";container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("beforebegin",container.element);break;default:container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("afterend",container.element);break}};if(opener.offsetParent!==opener.parentElement){opener.parentElement.style.position="relative";setTimeout(alignPopup,5)}else{alignPopup()}}const parent=AtomControl.from(opener);if(popup instanceof XNode){parent.render(popup,container)}else{container.element.appendChild(popup)}const style=container.element.style;style.zIndex=`${popupId++}`;container.dispose=()=>{if(!container.disposables){return}container.disposables.dispose();parent.dispose(container.element);container.element.remove();container.disposables=null;PopupService.lastTarget=previousTarget};closeHandler(opener.parentElement,opener,container,(()=>{const e=container.element;container.dispose();e.remove()}));const ct=options===null||options===void 0?void 0:options.cancelToken;if(ct){ct.registerForCancel((()=>container.dispose()))}return container}};PopupService.targetPath=[];_export("default",PopupService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/NotificationPopup");System.register(["../../core/XNode","./PopupService","./NotifcationPopup.global.css"],(function(_export,_context){"use strict";var XNode,PopupWindow,css;function NotificationPopup({message,type}){return class Notification extends PopupWindow{create(){if(message instanceof XNode){this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)}},message));return}this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)},formattedText:message}))}}}_export("default",NotificationPopup);return{setters:[function(_coreXNode){XNode=_coreXNode.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow},function(_NotifcationPopupGlobalCss){}],execute:function(){css="web-atoms-notification-popup"}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WindowService");System.register(["tslib","../../App","../../Atom","../../core/AtomLoader","../../core/AtomUri","../../core/FormattedError","../../core/FormattedString","../../core/types","../../di/Inject","../../di/RegisterSingleton","../../di/ServiceCollection","../../services/JsonService","../../services/NavigationService","../../view-model/AtomWindowViewModel","../../web/core/AtomUI","../controls/AtomAlertWindow","../controls/AtomNotification","../controls/AtomWindow","../styles/AtomPopupStyle","../styles/AtomStyleSheet","../styles/StyleBuilder","./NotificationPopup","./PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomLoader,AtomUri,FormattedError,FormattedString,CancelToken,Inject,RegisterSingleton,Scope,ServiceCollection,JsonService,NavigationService,AtomWindowViewModel,AtomUI,AtomAlertWindow,AtomNotification,AtomWindow,AtomPopupStyle,AtomStyleSheet,cssNumberToString,NotificationPopup,PopupService,WindowService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomLoader){AtomLoader=_coreAtomLoader.AtomLoader},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedError){FormattedError=_coreFormattedError.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceCollection){Scope=_diServiceCollection.Scope;ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI},function(_controlsAtomAlertWindow){AtomAlertWindow=_controlsAtomAlertWindow.default},function(_controlsAtomNotification){AtomNotification=_controlsAtomNotification.default},function(_controlsAtomWindow){AtomWindow=_controlsAtomWindow.AtomWindow},function(_stylesAtomPopupStyle){AtomPopupStyle=_stylesAtomPopupStyle.AtomPopupStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString},function(_NotificationPopup){NotificationPopup=_NotificationPopup.default},function(_PopupService){PopupService=_PopupService.default}],execute:function(){_export("WindowService",WindowService=class WindowService extends NavigationService{get title(){return window.document.title}set title(v){window.document.title=v}get location(){return new AtomUri(location.href)}set location(v){location.href=v.toString()}constructor(app,jsonService){super(app);this.jsonService=jsonService;this.popups=[];this.hostForElementFunc=[];this.lastPopupID=0;this.screen=app.screen;let st="desktop";if(/mobile|android|ios/i.test(window.navigator.userAgent)){st="mobile";if(/tablet/i.test(window.navigator.userAgent)){st="tablet"}}this.screen.screenType=st;if(window){const update=e=>{this.refreshScreen()};if(st!=="mobile"){window.addEventListener("resize",update);window.addEventListener("scroll",update);document.body.addEventListener("scroll",update);document.body.addEventListener("resize",update)}setTimeout((()=>{update(null)}),1e3)}}registerHostForWindow(f){this.hostForElementFunc.push(f);return{dispose:()=>{this.hostForElementFunc.remove(f)}}}navigate(url){location.href=url}back(){window.history.back()}register(id,type){ServiceCollection.instance.register(type,null,Scope.Transient,id)}confirm(message,title){return PopupService.confirm({message,title})}alert(message,title){if(!(message instanceof FormattedString||typeof message==="string")){if(message instanceof FormattedError){message=message.formattedMessage}else{message=message.message?message.message:message.toString()}}return PopupService.alert({message,title})}refresh(){location.reload()}getHostForElement(){const ce=PopupService.lastTarget;if(!ce){return null}for(const iterator of this.hostForElementFunc){const e=iterator(ce);if(e){return e}}return null}refreshScreen(){const height=this.screen.height=window.innerHeight||document.body.clientHeight;const width=this.screen.width=window.innerWidth||document.body.clientWidth;this.screen.scrollLeft=window.scrollX||document.body.scrollLeft||0;this.screen.scrollTop=window.scrollY||document.body.scrollTop||0;this.screen.orientation=width>height?"landscape":"portrait"}notify(message,title,type,delay){return __awaiter(this,void 0,void 0,(function*(){try{const notification=NotificationPopup({message,type});const cancelToken=new CancelToken(delay!==null&&delay!==void 0?delay:5e3);yield notification.showWindow(notification,{title,cancelToken})}catch(ex){console.error(ex)}}))}openWindow(url,options){return __awaiter(this,void 0,void 0,(function*(){yield Atom.delay(1);const lastTarget=PopupService.lastTarget;const{view:popup,returnPromise,disposables}=yield AtomLoader.loadView(url,this.app,true,(()=>this.app.resolve(AtomWindowViewModel,true)));if(options&&options.onInit){options.onInit(popup)}const cancelToken=options.cancelToken;if(cancelToken){if(cancelToken.cancelled){this.app.callLater((()=>{this.remove(popup,true)}))}cancelToken.registerForCancel((()=>{this.remove(popup,true)}))}const e=popup.element;let isPopup=true;if(popup instanceof AtomWindow){isPopup=false;e.style.opacity="0"}popup.registerDisposable({dispose:()=>{PopupService.lastTarget=lastTarget}});if(isPopup){const root=popup.element;const last=PopupService.lastTarget;const closePopup=et=>{let target=et.target;while(target){if(target===root||target===last){return}target=target.parentElement}this.remove(popup,true)};document.body.addEventListener("click",closePopup);popup.registerDisposable({dispose:()=>{document.body.removeEventListener("click",closePopup)}})}e._logicalParent=lastTarget;e.sourceUrl=url;const pvm=popup.viewModel;if(pvm){let ce=PopupService.lastTarget;if(ce){while(!ce.atomControl){ce=ce.parentElement;if(!ce){break}}if(ce&&ce.atomControl&&ce.atomControl.viewModel){pvm.parent=ce.atomControl.viewModel}}}const theme=this.app.get(AtomStyleSheet).getNamedStyle(AtomPopupStyle);e.style.zIndex=1e4+this.lastPopupID+"";const isNotification=popup instanceof AtomNotification;if(isPopup){const sr=AtomUI.screenOffset(PopupService.lastTarget);const x=sr.x;const y=sr.y;const h=sr.height;e.style.position="absolute";e.style.left=x+"px";e.style.top=y+h+"px";e.classList.add(theme.name);this.popups.push(popup);disposables.add((()=>{this.popups.remove(popup)}));document.body.appendChild(e);if(isNotification){e.style.opacity="0";this.centerElement(popup)}}else{const eHost=(options===null||options===void 0?void 0:options.modal)?null:this.getHostForElement();if(eHost){eHost.appendChild(e)}else{const host=document.createElement("div");document.body.appendChild(host);host.style.position="absolute";host.appendChild(e);disposables.add({dispose(){host.remove()}});this.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,this.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,this.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,this.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,this.screen)}}popup.bindEvent(document.body,"keyup",(keyboardEvent=>{if(keyboardEvent.key==="Escape"){this.app.runAsync((()=>this.remove(popup)))}}));disposables.add({dispose:()=>{e.innerHTML="";e.remove()}});return yield returnPromise}))}centerElement(c){const e=c.element;const parent=e.parentElement;if(parent===window||parent===document.body){setTimeout((()=>{const ew=(document.body.offsetWidth-e.offsetWidth)/2;const eh=window.scrollY+(window.innerHeight-e.offsetHeight)/2;e.style.left=`${ew}px`;e.style.top=`${eh}px`;e.style.removeProperty("opacity")}),200);return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;e.style.left=`${x}px`;e.style.top=`${y}px`;e.style.removeProperty("opacity")}});WindowService.alertWindow=AtomAlertWindow;_export("WindowService",WindowService=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,JsonService])],WindowService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomTheme");System.register(["tslib","../../App","../../core/Colors","../../di/Inject","../../di/RegisterSingleton","../../services/NavigationService","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,Colors,Inject,RegisterSingleton,NavigationService,AtomStyleSheet,AtomTheme;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreColors){Colors=_coreColors.default},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){_export("AtomTheme",AtomTheme=class AtomTheme extends AtomStyleSheet{constructor(app,navigationService){super(app,"atom-theme");this.navigationService=navigationService;this.bgColor=Colors.white;this.color=Colors.gray;this.hoverColor=Colors.lightGray;this.activeColor=Colors.lightBlue;this.selectedBgColor=Colors.blue;this.selectedColor=Colors.white;this.padding=5;setTimeout((()=>{window.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}));document.body.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}))}),1e3)}});_export("AtomTheme",AtomTheme=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,NavigationService])],AtomTheme))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/WebApp");System.register(["../App","../core/AtomOnce","../core/AtomUri","../di/ServiceCollection","../services/BusyIndicatorService","../services/NavigationService","./services/WebBusyIndicatorService","./services/WindowService","./styles/AtomStyleSheet","./styles/AtomTheme"],(function(_export,_context){"use strict";var App,AtomOnce,AtomUri,ServiceCollection,BusyIndicatorService,NavigationService,WebBusyIndicatorService,WindowService,AtomStyleSheet,AtomTheme,WebApp;_export("default",void 0);return{setters:[function(_App){App=_App.App},function(_coreAtomOnce){AtomOnce=_coreAtomOnce.AtomOnce},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_diServiceCollection){ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_servicesWebBusyIndicatorService){WebBusyIndicatorService=_servicesWebBusyIndicatorService.WebBusyIndicatorService},function(_servicesWindowService){WindowService=_servicesWindowService.WindowService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesAtomTheme){AtomTheme=_stylesAtomTheme.AtomTheme}],execute:function(){_export("default",WebApp=class WebApp extends App{get parentElement(){return document.body}get root(){return this.mRoot}set root(v){const old=this.mRoot;if(old){old.dispose()}this.mRoot=v;if(!v){return}const pe=this.parentElement;const de=Array.from(pe.children);for(const iterator of de){iterator.remove()}pe.appendChild(v.element)}get theme(){return this.get(AtomStyleSheet)}set theme(v){this.put(AtomTheme,v);this.put(AtomStyleSheet,v)}get contextId(){var _a;(_a=this.mContextId)!==null&&_a!==void 0?_a:this.mContextId=parseInt((this.url.hash.contextId||"0").toString(),10);if(!this.mContextId){for(let index=0;index<100;index++){const cid=`contextId${index}`;const cidData=sessionStorage.getItem(`contextId${index}`);if(!cidData){this.mContextId=index;sessionStorage.setItem(cid,cid);this.url.hash.contextId=index;this.syncUrl();break}}}return`contextId_${this.mContextId}`}constructor(){super();this.hashUpdater=new AtomOnce;this.url=new AtomUri(location.href);this.put(NavigationService,this.resolve(WindowService));this.put(WebApp,this);this.put(BusyIndicatorService,this.resolve(WebBusyIndicatorService));ServiceCollection.instance.registerSingleton(AtomStyleSheet,(sp=>sp.resolve(AtomTheme)));window.addEventListener("hashchange",(()=>{this.hashUpdater.run((()=>{this.url=new AtomUri(location.href)}))}));this.initPromise=new Promise(((resolve,reject)=>{this.onReady(resolve)}))}updateDefaultStyle(textContent){if(this.styleElement){if(this.styleElement.textContent===textContent){return}}const ss=document.createElement("style");ss.textContent=textContent;if(this.styleElement){this.styleElement.remove()}document.head.appendChild(ss);this.styleElement=ss}syncUrl(){this.hashUpdater.run((()=>{const currentUrl=new AtomUri(location.href);const sourceHash=this.url.hash;const keyValues=[];let modified=false;for(const key in sourceHash){if(/^\_\$\_/.test(key)){continue}if(sourceHash.hasOwnProperty(key)){const element=sourceHash[key];const cv=currentUrl.hash[key];if(element!==undefined){keyValues.push({key,value:element})}if(cv===element){continue}modified=true}}if(!modified){return}const hash=keyValues.map((s=>`${s.key}=${encodeURIComponent(s.value)}`)).join("&");location.hash=hash}))}invokeReady(){if(document.readyState==="complete"){super.invokeReady();return}document.addEventListener("readystatechange",(e=>{super.invokeReady()}))}});(function(){if(typeof window.CustomEvent==="function"){return false}function CustomEvent(event,params){params=params||{bubbles:false,cancelable:false,detail:null};const evt=document.createEvent("CustomEvent");evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt}window.CustomEvent=CustomEvent})()}}}));window.installStyleSheet(new URL("./ShoppingCart.pack.global.css",document.currentScript.src).toString());window.installStyleSheet(new URL("./ShoppingCart.pack.local.css",document.currentScript.src).toString());
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function setupTSLib(){var __extends;var __assign;var __rest;var __decorate;var __param;var __esDecorate;var __runInitializers;var __propKey;var __setFunctionName;var __metadata;var __awaiter;var __generator;var __exportStar;var __values;var __read;var __spread;var __spreadArrays;var __spreadArray;var __await;var __asyncGenerator;var __asyncDelegator;var __asyncValues;var __makeTemplateObject;var __importStar;var __importDefault;var __classPrivateFieldGet;var __classPrivateFieldSet;var __classPrivateFieldIn;var __createBinding;var __addDisposableResource;var __disposeResources;var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};__extends=function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)};__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};__rest=function(s,e){var t={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]]}return t};__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__esDecorate=function(ctor,descriptorIn,decorators,contextIn,initializers,extraInitializers){function accept(f){if(f!==void 0&&typeof f!=="function")throw new TypeError("Function expected");return f}var kind=contextIn.kind,key=kind==="getter"?"get":kind==="setter"?"set":"value";var target=!descriptorIn&&ctor?contextIn["static"]?ctor:ctor.prototype:null;var descriptor=descriptorIn||(target?Object.getOwnPropertyDescriptor(target,contextIn.name):{});var _,done=false;for(var i=decorators.length-1;i>=0;i--){var context={};for(var p in contextIn)context[p]=p==="access"?{}:contextIn[p];for(var p in contextIn.access)context.access[p]=contextIn.access[p];context.addInitializer=function(f){if(done)throw new TypeError("Cannot add initializers after decoration has completed");extraInitializers.push(accept(f||null))};var result=(0,decorators[i])(kind==="accessor"?{get:descriptor.get,set:descriptor.set}:descriptor[key],context);if(kind==="accessor"){if(result===void 0)continue;if(result===null||typeof result!=="object")throw new TypeError("Object expected");if(_=accept(result.get))descriptor.get=_;if(_=accept(result.set))descriptor.set=_;if(_=accept(result.init))initializers.unshift(_)}else if(_=accept(result)){if(kind==="field")initializers.unshift(_);else descriptor[key]=_}}if(target)Object.defineProperty(target,contextIn.name,descriptor);done=true};__runInitializers=function(thisArg,initializers,value){var useValue=arguments.length>2;for(var i=0;i<initializers.length;i++){value=useValue?initializers[i].call(thisArg,value):initializers[i].call(thisArg)}return useValue?value:void 0};__propKey=function(x){return typeof x==="symbol"?x:"".concat(x)};__setFunctionName=function(f,name,prefix){if(typeof name==="symbol")name=name.description?"[".concat(name.description,"]"):"";return Object.defineProperty(f,"name",{configurable:true,value:prefix?"".concat(prefix," ",name):name})};__metadata=function(metadataKey,metadataValue){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(metadataKey,metadataValue)};__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__generator=function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};__exportStar=function(m,o){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(o,p))__createBinding(o,m,p)};__createBinding=Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]};__values=function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};__read=function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};__spread=function(){for(var ar=[],i=0;i<arguments.length;i++)ar=ar.concat(__read(arguments[i]));return ar};__spreadArrays=function(){for(var s=0,i=0,il=arguments.length;i<il;i++)s+=arguments[i].length;for(var r=Array(s),k=0,i=0;i<il;i++)for(var a=arguments[i],j=0,jl=a.length;j<jl;j++,k++)r[k]=a[j];return r};__spreadArray=function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i<l;i++){if(ar||!(i in from)){if(!ar)ar=Array.prototype.slice.call(from,0,i);ar[i]=from[i]}}return to.concat(ar||Array.prototype.slice.call(from))};__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i={},verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){if(g[n]){i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||resume(n,v)}))};if(f)i[n]=f(i[n])}}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){if(f(v),q.shift(),q.length)resume(q[0][0],q[0][1])}};__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:false}:f?f(v):v}:f}};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)}))}}function settle(resolve,reject,d,v){Promise.resolve(v).then((function(v){resolve({value:v,done:d})}),reject)}};__makeTemplateObject=function(cooked,raw){if(Object.defineProperty){Object.defineProperty(cooked,"raw",{value:raw})}else{cooked.raw=raw}return cooked};var __setModuleDefault=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:true,value:v})}:function(o,v){o["default"]=v};__importStar=function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result};__importDefault=function(mod){return mod&&mod.__esModule?mod:{default:mod}};__classPrivateFieldGet=function(receiver,state,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state.get(receiver)};__classPrivateFieldSet=function(receiver,state,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state==="function"?receiver!==state||!f:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state.set(receiver,value),value};__classPrivateFieldIn=function(state,receiver){if(receiver===null||typeof receiver!=="object"&&typeof receiver!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof state==="function"?receiver===state:state.has(receiver)};__addDisposableResource=function(env,value,async){if(value!==null&&value!==void 0){if(typeof value!=="object"&&typeof value!=="function")throw new TypeError("Object expected.");var dispose;if(async){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");dispose=value[Symbol.asyncDispose]}if(dispose===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");dispose=value[Symbol.dispose]}if(typeof dispose!=="function")throw new TypeError("Object not disposable.");env.stack.push({value,dispose,async})}else if(async){env.stack.push({async:true})}return value};var _SuppressedError=typeof SuppressedError==="function"?SuppressedError:function(error,suppressed,message){var e=new Error(message);return e.name="SuppressedError",e.error=error,e.suppressed=suppressed,e};__disposeResources=function(env){function fail(e){env.error=env.hasError?new _SuppressedError(e,env.error,"An error was suppressed during disposal."):e;env.hasError=true}function next(){while(env.stack.length){var rec=env.stack.pop();try{var result=rec.dispose&&rec.dispose.call(rec.value);if(rec.async)return Promise.resolve(result).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(env.hasError)throw env.error}return next()};return{__extends,__assign,__rest,__decorate,__param,__esDecorate,__runInitializers,__propKey,__setFunctionName,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,__addDisposableResource,__disposeResources}}var Reflect;(function(Reflect){(function(factory){const root=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Function("return this;")();let exporter=makeExporter(Reflect);if(typeof root.Reflect==="undefined"){root.Reflect=Reflect}else{exporter=makeExporter(root.Reflect,exporter)}factory(exporter);function makeExporter(target,previous){return(key,value)=>{if(typeof target[key]!=="function"){Object.defineProperty(target,key,{configurable:true,writable:true,value})}if(previous)previous(key,value)}}})((function(exporter){const hasOwn=Object.prototype.hasOwnProperty;const supportsSymbol=typeof Symbol==="function";const toPrimitiveSymbol=supportsSymbol&&typeof Symbol.toPrimitive!=="undefined"?Symbol.toPrimitive:"@@toPrimitive";const iteratorSymbol=supportsSymbol&&typeof Symbol.iterator!=="undefined"?Symbol.iterator:"@@iterator";const supportsCreate=typeof Object.create==="function";const supportsProto={__proto__:[]}instanceof Array;const downLevel=!supportsCreate&&!supportsProto;const HashMap={create:supportsCreate?()=>MakeDictionary(Object.create(null)):supportsProto?()=>MakeDictionary({__proto__:null}):()=>MakeDictionary({}),has:downLevel?(map,key)=>hasOwn.call(map,key):(map,key)=>key in map,get:downLevel?(map,key)=>hasOwn.call(map,key)?map[key]:undefined:(map,key)=>map[key]};const functionPrototype=Object.getPrototypeOf(Function);const usePolyfill=typeof process==="object"&&process.env&&process.env["REFLECT_METADATA_USE_MAP_POLYFILL"]==="true";const _Map=!usePolyfill&&typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:CreateMapPolyfill();const _Set=!usePolyfill&&typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:CreateSetPolyfill();const _WeakMap=!usePolyfill&&typeof WeakMap==="function"?WeakMap:CreateWeakMapPolyfill();const Metadata=new _WeakMap;function decorate(decorators,target,propertyKey,attributes){if(!IsUndefined(propertyKey)){if(!IsArray(decorators))throw new TypeError;if(!IsObject(target))throw new TypeError;if(!IsObject(attributes)&&!IsUndefined(attributes)&&!IsNull(attributes))throw new TypeError;if(IsNull(attributes))attributes=undefined;propertyKey=ToPropertyKey(propertyKey);return DecorateProperty(decorators,target,propertyKey,attributes)}else{if(!IsArray(decorators))throw new TypeError;if(!IsConstructor(target))throw new TypeError;return DecorateConstructor(decorators,target)}}exporter("decorate",decorate);function metadata(metadataKey,metadataValue){function decorator(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey)&&!IsPropertyKey(propertyKey))throw new TypeError;OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}return decorator}exporter("metadata",metadata);function defineMetadata(metadataKey,metadataValue,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryDefineOwnMetadata(metadataKey,metadataValue,target,propertyKey)}exporter("defineMetadata",defineMetadata);function hasMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasMetadata(metadataKey,target,propertyKey)}exporter("hasMetadata",hasMetadata);function hasOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryHasOwnMetadata(metadataKey,target,propertyKey)}exporter("hasOwnMetadata",hasOwnMetadata);function getMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetMetadata(metadataKey,target,propertyKey)}exporter("getMetadata",getMetadata);function getOwnMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryGetOwnMetadata(metadataKey,target,propertyKey)}exporter("getOwnMetadata",getOwnMetadata);function getMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryMetadataKeys(target,propertyKey)}exporter("getMetadataKeys",getMetadataKeys);function getOwnMetadataKeys(target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);return OrdinaryOwnMetadataKeys(target,propertyKey)}exporter("getOwnMetadataKeys",getOwnMetadataKeys);function deleteMetadata(metadataKey,target,propertyKey){if(!IsObject(target))throw new TypeError;if(!IsUndefined(propertyKey))propertyKey=ToPropertyKey(propertyKey);const metadataMap=GetOrCreateMetadataMap(target,propertyKey,false);if(IsUndefined(metadataMap))return false;if(!metadataMap.delete(metadataKey))return false;if(metadataMap.size>0)return true;const targetMetadata=Metadata.get(target);targetMetadata.delete(propertyKey);if(targetMetadata.size>0)return true;Metadata.delete(target);return true}exporter("deleteMetadata",deleteMetadata);function DecorateConstructor(decorators,target){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsConstructor(decorated))throw new TypeError;target=decorated}}return target}function DecorateProperty(decorators,target,propertyKey,descriptor){for(let i=decorators.length-1;i>=0;--i){const decorator=decorators[i];const decorated=decorator(target,propertyKey,descriptor);if(!IsUndefined(decorated)&&!IsNull(decorated)){if(!IsObject(decorated))throw new TypeError;descriptor=decorated}}return descriptor}function GetOrCreateMetadataMap(O,P,Create){let targetMetadata=Metadata.get(O);if(IsUndefined(targetMetadata)){if(!Create)return undefined;targetMetadata=new _Map;Metadata.set(O,targetMetadata)}let metadataMap=targetMetadata.get(P);if(IsUndefined(metadataMap)){if(!Create)return undefined;metadataMap=new _Map;targetMetadata.set(P,metadataMap)}return metadataMap}function OrdinaryHasMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return true;const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryHasMetadata(MetadataKey,parent,P);return false}function OrdinaryHasOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return false;return ToBoolean(metadataMap.has(MetadataKey))}function OrdinaryGetMetadata(MetadataKey,O,P){const hasOwn=OrdinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return OrdinaryGetOwnMetadata(MetadataKey,O,P);const parent=OrdinaryGetPrototypeOf(O);if(!IsNull(parent))return OrdinaryGetMetadata(MetadataKey,parent,P);return undefined}function OrdinaryGetOwnMetadata(MetadataKey,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return undefined;return metadataMap.get(MetadataKey)}function OrdinaryDefineOwnMetadata(MetadataKey,MetadataValue,O,P){const metadataMap=GetOrCreateMetadataMap(O,P,true);metadataMap.set(MetadataKey,MetadataValue)}function OrdinaryMetadataKeys(O,P){const ownKeys=OrdinaryOwnMetadataKeys(O,P);const parent=OrdinaryGetPrototypeOf(O);if(parent===null)return ownKeys;const parentKeys=OrdinaryMetadataKeys(parent,P);if(parentKeys.length<=0)return ownKeys;if(ownKeys.length<=0)return parentKeys;const set=new _Set;const keys=[];for(const key of ownKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}for(const key of parentKeys){const hasKey=set.has(key);if(!hasKey){set.add(key);keys.push(key)}}return keys}function OrdinaryOwnMetadataKeys(O,P){const keys=[];const metadataMap=GetOrCreateMetadataMap(O,P,false);if(IsUndefined(metadataMap))return keys;const keysObj=metadataMap.keys();const iterator=GetIterator(keysObj);let k=0;while(true){const next=IteratorStep(iterator);if(!next){keys.length=k;return keys}const nextValue=IteratorValue(next);try{keys[k]=nextValue}catch(e){try{IteratorClose(iterator)}finally{throw e}}k++}}function Type(x){if(x===null)return 1;switch(typeof x){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return x===null?1:6;default:return 6}}function IsUndefined(x){return x===undefined}function IsNull(x){return x===null}function IsSymbol(x){return typeof x==="symbol"}function IsObject(x){return typeof x==="object"?x!==null:typeof x==="function"}function ToPrimitive(input,PreferredType){switch(Type(input)){case 0:return input;case 1:return input;case 2:return input;case 3:return input;case 4:return input;case 5:return input}const hint=PreferredType===3?"string":PreferredType===5?"number":"default";const exoticToPrim=GetMethod(input,toPrimitiveSymbol);if(exoticToPrim!==undefined){const result=exoticToPrim.call(input,hint);if(IsObject(result))throw new TypeError;return result}return OrdinaryToPrimitive(input,hint==="default"?"number":hint)}function OrdinaryToPrimitive(O,hint){if(hint==="string"){const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}}else{const valueOf=O.valueOf;if(IsCallable(valueOf)){const result=valueOf.call(O);if(!IsObject(result))return result}const toString=O.toString;if(IsCallable(toString)){const result=toString.call(O);if(!IsObject(result))return result}}throw new TypeError}function ToBoolean(argument){return!!argument}function ToString(argument){return""+argument}function ToPropertyKey(argument){const key=ToPrimitive(argument,3);if(IsSymbol(key))return key;return ToString(key)}function IsArray(argument){return Array.isArray?Array.isArray(argument):argument instanceof Object?argument instanceof Array:Object.prototype.toString.call(argument)==="[object Array]"}function IsCallable(argument){return typeof argument==="function"}function IsConstructor(argument){return typeof argument==="function"}function IsPropertyKey(argument){switch(Type(argument)){case 3:return true;case 4:return true;default:return false}}function GetMethod(V,P){const func=V[P];if(func===undefined||func===null)return undefined;if(!IsCallable(func))throw new TypeError;return func}function GetIterator(obj){const method=GetMethod(obj,iteratorSymbol);if(!IsCallable(method))throw new TypeError;const iterator=method.call(obj);if(!IsObject(iterator))throw new TypeError;return iterator}function IteratorValue(iterResult){return iterResult.value}function IteratorStep(iterator){const result=iterator.next();return result.done?false:result}function IteratorClose(iterator){const f=iterator["return"];if(f)f.call(iterator)}function OrdinaryGetPrototypeOf(O){const proto=Object.getPrototypeOf(O);if(typeof O!=="function"||O===functionPrototype)return proto;if(proto!==functionPrototype)return proto;const prototype=O.prototype;const prototypeProto=prototype&&Object.getPrototypeOf(prototype);if(prototypeProto==null||prototypeProto===Object.prototype)return proto;const constructor=prototypeProto.constructor;if(typeof constructor!=="function")return proto;if(constructor===O)return proto;return constructor}function CreateMapPolyfill(){const cacheSentinel={};const arraySentinel=[];class MapIterator{constructor(keys,values,selector){this._index=0;this._keys=keys;this._values=values;this._selector=selector}"@@iterator"(){return this}[iteratorSymbol](){return this}next(){const index=this._index;if(index>=0&&index<this._keys.length){const result=this._selector(this._keys[index],this._values[index]);if(index+1>=this._keys.length){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}else{this._index++}return{value:result,done:false}}return{value:undefined,done:true}}throw(error){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}throw error}return(value){if(this._index>=0){this._index=-1;this._keys=arraySentinel;this._values=arraySentinel}return{value,done:true}}}return class Map{constructor(){this._keys=[];this._values=[];this._cacheKey=cacheSentinel;this._cacheIndex=-2}get size(){return this._keys.length}has(key){return this._find(key,false)>=0}get(key){const index=this._find(key,false);return index>=0?this._values[index]:undefined}set(key,value){const index=this._find(key,true);this._values[index]=value;return this}delete(key){const index=this._find(key,false);if(index>=0){const size=this._keys.length;for(let i=index+1;i<size;i++){this._keys[i-1]=this._keys[i];this._values[i-1]=this._values[i]}this._keys.length--;this._values.length--;if(key===this._cacheKey){this._cacheKey=cacheSentinel;this._cacheIndex=-2}return true}return false}clear(){this._keys.length=0;this._values.length=0;this._cacheKey=cacheSentinel;this._cacheIndex=-2}keys(){return new MapIterator(this._keys,this._values,getKey)}values(){return new MapIterator(this._keys,this._values,getValue)}entries(){return new MapIterator(this._keys,this._values,getEntry)}"@@iterator"(){return this.entries()}[iteratorSymbol](){return this.entries()}_find(key,insert){if(this._cacheKey!==key){this._cacheIndex=this._keys.indexOf(this._cacheKey=key)}if(this._cacheIndex<0&&insert){this._cacheIndex=this._keys.length;this._keys.push(key);this._values.push(undefined)}return this._cacheIndex}};function getKey(key,_){return key}function getValue(_,value){return value}function getEntry(key,value){return[key,value]}}function CreateSetPolyfill(){return class Set{constructor(){this._map=new _Map}get size(){return this._map.size}has(value){return this._map.has(value)}add(value){return this._map.set(value,value),this}delete(value){return this._map.delete(value)}clear(){this._map.clear()}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}"@@iterator"(){return this.keys()}[iteratorSymbol](){return this.keys()}}}function CreateWeakMapPolyfill(){const UUID_SIZE=16;const keys=HashMap.create();const rootKey=CreateUniqueKey();return class WeakMap{constructor(){this._key=CreateUniqueKey()}has(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.has(table,this._key):false}get(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?HashMap.get(table,this._key):undefined}set(target,value){const table=GetOrCreateWeakMapTable(target,true);table[this._key]=value;return this}delete(target){const table=GetOrCreateWeakMapTable(target,false);return table!==undefined?delete table[this._key]:false}clear(){this._key=CreateUniqueKey()}};function CreateUniqueKey(){let key;do{key="@@WeakMap@@"+CreateUUID()}while(HashMap.has(keys,key));keys[key]=true;return key}function GetOrCreateWeakMapTable(target,create){if(!hasOwn.call(target,rootKey)){if(!create)return undefined;Object.defineProperty(target,rootKey,{value:HashMap.create()})}return target[rootKey]}function FillRandomBytes(buffer,size){for(let i=0;i<size;++i)buffer[i]=Math.random()*255|0;return buffer}function GenRandomBytes(size){if(typeof Uint8Array==="function"){if(typeof crypto!=="undefined")return crypto.getRandomValues(new Uint8Array(size));if(typeof msCrypto!=="undefined")return msCrypto.getRandomValues(new Uint8Array(size));return FillRandomBytes(new Uint8Array(size),size)}return FillRandomBytes(new Array(size),size)}function CreateUUID(){const data=GenRandomBytes(UUID_SIZE);data[6]=data[6]&79|64;data[8]=data[8]&191|128;let result="";for(let offset=0;offset<UUID_SIZE;++offset){const byte=data[offset];if(offset===4||offset===6||offset===8)result+="-";if(byte<16)result+="0";result+=byte.toString(16).toLowerCase()}return result}}function MakeDictionary(obj){obj.__=undefined;delete obj.__;return obj}}))})(Reflect||(Reflect={}));if(!Array.prototype.find){Array.prototype.find=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return item}}}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(predicate,thisArg){for(let i=0;i<this.length;i++){const item=this[i];if(predicate(item,i,this)){return i}}return-1}}if(!Array.prototype.map){Array.prototype.map=function(callbackfn,thisArg){const a=[];for(let i=0;i<this.length;i++){const r=callbackfn(this[i],i,this);if(r!==undefined){a.push(r)}}return a}}if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,endPosition){const index=this.indexOf(searchString,endPosition);return index===0}}if(!String.prototype.endsWith){String.prototype.endsWith=function(searchString,endPosition){const index=this.lastIndexOf(searchString,endPosition);if(index===-1){return false}const l=this.length-index;return l===searchString.length}}if(!Number.parseInt){Number.parseInt=function(n){return Math.floor(parseFloat(n))}}if(!Number.parseFloat){Number.parseFloat=function(n){return parseFloat(n)}}if(typeof Element!=="undefined"){if(!("remove"in Element.prototype)){Element.prototype["remove"]=function(){if(this.parentNode){this.parentNode.removeChild(this)}}}}const currentModuleSymbol=Symbol("currentModule");class Module{get url(){const u=AmdLoader.instance.resolveSource(this.name);Object.defineProperty(this,"url",{value:u,enumerable:true});return u}get meta(){return{url:this.url,resolve:this.require.resolve}}get filename(){return this.name}constructor(name,folder){this.name=name;this.folder=folder;this.emptyExports={};this.packed=false;this.isLoaded=false;this.isResolved=false;this.dependencies=[];this.rID=null;const index=name.lastIndexOf("/");if(index===-1){this.folder=""}else{this.folder=name.substring(0,index)}this.exports=this.emptyExports}import(name){const resolvedName=this.require.resolve(name);return AmdLoader.instance.import(resolvedName)}addDependency(d){this.dependencies.push(d);if(UMD.debug){if(d.isDependentOn(this)){console.warn(`${d.name} already depends on ${this.name}`)}}}getExports(){if(this.factory){try{const factory=this.factory;this.factory=null;delete this.factory;AmdLoader.instance.currentStack.push(this);const result=factory(this.require,this.exports);if(result){if(typeof result==="object"||typeof result==="function"){this.exports=result;if(typeof result.default==="undefined"){result.default=result}}else if(!this.exports.default){this.exports.default=result}}AmdLoader.instance.currentStack.pop();delete this.factory;const def=this.exports.default;if(typeof def==="function"||typeof def==="object"){def[UMD.nameSymbol]=this.name}}catch(e){const em=e.stack?`${e}\n${e.stack}`:e;const s=[];console.error(e);for(const iterator of AmdLoader.instance.currentStack){s.push(iterator.name);console.error(iterator.name)}const ne=new Error(`Failed loading module ${this.name} with error ${em}\nDependents: ${s.join("\n\t")}`);console.error(ne);throw ne}}return this.exports}isDependentOn(m,visited){visited!==null&&visited!==void 0?visited:visited=new Set;visited.add(this);for(const iterator of this.dependencies){if(iterator===m){return true}if(visited.has(iterator)){continue}if(iterator.isDependentOn(m,visited)){return true}}return false}}Module.nextID=1;var _a,_b,_c;var _d,_e;if(typeof require!=="undefined"){md=require("module").Module}const promiseDone=Promise.resolve(0);(_a=(_d=Symbol).dispose)!==null&&_a!==void 0?_a:_d.dispose=Symbol("dispose");(_b=(_e=Symbol).asyncDispose)!==null&&_b!==void 0?_b:_e.asyncDispose=Symbol("asyncDispose");class AmdLoader{constructor(){this.root=null;this.defaultUrl=null;this.currentStack=[];this.nodeModules=[];this.modules=new Map;this.pathMap=new Map;this.mockTypes=[]}register(packages,modules){for(const iterator of packages){if(!this.pathMap.has(iterator)){this.map(iterator,"/")}}for(const iterator of modules){this.get(iterator)}}setupRoot(root,url){if(url.endsWith("/")){url=url.substring(0,url.length-1)}for(const key of this.pathMap.keys()){const moduleUrl=key===root?url:`${url}/node_modules/${key}`;this.map(key,moduleUrl)}this.defaultUrl=`${url}/node_modules/`}registerModule(name,moduleExports){const m=this.get(name);m.package.url="/";m.exports=Object.assign({__esModule:true},moduleExports);m.loader=promiseDone;m.resolver=()=>Promise.resolve(m.exports);m.isLoaded=true;m.isResolved=true}setup(name){const jsModule=this.get(name);jsModule.packed=true;AmdLoader.current=jsModule}replace(type,name,mock){if(mock&&!this.enableMock){return}const peek=this.currentStack.length?this.currentStack[this.currentStack.length-1]:undefined;name=this.resolveRelativePath(name,peek.name);const rt=new MockType(peek,type,name,mock);rt.replacedModule=this.get(rt.moduleName);rt.replacedModule.postExports=()=>{rt.replaced=rt.replacedModule.getExports()[rt.exportName]};(peek.dynamicImports=peek.dynamicImports||[]).push(rt);this.mockTypes.push(rt)}resolveType(type){const t=this.mockTypes.find((tx=>tx.type===type));return t?t.replaced:type}map(packageName,packageUrl,type="amd",exportVar){let existing=this.pathMap.get(packageName);if(existing){existing.url=packageUrl;existing.exportVar=exportVar;existing.type=type;return existing}existing={name:packageName,url:packageUrl,type,exportVar,version:""};if(packageName==="reflect-metadata"){type="global"}this.pathMap.set(packageName,existing);return existing}resolveSource(name,defExt=".js"){try{if(/^((\/)|((http|https)\:\/\/))/i.test(name)){return name}let path=null;for(const key of this.pathMap.keys()){const packageName=key;if(name.startsWith(packageName)){path=this.pathMap.get(key).url;if(name.length!==packageName.length){if(name[packageName.length]!=="/"){continue}name=name.substring(packageName.length+1)}else{return path}if(path.endsWith("/")){path=path.substring(0,path.length-1)}path=path+"/"+name;const i=name.lastIndexOf("/");const fileName=name.substring(i+1);if(!/\.(js|mjs|jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm|json)$/i.test(fileName)){path=path+defExt}return path}}return name}catch(e){console.error(`Failed to resolve ${name} with error ${JSON.stringify(e)}`);console.error(e)}}resolveRelativePath(name,currentPackage){if(name.charAt(0)!=="."){return name}const tokens=name.split("/");const currentTokens=currentPackage.split("/");currentTokens.pop();while(tokens.length){const first=tokens[0];if(first===".."){currentTokens.pop();tokens.splice(0,1);continue}if(first==="."){tokens.splice(0,1)}break}return`${currentTokens.join("/")}/${tokens.join("/")}`}getPackageVersion(name){let[scope,packageName]=name.split("/",3);let version="";if(scope[0]!=="@"){packageName=scope;scope=""}else{scope+="/"}const versionTokens=packageName.split("@");if(versionTokens.length>1){version=versionTokens[1];name=name.replace("@"+version,"")}packageName=scope+packageName;return{packageName,version,name}}get(name1){let module=this.modules.get(name1);if(!module){const{packageName,version,name}=this.getPackageVersion(name1);module=new Module(name);this.modules.set(name1,module);let pp=this.pathMap.get(packageName);if(!pp){pp={type:"amd",name:packageName,version,url:this.defaultUrl?this.defaultUrl+packageName:undefined};this.pathMap.set(packageName,pp)}module.package=pp;module.require=(n,resolve,reject)=>{let isAsync=false;if(typeof n!=="string"){n=n[0];isAsync=true}const an=this.resolveRelativePath(n,module.name);const resolvedModule=this.get(an);if(isAsync){return this.import(resolvedModule).then(resolve,reject)}const m=resolvedModule.getExports();return m};module.require.resolve=n=>this.resolveRelativePath(n,module.name);this.modules.set(name,module)}return module}import(name){var _a;const module=typeof name==="object"?name:this.get(name);if(module.importPromise){return module.importPromise}const m=this.importNodeModule(module);if(m){return m}return(_a=module.importPromise)!==null&&_a!==void 0?_a:module.importPromise=module.isResolved?Promise.resolve(module.getExports()):this.importAsync(module)}importNodeModule(module){if(typeof require!=="undefined"){const name=module.url;const moduleCode=require("fs").readFileSync(require.resolve(name),"utf8").trim();if(!/^System\.Register/.test(moduleCode)){return Promise.resolve(require(name))}}}importAsync(module){return __awaiter(this,void 0,void 0,(function*(){yield this.load(module);if(module.resolver){return yield module.resolver()}return yield this.resolve(module)}))}resolve(module){return __awaiter(this,void 0,void 0,(function*(){const ds=[];if(UMD.debug){const waiting=module.waiting=[];for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}waiting.push(iterator);ds.push(this.import(iterator))}}else{for(const iterator of module.dependencies){if(iterator.isResolved||iterator.importPromise&&iterator.isDependentOn(module)){continue}ds.push(this.import(iterator))}}yield Promise.all(ds);const exports=module.getExports();module.isResolved=true;if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return exports}))}load(module){if(module.loader){return module.loader}if(AmdLoader.isJson.test(module.url)){const mUrl=module.url.startsWith(module.package.url)?module.url:module.package.url+module.url;module.loader=new Promise(((resolve,reject)=>{try{AmdLoader.httpTextLoader(mUrl,(r=>{try{module.exports=JSON.parse(r);module.exports.default=module.exports;module.emptyExports=module.exports;module.isLoaded=true;resolve()}catch(e){reject(e)}}),reject)}catch(e1){reject(e1)}}));return module.loader}if(AmdLoader.isCss.test(module.url)){const m={get url(){var _a;let mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(mUrl))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}if(!/\.css$/i.test(mUrl)){mUrl+=".css"}if(!module.packed){window.installStyleSheet(mUrl)}return mUrl},toString(){return this.url}};const e={__esModule:true,default:m.url};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}if(AmdLoader.isMedia.test(module.url)){const m={get url(){const mUrl=!module.url.startsWith(module.package.url)?module.package.url+module.url:module.url;Object.defineProperty(m,"url",{value:mUrl,enumerable:true});return mUrl},toString(){return this.url}};const e={__esModule:true,default:m};module.exports=e;module.emptyExports=e;module.loader=promiseDone;module.isLoaded=true;return module.loader}module.loader=new Promise(((resolve,reject)=>{const script=AmdLoader.moduleLoader(module.name,module.url,(()=>{try{AmdLoader.current=module;if(AmdLoader.instance.define){AmdLoader.instance.define();AmdLoader.instance.define=null}if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}if(AmdLoader.moduleProgress){AmdLoader.moduleProgress(module.name,this.modules,"loading")}module.isLoaded=true;resolve()}catch(e){console.error(e);reject(e)}}),(error=>{reject(error)}));script[currentModuleSymbol]=module}));return module.loader}}AmdLoader.isMedia=/\.(jpg|jpeg|gif|png|mp4|mp3|css|less|scss|html|svg|webp|webm)$/i;AmdLoader.isCss=/\.(css|less|scss)$/i;AmdLoader.isJson=/\.json$/i;AmdLoader.globalVar={};AmdLoader.instance=new AmdLoader;AmdLoader.current=null;const a=AmdLoader.instance;a.map("global","/","global");a.registerModule("global/document",{default:document});a.registerModule("global/window",{default:typeof window!=="undefined"?window:global});a.map("reflect-metadata","/","global");a.registerModule("reflect-metadata",Reflect);AmdLoader.moduleLoader=(name,url,success,error)=>{const script=document.createElement("script");script.type="text/javascript";script.src=url;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;success()};script.onerror=e=>{error(e)};document.body.appendChild(script);return script};AmdLoader.httpTextLoader=(url,success,error)=>{const xhr=new XMLHttpRequest;xhr.onreadystatechange=e=>{if(xhr.readyState===XMLHttpRequest.DONE){if(xhr.status===200){success(xhr.responseText)}else{error(xhr.responseText)}}};xhr.open("GET",url);xhr.send()};var amdConfig;amdConfig!==null&&amdConfig!==void 0?amdConfig:amdConfig={};(_c=amdConfig.moduleProgress)!==null&&_c!==void 0?_c:amdConfig.moduleProgress=(()=>{if(!document){return(name,p)=>{console.log(`${name} ${p}%`)}}return(name,n,status)=>{}})();AmdLoader.moduleProgress=amdConfig.moduleProgress;var define=(requiresOrFactory,factory,nested)=>{const loader=AmdLoader.instance;const{currentScript}=document;let module;if(currentScript){module=currentScript[currentModuleSymbol];if(module){AmdLoader.current=module}}module!==null&&module!==void 0?module:module=AmdLoader.current;let requires=[];if(typeof requiresOrFactory!=="function"){requires=requiresOrFactory}else{factory=requiresOrFactory}if(!module){factory();return}if(module.factory){return}module.dependencies=[];const args=[];for(const s of requires){if(s==="require"){args.push(module.require);continue}if(s==="exports"){args.push(module.emptyExports);continue}if(/^global/.test(s)){args.push(loader.get(s).exports)}const name=loader.resolveRelativePath(s,module.name);const child=loader.get(name);module.addDependency(child)}module.factory=()=>factory.apply(module,args)};define.amd={};class MockType{constructor(module,type,name,mock,moduleName,exportName){this.module=module;this.type=type;this.name=name;this.mock=mock;this.moduleName=moduleName;this.exportName=exportName;this.name=name=name.replace("{lang}",UMD.lang).replace("{platform}",UMD.viewPrefix);if(name.indexOf("$")!==-1){const tokens=name.split("$");this.moduleName=tokens[0];this.exportName=tokens[1]||tokens[0].split("/").pop()}else{this.moduleName=name;this.exportName="default"}}}const merge=(target,source)=>{for(const key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}};const enumerable=true,configurable=true;class System{static resolve(id){return AmdLoader.instance.resolveSource(id)}static import(name){return AmdLoader.instance.import(name)}static register(nameOrImports,importsOrSetup,setup){var _a,_b;const instance=AmdLoader.instance;const currentModule=(_b=(_a=document.currentScript)===null||_a===void 0?void 0:_a[currentModuleSymbol])!==null&&_b!==void 0?_b:AmdLoader.current;const name=typeof nameOrImports==="string"?nameOrImports:void 0;let imports=importsOrSetup;if(arguments.length===2){imports=nameOrImports;setup=importsOrSetup}const module=name?instance.get(name):currentModule;if(module.packed){for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);if(/\.(css|less)$/i.test(absolutePath)){dm.packed=true}module.dependencies.push(dm)}}else{for(const d of imports){const absolutePath=module.require.resolve(d);const dm=instance.get(absolutePath);module.dependencies.push(dm)}}module.isLoaded=true;if(module.exportVar){module.exports=AmdLoader.globalVar[module.exportVar]}module.setup=setup;module.loader=promiseDone;const r=module.setup(((key,value)=>{if(typeof key==="object"){merge(module.exports,key);if(!module.exports.default){module.exports.default=module.exports}return module.exports}module.exports[key]=value;return value}),module);module.resolver=()=>__awaiter(this,void 0,void 0,(function*(){const ds=[];const{setters}=r;let isCircularDependency;let index=0;for(const iterator of module.dependencies){const set=setters[index++];if(iterator.isResolved){set(iterator.getExports());continue}const setP=this.import(iterator).then(set);if(iterator.isDependentOn(module)){isCircularDependency=true;continue}ds.push(setP)}yield Promise.all(ds);if(isCircularDependency){yield new Promise((resolve=>setTimeout(resolve,1)))}const rp=r.execute();if(rp===null||rp===void 0?void 0:rp.then){yield rp}module.isResolved=true;module.getExports();if(module.postExports){module.postExports()}if(module.dynamicImports){for(const iterator of module.dynamicImports){if(iterator.replacedModule.importPromise){continue}yield this.import(iterator.replacedModule)}}return module.exports}));return module}}const globalNS=typeof window!=="undefined"?window:global;class UMDClass{constructor(){this.debug=false;this.viewPrefix="web";this.defaultApp="@web-atoms/core/dist/web/WebApp";this.lang="en-US";this.nameSymbol=typeof Symbol!=="undefined"?Symbol():"_$_nameSymbol"}get mock(){return AmdLoader.instance.enableMock}set mock(v){AmdLoader.instance.enableMock=v}resolvePath(n){return AmdLoader.instance.resolveSource(n,null)}resolveViewPath(path){return path.replace("{platform}",this.viewPrefix)}resolveType(type){return AmdLoader.instance.resolveType(type)}map(name,path,type="amd",exportVar){AmdLoader.instance.map(name,path,type,exportVar)}setupRoot(name,url){AmdLoader.instance.setupRoot(name,url)}mockType(type,name){AmdLoader.instance.replace(type,name,true)}inject(type,name){AmdLoader.instance.replace(type,name,false)}resolveViewClassAsync(path){return __awaiter(this,void 0,void 0,(function*(){path=this.resolveViewPath(path);const e=yield AmdLoader.instance.import(path);return e.default}))}import(path){return AmdLoader.instance.import(path)}load(path,designMode){return __awaiter(this,void 0,void 0,(function*(){this.mock=designMode;const t=yield AmdLoader.instance.import("@web-atoms/core/dist/core/types");const a=yield AmdLoader.instance.import("@web-atoms/core/dist/Atom");a.Atom.designMode=designMode;const al=yield AmdLoader.instance.import("@web-atoms/core/dist/core/AtomList");return yield AmdLoader.instance.import(path)}))}hostView(id,path,designMode){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;AmdLoader.instance.get(path);const m=yield this.load(this.defaultApp,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);const element=typeof id==="string"?document.getElementById(id):id;element.appendChild(view.element);return view}catch(e){console.error(e)}}))}loadView(path,designMode,appPath){return __awaiter(this,void 0,void 0,(function*(){var _a;try{this.mock=designMode;appPath=appPath||this.defaultApp;AmdLoader.instance.get(path);const m=yield this.load(appPath,designMode);const app=(_a=globalNS.webApp)!==null&&_a!==void 0?_a:globalNS.webApp=new m.default;yield app.initPromise;const viewClass=yield AmdLoader.instance.import(path);const view=new viewClass.default(app);app.root=view;return view}catch(er){console.error(er);throw er}}))}installStyleSheet(path,imports={}){}}const UMD=new UMDClass;(u=>{globalNS.UMD=u;globalNS.AmdLoader=AmdLoader;globalNS.System=System;AmdLoader.instance.registerModule("tslib",setupTSLib())})(UMD);if(window){let first=document.head.firstElementChild;const markers={};const addMarker=name=>{const m=document.createElement("meta");m.name=name+"-marker";if(first){first.insertAdjacentElement("afterend",m)}else{document.head.insertAdjacentElement("afterbegin",m)}first=m;markers[name]=m;return m};addMarker("global-low");addMarker("global");addMarker("global-high");addMarker("local-low");addMarker("local");addMarker("local-high");window.installStyleSheet=UMD.installStyleSheet=(path,{imports}={})=>{var _a,_b;const[_,g1]=(_a=/\.((global|local)[^\.]{0,10})\.(css|less|scss)$/i.exec(path))!==null&&_a!==void 0?_a:[];let segment=g1!==null&&g1!==void 0?g1:"local-high";if(!/^(global|local)/.test(segment)){segment="local-high"}const marker=(_b=markers[segment])!==null&&_b!==void 0?_b:markers["local"];const link=document.createElement("link");link.rel="stylesheet";link.href=path;marker.insertAdjacentElement("beforebegin",link)}}AmdLoader.instance.register(["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/date-time","@web-atoms/entity"],["@social-mail/social-mail-client/dist/public/store/cart/ShoppingCart","@web-atoms/core/dist/Pack","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomList","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/services/LoginService","@web-atoms/core/dist/di/DISingleton","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/entity/dist/services/resolve","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/sleep","@social-mail/social-mail-client/dist/common/controls/Loader","@social-mail/social-mail-client/content/images/gif/loader.gif","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/web/styles/AtomTheme"]);AmdLoader.instance.setup("@web-atoms/core/dist/Pack");System.register([],(function(_export,_context){"use strict";function Pack(...a){}_export("default",Pack);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomMap");System.register([],(function(_export,_context){"use strict";return{setters:[],execute:function(){Map.prototype.getOrCreate=function(key,factory){let item=this.get(key);if(item===undefined){item=factory(key);this.set(key,item)}return item};_export("default",Map)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/types");System.register(["reflect-metadata","./AtomMap"],(function(_export,_context){"use strict";var Map,CancelToken,ArrayHelper,_a,_b,_c,ignoreValue,errorHandled,flat,groupBy,globalNS,DI,UMD;_export({CancelToken:void 0,ArrayHelper:void 0});return{setters:[function(_reflectMetadata){},function(_AtomMap){Map=_AtomMap.default}],execute:function(){_export("ignoreValue",ignoreValue=Symbol("ignore"));_export("errorHandled",errorHandled=Symbol("errorHandled"));_export("CancelToken",CancelToken=class CancelToken{static isCancelled(e){var _a;if(e[errorHandled]){return true}if(/^(cancelled$|canceled$|aborterror\:)/i.test((_a=e.message)!==null&&_a!==void 0?_a:e.toString().trim())){return true}if(e.name==="AbortError"){return true}}get cancelled(){return this.mCancelled}constructor(timeout=-1){this.listeners=[];this.mCancelled=null;this.cancelTimeout=null;if(timeout>0){this.cancelTimeout=setTimeout((()=>{this.cancelTimeout=null;this.cancel("timeout")}),timeout)}}cancel(r="cancelled"){this.mCancelled=r;const existing=this.listeners.slice(0);this.listeners.length=0;for(const fx of existing){fx(r)}this.dispose()}reset(){this.mCancelled=null;this.dispose()}dispose(){this.listeners.length=0;if(this.cancelTimeout){clearTimeout(this.cancelTimeout)}}registerForCancel(f){if(this.mCancelled){f(this.mCancelled);this.cancel();return}this.listeners.push(f)}});_export("ArrayHelper",ArrayHelper=class ArrayHelper{static remove(a,filter){for(let i=0;i<a.length;i++){const item=a[i];if(filter(item)){a.splice(i,1);return true}}return false}});(_a=Object.values)!==null&&_a!==void 0?_a:Object.values=function(t){const r=[];for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){const element=t[key];r.push(element)}}return r};flat=(_b=Array.prototype.flat)!==null&&_b!==void 0?_b:function(depth=1){const r=[];const flat=depth>0;const nestDepth=depth-1;const nestFlat=nestDepth>0;for(const iterator of this){if(flat&&Array.isArray(iterator)){if(nestFlat){r.push(...iterator.flat(nestDepth));continue}r.push(...iterator);continue}r.push(iterator)}return r};groupBy=(_c=Array.prototype.groupBy)!==null&&_c!==void 0?_c:function(keySelector){const map=new Map;const groups=[];for(const iterator of this){const key=keySelector(iterator);let g=map.get(key);if(!g){g=[];g.key=key;groups.push(g);map.set(key,g)}g.push(iterator)}map.clear();return groups};Object.defineProperties(Array.prototype,{flat:{enumerable:false,value:flat,configurable:true},groupBy:{enumerable:false,value:groupBy,configurable:true}});globalNS=typeof window!=="undefined"?window:global;_export("DI",DI=globalNS.UMD);_export("UMD",UMD=globalNS.UMD)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomBinder");System.register(["./types"],(function(_export,_context){"use strict";var ArrayHelper,AtomBinder,symbolHandlers,symbolBindable;_export("AtomBinder",void 0);return{setters:[function(_types){ArrayHelper=_types.ArrayHelper}],execute:function(){_export("symbolHandlers",symbolHandlers=Symbol.for("handlers"));_export("symbolBindable",symbolBindable=Symbol.for("bindable"));_export("AtomBinder",AtomBinder=class AtomBinder{static refreshValue(target,key){const handlers=AtomBinder.get_WatchHandler(target,key);if(handlers===undefined||handlers==null){return}for(const item of handlers){item(target,key)}if(target.onPropertyChanged){target.onPropertyChanged(key)}}static add_WatchHandler(target,key,handler){if(target==null){return}const handlers=AtomBinder.get_WatchHandler(target,key);handlers.push(handler);if(Array.isArray(target)){return}const pv=AtomBinder.getPropertyDescriptor(target,key);if(pv&&pv.get){return}const tw=target;let bindables=tw[symbolBindable];if(bindables===undefined){bindables={};Object.defineProperty(tw,symbolBindable,{value:bindables,enumerable:false,writable:true,configurable:true})}if(!bindables[key]){bindables[key]=1;const o=target[key];const nk=Symbol.for(key);target[nk]=o;const set=function(v){const ov=this[nk];if(ov===undefined?ov===v:ov==v){return}this[nk]=v;AtomBinder.refreshValue(this,key)};const get=function(){return this[nk]};if(pv){delete target[key];Object.defineProperty(target,key,{get,set,configurable:true,enumerable:true})}else{Object.defineProperty(target,key,{get,set,enumerable:true,configurable:true})}}}static getPropertyDescriptor(target,key){const pv=Object.getOwnPropertyDescriptor(target,key);if(!pv){const pt=Object.getPrototypeOf(target);if(pt){return AtomBinder.getPropertyDescriptor(pt,key)}}return pv}static get_WatchHandler(target,key){if(target==null){return null}let handlers=target[symbolHandlers];if(handlers===undefined){handlers={};Object.defineProperty(target,symbolHandlers,{value:handlers,enumerable:false,writable:true,configurable:true})}let handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){handlersForKey=[];handlers[key]=handlersForKey}return handlersForKey}static remove_WatchHandler(target,key,handler){if(target==null){return}const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const handlersForKey=target[symbolHandlers][key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static invokeItemsEvent(target,mode,index,item,oldItem){const key="_items";const handlers=AtomBinder.get_WatchHandler(target,key);if(!handlers){return}for(const obj of handlers){obj(target,mode,index,item,oldItem)}AtomBinder.refreshValue(target,"length")}static refreshItems(ary){AtomBinder.invokeItemsEvent(ary,"refresh",-1,null)}static add_CollectionChanged(target,handler){if(target==null){throw new Error("Target Array to watch cannot be null")}if(handler==null){throw new Error("Target handle to watch an Array cannot be null")}const handlers=AtomBinder.get_WatchHandler(target,"_items");handlers.push(handler);return{dispose:()=>{AtomBinder.remove_CollectionChanged(target,handler)}}}static remove_CollectionChanged(t,handler){if(t==null){return}const target=t;const handlers=target[symbolHandlers];if(typeof handlers==="undefined"){return}const key="_items";const handlersForKey=handlers[key];if(handlersForKey===undefined||handlersForKey==null){return}ArrayHelper.remove(handlersForKey,(f=>f===handler));if(!handlersForKey.length){handlers[key]=null;delete handlers[key]}}static watch(item,property,f){AtomBinder.add_WatchHandler(item,property,f);return{dispose:()=>{AtomBinder.remove_WatchHandler(item,property,f)}}}static clear(a){a.length=0;this.invokeItemsEvent(a,"refresh",-1,null);AtomBinder.refreshValue(a,"length")}static addItem(a,item){const index=a.length;a.push(item);this.invokeItemsEvent(a,"add",index,item);AtomBinder.refreshValue(a,"length")}static removeItem(a,item){const i=a.findIndex((x=>x===item));if(i===-1){return false}a.splice(i,1);AtomBinder.invokeItemsEvent(a,"remove",i,item);AtomBinder.refreshValue(a,"length");return true}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDispatcher");System.register([],(function(_export,_context){"use strict";var AtomDispatcher;_export("AtomDispatcher",void 0);return{setters:[],execute:function(){_export("AtomDispatcher",AtomDispatcher=class AtomDispatcher{constructor(){this.head=null;this.tail=null}onTimeout(){if(this.paused){return}if(!this.head){return}const item=this.head;this.head=item.next;item.next=null;if(!this.head){this.tail=null}item();setTimeout((()=>{this.onTimeout()}),1)}pause(){this.paused=true}start(){this.paused=false;setTimeout((()=>{this.onTimeout()}),1)}callLater(f){if(this.tail){this.tail.next=f;this.tail=f}else{this.head=f;this.tail=f}if(!this.paused){this.start()}}waitForAll(){return new Promise(((resolve,reject)=>{this.callLater((()=>{resolve()}))}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/TypeKey");System.register(["../core/AtomMap"],(function(_export,_context){"use strict";var AtomMap,TypeKey;_export("TypeKey",void 0);return{setters:[function(_coreAtomMap){AtomMap=_coreAtomMap.default}],execute:function(){_export("TypeKey",TypeKey=class TypeKey{static get(c){return c}static getName(c){return TypeKey.keys.getOrCreate(c,(c1=>{const key=`${c1.name||"key"}${TypeKey.keys.size}`;return key}))}});TypeKey.keys=new AtomMap}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceCollection");System.register(["../core/types","./TypeKey"],(function(_export,_context){"use strict";var ArrayHelper,TypeKey,ServiceDescription,ServiceCollection,Scope;_export({ServiceDescription:void 0,ServiceCollection:void 0,Scope:void 0});return{setters:[function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){(function(Scope){Scope[Scope["Global"]=1]="Global";Scope[Scope["Scoped"]=2]="Scoped";Scope[Scope["Transient"]=3]="Transient"})(Scope||_export("Scope",Scope={}));_export("ServiceDescription",ServiceDescription=class ServiceDescription{constructor(id,scope,type,factory){this.id=id;this.scope=scope;this.type=type;this.factory=factory;this.factory=this.factory||(sp=>sp.create(type))}});_export("ServiceCollection",ServiceCollection=class ServiceCollection{constructor(){this.registrations=[];this.ids=1}register(type,factory,scope=Scope.Transient,id){ArrayHelper.remove(this.registrations,(r=>id?r.id===id:r.type===type));if(!id){id=TypeKey.get(type);this.ids++}const sd=new ServiceDescription(id,scope,type,factory);this.registrations.push(sd);return sd}registerScoped(type,factory,id){return this.register(type,factory,Scope.Scoped,id)}registerSingleton(type,factory,id){return this.register(type,factory,Scope.Global,id)}get(type){return this.registrations.find((s=>s.id===type||s.type===type))}});ServiceCollection.instance=new ServiceCollection}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Register");System.register(["../core/types","./ServiceCollection"],(function(_export,_context){"use strict";var DI,Scope,ServiceCollection,globalNS;function evalGlobal(path){if(typeof path==="string"){let r=globalNS;for(const iterator of path.split(".")){r=r[iterator];if(r===undefined||r===null){return r}}return r}return path}function Register(id,scope){return target=>{if(typeof id==="object"){if(scope){id.scope=scope}ServiceCollection.instance.register(id.for||target,id.for?sp=>sp.create(target):null,id.scope||Scope.Transient,id.id);if(id.mockOrInject){if(id.mockOrInject.inject){DI.inject(target,id.mockOrInject.inject)}else if(id.mockOrInject.mock){DI.mockType(target,id.mockOrInject.mock)}else if(id.mockOrInject.globalVar){ServiceCollection.instance.register(id.for||target,(sp=>evalGlobal(id.mockOrInject.globalVar)),id.scope||Scope.Global,id.id)}}return}ServiceCollection.instance.register(target,null,scope,id)}}_export("Register",Register);return{setters:[function(_coreTypes){DI=_coreTypes.DI},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection}],execute:function(){globalNS=typeof global==="undefined"?window:global}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/RegisterSingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function RegisterSingleton(target){Register({scope:Scope.Global})(target)}_export("RegisterSingleton",RegisterSingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/TransientDisposable");System.register([],(function(_export,_context){"use strict";var TransientDisposable;_export("default",void 0);return{setters:[],execute:function(){_export("default",TransientDisposable=class TransientDisposable{constructor(owner){if(owner){this.registerIn(owner)}}registerIn(value){const v=value.disposables;if(v){v.push(this)}else{if(value.registerDisposable){value.registerDisposable(this)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/Inject");System.register(["./TypeKey"],(function(_export,_context){"use strict";var TypeKey,InjectedTypes;function Inject(target,name,index){if(index!==undefined){const key=TypeKey.get(target);const plist=Reflect.getMetadata("design:paramtypes",target,name);if(typeof index==="number"){const pSavedList=InjectedTypes.paramList[key]||(InjectedTypes.paramList[key]=[]);pSavedList[index]=plist[index]}else{throw new Error("Inject can only be applied on constructor"+"parameter or a property without get/set methods")}}else{const key=TypeKey.get(target.constructor);const plist=Reflect.getMetadata("design:type",target,name);const p=InjectedTypes.propertyList[key]||(InjectedTypes.propertyList[key]={});p[name]=plist;let base=target.constructor;while(true){base=Object.getPrototypeOf(base);if(!base){break}const baseKey=TypeKey.get(base);const bp=InjectedTypes.propertyList[baseKey];if(bp){for(const pKey in bp){if(bp.hasOwnProperty(pKey)){const element=bp[pKey];if(!p[pKey]){p[pKey]=element}}}}}}}_export({InjectedTypes:void 0,Inject});return{setters:[function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("InjectedTypes",InjectedTypes=class InjectedTypes{static getParamList(key,typeKey1){let plist=InjectedTypes.paramList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.paramList[typeKey];if(!plist){InjectedTypes.paramList[typeKey]=plist}}return plist}static getPropertyList(key,typeKey1){let plist=InjectedTypes.propertyList[typeKey1];let type=key;while(plist===undefined){type=Object.getPrototypeOf(type);if(!type){break}const typeKey=TypeKey.get(type);plist=InjectedTypes.propertyList[typeKey];if(!plist){InjectedTypes.propertyList[typeKey]=plist}}return plist}});InjectedTypes.paramList={};InjectedTypes.propertyList={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/ServiceProvider");System.register(["../core/TransientDisposable","../core/types","./Inject","./ServiceCollection","./TypeKey"],(function(_export,_context){"use strict";var TransientDisposable,DI,InjectedTypes,Scope,ServiceCollection,TypeKey,ServiceProvider;_export("ServiceProvider",void 0);return{setters:[function(_coreTransientDisposable){TransientDisposable=_coreTransientDisposable.default},function(_coreTypes){DI=_coreTypes.DI},function(_Inject){InjectedTypes=_Inject.InjectedTypes},function(_ServiceCollection){Scope=_ServiceCollection.Scope;ServiceCollection=_ServiceCollection.ServiceCollection},function(_TypeKey){TypeKey=_TypeKey.TypeKey}],execute:function(){_export("ServiceProvider",ServiceProvider=class ServiceProvider{get global(){return this.parent===null?this:this.parent.global}constructor(parent){this.parent=parent;this.instances=new Map;if(parent===null){ServiceCollection.instance.registerScoped(ServiceProvider)}const sd=ServiceCollection.instance.get(ServiceProvider);this.instances.set(sd.id,this)}get(key){return this.resolve(key,true)}put(key,value){let sd=ServiceCollection.instance.get(key);if(!sd){sd=ServiceCollection.instance.register(key,(()=>value),Scope.Global)}this.instances.set(sd.id,value)}resolve(key,create=false,defValue){const sd=ServiceCollection.instance.get(key);if(!sd){if(!create){if(defValue!==undefined){return defValue}throw new Error(`No service registered for type ${key}`)}return this.create(key)}if(sd.type===ServiceProvider){return this}if(sd.scope===Scope.Global){return this.global.getValue(sd)}if(sd.scope===Scope.Scoped){if(this.parent===null){throw new Error("Scoped dependency cannot be created on global")}}return this.getValue(sd)}getValue(sd){if(sd.scope===Scope.Transient){return sd.factory(this)}let v=this.instances.get(sd.id);if(v===void 0){v=sd.factory(this);this.instances.set(sd.id,v)}return v}newScope(){return new ServiceProvider(this)}dispose(){var _a;for(const element of this.instances.values()){if(element===this){continue}(_a=element.dispose)===null||_a===void 0?void 0:_a.call(element)}this.instances.clear()}create(key){const originalKey=key;const originalTypeKey=TypeKey.get(originalKey);if(DI.resolveType){let mappedType=ServiceProvider.mappedTypes.get(originalTypeKey);if(mappedType===void 0){mappedType=DI.resolveType(originalKey);ServiceProvider.mappedTypes.set(originalKey,mappedType)}key=mappedType}const typeKey1=TypeKey.get(key);const plist=InjectedTypes.getParamList(key,typeKey1);let value=null;if(plist){const pv=plist.map((x=>x?this.resolve(x):void 0));pv.unshift(null);value=new(key.bind.apply(key,pv));for(const iterator of pv){if(iterator&&iterator instanceof TransientDisposable){iterator.registerIn(value)}}}else{value=new key}const propList=InjectedTypes.getPropertyList(key,typeKey1);if(propList){for(const key1 in propList){if(propList.hasOwnProperty(key1)){const element=propList[key1];const d=this.resolve(element);value[key1]=d;if(d&&d instanceof TransientDisposable){d.registerIn(value)}}}}return value}});ServiceProvider.mappedTypes=new Map}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/BusyIndicatorService");System.register(["tslib","../di/RegisterSingleton"],(function(_export,_context){"use strict";var __decorate,RegisterSingleton,BusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton}],execute:function(){_export("BusyIndicatorService",BusyIndicatorService=class BusyIndicatorService{createIndicator(info){return{[Symbol.dispose](){}}}});_export("BusyIndicatorService",BusyIndicatorService=__decorate([RegisterSingleton],BusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomList");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,AtomList,ap;_export("AtomList",void 0);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("AtomList",AtomList=class AtomList extends Array{constructor(){super();this.startValue=0;this.totalValue=0;this.sizeValue=10;this["__proto__"]=AtomList.prototype;this.next=()=>{this.start=this.start+this.size};this.prev=()=>{if(this.start>=this.size){this.start=this.start-this.size}}}get start(){return this.startValue}set start(v){if(v===this.startValue){return}this.startValue=v;AtomBinder.refreshValue(this,"start")}get total(){return this.totalValue}set total(v){if(v===this.totalValue){return}this.totalValue=v;AtomBinder.refreshValue(this,"total")}get size(){return this.sizeValue}set size(v){if(v===this.sizeValue){return}this.sizeValue=v;AtomBinder.refreshValue(this,"size")}add(item){const i=this.length;const n=this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length");return n}addAll(items){for(const item of items){const i=this.length;this.push(item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}const t=items["total"];if(t){this.total=t}}replace(items,start,size){this.length=items.length;for(let i=0;i<items.length;i++){this[i]=items[i]}this.refresh();const t=items["total"];if(t){this.total=t}if(start!==undefined){this.start=start}if(size!==undefined){this.size=size}}insert(i,item){const n=this.splice(i,0,item);AtomBinder.invokeItemsEvent(this,"add",i,item);AtomBinder.refreshValue(this,"length")}set(i,item){const old=this[i];this[i]=item;AtomBinder.invokeItemsEvent(this,"replace",i,item,old);AtomBinder.refreshValue(this,"length")}removeAt(i){const item=this[i];this.splice(i,1);AtomBinder.invokeItemsEvent(this,"remove",i,item);AtomBinder.refreshValue(this,"length");return item}remove(item){if(item instanceof Function){let removed=false;for(let index=0;index<this.length;){const it=this[index];if(item(it)){this.splice(index,1);AtomBinder.invokeItemsEvent(this,"remove",index,it);AtomBinder.refreshValue(this,"length");removed=true;continue}index++}return removed}const n=this.indexOf(item);if(n!==-1){this.removeAt(n);return true}return false}clear(){this.length=0;this.refresh()}refresh(){AtomBinder.invokeItemsEvent(this,"refresh",-1,null);AtomBinder.refreshValue(this,"length")}watch(f,wrap){if(wrap){const fx=f;f=function(){const p=[];for(let i=0;i<arguments.length;i++){const iterator=arguments[i];p.push(iterator)}return fx.call(this,p)}}return AtomBinder.add_CollectionChanged(this,f)}count(f){let total=0;for(const iterator of this){if(f(iterator)){total++}}return total}avg(f){if(!this.length){return 0}let sum=0;for(const iterator of this){sum+=f(iterator)}return sum/this.length}includes(item){return this.indexOf(item)!==-1}});ap=Array.prototype;for(const key of Object.getOwnPropertyNames(AtomList.prototype)){const{value}=Object.getOwnPropertyDescriptor(AtomList.prototype,key);switch(key){case"add":case"addAll":case"clear":case"refresh":case"set":case"remove":case"removeAt":case"watch":case"replace":case"insert":case"count":case"avg":case"includes":if(key in ap){continue}Object.defineProperty(ap,key,{enumerable:false,value,configurable:true,writable:true});continue}}}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/TimeSpan");System.register([],(function(_export,_context){"use strict";var TimeSpan,msMinutes,msSeconds,msHours,msDays,daysPerMS,hoursPerMS,minutesPerMS,secondsPerMS;function isEmpty(n){return n===undefined||n===null||n===0||isNaN(n)}function padLeft(n,c=2,t="0"){let s=n.toString();if(s.length<c){s=t+s}return s}_export("default",void 0);return{setters:[],execute:function(){_export("msMinutes",msMinutes=6e4);_export("msSeconds",msSeconds=1e3);_export("msHours",msHours=36e5);_export("msDays",msDays=24*msHours);daysPerMS=1/msDays;hoursPerMS=1/msHours;minutesPerMS=1/msMinutes;secondsPerMS=1/msSeconds;_export("default",TimeSpan=class TimeSpan{static fromDays(n){return new TimeSpan(n*msDays)}static fromHours(n){return new TimeSpan(n*msHours)}static fromMinutes(n){return new TimeSpan(n*msMinutes)}static fromSeconds(n){return new TimeSpan(n*msSeconds)}static parse(text){if(!text){throw new Error("Invalid time format")}let isPM=false;let d,h,m,s,ms;const tokens=text.split(/:/);const last=tokens[tokens.length-1];const lastParts=last.split(" ");if(lastParts.length>1){if(/pm/i.test(lastParts[1])){isPM=true}tokens[tokens.length-1]=lastParts[0]}const firstOfLast=lastParts[0];if(firstOfLast.indexOf(".")!==-1){const secondParts=firstOfLast.split(".");if(secondParts.length>1){tokens[tokens.length-1]=secondParts[0];ms=parseInt(secondParts[1],10)}}if(tokens.length===2){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10)}else if(tokens.length===3){d=0;h=parseInt(tokens[0],10);m=parseInt(tokens[1],10);s=parseInt(tokens[2],10)}else if(tokens.length===4){d=parseInt(tokens[0],10);h=parseInt(tokens[1],10);m=parseInt(tokens[2],10);s=parseInt(tokens[3],10)}return new TimeSpan(d,isPM?h+12:h,m,s,ms)}get totalSeconds(){return this.msSinceEpoch*secondsPerMS}get totalMinutes(){return this.msSinceEpoch*minutesPerMS}get totalHours(){return this.msSinceEpoch*hoursPerMS}get totalDays(){return this.msSinceEpoch*daysPerMS}get totalMilliseconds(){return this.msSinceEpoch}get days(){return Math.floor(this.msSinceEpoch/msDays)}get hours(){return Math.floor(this.msSinceEpoch/msHours%24)}get minutes(){return Math.floor(this.msSinceEpoch/msMinutes%60)}get seconds(){return Math.floor(this.msSinceEpoch/msSeconds%60)}get milliseconds(){return Math.floor(this.msSinceEpoch%1e3)}get duration(){const t=this.msSinceEpoch;return new TimeSpan(t>0?t:-t)}get trimmedTime(){return new TimeSpan(Math.ceil(this.msSinceEpoch%msDays))}constructor(days,hours,minutes,seconds,milliseconds){if(arguments.length===1){this.msSinceEpoch=days}else{this.msSinceEpoch=(days||0)*msDays+(hours||0)*msHours+(minutes||0)*msMinutes+(seconds||0)*msSeconds+(milliseconds||0)}}toString(formatAs12=false){let ams=this.msSinceEpoch;const text=[];let postFix="";function format(max,f12=false){let txt=null;if(ams>max){const n=Math.floor(ams/max);ams=ams%max;if(f12){if(n>12){postFix=" PM";txt=padLeft(n-12)}else{postFix=" AM"}}if(!txt){txt=padLeft(n)}}if(txt){text.push(txt)}return txt}const d=format(msDays);format(msHours,formatAs12&&!d);format(msMinutes);let s=format(msSeconds);if(ams){s+="."+ams;text[text.length-1]=s}return`${text.join(":")}${postFix}`}add(ts){return new TimeSpan(this.msSinceEpoch+ts.msSinceEpoch)}equals(ts){return ts.msSinceEpoch===this.msSinceEpoch}});if(typeof window!=="undefined"){window.TimeSpan=TimeSpan}}}}));AmdLoader.instance.setup("@web-atoms/date-time/dist/DateTime");System.register(["./TimeSpan"],(function(_export,_context){"use strict";var TimeSpan,DateTime;_export("default",void 0);return{setters:[function(_TimeSpan){TimeSpan=_TimeSpan.default}],execute:function(){_export("default",DateTime=class DateTime{static from(d){if(!d){return null}if(!(d instanceof DateTime)){if(d instanceof Date){d=new DateTime(d.getTime())}return new DateTime(d)}return d}static get today(){const a=new DateTime;return a.date}static get utcNow(){const now=new Date;return new DateTime(now.getTime()+now.getTimezoneOffset())}static get now(){return new DateTime}static parse(s){return new DateTime(s)}get day(){return this.getDate()}get dayOfWeek(){return this.getDay()}get month(){return this.getMonth()}get year(){return this.getFullYear()}get hour(){return this.getHours()}get minute(){return this.getMinutes()}get second(){return this.getSeconds()}get milliSecond(){return this.getMilliseconds()}get timeZoneOffset(){return TimeSpan.fromMinutes(this.getTimezoneOffset())}get msSinceEpoch(){return this.getTime()}get date(){const d=new DateTime(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0,0);return d}get asJSDate(){return this}get time(){return new TimeSpan(0,this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds())}constructor(a,b,c,d,e,f,g){let rd;switch(arguments.length){case 0:rd=new Date;break;case 1:rd=new Date(a);break;case 2:rd=new Date(a,b);break;case 3:rd=new Date(a,b,c);break;case 4:rd=new Date(a,b,c,d);break;case 5:rd=new Date(a,b,c,d,e);break;case 6:rd=new Date(a,b,c,d,e,f);break;default:rd=new Date(a,b,c,d,e,f,g)}Object.setPrototypeOf(rd,DateTime.prototype);return rd}add(t,hours,minutes,seconds,milliseconds){if(t instanceof Date){return new DateTime(this.getTime()+t.getTime())}let days=0;if(t instanceof TimeSpan){days=t.days;hours=t.hours;minutes=t.minutes;seconds=t.seconds;milliseconds=t.milliseconds}else{days=t}function hasValue(n,name){if(n===undefined){return false}if(n===null){throw new Error(`${name} cannot be null`)}return n!==0}const d=new Date(this.getTime());if(hasValue(days,"days")){d.setDate(d.getDate()+days)}if(hasValue(hours,"hours")){d.setHours(d.getHours()+hours)}if(hasValue(minutes,"minutes")){d.setMinutes(d.getMinutes()+minutes)}if(hasValue(seconds,"seconds")){d.setSeconds(d.getSeconds()+seconds)}if(hasValue(milliseconds,"milliseconds")){d.setMilliseconds(d.getMilliseconds()+milliseconds)}Object.setPrototypeOf(d,DateTime.prototype);return d}addMonths(m){const d=new Date(this.msSinceEpoch);d.setMonth(d.getMonth()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}addYears(y){const d=new Date(this.msSinceEpoch);d.setFullYear(d.getFullYear()+y);Object.setPrototypeOf(d,DateTime.prototype);return d}addDays(day){const d=new Date(this.msSinceEpoch);d.setDate(d.getDate()+day);Object.setPrototypeOf(d,DateTime.prototype);return d}addHours(h){const d=new Date(this.msSinceEpoch);d.setHours(d.getHours()+h);Object.setPrototypeOf(d,DateTime.prototype);return d}addMinutes(m){const d=new Date(this.msSinceEpoch);d.setMinutes(d.getMinutes()+m);Object.setPrototypeOf(d,DateTime.prototype);return d}diff(rhs){return new TimeSpan(this.getTime()-rhs.getTime())}equals(d){if(!d){return false}return this.getTime()===d.getTime()}dateEquals(d){if(!d){return false}return this.date.equals(DateTime.from(d).date)}compare(d){return this.getTime()-d.getTime()}toRelativeString(dt){if(!dt){dt=DateTime.now}else{if(dt instanceof Date&&!(dt instanceof DateTime)){dt.__proto__=DateTime.prototype;dt=dt}}const diff=this.diff(dt);if(dt.year!==this.year){return this.toLocaleDateString()}if(Math.abs(diff.totalDays)>6){return this.toLocaleDateString(undefined,{month:"short",day:"numeric"})}if(Math.abs(diff.totalHours)>23){return this.toLocaleDateString(undefined,{weekday:"short"})}if(Math.abs(diff.totalMinutes)>59){return`${Math.floor(diff.totalHours)} hours`}return`${Math.floor(diff.totalMinutes)} mins`}valueOf(){return this.getTime()}});DateTime.prototype.__proto__=Date.prototype;if(typeof window!=="undefined"){window.DateTime=DateTime}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/App");System.register(["tslib","./core/AtomBinder","./core/AtomDispatcher","./core/types","./di/RegisterSingleton","./di/ServiceProvider","./services/BusyIndicatorService","./core/AtomList","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomDispatcher,CancelToken,RegisterSingleton,ServiceProvider,BusyIndicatorService,AtomHandler,AtomMessageAction,App_1,App;_export("AtomMessageAction",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDispatcher){AtomDispatcher=_coreAtomDispatcher.AtomDispatcher},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceProvider){ServiceProvider=_diServiceProvider.ServiceProvider},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_coreAtomList){},function(_webAtomsDateTimeDistDateTime){},function(_webAtomsDateTimeDistTimeSpan){}],execute:function(){AtomHandler=class AtomHandler{constructor(message){this.message=message;this.list=new Array}};_export("AtomMessageAction",AtomMessageAction=class AtomMessageAction{constructor(msg,a){this.message=msg;this.action=a}});_export("App",App=App_1=class App extends ServiceProvider{static installStyleSheet(ssConfig){if(typeof ssConfig!=="object"){ssConfig={href:ssConfig}}ssConfig.href=UMD.resolvePath(ssConfig.href);const links=document.getElementsByTagName("link");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("href");if(href===ssConfig.href){return}}const ss=document.createElement("link");ss.rel="stylesheet";ss.href=ssConfig.href;if(ssConfig.crossOrigin){ss.crossOrigin=ssConfig.crossOrigin}if(ssConfig.integrity){ss.integrity=ssConfig.integrity}document.head.appendChild(ss)}static installScript(location){location=UMD.resolvePath(location);const links=document.getElementsByTagName("script");for(let index=0;index<links.length;index++){const element=links[index];const href=element.getAttribute("src");if(href===location){return element.loaderPromise}}const script=document.createElement("script");const p=new Promise(((resolve,reject)=>{script.type="text/javascript";script.src=location;const s=script;script.onload=s.onreadystatechange=()=>{if(s.readyState&&s.readyState!=="complete"&&s.readyState!=="loaded"){return}script.onload=s.onreadystatechange=null;resolve()};document.body.appendChild(script)}));script.loaderPromise=p;return p}static authorize(authorize=true){const detail={authorize,authorized:true};const ce=new CustomEvent("authorize",{bubbles:true,detail});document.body.dispatchEvent(ce);if(!ce.detail.authorized){return false}return true}get url(){return this.mUrl}set url(v){this.mUrl=v;AtomBinder.refreshValue(this,"url")}get contextId(){return"none"}constructor(){super(null);this.appReady=false;this.readyHandlers=[];this.onError=error=>{console.log(error)};App_1.current=this;this.screen={};this.bag={};this.put(App_1,this);this.dispatcher=new AtomDispatcher;this.dispatcher.start();this.put(AtomDispatcher,this.dispatcher);setTimeout((()=>{this.invokeReady()}),5)}createBusyIndicator(taskInfo){this.busyIndicatorService=this.busyIndicatorService||this.resolve(BusyIndicatorService);return this.busyIndicatorService.createIndicator(taskInfo)}syncUrl(){}callLater(f){this.dispatcher.callLater(f)}installStyleSheet(ssConfig){App_1.installStyleSheet(ssConfig)}installScript(location){return App_1.installScript(location)}updateDefaultStyle(content){throw new Error("Platform does not support StyleSheets")}waitForPendingCalls(){return this.dispatcher.waitForAll()}setTimeoutAsync(task,timeInMS=1,previousToken){if(previousToken!==void 0){clearTimeout(previousToken)}return setTimeout((()=>{try{const p=task();if(p===null||p===void 0?void 0:p.then){p.catch((error=>{if(CancelToken.isCancelled(error)){return}console.error(error)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}),timeInMS)}runAsync(tf){try{const p=tf();if(p&&p.then&&p.catch){p.catch((error=>{this.onError("runAsync");this.onError(error)}))}}catch(e){this.onError("runAsync");this.onError(e)}}broadcast(channel,data){const ary=this.bag[channel];if(!ary){return}for(const entry of ary.list){entry.call(this,channel,data)}}subscribe(channel,action){let ary=this.bag[channel];if(!ary){ary=new AtomHandler(channel);this.bag[channel]=ary}ary.list.push(action);return{dispose:()=>{ary.list=ary.list.filter((a=>a!==action));if(!ary.list.length){this.bag[channel]=null}}}}main(){}onReady(f){if(this.readyHandlers){this.readyHandlers.push(f)}else{this.invokeReadyHandler(f)}}invokeReady(){if(this.invokeReadyHandler){for(const iterator of this.readyHandlers){this.invokeReadyHandler(iterator)}}this.readyHandlers=null}invokeReadyHandler(f){const indicator=this.createBusyIndicator();const a=f();if(a&&a.then&&a.catch){a.then((r=>{indicator[Symbol.dispose]()}));a.catch((e=>{indicator[Symbol.dispose]();console.error(typeof e==="string"?e:JSON.stringify(e))}));return}indicator[Symbol.dispose]()}});_export("App",App=App_1=__decorate([RegisterSingleton,__metadata("design:paramtypes",[])],App))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomDisposableList");System.register([],(function(_export,_context){"use strict";var AtomDisposableList;_export("AtomDisposableList",void 0);return{setters:[],execute:function(){_export("AtomDisposableList",AtomDisposableList=class AtomDisposableList{constructor(){this.disposables=[]}add(d){if(typeof d==="function"){const fx=d;d={dispose:fx}}this.disposables.push(d);const dx=d;return{dispose:()=>{this.disposables=this.disposables.filter((x=>x!==dx));dx.dispose()}}}dispose(){for(const iterator of this.disposables){iterator.dispose()}this.disposables.length=0}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/ExpressionParser");System.register([],(function(_export,_context){"use strict";var viewModelParseWatchCache,viewModelParseWatchCache2;function trimRegEx(t,r){const m=r.exec(t);if(m&&m.length){return[true,t.substring(m[0].length).trim(),m[0]]}return[false,t,""]}function extractTill(text,search,returnOriginal=false){const index=text.indexOf(search);if(index<=0){return returnOriginal?text:""}return text.substring(0,index)}function parsePath(f,parseThis){let str=f.toString().trim();str=str.split("\n").filter((s=>!/^\/\//.test(s.trim()))).join("\n");const key=(parseThis===undefined?"un:":parseThis?"_this:":"_noThis:")+str;const px1=viewModelParseWatchCache[key];if(px1){return px1}if(str.endsWith("}")){str=str.substr(0,str.length-1)}const functionRegEx=/^\w+\s*\(/;const lambdaRegEx=/^\(?(\w+)?(\s?\,\s?\w+)*\)?\s?\=\>/;let arg="";const original=str;let[success,remaining]=trimRegEx(str,functionRegEx);if(success){str=remaining;remaining=extractTill(remaining,")");str=str.substring(remaining.length);arg=extractTill(remaining,",",true)}else{[success,str,remaining]=trimRegEx(str,lambdaRegEx);if(success){remaining=remaining.trim();remaining=remaining.substring(0,remaining.length-2);remaining=extractTill(remaining,")",true);arg=extractTill(remaining,",",true);if(arg.startsWith("(")){arg=arg.substring(1)}}else{if(parseThis!==undefined&&parseThis===false){return[]}else{parseThis=true}}}str=str.trim();const isThis=parseThis===undefined?(arg?false:true)||parseThis:parseThis;const p=(isThis?"(\\_this|this)":arg||"").trim();if(p.length===0){const empty=[];viewModelParseWatchCache[key]=empty;return empty}const regExp=`(?:(\\b${p})(?:(\\.[a-zA-Z_][a-zA-Z_0-9]*)+)\\s?(?:(\\(|\\=\\=\\=|\\=\\=|\\=)?))`;const re=new RegExp(regExp,"gi");let path=[];const ms=str.replace(re,(m=>{let px=m;if(px.startsWith("this.")){if(parseThis!==true){px=px.substr(5)}}else if(px.startsWith("_this.")){if(parseThis!==true){px=px.substr(6)}else{px=px.substr(1)}}else{px=px.substr(p.length+1)}px=px.split(".").filter((s=>!s.endsWith("("))).join(".");if(!path.find((y=>y===px))){path.push(px)}const filtered=[];for(const iterator of path){if(iterator.endsWith("==")||!(iterator.endsWith("(")||iterator.endsWith("="))){filtered.push((iterator.endsWith("===")?iterator.substr(0,iterator.length-3):iterator.endsWith("==")?iterator.substr(0,iterator.length-2):iterator).trim())}}path=filtered.filter((px11=>{const search=px11+".";for(const iterator of filtered){if(px11!==iterator&&iterator.indexOf(search)!==-1){return false}}return true}));return m}));path=path.sort(((a,b)=>b.localeCompare(a)));const duplicates=path;path=[];for(const iterator of duplicates){if(path.find((px2=>px2===iterator))){continue}path.push(iterator)}const rp=[];for(const rpItem of path){if(rp.find((x=>x.startsWith(rpItem)))){continue}rp.push(rpItem)}const pl=path.filter((p1=>p1)).map((p1=>p1.split(".")));viewModelParseWatchCache[key]=pl;return pl}function parsePathLists(f){const str=f.toString().trim();const key=str;const px1=viewModelParseWatchCache2[key];if(px1){return px1}const pl={pathList:parsePath(str,false),thisPath:parsePath(str,true),combined:[]};if(pl.thisPath.length&&pl.pathList.length){pl.combined=pl.thisPath.map((x=>{x[0]="t";x.splice(0,0,"this");return x})).concat(pl.pathList.map((x=>{x.splice(0,0,"this","x");return x})));pl.thisPath=[];pl.pathList=[]}viewModelParseWatchCache2[key]=pl;return pl}_export({parsePath,parsePathLists});return{setters:[],execute:function(){viewModelParseWatchCache={};viewModelParseWatchCache2={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomWatcher");System.register(["./AtomBinder","./ExpressionParser"],(function(_export,_context){"use strict";var AtomBinder,parsePath,ObjectProperty,AtomWatcher;_export({ObjectProperty:void 0,AtomWatcher:void 0});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath}],execute:function(){_export("ObjectProperty",ObjectProperty=class ObjectProperty{constructor(name){this.name=name}toString(){return this.name}});_export("AtomWatcher",AtomWatcher=class AtomWatcher{constructor(target,path,onChanged,source){this.source=source;this.isExecuting=false;this.target=target;this.forValidation=true;if(path instanceof Function){const f=path;path=parsePath(path);this.func=onChanged||f;this.funcText=f.toString()}else{this.func=onChanged}this.runEvaluate=()=>{this.evaluate()};this.runEvaluate.watcher=this;this.path=path.map((x=>x.map((y=>new ObjectProperty(y)))));if(!this.path.length){debugger;console.warn("There is nothing to watch, do not use one way binding without any binding expression")}}toString(){return this.func.toString()}dispose(){if(!this.path){return}for(const p of this.path){for(const op of p){if(op.watcher){op.watcher.dispose();op.watcher=null;op.target=null}}}this.func=null;this.path=null;this.source=null}init(evaluate){if(evaluate){this.evaluate(true)}else{for(const iterator of this.path){this.evaluatePath(this.target,iterator)}}}evaluatePath(target,path){let newTarget=null;for(const p of path){if(this.source&&p.name==="this"){target=this.source;continue}newTarget=target[p.name];if(!p.target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}else if(p.target!==target){if(p.watcher){p.watcher.dispose()}p.watcher=AtomBinder.watch(target,p.name,this.runEvaluate)}p.target=target;target=newTarget;if(newTarget===undefined||newTarget===null){break}}return newTarget}evaluate(force){if(!this.path){console.warn(`Watcher is not disposed properly, please watch for any memory leak`);return}if(this.isExecuting){return}const disposeWatchers=[];this.isExecuting=true;try{const values=[];const logs=[];for(const p of this.path){values.push(this.evaluatePath(this.target,p))}try{this.func.apply(this.target,values)}catch(e){console.warn(e)}}finally{this.isExecuting=false;for(const d of disposeWatchers){d.dispose()}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Bind");System.register(["tslib","./ExpressionParser","./types"],(function(_export,_context){"use strict";var __awaiter,parsePath,parsePathLists,CancelToken,ignoreValue,Bind,isEvent,bindSymbol;function twoWaysConvert(name,b,control,e,creator){control.bind(e,name,b.thisPathList||b.pathList,b.eventList||true,null,b.thisPathList?creator:undefined)}_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_ExpressionParser){parsePath=_ExpressionParser.parsePath;parsePathLists=_ExpressionParser.parsePathLists},function(_types){CancelToken=_types.CancelToken;ignoreValue=_types.ignoreValue}],execute:function(){isEvent=/^event/i;_export("bindSymbol",bindSymbol=Symbol("Bind"));_export("default",Bind=class Bind{static forControl(){return Bind}static forData(){return Bind}static forViewModel(){return Bind}static forLocalViewModel(){return Bind}static presenter(name){return{[bindSymbol](cn,control,e,creator){if(typeof name==="function"){name(control);return}const n=name||cn;let c=control.element;while(c){if(c.atomControl&&c.atomControl[n]!==undefined){break}c=c._logicalParent||c.parentElement}(c&&c.atomControl||control)[n]=e}}}static event(sourcePath){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{if(isEvent.test(name)){name=name.substring(5);if(name.startsWith("-")){name=name.substring(1).replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}else{name=name[0].toLowerCase()+name.substring(1)}}control.bindEvent(e,name,(e1=>sourcePath(control,e1)))}))}}}static oneTime(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.setLocalValue(e,name,sourcePath(control,e))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneTimeAsync(sourcePath,now){return{[bindSymbol](name,control,e){control.runAfterInit((()=>{control.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const value=yield sourcePath(control,e,new CancelToken);control.setLocalValue(e,name,value)}))))}));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static source(source,path,now){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,false,(()=>path.call(self,self)),self);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static oneWayAsync(sourcePath,{watchDelayInMS=250,default:defaultValue}={}){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){let bindingSource;let finalPathList=pathList;if(combined){bindingSource={t:creator,x:control};finalPathList=combined}else if(thisPathList){finalPathList=thisPathList;bindingSource=creator}const asyncState={token:0,cancelToken:undefined};control.bind(e,name,finalPathList,false,(()=>{var _a;const app=control.app;(_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancel();asyncState.cancelToken=undefined;asyncState.token=app.setTimeoutAsync((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;if((_a=asyncState.cancelToken)===null||_a===void 0?void 0:_a.cancelled){return}asyncState.token=undefined;(_b=asyncState.cancelToken)===null||_b===void 0?void 0:_b.cancel();const ct=asyncState.cancelToken=new CancelToken;const value=yield sourcePath.call(creator,control,e,ct);if(!ct.cancelled){control.setLocalValue(e,name,value)}}))),watchDelayInMS,asyncState.token);return ignoreValue}),bindingSource);if(typeof defaultValue!=="undefined"){control.setLocalValue(e,name,defaultValue)}}}}static oneWay(sourcePath,now){let pathList;let combined;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){combined=lists.combined}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(combined||pathList||thisPathList)){throw new Error(`Failed to setup binding for ${sourcePath}, parsing failed`)}return{[bindSymbol](name,control,e,creator){if(pathList){control.bind(e,name,pathList,false,(()=>sourcePath.call(creator,control,e)));if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}if(combined){const a={t:creator,x:control};control.bind(e,name,combined,false,(()=>sourcePath.call(creator,control,e)),a);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}return}control.bind(e,name,thisPathList,false,(()=>sourcePath.call(creator,control,e)),creator);if(typeof now!=="undefined"){control.setLocalValue(e,name,now)}}}}static twoWays(sourcePath,events,converter){let pathList;let thisPathList;if(Array.isArray(sourcePath)){pathList=sourcePath}else{const lists=parsePathLists(sourcePath);if(lists.combined.length){throw new Error("Cannot have combined binding for two ways")}if(lists.pathList.length){pathList=lists.pathList}if(lists.thisPath.length){thisPathList=lists.thisPath}}if(!(thisPathList||pathList)){throw new Error(`Failed to setup twoWay binding on ${sourcePath}`)}return{[bindSymbol](name,control,e,creator){control.bind(e,name,thisPathList||pathList,events||true,converter,thisPathList?creator:undefined)}}}static sourceTwoWays(source,path,events=["input","cut","paste","change"]){const lists=parsePath(path,false).map((x=>["this",...x]));return{[bindSymbol](name,control,e,creator){const self={control,source};control.bind(e,name,lists,events,lists,self)}}}static twoWaysImmediate(sourcePath,converter){return this.twoWays(sourcePath,["change","input","paste","cut"],converter)}constructor(setupFunction,sourcePath,name,eventList){this.setupFunction=setupFunction;this.name=name;this.eventList=eventList;this.sourcePath=sourcePath;this[bindSymbol]=true;if(!this.sourcePath){return}if(Array.isArray(this.sourcePath)){this.pathList=this.sourcePath}else{const lists=parsePathLists(this.sourcePath);if(lists.combined.length){this.combined=lists.combined}if(lists.pathList.length){this.pathList=lists.pathList}if(lists.thisPath.length){this.thisPathList=lists.thisPath}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/core/AtomUI");System.register([],(function(_export,_context){"use strict";var AncestorEnumerator,ChildEnumerator,AtomUI;function*descendentElementIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextElementSibling;yield pop;if(next){stack.push(next)}const child=pop.firstElementChild;if(child){stack.push(child)}}}function*descendentIterator(e){const stack=[];const start=e;if(start){stack.push(start)}while(stack.length){const pop=stack.pop();const next=pop.nextSibling;yield pop;if(next){stack.push(next)}const child=pop.firstChild;if(child){stack.push(child)}}}_export({AncestorEnumerator:void 0,ChildEnumerator:void 0,descendentElementIterator,descendentIterator,AtomUI:void 0});return{setters:[],execute:function(){_export("AncestorEnumerator",AncestorEnumerator=class AncestorEnumerator{static find(e,filter){let start=e===null||e===void 0?void 0:e.parentElement;while(start){if(filter(start)){return start}start=start.parentElement}}static findSelector(e,selector){let start=e===null||e===void 0?void 0:e.parentElement;while(start){const found=start.matches(selector);if(found){return start}start=start.parentElement}}});_export("ChildEnumerator",ChildEnumerator=class ChildEnumerator{static find(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){return item}item=next}}static*where(e,filter){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;if(filter(item)){yield item}item=next}}static*enumerate(e){let item=e===null||e===void 0?void 0:e.firstElementChild;while(item){const next=item.nextElementSibling;yield item;item=next}}get current(){return this.item}constructor(e){this.e=e}next(){var _a;if(!this.item){this.item=(_a=this.e)===null||_a===void 0?void 0:_a.firstElementChild}else{this.item=this.item.nextElementSibling}return this.item?true:false}});_export("AtomUI",AtomUI=class AtomUI{static outerHeight(el,margin=false){let height=el.offsetHeight;if(!margin){return height}const style=getComputedStyle(el);height+=parseInt(style.marginTop,10)+parseInt(style.marginBottom,10);return height}static outerWidth(el,margin=false){let width=el.offsetWidth;if(!margin){return width}const style=getComputedStyle(el);width+=parseInt(style.marginLeft,10)+parseInt(style.marginRight,10);return width}static innerWidth(el){return el.clientWidth}static innerHeight(el){return el.clientHeight}static scrollTop(el,y){el.scrollTo(0,y)}static screenOffset(e){const r={x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight};if(e.offsetParent){const p=this.screenOffset(e.offsetParent);r.x+=p.x;r.y+=p.y}return r}static parseUrl(url){const r={};const plist=url.split("&");for(const item of plist){const p=item.split("=");const key=decodeURIComponent(p[0]);if(!key){continue}let val=p[1];if(val){val=decodeURIComponent(val)}r[key]=this.parseValue(val)}return r}static parseValue(val){let n;if(/^[0-9]+$/.test(val)){n=parseInt(val,10);if(!isNaN(n)){return n}return val}if(/^[0-9]+\.[0-9]+/gi.test(val)){n=parseFloat(val);if(!isNaN(n)){return n}return val}if(val==="true"){return true}if(val==="false"){return false}return val}static assignID(element){if(!element.id){element.id="__waID"+AtomUI.getNewIndex()}return element.id}static toNumber(text){if(!text){return 0}if(text.constructor===String){return parseFloat(text)}return 0}static getNewIndex(){AtomUI.index=AtomUI.index+1;return AtomUI.index}});AtomUI.index=1001}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Hacks");System.register(["../web/core/AtomUI","./AtomBinder"],(function(_export,_context){"use strict";var ChildEnumerator,AtomBinder,visitDescendents,refreshInherited,watchProperty,setValue;return{setters:[function(_webCoreAtomUI){ChildEnumerator=_webCoreAtomUI.ChildEnumerator},function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){_export("visitDescendents",visitDescendents=(element,action)=>{for(const iterator of ChildEnumerator.enumerate(element)){const eAny=iterator;const ac=eAny?eAny.atomControl:undefined;if(!action(iterator,ac)){continue}visitDescendents(iterator,action)}});_export("refreshInherited",refreshInherited=(target,name,fieldName)=>{AtomBinder.refreshValue(target,name);if(!fieldName){fieldName="m"+name[0].toUpperCase()+name.substr(1)}if(!target.element){return}visitDescendents(target.element,((e,ac)=>{if(ac){if(ac[fieldName]===undefined){refreshInherited(ac,name,fieldName)}return false}return true}))});_export("watchProperty",watchProperty=(element,name,events,f)=>{if(events.indexOf("change")===-1){events.push("change")}const l=e=>{const e1=element;const v=e1.type==="checkbox"?e1.checked:e1.value;f(v)};for(const iterator of events){element.addEventListener(iterator,l,false)}return{dispose:()=>{for(const iterator of events){element.removeEventListener(iterator,l,false)}}}});_export("setValue",setValue=(element,name,value)=>{element[name]=value})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InheritedProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder,cache;function getSymbolKey(name){var _a;return(_a=cache[name])!==null&&_a!==void 0?_a:cache[name]=Symbol(name)}function refreshInherited(ac,key,storageKey){const e=ac.element;if(!e){return}AtomBinder.refreshValue(ac,key);let start=e.firstElementChild;if(!start){return}const stack=[start];while(stack.length){start=stack.pop();while(start){let firstChild=start.firstElementChild;const childControl=start.atomControl;if(childControl){if(childControl[storageKey]===undefined){AtomBinder.refreshValue(childControl,key)}else{firstChild=void 0}}if(firstChild){stack.push(firstChild)}start=start.nextElementSibling}}}function getOwnInheritedProperty(target,key){return target[getSymbolKey(key)]}function InheritedProperty(target,key){const iVal=target[key];const keyName=getSymbolKey(key);target[keyName]=iVal;const getter=function(){let start=this;do{const p=start[keyName];if(typeof p!=="undefined"){return p}if(!start.element){break}start=start.parent}while(start);return undefined};const setter=function(newVal){const oldValue=this[keyName];if(oldValue&&oldValue.dispose){oldValue.dispose()}this[keyName]=newVal;refreshInherited(this,key,keyName)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export({getOwnInheritedProperty,InheritedProperty});return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){cache={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/PropertyMap");System.register(["../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,PropertyMap;_export("PropertyMap",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("PropertyMap",PropertyMap=class PropertyMap{static from(o){const c=Object.getPrototypeOf(o);const key=TypeKey.get(c);const map=PropertyMap.map;const m=map[key]||(map[key]=PropertyMap.createMap(o));return m}static createMap(c){const map={};const nameList=[];while(c){const names=Object.getOwnPropertyNames(c);for(const name of names){if(/hasOwnProperty|constructor|toString|isValid|errors/i.test(name)){continue}map[name]=true;nameList.push(name)}c=Object.getPrototypeOf(c)}const m=new PropertyMap;m.map=map;m.names=nameList;return m}});PropertyMap.map={}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/XNode");System.register(["./Bind"],(function(_export,_context){"use strict";var bindSymbol,RootObject,XNode,xnodeSymbol,isControl,elementFactorySymbol,isFactorySymbol,attachedSymbol,isTemplateSymbol,constructorNeedsArgumentsSymbol,attachedProperties,attachedId,attach;_export("RootObject",void 0);return{setters:[function(_Bind){bindSymbol=_Bind.bindSymbol}],execute:function(){_export("RootObject",RootObject=class RootObject{get vsProps(){return undefined}addEventListener(name,handler){return bridge.addEventHandler(this,name,handler)}appendChild(e){bridge.appendChild(this,e)}dispatchEvent(evt){bridge.dispatchEvent(evt)}});_export("xnodeSymbol",xnodeSymbol=Symbol("XNode"));_export("isControl",isControl=Symbol("isControl"));_export("elementFactorySymbol",elementFactorySymbol=Symbol("elementFactory"));_export("isFactorySymbol",isFactorySymbol=Symbol("isFactory"));_export("attachedSymbol",attachedSymbol=Symbol("attached"));_export("isTemplateSymbol",isTemplateSymbol=Symbol("isTemplate"));_export("constructorNeedsArgumentsSymbol",constructorNeedsArgumentsSymbol=Symbol("constructorNeedsArguments"));_export("attachedProperties",attachedProperties={});attachedId=1;attach=(name,attacher)=>{const key=`:${attachedId++}`;const fx=v=>({[key]:v});attachedProperties[key]=attacher;fx[attachedSymbol]=attacher;fx[isFactorySymbol]=key;return fx};XNode=class XNode{static attach(n,tag){return{factory:(attributes,...nodes)=>new XNode(n,attributes?Object.assign(Object.assign({},attributes),{for:tag}):{for:tag},nodes)}}static prepare(n,isProperty,isTemplate){function px(v){return{[n]:v}}px.factory=(a,...nodes)=>new XNode(n,a,nodes,isProperty,isTemplate);px.toString=()=>n;return px}static getClass(fullTypeName,assemblyName){const n=fullTypeName+";"+assemblyName;const cx=XNode.classes[n]||(XNode.classes[n]=bridge.getClass(fullTypeName,assemblyName,RootObject,((name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate))));return cx}static namespace(ns,assemblyName){return(type,isTemplate)=>c=>{for(const key in c){if(c.hasOwnProperty(key)){const element=c[key];if(element){const n=ns+"."+type+":"+key+";"+assemblyName;const af=a=>{const r={[n]:a};Object.defineProperty(r,"toString",{value:()=>n,enumerable:false,configurable:false});return r};af.factory=(a,...nodes)=>new XNode(n,a,nodes,true,element.isTemplate);af.toString=()=>n;c[key]=af}}}const tn=ns+"."+type+";"+assemblyName;c.factory=(a,...nodes)=>new XNode(tn,a,nodes,false,isTemplate);c.toString=()=>tn}}static create(name,attributes,...children){if(typeof name==="string"){return new XNode(name,attributes,children)}if(name[isFactorySymbol]){return new XNode(name,attributes,children)}if(name.factory){return name.factory(attributes,...children)}switch(typeof name){case"object":name=name.toString();break;case"function":return name(attributes||{},...children)}return new XNode(name,attributes,children)}constructor(name,attributes,children,isProperty,isTemplate){this.name=name;this.attributes=attributes;this.children=children;this.isProperty=isProperty;this.isTemplate=isTemplate;this[xnodeSymbol]=true}toString(){if(typeof this.name==="string"){return`name is of type string and value is ${this.name}`}return`name is of type ${typeof this.name}`}};XNode.isFactory=isFactorySymbol;XNode.elementFactory=elementFactorySymbol;XNode.bindSymbol=bindSymbol;XNode.isTemplate=isTemplateSymbol;XNode.prepareAttached=attach;XNode.constructorNeedsArguments=constructorNeedsArgumentsSymbol;XNode.classes={};XNode.factory=(name,isProperty,isTemplate)=>(a,...nodes)=>new XNode(name,a,nodes,isProperty,isTemplate);_export("default",XNode);if(typeof bridge!=="undefined"){bridge.XNode=XNode}}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomComponent");System.register(["tslib","../App","../core/types","../di/Inject","./AtomDisposableList","./AtomWatcher","./Bind","./Hacks","./InheritedProperty","./PropertyMap","./XNode"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,ArrayHelper,CancelToken,ignoreValue,Inject,AtomDisposableList,AtomWatcher,bindSymbol,visitDescendents,watchProperty,InheritedProperty,PropertyMap,isControl,isFactorySymbol,xnodeSymbol,PropertyBinding,_a,_b,localBindSymbol,localXNodeSymbol,AtomComponent;_export("PropertyBinding",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper;CancelToken=_coreTypes.CancelToken;ignoreValue=_coreTypes.ignoreValue},function(_diInject){Inject=_diInject.Inject},function(_AtomDisposableList){AtomDisposableList=_AtomDisposableList.AtomDisposableList},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher},function(_Bind){bindSymbol=_Bind.bindSymbol},function(_Hacks){visitDescendents=_Hacks.visitDescendents;watchProperty=_Hacks.watchProperty},function(_InheritedProperty){InheritedProperty=_InheritedProperty.InheritedProperty},function(_PropertyMap){PropertyMap=_PropertyMap.PropertyMap},function(_XNode){isControl=_XNode.isControl;isFactorySymbol=_XNode.isFactorySymbol;xnodeSymbol=_XNode.xnodeSymbol}],execute:function(){localBindSymbol=bindSymbol;localXNodeSymbol=xnodeSymbol;_export("AtomComponent",AtomComponent=class AtomComponent{get vsProps(){return undefined}constructor(app,element=null){this.app=app;this.mInvalidated=0;this.mPendingPromises={};this.disposables=new AtomDisposableList;this.bindings=[];this.eventHandlers=[];this.element=element;this.element.atomControl=this;const a=this.beginEdit();this.preCreate();this.create();app.callLater((()=>a.dispose()))}bind(element,name,path,twoWays,valueFunc,source){const binding=new PropertyBinding(this,element,name,path,twoWays,valueFunc,source);this.bindings.push(binding);return{dispose:()=>{binding.dispose();ArrayHelper.remove(this.bindings,(x=>x===binding))}}}unbind(element,name){const toDelete=this.bindings.filter((x=>x.element===element&&(!name||x.name===name)));for(const iterator of toDelete){iterator.dispose();ArrayHelper.remove(this.bindings,(x=>x===iterator))}}bindEvent(element,name,method,key,capture){if(!element){return}if(!method){return}const be={element,name,handler:method};if(key){be.key=key}const handler=e=>{var _c;try{let r=method(e);e.executed=true;if(r){const originalReturn=r;r=r.then?r:Promise.resolve(r);e.promise=e.promise?e.promise.then((()=>r)):r;if(originalReturn.catch){return originalReturn.catch((c=>{var _c;if(CancelToken.isCancelled(c!==null&&c!==void 0?c:"Unknown error")){return}alert((_c=c.stack)!==null&&_c!==void 0?_c:c)}))}return r}}catch(error){if(CancelToken.isCancelled(error)){return}alert((_c=error.stack)!==null&&_c!==void 0?_c:error)}};element.addEventListener(name,handler,capture);be.disposable={dispose:()=>{element.removeEventListener(name,handler,capture);be.disposable.dispose=()=>undefined}};this.eventHandlers.push(be);return{dispose:()=>{be.disposable.dispose();ArrayHelper.remove(this.eventHandlers,(e=>e.disposable===be.disposable))}}}unbindEvent(element,name,method,key){const deleted=[];for(const be of this.eventHandlers){if(element&&be.element!==element){return}if(key&&be.key!==key){return}if(name&&be.name!==name){return}if(method&&be.handler!==method){return}be.disposable.dispose();be.handler=null;be.element=null;be.name=null;be.key=null;deleted.push((()=>this.eventHandlers.remove(be)))}for(const iterator of deleted){iterator()}}hasProperty(name){if(/^(data|viewModel|localViewModel|element)$/.test(name)){return true}const map=PropertyMap.from(this);if(map.map[name]){return true}if(this[name]!==undefined){return true}return false}setPrimitiveValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setPrimitiveValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if(/^(viewModel|localViewModel)$/.test(name)){this[name]=value;return}if((!element||element===this.element)&&this.hasProperty(name)){this.runAfterInit((()=>{this[name]=value}))}else{this.setElementValue(element,name,value)}}setLocalValue(element,name,value){const p=value;if(p&&p.then&&p.catch){console.warn(`Do not bind promises, instead use Bind.oneWayAsync`);this.mPendingPromises[name]=p;p.then((r=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;this.setLocalValue(element,name,r)})).catch((e=>{if(this.mPendingPromises[name]!==p){return}this.mPendingPromises[name]=null;console.error(e)}));return}if((!element||element===this.element)&&Reflect.has(this,name)){this[name]=value}else{this.setElementValue(element,name,value)}}dispose(e){if(this.mInvalidated){clearTimeout(this.mInvalidated);this.mInvalidated=0}visitDescendents(e||this.element,((ex,ac)=>{if(ac){ac.dispose();return false}return true}));if(!e){this.unbindEvent(null,null,null);for(const binding of this.bindings){binding.dispose()}this.bindings.length=0;this.bindings=null;const e1=this.element;if(typeof e1.dispose==="function"){e1.dispose()}this.element=null;const lvm=this.localViewModel;if(lvm&&lvm.dispose){lvm.dispose();this.localViewModel=null}const vm=this.viewModel;if(vm&&vm.dispose){vm.dispose();this.viewModel=null}this.disposables.dispose();this.pendingInits=null}}onPropertyChanged(name){}beginEdit(){this.pendingInits=[];const a=this.pendingInits;return{dispose:()=>{if(this.pendingInits==null){return}this.pendingInits=null;if(a){for(const iterator of a){iterator()}}this.invalidate()}}}invalidate(){if(this.mInvalidated){clearTimeout(this.mInvalidated)}this.mInvalidated=setTimeout((()=>{this.mInvalidated=0;this.app.callLater((()=>{this.onUpdateUI()}))}),5)}onUpdateUI(){}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f)}else{f()}}registerDisposable(d){return this.disposables.add(d)}render(node,e=this.element,creator=this.creator||this){const app=this.app;const attr=node.attributes;if(attr){for(const key in attr){if(attr.hasOwnProperty(key)){const item=attr[key];const isObject=typeof item==="object";if(isObject&&item!==null){const localSymbol=item[localBindSymbol];if(localSymbol){localSymbol(key,this,e,creator);continue}const localXNode=item[localXNodeSymbol];if(localXNode){if(item.isTemplate){this.setLocalValue(e,key,this.toTemplate(app,item,creator));continue}this.setLocalValue(e,key,this.createNode(app,null,item,creator));continue}}this.setLocalValue(e,key,item)}}}const children=node.children;if(children===void 0){return}for(const iterator of children){if(!iterator){continue}if(!iterator[localXNodeSymbol]){e.appendChild(document.createTextNode(iterator.toString()));continue}if(iterator.isProperty){if(iterator.isTemplate){this.setLocalValue(e,iterator.name,this.toTemplate(app,iterator.children[0],creator));continue}this.createNode(app,e,iterator,creator);continue}const t=iterator.attributes&&iterator.attributes.template;if(t){console.warn(`This path is deprecated, check who is calling it.`);this.setLocalValue(e,t,this.toTemplate(app,iterator,creator));continue}this.createNode(app,e,iterator,creator)}}extractControlProperties(x,name="div"){const a=x.attributes;const extracted={};if(typeof x.name==="function"&&this instanceof x.name){x.name=name}if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){if(Reflect.has(this,key)){const element=a[key];extracted[key]=element;delete a[key]}}}}return extracted}create(){}preCreate(){}setElementValue(element,name,value){element[name]=value}resolve(c,selfName){const result=this.app.resolve(c,true);if(selfName){if(typeof selfName==="function"){this.runAfterInit((()=>{const v=selfName();if(v){for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];result[key]=element}}}}))}else{result[selfName]=this}}return result}pushInit(){this.runAfterInit((()=>{var _c,_d,_e;(_e=(_d=(_c=this).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>CancelToken.isCancelled(error)?void 0:console.error(error)))}))}});_a=isControl;_b=isFactorySymbol;AtomComponent[_a]=true;AtomComponent[_b]=true;__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"data",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"viewModel",void 0);__decorate([InheritedProperty,__metadata("design:type",Object)],AtomComponent.prototype,"localViewModel",void 0);_export("AtomComponent",AtomComponent=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App,Object])],AtomComponent));_export("PropertyBinding",PropertyBinding=class PropertyBinding{constructor(target,element,name,path,twoWays,valueFunc,source){this.target=target;this.element=element;this.name=name;this.twoWays=twoWays;this.source=source;this.isTwoWaySetup=false;this.name=name;this.twoWays=twoWays;this.target=target;this.element=element;this.isRunning=false;if(valueFunc){if(typeof valueFunc!=="function"){this.fromSourceToTarget=valueFunc.fromSource;this.fromTargetToSource=valueFunc.fromTarget}else{this.fromSourceToTarget=valueFunc}}this.watcher=new AtomWatcher(target,path,((...v)=>{if(this.isRunning){return}if(this.disposed){return}for(const iterator of v){if(iterator===undefined){return}}const cv=this.fromSourceToTarget?this.fromSourceToTarget.apply(this,v):v[0];if(cv===ignoreValue){return}this.isRunning=true;try{if(this.target instanceof AtomComponent){this.target.setLocalValue(this.element,this.name,cv)}else{this.target[name]=cv}}finally{this.isRunning=false}}),source);this.path=this.watcher.path;if(this.target instanceof AtomComponent){this.target.runAfterInit((()=>{if(!this.watcher){return}this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}))}else{this.watcher.init(true);if(twoWays){this.setupTwoWayBinding()}}}setupTwoWayBinding(){if(this.target instanceof AtomComponent){if(this.element&&(this.element!==this.target.element||!this.target.hasProperty(this.name))){let events=[];if(typeof this.twoWays!=="boolean"){events=this.twoWays}this.twoWaysDisposable=watchProperty(this.element,this.name,events,(v=>{this.setInverseValue(v)}));return}}const watcher=new AtomWatcher(this.target,[[this.name]],((...values)=>{if(this.isTwoWaySetup){this.setInverseValue(values[0])}}));watcher.init(true);this.isTwoWaySetup=true;this.twoWaysDisposable=watcher}setInverseValue(value){if(!this.twoWays){throw new Error("This Binding is not two ways.")}if(this.disposed){return}if(this.isRunning){return}this.isRunning=true;try{const first=this.path[0];const length=first.length;let v=this.target;let i=0;let name;for(i=0;i<length-1;i++){name=first[i].name;if(name==="this"){v=this.source||this.target}else{v=v[name]}if(!v){return}}name=first[i].name;v[name]=this.fromTargetToSource?this.fromTargetToSource.call(this,value):value}finally{this.isRunning=false}}dispose(){var _c;(_c=this.twoWaysDisposable)===null||_c===void 0?void 0:_c.dispose();this.twoWaysDisposable=undefined;this.watcher.dispose();this.disposed=true;this.watcher=null}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/BindableProperty");System.register(["./AtomBinder"],(function(_export,_context){"use strict";var AtomBinder;function BindableProperty(target,key){const iVal=target[key];const keyName="_"+key;target[keyName]=iVal;const getter=function(){return this[keyName]};const setter=function(newVal){const oldValue=this[keyName];if(oldValue===undefined?oldValue===newVal:oldValue==newVal){return}const ce=this;if(ce.onPropertyChanging){ce.onPropertyChanging(key,oldValue,newVal)}this[keyName]=newVal;AtomBinder.refreshValue(this,key)};if(delete target[key]){Object.defineProperty(target,key,{get:getter,set:setter,enumerable:true,configurable:true})}}_export("BindableProperty",BindableProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/EventScope");System.register(["@web-atoms/date-time/dist/DateTime","./types"],(function(_export,_context){"use strict";var DateTime,CancelToken,EventScope,key,id;_export("default",void 0);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){key=DateTime.now.msSinceEpoch;id=1;_export("default",EventScope=class EventScope{static create(){return new EventScope(`eventScopeE${key}${id++}`)}bindEvent(fx){return{[this.eventName]:fx}}constructor(eventType){this.eventType=eventType;this.eventName=`event-${this.eventType}`}subscribe(control,handler){return control.bindEvent(window,this.eventType,handler)}listen(fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};window.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{window.removeEventListener(this.eventType,asyncHandler)}}}listenOn(target,fx){const asyncHandler=ce=>{if(ce.defaultPrevented){return}try{const p=fx(ce);if(p===null||p===void 0?void 0:p.catch){p.catch((r=>{if(CancelToken.isCancelled(r)){return}console.error(r)}))}}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}};target.addEventListener(this.eventType,asyncHandler);return{dispose:()=>{target.removeEventListener(this.eventType,asyncHandler)}}}dispatch(target,detail,{cancelable=true,bubbles=true}={}){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles});target.dispatchEvent(ce);return ce}dispatchEvent(detail,cancelable=true){const ce=new CustomEvent(this.eventType,{detail,cancelable,bubbles:false});window.dispatchEvent(ce);return ce}toString(){return this.eventType}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("StringHelper",void 0);return{setters:[],execute:function(){_export("StringHelper",StringHelper=class StringHelper{static escapeRegExp(text){return text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}static createContainsRegExp(text){return new RegExp(this.escapeRegExp(text),"i")}static createContainsAnyWordRegExp(text){return new RegExp(text.split(/\s+/g).map((x=>`(${this.escapeRegExp(x)})`)).join("|"),"i")}static containsIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsRegExp(test).test(source)}static containsAnyWordIgnoreCase(source,test){if(!source){return false}if(!test){return true}return this.createContainsAnyWordRegExp(test).test(source)}static fromCamelToHyphen(input){return input.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}static fromCamelToUnderscore(input){return input.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}static fromCamelToPascal(input){return input[0].toUpperCase()+input.substr(1)}static fromHyphenToCamel(input){return input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()))}static fromUnderscoreToCamel(input){return input.replace(/\_([a-z])/g,(g=>g[1].toUpperCase()))}static fromPascalToCamel(input){return input[0].toLowerCase()+input.substr(1)}static fromPascalToTitleCase(s){return s.replace(/([A-Z])/gm,((x,g,i)=>i?" "+x:x))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Route");System.register(["./StringHelper"],(function(_export,_context){"use strict";var StringHelper,Variable,Route;_export({Variable:void 0,default:void 0});return{setters:[function(_StringHelper){StringHelper=_StringHelper.StringHelper}],execute:function(){_export("Variable",Variable=class Variable{get regex(){if(this.catchAll){return`(/(?<${this.variable}>.+)?)?`}let r="[^\\/]{1,500}";if(this.parseAsNumber){r="[0-9]{1,500}"}if(this.optional){return`(/(?<${this.variable}>${r}))?`}return`/${StringHelper.escapeRegExp(this.prefix)}(?<${this.variable}>${r})${StringHelper.escapeRegExp(this.suffix)}`}constructor(variable,name){var _a;this.variable=variable;this.name=name;this.prefix="";this.suffix="";this.convert=v=>v;if(variable.startsWith("*")){this.catchAll=true;variable=variable.substring(1)}if(variable.endsWith("?")){this.optional=true;variable=variable.substring(0,variable.length-1)}const index=variable.indexOf(":");if(index!==-1){const parseAs=variable.substring(index+1);variable=variable.substring(0,index);switch(parseAs){case"number":this.parseAsNumber=true;this.convert=v=>{const r=parseFloat(v);if(Number.isNaN(r)){return void 0}return r};break;case"boolean":this.convert=v=>{if(v==="true"){return true}if(v==="false"){return false}};break}}this.variable=variable;(_a=this.name)!==null&&_a!==void 0?_a:this.name=variable}});_export("default",Route=class Route{static encodeUrl(url){return url}static create(route,queries,order=0){if(!route.startsWith("/")){throw new Error("String Route must start with /")}return new Route(route,queries,order)}constructor(route,queries,order=0){this.route=route;this.order=order;this.queries=new Map;this.variables=[];this.substitutions=[];if(queries){for(const iterator of queries){let[name,variable=name]=iterator.split("=");if(variable.startsWith("{")){variable=variable.substring(1,variable.length-1)}this.queries.set(name,variable)}}const tokens=route.substring(1).split(/\//g);let regex="^";this.substitutions.push("/");let catchAll=false;for(const iterator of tokens){if(regex.length>2){this.substitutions.push("/")}const match=/\{(\*?[\p{L}:]{1,50}\??)\}/u.exec(iterator);if(!match){this.substitutions.push(iterator);regex+=StringHelper.escapeRegExp("/");regex+=StringHelper.escapeRegExp(iterator);continue}const start=match.index;const index=match[0].length;const name=match[1];const prefix=iterator.substring(0,start);const suffix=iterator.substring(index+1);const v=new Variable(name);v.prefix=prefix;v.suffix=suffix;regex+=v.regex;this.variables.push(v);this.substitutions.push(v);catchAll||(catchAll=v.catchAll)}if(!catchAll){regex+="\\/?$"}this.regex=new RegExp(regex,"i")}matches(route,q){var _a;const matches=this.regex.exec(route);if((matches===null||matches===void 0?void 0:matches.length)>0){const result={};const{groups}=matches;for(const iterator of this.variables){const v=groups[iterator.variable];if(v!==void 0&&v!==null){const converted=iterator.convert(decodeURIComponent(v));if(converted===void 0){return null}result[iterator.variable]=converted}}if(q){for(let[key,value]of q.entries()){const variable=(_a=this.queries.get(key))!==null&&_a!==void 0?_a:key;result[variable]=value}}return result}return null}substitute(vars){var _a;let result="";for(const iterator of this.substitutions){if(typeof iterator==="string"){result+=iterator;continue}result+=(_a=vars[iterator.variable])!==null&&_a!==void 0?_a:""}if(this.queries.size>0){result+="?";for(const[key,variable]of this.queries.entries()){const value=vars[variable];if(value){result+=`${encodeURIComponent(key)}=${encodeURIComponent(value)}&`}}}return result}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Command");System.register(["tslib","./EventScope","./Route","./types"],(function(_export,_context){"use strict";var __awaiter,EventScope,Route,CancelToken,PageCommands,Command,Commands,routeSymbol,displayRouteSymbol,id,defaultOrSelf;_export({PageCommands:void 0,Commands:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_EventScope){EventScope=_EventScope.default},function(_Route){Route=_Route.default},function(_types){CancelToken=_types.CancelToken}],execute:function(){_export("routeSymbol",routeSymbol=Symbol("routeSymbol"));_export("displayRouteSymbol",displayRouteSymbol=Symbol("displayRouteSymbol"));document.body.addEventListener("click",(ce=>{let target=ce.target;let clickCommand;let commandParameter;while(target){clickCommand=target.getAttribute("data-click-command");const cp=target.commandParameter;if(cp){commandParameter=cp}if(clickCommand){break}target=target.parentElement}if(!clickCommand){return}const cmd=Command.registry.get(clickCommand);if(cmd){cmd.eventScope.dispatch(target,commandParameter)}}));id=1;_export("PageCommands",PageCommands=class PageCommands{});defaultOrSelf=x=>{var _a;return(_a=x===null||x===void 0?void 0:x.default)!==null&&_a!==void 0?_a:x};Command=class Command{static invokeRoute(route=(location.hash.startsWith("#!")?location.hash.substring(2):location.href),forceDisplay=false){let sp;if(/^http(s)?\:\/\//i.test(route)){const url=new URL(route);sp=url.searchParams;route=url.hash.startsWith("#!")?url.hash.substring(2):url.pathname}else{if(route.startsWith("#!")){route=route.substring(2)}}const index=route.indexOf("?");if(index!==-1){sp=new URLSearchParams(route.substring(index+1));route=route.substring(0,index)}else{sp!==null&&sp!==void 0?sp:sp=new URLSearchParams("")}for(const iterator of this.routes){const params=iterator.route.matches(route,sp);if(params){params[routeSymbol]=route;params[displayRouteSymbol]=forceDisplay?sp.size>0?`${route}?${sp.toString()}`:route:"";iterator.dispatch(params,true);return iterator}}}static create({name=`command${id++}`,eventScope=EventScope.create(),route,routeQueries,routeOrder=0,routeDefaults,pageLoader,pageListener,openPage,pushPage,registerOnClick,pushPageForResult,pushPageForResultOrCancel,listener}){let cmd=new Command(name,eventScope,registerOnClick);if(route){if(this.routePrefix){if(!route.startsWith(this.routePrefix)){route=this.routePrefix+route}}cmd=cmd.withRoute(route,routeQueries,routeOrder,routeDefaults)}cmd.listener=listener;if(openPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p):PageCommands.openPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield openPage()),p)}))}if(pushPage){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;const p=(_a=ce.detail)!==null&&_a!==void 0?_a:{};return p.returnResult?PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p):PageCommands.pushPage(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPage()),p)}))}if(pushPageForResult){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;return PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResult()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}))}if(pushPageForResultOrCancel){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){var _a;try{return yield PageCommands.pushPageForResult(pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pushPageForResultOrCancel()),(_a=ce.detail)!==null&&_a!==void 0?_a:{})}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}if(pageLoader){let pageType;cmd.listener=ce=>__awaiter(this,void 0,void 0,(function*(){try{pageType!==null&&pageType!==void 0?pageType:pageType=defaultOrSelf(yield pageLoader());return pageListener(pageType)(ce)}catch(e){if(CancelToken.isCancelled(e)){return}console.error(e)}}))}return cmd}get eventName(){return this.eventScope.eventType}get route(){return this.routeObj}constructor(name=`command${id++}`,eventScope=EventScope.create(),registerOnClick=(p=>({"data-click-command":this.name,commandParameter:p}))){this.name=name;this.eventScope=eventScope;this.registerOnClick=registerOnClick;Command.registry.set(this.name,this)}displayRoute(p,absoluteUrl=false){let route=Route.encodeUrl(this.routeObj.substitute(p));if(absoluteUrl){if(route.startsWith("#!")){route=location.href.split("#")[0]+route}else if(route.startsWith("/")){route=location.protocol+"//"+location.host+route}}return route}withRoute(route,queries,order=0,defaults){this.routeObj=Route.create(route,queries,order);Command.routes.push(this);Command.routes.sort(((a,b)=>a.route.order-b.route.order));this.defaults=defaults;return this}listen(r,handler=this.listener){if(!handler){throw new Error("Handler must be specified...")}const d=this.eventScope.listen((e=>{const ce=e;try{ce.executed=true;ce.promise=handler(e)}catch(error){ce.promise=Promise.reject(error)}r.app.runAsync((()=>ce.promise))}));return r.registerDisposable(d)}dispatch(detail,cancelable){if(this.route){detail=this.updateRoute(detail)}this.eventScope.dispatch(document.body,detail,{cancelable,bubbles:true})}updateRoute(detail){const d=detail!==null&&detail!==void 0?detail:detail={};let r=d[routeSymbol];if(r===null||r===void 0){r=this.route.substitute(d);d[routeSymbol]=r;d[displayRouteSymbol]=r}const{defaults}=this;if(defaults){for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];if(d[key]===void 0){d[key]=element}}}}return detail}dispatchAsync(detail,cancelable){return __awaiter(this,void 0,void 0,(function*(){if(this.route){detail=this.updateRoute(detail)}const ce=new CustomEvent(this.eventScope.eventType,{detail,cancelable});ce.returnResult=true;window.dispatchEvent(ce);if(ce.executed){const promise=ce.promise;if(promise){return yield promise}}}))}};Command.routePrefix="";Command.registry=new Map;Command.routes=[];_export("default",Command);_export("Commands",Commands=class Commands{static install(control){this.app=control.app;for(const key in this){const element=this[key];if(element instanceof Command){element.listen(control)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedString");System.register([],(function(_export,_context){"use strict";var FormattedString;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedString=class FormattedString{constructor(text){this.text=text}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WebImage");System.register([],(function(_export,_context){"use strict";var WebImage;_export("default",void 0);return{setters:[],execute:function(){_export("default",WebImage=class WebImage{constructor(url){this.url=url}toString(){return this.url}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyle");System.register(["../../core/StringHelper"],(function(_export,_context){"use strict";var StringHelper,AtomStyle,emptyPrototype;_export("AtomStyle",void 0);return{setters:[function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper}],execute:function(){emptyPrototype=Object.getPrototypeOf({});_export("AtomStyle",AtomStyle=class AtomStyle{constructor(styleSheet,name){this.styleSheet=styleSheet;this.name=name;this.styleText=null;this.name=this.name+"-root"}getBaseProperty(tc,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(this)}while(true)}build(){if(this.styleText){return}this.styleText=this.createStyleText("",[],this.root).join("\n")}toString(){return this.styleText}createStyleText(name,pairs,styles){const styleList=[];for(const key in styles){if(styles.hasOwnProperty(key)){if(/^(\_\$\_|className$|toString$)/i.test(key)){continue}const element=styles[key];if(element===undefined||element===null){continue}const keyName=StringHelper.fromCamelToHyphen(key);if(key==="subclasses"){const n=name;for(const subclassKey in element){if(element.hasOwnProperty(subclassKey)){const ve=element[subclassKey];pairs=this.createStyleText(`${n}${subclassKey}`,pairs,ve)}}}else{if(element.url){styleList.push(`${keyName}: url(${element})`)}else{styleList.push(`${keyName}: ${element}`)}}}}const cname=StringHelper.fromCamelToHyphen(name);const styleClassName=`${this.name}${cname}`;if(styleList.length){pairs.push(`.${styleClassName} { ${styleList.join(";\r\n")}; }`)}return pairs}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomStyleSheet");System.register(["../../di/TypeKey"],(function(_export,_context){"use strict";var TypeKey,AtomStyleSheet;_export("AtomStyleSheet",void 0);return{setters:[function(_diTypeKey){TypeKey=_diTypeKey.TypeKey}],execute:function(){_export("AtomStyleSheet",AtomStyleSheet=class AtomStyleSheet{constructor(app,name){this.app=app;this.name=name;this.styles={};this.lastUpdateId=0;this.isAttaching=false;this.pushUpdate(0)}getNamedStyle(c){const name=TypeKey.getName(c);return this.createNamedStyle(c,name)}createNamedStyle(c,name,updateTimeout){const style=this.styles[name]=new c(this,`${this.name}-${name}`);style.build();this.pushUpdate(updateTimeout);return style}onPropertyChanging(name,newValue,oldValue){this.pushUpdate()}pushUpdate(delay=1){if(this.isAttaching){return}if(delay===0){this.attach();return}if(this.lastUpdateId){clearTimeout(this.lastUpdateId)}this.lastUpdateId=setTimeout((()=>{this.attach()}),delay)}dispose(){if(this.styleElement){this.styleElement.remove()}}attach(){this.isAttaching=true;const text=[];for(const key in this.styles){if(this.styles.hasOwnProperty(key)){const element=this.styles[key];text.push(element.toString())}}const textContent=text.join("\n");this.app.updateDefaultStyle(textContent);this.isAttaching=false}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomControl");System.register(["tslib","../../core/AtomBinder","../../core/AtomComponent","../../core/BindableProperty","../../core/Command","../../core/FormattedString","../../core/Hacks","../../core/WebImage","../../core/XNode","../../di/TypeKey","../styles/AtomStyle","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,AtomBinder,AtomComponent,BindableProperty,Command,FormattedString,refreshInherited,visitDescendents,WebImage,XNode,isControl,TypeKey,AtomStyle,AtomStyleSheet,AtomControl,isAtomControl,fromHyphenToCamel,defaultStyleSheets,ElementValueSetters,propertyId,getSelection,body,html;function setAttribute(name){return(ctrl,e,value)=>{e.setAttribute(name,value)}}function setEvent(name){return(ctrl,e,value)=>{ctrl.bindEvent(e,name,value)}}function setStyle(name,applyUnit){if(applyUnit){return(ctrl,e,value)=>{if(typeof value==="number"){e.style[name]=value+applyUnit;return}e.style[name]=value}}return(ctrl,e,value)=>{e.style[name]=value}}function disposeChildren(owner,e){if(!e){return}let s=e.firstElementChild;while(s){const c=s;s=s.nextElementSibling;const ac=c.atomControl;if(ac){ac.dispose();c.remove();continue}disposeChildren(owner,c);owner.unbind(c);owner.unbindEvent(c);c.remove()}}_export("AtomControl",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreCommand){Command=_coreCommand.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreHacks){refreshInherited=_coreHacks.refreshInherited;visitDescendents=_coreHacks.visitDescendents},function(_coreWebImage){WebImage=_coreWebImage.default},function(_coreXNode){XNode=_coreXNode.default;isControl=_coreXNode.isControl},function(_diTypeKey){TypeKey=_diTypeKey.TypeKey},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){isAtomControl=isControl;fromHyphenToCamel=input=>input.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));if(typeof bridge!=="undefined"&&bridge.platform){throw new Error("AtomControl of Web should not be used with Xamarin Forms")}defaultStyleSheets={};_export("ElementValueSetters",ElementValueSetters={text(ctrl,e,value){e.textContent=value},["class"](ctrl,e,value){if(typeof value==="string"){e.className=value;return}ctrl.setElementClass(e,value,true)},alt:setAttribute("alt"),title:setAttribute("title"),href:setAttribute("href"),target:setAttribute("target"),style:setAttribute("style"),styleLeft:setStyle("left","px"),styleTop:setStyle("top","px"),styleBottom:setStyle("bottom","px"),styleRight:setStyle("right","px"),styleWidth:setStyle("width","px"),styleHeight:setStyle("height","px"),stylePosition:setStyle("position"),styleFontSize:setStyle("fontSize","px"),styleFontFamily:setStyle("fontFamily"),styleFontWeight:setStyle("fontWeight"),styleBorder:setStyle("border"),styleBorderWidth:setStyle("borderWidth","px"),styleBorderColor:setStyle("borderColor"),styleColor:setStyle("color"),styleBackgroundColor:setStyle("backgroundColor"),dir:setAttribute("dir"),name:setAttribute("name"),tabIndex:setAttribute("tabIndex"),contentEditable:setAttribute("contentEditable"),eventClick:setEvent("click"),eventKeydown:setEvent("keydown"),eventKeyup:setEvent("keyup"),eventKeypress:setEvent("keypress"),eventMousedown:setEvent("mousedown"),eventMouseup:setEvent("mouseup"),eventMousemove:setEvent("mousemove"),src(ctrl,e,value){if(value&&/^http\:/i.test(value)){e.src=value.substring(5);return}e.src=value},styleClass(ctrl,e,value){ctrl.setElementClass(e,value)},styleDisplay(ctrl,e,value){if(typeof value==="boolean"){e.style.display=value?"":"none";return}e.style.display=value},formattedText(ctrl,e,value){if(value instanceof FormattedString){value.applyTo(ctrl.app,e)}else{e.textContent=(value||"").toString()}},disabled(ctrl,e,value){if(value){e.setAttribute("disabled","");return}e.removeAttribute("disabled")},autofocus(ctrl,element,value){ctrl.app.callLater((()=>{const ie=element;if(ie){setTimeout((()=>requestAnimationFrame((()=>ie.focus()))),100)}}))},autocomplete(ctrl,element,value){ctrl.app.callLater((()=>{element.autocomplete=value}))},onCreate(ctrl,element,value){value(ctrl,element)},watch(ctrl,element,value){setTimeout(((c1,e1,v1)=>{e1.dispatchEvent(new CustomEvent("watch",{bubbles:true,cancelable:true,detail:{control:c1,value:v1}}))}),1,ctrl,element,value)},ariaLabel(ctrl,e,value){if(value===null){e.removeAttribute("aria-label");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-label",value)},ariaPlaceholder(ctrl,e,value){if(value===null){e.removeAttribute("aria-placeholder");return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}e.setAttribute("aria-placeholder",value)}});ElementValueSetters["aria-label"]=ElementValueSetters.ariaLabel;ElementValueSetters["aria-placeholder"]=ElementValueSetters.ariaPlaceholder;ElementValueSetters["style-display"]=ElementValueSetters.styleDisplay;ElementValueSetters["style-left"]=ElementValueSetters.styleLeft;ElementValueSetters["style-top"]=ElementValueSetters.styleTop;ElementValueSetters["style-bottom"]=ElementValueSetters.styleBottom;ElementValueSetters["style-right"]=ElementValueSetters.styleRight;ElementValueSetters["style-width"]=ElementValueSetters.styleWidth;ElementValueSetters["style-height"]=ElementValueSetters.styleHeight;ElementValueSetters["style-position"]=ElementValueSetters.stylePosition;ElementValueSetters["style-font-size"]=ElementValueSetters.styleFontSize;ElementValueSetters["style-font-family"]=ElementValueSetters.styleFontFamily;ElementValueSetters["style-font-weight"]=ElementValueSetters.styleFontWeight;ElementValueSetters["style-border"]=ElementValueSetters.styleBorder;ElementValueSetters["style-border-width"]=ElementValueSetters.styleBorderWidth;ElementValueSetters["style-border-color"]=ElementValueSetters.styleBorderColor;ElementValueSetters["style-color"]=ElementValueSetters.styleColor;ElementValueSetters["style-background-color"]=ElementValueSetters.styleBackgroundColor;ElementValueSetters["on-create"]=ElementValueSetters.onCreate;propertyId=1;_export("AtomControl",AtomControl=class AtomControl extends AtomComponent{static from(e1){var _a;let e=e1;while(e){const{atomControl}=e;if(atomControl){return atomControl}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}static registerProperty(attributeName,attributeValue,setter){const setterSymbol=`${attributeName}_${attributeValue}_${propertyId++}`;ElementValueSetters[setterSymbol]=setter;function setterFx(v){return{[setterSymbol]:v}}setterFx.toString=()=>setterSymbol;setterFx.property=setterSymbol;return setterFx}get controlStyle(){if(this.mControlStyle===undefined){const key=TypeKey.getName(this.defaultControlStyle||this.constructor);this.mControlStyle=defaultStyleSheets[key];if(this.mControlStyle){return this.mControlStyle}if(this.defaultControlStyle){this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(this.defaultControlStyle,key))}this.mControlStyle=this.mControlStyle||null}return this.mControlStyle}set controlStyle(v){if(v instanceof AtomStyle){this.mControlStyle=v}else{const key=TypeKey.getName(v);this.mControlStyle=defaultStyleSheets[key]||(defaultStyleSheets[key]=this.theme.createNamedStyle(v,key))}AtomBinder.refreshValue(this,"controlStyle");this.invalidate()}get theme(){return this.mTheme||this.mCachedTheme||(this.mCachedTheme=this.parent?this.parent.theme:this.app.resolve(AtomStyleSheet,false,null))}set theme(v){this.mTheme=v;refreshInherited(this,"theme")}get parent(){let e=this.element._logicalParent||this.element.parentElement;if(!e){return null}while(e){const ac=e.atomControl;if(ac){return ac}e=e._logicalParent||e.parentElement}}get factory(){return AtomControl}constructor(app,e=document.createElement("div")){super(app,e)}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"theme":this.mCachedTheme=null;AtomBinder.refreshValue(this,"style");break;case"renderer":this.rendererChanged();break}}atomParent(e){var _a;while(e){const ac=e.atomControl;if(ac){return ac}e=(_a=e._logicalParent)!==null&&_a!==void 0?_a:e.parentElement}}append(element){if(element instanceof AtomControl){this.element.appendChild(element.element)}else{this.element.appendChild(element)}return this}updateSize(){this.onUpdateSize();visitDescendents(this.element,((e,ac)=>{if(ac){ac.updateSize();return false}return true}))}rendererChanged(){disposeChildren(this,this.element);this.element.innerHTML="";const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){}setElementValue(element,name,value){if(value===undefined){return}const setter=ElementValueSetters[name];if(setter!==void 0){setter(this,element,value);return}if(/^(data|aria)\-/.test(name)){if(value===null){element.removeAttribute(name);return}if(typeof value==="object"){value=JSON.stringify(value)}if(typeof value!=="string"){value=value.toString()}element.setAttribute(name,value);return}if(/^style/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}if(value instanceof WebImage){value=`url(${value})`}element.style[name]=value;return}if(/^event/.test(name)){name=name.substring(5);if(name.startsWith("-")){name=fromHyphenToCamel(name.substring(1))}else{name=name.charAt(0).toLowerCase()+name.substring(1)}this.bindEvent(element,name,value);return}if(name.startsWith("attr-")){if(value===null){element.removeAttribute(name.substring(5));return}element.setAttribute(name.substring(5),value)}else{element[name]=value}}setElementClass(element,value,clear){const s=value;if(s&&typeof s==="object"){if(!s.className){if(clear){let sr="";for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){sr+=sr?" "+key:key}}}element.className=sr;return}for(const key in s){if(s.hasOwnProperty(key)){const sv=s[key];if(sv){if(!element.classList.contains(key)){element.classList.add(key)}}else{if(element.classList.contains(key)){element.classList.remove(key)}}}}return}}const sv1=s?s.className||s.toString():"";element.className=sv1}onUpdateSize(){}removeAllChildren(e){let child=e.firstElementChild;while(child){const c=child;child=child.nextElementSibling;const ac=c;if(ac&&ac.atomControl){ac.atomControl.dispose()}else{this.unbindEvent(child);this.unbind(child)}c.remove()}}createNode(app,e,iterator,creator){const name=iterator.name;const attributes=iterator.attributes;if(typeof name==="string"){const element=document.createElement(name);if(name==="input"){if(!attributes.autocomplete){this.app.callLater((()=>{element.autocomplete="google-stop"}))}}e===null||e===void 0?void 0:e.appendChild(element);this.render(iterator,element,creator);return element}if(name[isAtomControl]){const forName=attributes===null||attributes===void 0?void 0:attributes.for;const ctrl=new name(app,forName?document.createElement(forName):undefined);const element=ctrl.element;e===null||e===void 0?void 0:e.appendChild(element);ctrl.render(iterator,element,creator);return element}throw new Error(`not implemented create for ${iterator.name}`)}toTemplate(app,iterator,creator){var _a;if(iterator.isTemplate){return this.toTemplate(app,iterator.children[0],creator)}const name=iterator.name;if(typeof name==="string"){return class Template extends AtomControl{constructor(a=app,e=document.createElement(name)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}if(name[isAtomControl]){const forName=(_a=name.attributes)===null||_a===void 0?void 0:_a.for;if(forName){return class Template extends name{constructor(a=app,e=document.createElement(forName)){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}return class Template extends name{constructor(a=app,e){super(a,e)}create(){super.create();this.render(iterator,undefined,creator)}}}throw new Error(`Creating template from ${name} not supported`)}dispatchClickEvent(e,data){let clickEvent=data.clickEvent;if(!clickEvent){return}clickEvent=clickEvent.replace(/-([a-z])/g,(g=>g[1].toUpperCase()));const ce=new CustomEvent(clickEvent,{detail:data,bubbles:true,cancelable:true});e.target.dispatchEvent(ce);if(ce.preventClickEvent){e.preventDefault()}}});__decorate([BindableProperty,__metadata("design:type",XNode)],AtomControl.prototype,"renderer",void 0);getSelection=()=>{const sel=window.getSelection();if(sel.rangeCount){var frag=sel.getRangeAt(0).cloneContents();var el=document.createElement("div");el.appendChild(frag);return el.innerHTML}return""};body=document.body;html=body.parentElement;window.addEventListener("click",(e=>{if(e.defaultPrevented){return}if(getSelection()){return}const originalTarget=e.target;let start=originalTarget;if(originalTarget===html){return}let clickEvent;while(start&&start!==body){clickEvent||(clickEvent=start.getAttribute("data-click-event"));if(start.tagName==="A"){if(!clickEvent){return}if(clickEvent==="route"){const{href}=start;if(href){if(Command.invokeRoute(href,true)){e.preventDefault();e.stopImmediatePropagation();e.stopPropagation()}}}e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();break}start=start.parentNode}let control=AtomControl.from(originalTarget);if(control!==void 0){const data=new Proxy(originalTarget,{get(target,p){if(typeof p!=="string"){return}while(target){const value=target.dataset[p];if(value!==void 0){return value}target=target.parentElement}}});control.dispatchClickEvent(e,data)}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/InjectProperty");System.register([],(function(_export,_context){"use strict";function InjectProperty(target,key){Object.defineProperty(target,key,{get:function(){const plist=Reflect.getMetadata("design:type",target,key);const result=this.app.resolve(plist);Object.defineProperty(this,key,{get:()=>result});return result},configurable:true})}_export("default",InjectProperty);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/di/DISingleton");System.register(["./Register","./ServiceCollection"],(function(_export,_context){"use strict";var Register,Scope;function DISingleton(mockOrInject){return target=>{Register({scope:Scope.Global,mockOrInject})(target)}}_export("default",DISingleton);return{setters:[function(_Register){Register=_Register.Register},function(_ServiceCollection){Scope=_ServiceCollection.Scope}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/cloneSource");System.register([],(function(_export,_context){"use strict";var cloneSource;return{setters:[],execute:function(){cloneSource=Symbol("cloneSource");_export("default",cloneSource)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Cloner");System.register(["./cloneSource"],(function(_export,_context){"use strict";var cloneSource,Cloner,PropertyCloner,getKey;_export({Cloner:void 0,PropertyCloner:void 0});return{setters:[function(_cloneSource){cloneSource=_cloneSource.default}],execute:function(){getKey=(target,value)=>{for(const key in target){if(Object.prototype.hasOwnProperty.call(target,key)){const element=target[key];if(element===value){return key}}}};_export("Cloner",Cloner=class Cloner{static copyProperties(src,dest={}){dest[cloneSource]=src;for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const element=src[key];switch(typeof element){case"bigint":case"boolean":case"number":case"string":dest[key]=element;break;case"object":if(element===null){dest[key]=null}if(element instanceof Date){dest[key]=element}break}}}return dest}get copy(){const copy=Cloner.copyProperties(this.item);if(this.path){for(const iterator of this.path){this.clone(this.item,copy,iterator)}}return copy}constructor(item,path){this.item=item;this.path=path;this.$type=item.$type}include(property){const last=[property];return new PropertyCloner(this.item,this.path?[...this.path,last]:[last],last)}clone(src,dest,paths){var _a,_b,_c;if(!paths.length){return dest}const[first,...others]=paths;let p=first(src);if(!p){return dest}const original=p;const name=getKey(src,p);if(Array.isArray(p)){const existing=(_a=dest[name])!==null&&_a!==void 0?_a:dest[name]=[];for(let index=0;index<p.length;index++){const element=p[index];const existingItem=(_b=existing[index])!==null&&_b!==void 0?_b:existing[index]={};Cloner.copyProperties(element,existingItem);this.clone(element,existingItem,others)}return existing}p=Cloner.copyProperties(p,(_c=dest[name])!==null&&_c!==void 0?_c:undefined);dest[name]=p;this.clone(original,p,others);return dest}});_export("PropertyCloner",PropertyCloner=class PropertyCloner extends Cloner{constructor(item,path,propertyPath){super(item,path);this.propertyPath=propertyPath}thenInclude(property){this.propertyPath.push(property);return new PropertyCloner(this.item,this.path,this.propertyPath)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/IEntityModel");System.register([],(function(_export,_context){"use strict";var EntityContext;_export("EntityContext",void 0);return{setters:[],execute:function(){_export("EntityContext",EntityContext=class EntityContext{constructor(models){this.models=models;this.cache=[];for(const iterator of models){this.cache[iterator.name]=iterator}}for(name){return this.cache[name]}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/mergeProperties");System.register(["../models/cloneSource"],(function(_export,_context){"use strict";var cloneSource,isObject;function mergeProperties(src,target,path="0",visited=new Map,merged=new Map){if(visited.has(path)){return}if(merged.has(target)){return}merged.set(target,true);visited.set(path,true);if(Array.isArray(src)){for(let index=0;index<src.length;index++){const srcElement=src[index];const targetElement=target[index];if(isObject(targetElement)){mergeProperties(srcElement,targetElement,`${path}.${index}`,visited,merged);continue}target[index]=targetElement}return}const cloneTarget=target[cloneSource];for(const key in src){if(Object.prototype.hasOwnProperty.call(src,key)){const srcElement=src[key];if(typeof srcElement!=="object"){if(srcElement!==void 0){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}}continue}if(srcElement instanceof Date){target[key]=srcElement;if(cloneTarget){cloneTarget[key]=srcElement}continue}const targetElement=target[key];if(isObject(targetElement)){if(cloneTarget){const cloneTargetElement=cloneTarget[key];if(cloneTargetElement){mergeProperties(srcElement,cloneTargetElement,path+".$"+key,visited,merged)}}mergeProperties(srcElement,targetElement,path+"."+key,visited,merged);continue}if(targetElement===void 0&&srcElement){target[key]=srcElement;continue}target[key]=targetElement;if(cloneTarget&&targetElement!==void 0){cloneTarget[key]=targetElement}}}}_export("default",mergeProperties);return{setters:[function(_modelsCloneSource){cloneSource=_modelsCloneSource.default}],execute:function(){isObject=o=>typeof o==="object"&&o!==null&&!(o instanceof Date)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/StringHelper");System.register([],(function(_export,_context){"use strict";var StringHelper;_export("default",void 0);return{setters:[],execute:function(){_export("default",StringHelper=class StringHelper{static findParameter(f){let text=f.toString();let i=text.indexOf("=>");if(i!==-1){text=text.substring(0,i)}i=text.indexOf("(");if(i===-1){return text}text=text.substring(i+1);i=text.indexOf(")");return text.substring(0,i)}static contains(left,right){if(!left){return!right}return left.toLowerCase().includes(right.toLowerCase())}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");System.register(["tslib","../App"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,App,FetchBuilder,JsonError;_export("default",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_App){App=_App.App}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static url(url){return this.method(url,"GET")}static header(name,value){return new FetchBuilder({headers:{url:"",method:"POST",[name]:value}})}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}log(logger){return this.append({log:logger})}logWhenFailed(logger){return this.append({logError:logger})}get(url){return this.method(url,"GET")}put(url){return this.method(url,"PUT")}post(url){return this.method(url,"POST")}delete(url){return this.method(url,"DELETE")}method(url,method){return this.append({url,method})}signal(signal){if(!signal){return this}return this.append({signal})}cancelToken(ct){if(!ct){return this}const ac=new AbortController;const signal=ac.signal;ct.registerForCancel((()=>ac.abort()));return this.signal(signal)}form(name,value,fileName){var _a;if(value===void 0){return this}const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){if(value===void 0){return this}let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}queries(obj,encode=true,encodeObjectAsJson=true){let url=this.request.url;let prefix=url.indexOf("?")===-1?"?":"&";for(const key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){let value=obj[key];if(value===void 0){continue}if(encodeObjectAsJson){if(typeof value==="object"&&value!==null){value=JSON.stringify(value)}encode=true}if(encode){value=encodeURIComponent(value)}const name=encodeURIComponent(key);url+=`${prefix}${name}=${value}`;prefix="&"}}return this.append({url})}asText(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asTextResponse(ensureSuccess);return result}))}asBlob(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asBlobResponse(ensureSuccess);return result}))}asJson(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){const{result}=yield this.asJsonResponse(ensureSuccess);return result}))}jsonPostProcessor(jsonPostProcessor){return this.append({jsonPostProcessor})}asJsonResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,((x,jsonPostProcessor)=>__awaiter(this,void 0,void 0,(function*(){if(!/json/i.test(x.headers.get("content-type"))){throw new Error(`Failed to parse json from ${this.request.url}\n${yield x.text()}`)}if(jsonPostProcessor){return x.json().then(jsonPostProcessor)}return x.json()}))))}))}asTextResponse(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.text()))}))}asBlobResponse(ensureSuccess=true){return this.execute(ensureSuccess,(x=>x.blob()))}dispatcher(dispatcher){return this.append({dispatcher})}withFetchProxy(fetchProxy){return this.append({fetchProxy})}execute(){return __awaiter(this,arguments,void 0,(function*(ensureSuccess=true,postProcessor){var _a,_b,_c,_e,_f,_g;const env_1={stack:[],error:void 0,hasError:false};try{let{log,logError,hideBusyIndicator}=this.request;const _d=__addDisposableResource(env_1,!hideBusyIndicator?App.current.createBusyIndicator():null,false);try{const{headers,fetchProxy,jsonPostProcessor}=this.request;const r=yield(fetchProxy!==null&&fetchProxy!==void 0?fetchProxy:fetch)(this.request.url,this.request);if(ensureSuccess){if(r.status>300){log=logError;log===null||log===void 0?void 0:log(`fetch: ${(_a=this.request.method)!==null&&_a!==void 0?_a:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}log===null||log===void 0?void 0:log(`${r.status} ${r.statusText||"Http Error"}`);const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();log===null||log===void 0?void 0:log(json);const message=(_f=(_e=(_c=(_b=json.title)!==null&&_b!==void 0?_b:json.detail)!==null&&_c!==void 0?_c:json.message)!==null&&_e!==void 0?_e:json.exceptionMessage)!==null&&_f!==void 0?_f:"Json Server Error";log=null;logError=null;throw new JsonError(message,json)}const text=yield r.text();log===null||log===void 0?void 0:log(text);log=null;logError=null;throw new Error(`Fetch failed with error ${r.status} for ${this.request.url}\n${text}`)}}log===null||log===void 0?void 0:log(`${(_g=this.request.method)!==null&&_g!==void 0?_g:"GET"} ${this.request.url}`);if(log&&headers){for(const key in headers){if(headers.hasOwnProperty(key)){log===null||log===void 0?void 0:log(`${key}: ${headers[key]}`)}}}const result=yield postProcessor(r,jsonPostProcessor);if(log){log(`${r.status} ${r.statusText||"OK"}`);log(result)}return{result,headers:r.headers,status:r.status}}catch(error){log===null||log===void 0?void 0:log(error);throw error}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}append(r){let{url}=this.request;const{url:newUrl}=r;if(newUrl){if(!url){url=newUrl}else{if(/^https?\:\/\//i.test(newUrl)){url=newUrl}else{let fullUrl=url;if(!/^https?\:\/\//i.test(url)){fullUrl=new URL(url,location.href).toString()}url=new URL(newUrl,fullUrl).toString()}}}return new FetchBuilder(Object.assign(Object.assign(Object.assign({},this.request),r),{url}))}});JsonError=class JsonError extends Error{constructor(message,json){super(message);this.json=json}};FetchBuilder.JsonError=JsonError}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/Query");System.register(["tslib","./StringHelper","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,StringHelper,FetchBuilder,QueryComposer,Query,replacer,convertToLinq;function append(original,...item){if(original){return[...original,...item]}return[...item]}_export({append,QueryComposer:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_StringHelper){StringHelper=_StringHelper.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){replacer=/(===)|(!==)|(\(\s*\{)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\s*\:\s*\{?)/g;_export("convertToLinq",convertToLinq=x=>{x=x.replace("\n"," ");x=x.replace(/(\s+)|((CastAs|EF)\_[0-9]\.default\.)/g,((s,first,second)=>{if(s===first){return" "}if(s.startsWith("EF")){return"EF."}if(s.startsWith("CastAs")){return"CastAs."}return s}));replacer.lastIndex=0;x=x.replace(replacer,(s=>{switch(s){case"===":return"==";case"!==":return"!=";case"({":return"( new {";case".some":return".Any";case".map":return".Select";case".filter":return".Where";case".find":return".FirstOrDefault";case".includes":return".Contains";case".count":return".Count"}if(s.endsWith("{")){const index=s.indexOf(":");const v=s.substring(0,index)+" = new {";return v}const trimmed=s.trim();if(trimmed.endsWith(":")){return trimmed.substring(0,trimmed.length-1)+" = "}if(s.startsWith(".")&&s.length>2){return s[0]+s[1].toUpperCase()+s.substring(2)}return s}));return x});_export("QueryComposer",QueryComposer=class QueryComposer{constructor(separator=" || "){this.separator=separator;this.query="p => x => ";this.parameters={};this.index=0}add(p,q){if(this.index){this.query+=this.separator}const suffix=`_${this.index++}`;let text=q.toString();const pfn=StringHelper.findParameter(text).trim();text=text.substring(text.indexOf("=>")+2);const xfn=StringHelper.findParameter(text).trim();const target=this.parameters;for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const name=`${key}${suffix}`;target[name]=element;text=text.split(`${pfn}.${key}`).join(`p.${name}`);text=text.split(`${xfn}.`).join(`x.`)}}text=text.substring(text.indexOf("=>")+2);this.query+=text}asQuery(){return[this.parameters,this.query]}});_export("default",Query=class Query{constructor(context,methods=[]){this.context=context;this.methods=methods;if(!methods){throw new Error("Methods cannot be empty")}}where(tOrP,q){return this.process("where",tOrP,q)}union(tOrP,q){return this.process("union",tOrP,q)}joinDateRange(start,end,step){return this.append(["joinDateRange","@0,@1,@2",start,end,step])}selectWith(model,tOrP,q){const nq=this.append(["selectWith",model.name]);return nq.process("select",tOrP,q)}select(tOrP,q){return this.process("select",tOrP,q)}whereLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["where",filters,...params])}selectLinq(query,...args){let filters="";const params=[];for(let index=0;index<args.length;index++){const element=args[index];const raw=query.raw[index];if(raw){filters+=raw}const pi=`@${index}`;filters+=pi;params.push(element)}const last=query.raw[args.length];if(last){filters+=last}return this.append(["select",filters,...params])}join(model,left,right){return this.append(["join",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}leftJoin(model,left,right){return this.append(["leftJoin",model.name,this.convertToLinq(left.toString()),this.convertToLinq(right.toString())])}include(tOrP,...q){if(typeof tOrP==="string"){return this.append(["include",tOrP],...q.map((s=>["include",s])))}const select=this.convertToLinq(tOrP.toString());return this.append(["include",select])}firstOrDefault(){return __awaiter(this,arguments,void 0,(function*(p={}){const lp=p;lp.size=1;lp.start=0;lp.count=false;const list=yield this.toPagedList(lp);return list.items[0]}))}orderBy(tOrP,q){return this.process("orderBy",tOrP,q)}orderByDescending(tOrP,q){return this.process("orderByDescending",tOrP,q)}thenBy(tOrP,q){return this.process("thenBy",tOrP,q)}thenByDescending(tOrP,q){return this.process("thenByDescending",tOrP,q)}trace(){this.context.traceQuery=true;return this}toArray(){return __awaiter(this,arguments,void 0,(function*({cancelToken,doNotResolve,hideActivityIndicator,cacheSeconds,cacheVersion}={}){const r=yield this.toPagedList({size:-1,count:false,cacheSeconds,cancelToken,doNotResolve,hideActivityIndicator,cacheVersion});return r.items}))}toPagedList(){return __awaiter(this,arguments,void 0,(function*({start=0,size=100,cancelToken,cacheVersion="1",hideActivityIndicator,splitInclude=false,cacheSeconds=0,cacheImmutable=cacheSeconds>0,count=true}={}){const env_1={stack:[],error:void 0,hasError:false};try{let url;const{traceQuery,name,service,queryFunction,entityKey,navigation,args}=this.context;const busy=__addDisposableResource(env_1,service.createBusyIndicator(hideActivityIndicator),false);const trace=traceQuery;const methods=JSON.stringify(this.methods);const fm=new URLSearchParams;fm.append("methods",methods);if(start){fm.append("start",start.toString())}if(size){fm.append("size",size.toString())}fm.append("count",count.toString());if(trace){fm.append("trace",trace?"true":"false")}if(queryFunction){fm.append("function",queryFunction);fm.append("args",JSON.stringify(args!==null&&args!==void 0?args:"[]"))}if(entityKey){fm.append("entityKey",entityKey)}if(navigation){fm.append("navigation",navigation)}const encodedMethods=fm.toString();let result;if(encodedMethods.length>1824){if(cacheSeconds>0){throw new Error("Generated query too big for caching")}url=`${service.url}methods/${name}`;result=yield FetchBuilder.post(url).cancelToken(cancelToken).jsonBody({methods:this.methods,start,size,split:splitInclude,count,navigation,trace,function:queryFunction||void 0,args:queryFunction?args:void 0,entityKey:entityKey!==null&&entityKey!==void 0?entityKey:void 0}).asJson();result=service.resultConverter(result);return result}if(cacheSeconds>0){fm.append("cache",cacheSeconds.toString());fm.append("cv",cacheVersion);if(!cacheImmutable){fm.append("cacheImmutable","false")}}else{}url=`${service.url}query/${name}?${fm.toString()}`;result=yield FetchBuilder.get(url).cancelToken(cancelToken).asJson();return service.resultConverter(result)}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}thenInclude(a){const select=this.convertToLinq(a.toString());return this.append(["thenInclude",select])}append(...methods){return new Query(this.context,[...this.methods,...methods])}process(name,tOrP,q){if(!q){const select=this.convertToLinq(tOrP.toString());return this.append([name,select])}const pl=[];let i=0;const p=tOrP;let text=q(p).toString();const pfn=StringHelper.findParameter(q.toString()).trim();for(const key in p){if(Object.prototype.hasOwnProperty.call(p,key)){const element=p[key];const pn=`@${i++}`;text=text.split(`${pfn}.${key}`).join(pn);pl.push(element)}}text=this.convertToLinq(text);return this.append([name,text,...pl])}convertToLinq(text){if(this.context.service.queryProcessor==="DotNet"||this.context.queryProcessor==="DotNet"){return convertToLinq(text)}return text.replace(/\s+/g," ")}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/resolve");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,dateFormatISORegEx;function resolve(target){const cache=[];function map(t){if(typeof t!=="object"){return t}if(Array.isArray(t)){return t.map(map)}const{$id,$ref}=t;if($ref){t=cache[$ref];return t}if($id){t.$deleted=false;cache[$id]=t}for(const key in t){if(Object.prototype.hasOwnProperty.call(t,key)){let element=t[key];switch(typeof element){case"object":if(!element){continue}element=map(element);t[key]=element;continue;case"string":if(dateFormatISORegEx.test(element)){t[key]=new DateTime(element)}}}}return t}target=map(target);return target}_export("default",resolve);return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/)}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");System.register([],(function(_export,_context){"use strict";var Queue;_export("default",void 0);return{setters:[],execute:function(){_export("default",Queue=class Queue{constructor(){this.head=0;this.tail=0;this.store=new Map}peek(){return this.store.get(this.head)}enqueue(item){this.store.set(this.tail,item);this.tail++}dequeue(){const{head,tail}=this;const size=tail-head;if(size<=0){return void 0}const item=this.store.get(head);this.store.delete(head);this.head++;if(this.head===this.tail){this.head=0;this.tail=0}return item}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");System.register(["tslib","./Queue"],(function(_export,_context){"use strict";var __awaiter,Queue,TaskManager,sleep;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_Queue){Queue=_Queue.default}],execute:function(){sleep=n=>new Promise((r=>setTimeout(r,n)));_export("default",TaskManager=class TaskManager{constructor(){this.rateLimit=10;this.running=new Set;this.waiting=new Queue}queueRun(fx){const pr=new Promise(((resolve,reject)=>{this.waiting.enqueue({resolve,reject,fx})}));pr.catch((error=>console.error(error)));this.processQueue();return pr}processQueue(){for(;;){if(this.running.size>=this.rateLimit){return}const t=this.waiting.dequeue();if(!t){return}const{fx,resolve,reject}=t;this.running.add(fx);fx().then((r=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);resolve(r)}),(e=>{this.running.delete(fx);setTimeout((()=>this.processQueue()),1);reject(e)}))}}runAfterEnd(fx){(()=>__awaiter(this,void 0,void 0,(function*(){for(;;){yield sleep(100);if(this.running.size>0){continue}yield sleep(10);if(this.running.size>0){continue}break}fx()})))().catch(console.error)}})}}}));AmdLoader.instance.setup("@web-atoms/entity/dist/services/BaseEntityService");System.register(["tslib","../models/Cloner","../models/IEntityModel","./mergeProperties","./Query","./resolve","../models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,Cloner,EntityContext,mergeProperties,Query,resolve,TaskManager,FetchBuilder,DefaultFactory,Model,BaseEntityService,_a,_b,_c,_d,ArrayPrototype,orderBy,orderByDescending;_export({DefaultFactory:void 0,Model:void 0,default:void 0});return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources},function(_modelsCloner){Cloner=_modelsCloner.Cloner},function(_modelsIEntityModel){EntityContext=_modelsIEntityModel.EntityContext},function(_mergeProperties){mergeProperties=_mergeProperties.default},function(_Query){Query=_Query.default},function(_resolve){resolve=_resolve.default},function(_modelsTaskManager){TaskManager=_modelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");ArrayPrototype=Array.prototype;orderBy=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return ak.toLowerCase().localeCompare(bk.toLowerCase())}return ak-bk}))};orderByDescending=function(f){return[].concat(this).sort(((a,b)=>{const ak=f(a);const bk=f(b);if(typeof ak==="string"){return bk.toLowerCase().localeCompare(ak.toLowerCase())}return bk-ak}))};Object.defineProperties(ArrayPrototype,{where:{enumerable:false,value:ArrayPrototype.filter,configurable:true},any:{enumerable:false,value:ArrayPrototype.some,configurable:true},select:{enumerable:false,value:ArrayPrototype.map,configurable:true},selectMany:{enumerable:false,value(x){const r=[];for(const iterator of this){const items=x(iterator);if(Array.isArray(items)){r.push(...items)}}return r},configurable:true},firstOrDefault:{enumerable:false,value(f){if(f){return ArrayPrototype.find.apply(this,arguments)}return this[0]},configurable:true},sum:{enumerable:false,value(f){var _a;let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n},configurable:true},average:{enumerable:false,value(f){var _a;if(this.length===0){return 0}let n=0;for(const iterator of this){n+=(_a=f(iterator))!==null&&_a!==void 0?_a:0}return n/this.length},configurable:true},orderBy:{enumerable:false,value:orderBy,configurable:true},thenBy:{enumerable:false,value:orderBy,configurable:false},orderByDescending:{enumerable:false,value:orderByDescending,configurable:true},thenByDescending:{enumerable:false,value:orderByDescending,configurable:false},count:{enumerable:false,value(f){if(!f){return this.length}let length=0;for(const iterator of this){if(f(iterator)){length++}}return length},configurable:false}});_export("DefaultFactory",DefaultFactory=class DefaultFactory{constructor(factory){this.factory=factory}});_export("Model",Model=class Model{constructor(name,keys=[],defaults=null,schema=null){this.name=name;this.keys=keys;this.schema=schema;if(defaults){this.defaults=[];for(const key in defaults){if(Object.prototype.hasOwnProperty.call(defaults,key)){const element=defaults[key];this.defaults.push([key,element])}}}}create(properties={}){properties.$type=this.name;if(this.defaults){for(const[key,value]of this.defaults){if(properties[key]===void 0){if(value instanceof DefaultFactory){properties[key]=value.factory()}else{properties[key]=value}}}}return properties}patch(original,updates){for(const iterator of this.keys){const originalKey=original[iterator];const updatedKey=updates[iterator];if(updatedKey&&updatedKey!==originalKey){throw new Error(`Cannot update ${iterator} as it is the primary key`)}updates[iterator]=originalKey}return Object.assign({$type:this.name},updates)}});_export("default",BaseEntityService=class BaseEntityService extends TaskManager{constructor(){super(...arguments);this.url="/api/entity/";this.resultConverter=resolve}cloner(item){return new Cloner(item)}model(){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{if(this.entityModel){return this.entityModel}const busy=__addDisposableResource(env_1,this.createBusyIndicator(false),false);const c=yield FetchBuilder.get(`${this.url}model`).asJson();this.entityModel=new EntityContext(c);return this.entityModel}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}dateRange(start,end,step){return new Query({service:this,name:"NeuroSpeech.EntityAccessControl.DateRange",traceQuery:false},[["dateRange","@0,@1,@2",start,end,step]])}query(m,queryFunction,...args){return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,args})}queryNavigation(entity,navigation){const name=entity.$type;const{$key}=entity;return new Query({service:this,name,entityKey:$key,navigation})}queryEntity(m,entity,queryFunction,...args){let entityKey;const{$key}=entity;if(!$key){throw new Error(`Entity does not contain public/private key`)}entityKey=$key;return new Query({service:this,name:m.name,queryProcessor:this.queryProcessor,queryFunction,entityKey,args})}as(){return this}delete(body){return __awaiter(this,void 0,void 0,(function*(){const env_2={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_2,this.createBusyIndicator(false),false);const url=this.url;return yield FetchBuilder.delete(url).jsonBody(body).asJson()}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}insert(body){return __awaiter(this,void 0,void 0,(function*(){const env_3={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_3,this.createBusyIndicator(false),false);const url=this.url;const result=yield FetchBuilder.put(url).jsonBody(body).asJson();return this.resultConverter(result)}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}invoke(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_4={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_4,this.createBusyIndicator(false),false);const{$type,$key:key}=argEntity;let keys=void 0;if(!key){keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}}const result=yield FetchBuilder.post(`${this.url}invoke/${$type}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({key,keys,args}).asJson();return this.resultConverter(result)}catch(e_4){env_4.error=e_4;env_4.hasError=true}finally{__disposeResources(env_4)}}))}buildRunUrl(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const{$type,$key}=argEntity;if(!$key){throw new Error(`Run requires encrypted $key`)}const usp=new URLSearchParams;usp.append("key",$key);if(args){usp.append("args",JSON.stringify(args))}if(cacheSeconds){usp.append("cache",cacheSeconds.toString())}if(cacheVersion){usp.append("cv",cacheVersion)}return`${this.url}run/${$type}/${method}?${usp.toString()}`}run(m,method,argEntity,{args=void 0,cacheSeconds=0,cacheVersion=void 0}={}){const url=this.buildRunUrl(m,method,argEntity,{args,cacheSeconds,cacheVersion});return FetchBuilder.get(url).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonPostProcessor(this.resultConverter)}runFiltered(m,method,argEntity,...args){return __awaiter(this,void 0,void 0,(function*(){const env_5={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_5,this.createBusyIndicator(false),false);const keys={};for(const key of m.schema.keys){keys[key.name]=argEntity[key.name]}return FetchBuilder.post(`${this.url}run/${m.name}/${method}`).withFetchProxy(((r,i)=>this.queueRun((()=>fetch(r,i))))).jsonBody({keys,args}).jsonPostProcessor(this.resultConverter)}catch(e_5){env_5.error=e_5;env_5.hasError=true}finally{__disposeResources(env_5)}}))}save(body,cloner,trace){return __awaiter(this,void 0,void 0,(function*(){const env_6={stack:[],error:void 0,hasError:false};try{if(Array.isArray(body)&&body.length===0){return body}const _busy=__addDisposableResource(env_6,this.createBusyIndicator(false),false);let url=this.url;if(body instanceof Cloner){body=body.copy}if(trace){const hasQuery=url.includes("?");if(hasQuery){url=url+="&trace=true"}else{url=url+="?trace=true"}}if(cloner){if(Array.isArray(body)){body=body.map((x=>cloner(new Cloner(x)).copy))}else{const c=cloner(new Cloner(body));body=c.copy}}let result=yield FetchBuilder.post(url).jsonBody(body).asJson();result=this.resultConverter(result);mergeProperties(result,body);return body}catch(e_6){env_6.error=e_6;env_6.hasError=true}finally{__disposeResources(env_6)}}))}update(e,update){return __awaiter(this,void 0,void 0,(function*(){yield this.bulkUpdate([e],update);for(const key in update){if(Object.prototype.hasOwnProperty.call(update,key)){const element=update[key];e[key]=element}}return e}))}bulkUpdate(entities_1,update_1){return __awaiter(this,arguments,void 0,(function*(entities,update,throwWhenNotFound=false){const env_7={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_7,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const body={keys,update,throwWhenNotFound};const url=`${this.url}bulk`;let results=yield FetchBuilder.post(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_7){env_7.error=e_7;env_7.hasError=true}finally{__disposeResources(env_7)}}))}bulkDelete(entities_1){return __awaiter(this,arguments,void 0,(function*(entities,throwWhenNotFound=false){const env_8={stack:[],error:void 0,hasError:false};try{const model=yield this.model();const busy=__addDisposableResource(env_8,this.createBusyIndicator(false),false);const keys=[];for(const iterator of entities){const entityType=model.for(iterator.$type);const key={$type:iterator.$type};for(const{name}of entityType.keys){key[name]=iterator[name]}keys.push(key)}const url=`${this.url}bulk`;const body={keys,throwWhenNotFound};let results=yield FetchBuilder.delete(url).jsonBody(body).asJson();results=this.resultConverter(results);return results}catch(e_8){env_8.error=e_8;env_8.hasError=true}finally{__disposeResources(env_8)}}))}createBusyIndicator(hideActivityIndicator=false){return{[Symbol.dispose](){}}}});delete BaseEntityService.prototype.createBusyIndicator}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["../styles/app/busy-progress-control.local.css"],(function(_export,_context){"use strict";var BusyProgress,container,stack;_export("default",void 0);return{setters:[function(_stylesAppBusyProgressControlLocalCss){}],execute:function(){stack=0;_export("default",BusyProgress=class BusyProgress{static install(app){app.createBusyIndicator=()=>this.create()}static create(){if(!container){container=document.createElement("div");container.className="busy-progress-control";const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{[Symbol.dispose](){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");System.register([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","./BusyProgress","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,DISingleton,BaseEntityService,BusyProgress,apiPath,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_BusyProgress){BusyProgress=_BusyProgress.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/social-mail/api/entity/")}postPageReady(){setTimeout((()=>this.runAfterEnd((()=>window.pageReady=true))),100)}createBusyIndicator(hideActivityIndicator){if(hideActivityIndicator){return{[Symbol.dispose](){}}}return BusyProgress.create()}};EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,AppPassword,WebHookEventTypeArray,WebHookHttpVerbArray,WebHook,WebHookEvent,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,HostedZone,HostedZoneRecordTypeArray,HostedZoneRecord,HostedZoneUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,MailboxSubscriptionTypeArray,Mailbox,ChannelEmail,GeoIPBlock,MailboxContactStatusArray,MailboxContactSubscriptionTypeArray,MailboxContact,MailboxContactEvent,MailboxFolder,MailboxContactEmail,MailboxContactTag,MailboxTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,NameToken,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,StoreConfig,StoreItemItemTypeArray,StoreItemItemUnitTypeArray,StoreItem,StoreCouponTypeArray,StoreCoupon,StoreJournalCoupon,StoreItemFolder,StoreItemFolderTag,StoreItemPrice,StorePaymentAttempt,StoreMediaFile,StoreInsight,StoreAccount,StoreAccountAddress,StoreAccountEmail,StoreAccountPhone,StorePaymentGatewayPaymentGatewayArray,StorePaymentGateway,StoreJournalJournalTypeArray,StoreJournalStatusArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTax,StoreTag,StoreItemTag,UserStatusArray,User,UserGroupMember,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSite,WebSiteHost,WebSiteVersion,WebSiteChannelDomain,WebSiteChannel,WebSiteTag,LoginSessionDeviceTokenTypeArray,LoginSession,TextDocument,IncomingSmsSource,VerificationTokenTypeArray,VerificationToken,VerificationTokenAddress,EmailAddressName,ThreadParticipant,Tag,AppTempFile,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string",dataType:"Char",length:100}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentDisposition",type:"string",dataType:"AsciiChar",length:10,default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",dataType:"Char",default:["contentID",'""']},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"creatorID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",dataType:"Boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",dataType:"Int",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSite"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSite"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],queries:{storeItemFiles:"external",channelPostFiles:"external",channelEmailFiles:"external",channelFiles:"external",children:"external",templateSnapshot:"external"}}));modelEntitySchemas["AppFile"]=AppFile;_export("AppPassword",AppPassword=new Model("AppPassword",["userID","name"],{passwordHash:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_passwords",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400}],properties:[{name:"passwordHash",type:"string",dataType:"Char",length:200,default:["passwordHash",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppPassword"]=AppPassword;_export("WebHookEventTypeArray",WebHookEventTypeArray=[{label:"email-received",value:"email-received"},{label:"order-paid",value:"order-paid"}]);_export("WebHookHttpVerbArray",WebHookHttpVerbArray=[{label:"POST",value:"POST"},{label:"GET",value:"GET"}]);_export("WebHook",WebHook=new Model("WebHook",["webHookID"],{eventType:"email-received",name:"",url:"",httpVerb:"POST",lastEvent:""},{name:"web_hooks",keys:[{name:"webHookID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"eventType",type:"string",dataType:"Char",length:50,default:["eventType",'"email-received"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"httpVerb",type:"string",dataType:"Char",length:20,default:["httpVerb",'"POST"']},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"lastEvent",type:"string",dataType:"Char",length:50,default:["lastEvent",'""']},{name:"lastEventTime",type:"DateTime",dataType:"DateTime",default:["lastEventTime","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"events",isCollection:true,isInverse:true,relatedName:"WebHookEvent"}]}));modelEntitySchemas["WebHook"]=WebHook;_export("WebHookEvent",WebHookEvent=new Model("WebHookEvent",["webHookEventID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"web_hook_events",keys:[{name:"webHookEventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"webHookID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"number",dataType:"Int",default:["status","0"]},{name:"response",type:"string",dataType:"Char",length:400,default:["response",'""']},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"webHook",fkMap:[{fk:"webHookID",relatedKey:"webHookID"}],relatedName:"WebHook"}]}));modelEntitySchemas["WebHookEvent"]=WebHookEvent;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"secret",type:"string",dataType:"Char",length:400,default:["secret",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",dataType:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"lastUsed",type:"DateTime",dataType:"DateTime",default:["lastUsed","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"sessionID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"folderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["fileID","userID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"app_file_access",keys:[{name:"fileID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:10}],properties:[{name:"accessCode",type:"string",dataType:"Char",length:200,default:["accessCode",'""']},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contentHash",type:"string",dataType:"AsciiChar",length:200,default:["contentHash",'""']},{name:"cloudPath",type:"string",dataType:"Char",length:450,default:["cloudPath",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"contentSize",type:"number",dataType:"BigInt",default:["contentSize","0"]},{name:"compression",type:"string",dataType:"Char",length:10,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number",dataType:"BigInt",default:["textDocumentID","0"]},{name:"deleted",type:"boolean",dataType:"Boolean",default:["deleted","false"]}],relations:[{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"textDocument",isCollection:false,isInverse:true,relatedName:"TextDocument"},{name:"tempFiles",isCollection:true,isInverse:true,relatedName:"AppTempFile"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string",dataType:"Char",length:200}],properties:[{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",length:200,default:["description",'""']},{name:"companyID",type:"string",dataType:"Char",length:200,default:["companyID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"synchronization",type:"string",dataType:"Char",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number",dataType:"BigInt"},{name:"billingAddressID",type:"number",dataType:"BigInt"},{name:"shippingAddressID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:50}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"Char",length:200,default:["type",'""']},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"valuesJson",type:"string",dataType:"Char",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"contactID",type:"number",dataType:"BigInt"}],properties:[{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"contactID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID"],{keyHash:"",key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"keyHash",type:"string",dataType:"Char",length:450,default:["keyHash",'""']},{name:"key",type:"string",dataType:"Char",default:["key",'""']},{name:"expiry",type:"DateTime",dataType:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",dataType:"Boolean",default:["ready","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"slide",type:"boolean",dataType:"Boolean",default:["slide","false"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"received",type:"number",dataType:"Int",default:["received","0"]},{name:"failed",type:"number",dataType:"Int",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"hostedZone",isCollection:false,isInverse:true,relatedName:"HostedZone"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}],queries:{forSignup:"external"}}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,maxSendPerSecond:0,allowSignup:false},{name:"hosted_domains",keys:[{name:"domainID",type:"number",dataType:"BigInt"}],properties:[{name:"enableReceive",type:"boolean",dataType:"Boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",dataType:"Boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",dataType:"Boolean",default:["useRelay","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"allowSignup",type:"boolean",dataType:"Boolean",default:["allowSignup","false"]},{name:"aliasForName",type:"string",dataType:"Char",length:200}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteChannelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"}],queries:{hosted:"external"},actions:{deleteDomain:"external"}}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[{name:"prefix",type:"string",dataType:"Char",length:20,default:["prefix",'""']},{name:"isAdmin",type:"boolean",dataType:"Boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",dataType:"Boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_export("HostedZone",HostedZone=new Model("HostedZone",["zoneID"],{dnsHosted:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"hosted_zones",keys:[{name:"zoneID",type:"number",dataType:"BigInt"}],properties:[{name:"dnsHosted",type:"boolean",dataType:"Boolean",default:["dnsHosted","false"]},{name:"unsigned",type:"string",dataType:"Char",default:["unsigned",'""']},{name:"digest",type:"string",dataType:"Char",default:["digest",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"dateSigned",type:"DateTime",dataType:"DateTime",default:["dateSigned","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"domain",fkMap:[{fk:"zoneID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"records",isCollection:true,isInverse:true,relatedName:"HostedZoneRecord"},{name:"users",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"}],actions:{updateHosting:"external"}}));modelEntitySchemas["HostedZone"]=HostedZone;_export("HostedZoneRecordTypeArray",HostedZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("HostedZoneRecord",HostedZoneRecord=new Model("HostedZoneRecord",["recordID"],{disabled:false,readonly:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"hosted_zone_records",keys:[{name:"recordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"disabled",type:"boolean",dataType:"Boolean",default:["disabled","false"]},{name:"readonly",type:"boolean",dataType:"Boolean",default:["readonly","false"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"type",type:"Object",dataType:"Char",length:15,default:["type",'"A"']},{name:"isAlias",type:"boolean",dataType:"Boolean",default:["isAlias","false"]},{name:"value",type:"string",dataType:"Char",default:["value",'""']},{name:"ttl",type:"number",dataType:"Int",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']},{name:"expiryDate",type:"DateTime",dataType:"DateTimeOffset",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"hosted",type:"boolean",dataType:"Boolean",default:["hosted","false"]},{name:"fqdn",type:"string",dataType:"Char",default:["fqdn",'""']}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"}]}));modelEntitySchemas["HostedZoneRecord"]=HostedZoneRecord;_export("HostedZoneUser",HostedZoneUser=new Model("HostedZoneUser",["zoneID","userID"],{},{name:"hosted_zone_users",keys:[{name:"zoneID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"HostedZone"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["HostedZoneUser"]=HostedZoneUser;_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"type",type:"string",dataType:"AsciiChar",length:20,default:["type",'"smtp"']},{name:"host",type:"string",dataType:"Char",length:400,default:["host",'""']},{name:"username",type:"string",dataType:"Char",length:100,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:100,default:["password",'""']},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"script",type:"string",dataType:"Char",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"keyType",type:"string",dataType:"Char",length:20,default:["keyType",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"privateKey",type:"string",dataType:"Char",default:["privateKey",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"approved",value:"approved"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"},{label:"closed",value:"closed"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,hasUnsubscribe:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,engagementCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"subject",type:"string",dataType:"Char",default:["subject",'""']},{name:"summary",type:"string",dataType:"Char",length:200,default:["summary",'""']},{name:"textBody",type:"string",dataType:"Char",default:["textBody",'""']},{name:"htmlBody",type:"string",dataType:"Char",default:["htmlBody",'""']},{name:"senderName",type:"string",dataType:"Char",default:["senderName",'""']},{name:"senderID",type:"number",dataType:"BigInt"},{name:"userID",type:"number",dataType:"BigInt"},{name:"received",type:"boolean",dataType:"Boolean",default:["received","false"]},{name:"headers",type:"string",dataType:"Char",default:["headers",'""']},{name:"hasUnsubscribe",type:"boolean",dataType:"Boolean",default:["hasUnsubscribe","false"]},{name:"headerMessageID",type:"string",dataType:"Char",default:["headerMessageID",'""']},{name:"inReplyTo",type:"string",dataType:"Char",default:["inReplyTo",'""']},{name:"externalEmailID",type:"string",dataType:"Char",length:200,default:["externalEmailID",'""']},{name:"syncedMailboxID",type:"number",dataType:"BigInt",default:["syncedMailboxID","0"]},{name:"dateReceived",type:"DateTime",dataType:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",dataType:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'"queued"']},{name:"forwardCount",type:"number",dataType:"Int",default:["forwardCount","0"]},{name:"replyCount",type:"number",dataType:"Int",default:["replyCount","0"]},{name:"viewCount",type:"number",dataType:"Int",default:["viewCount","0"]},{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"mimeFileID",type:"number",dataType:"BigInt"},{name:"sentMessageID",type:"string",dataType:"Char",length:200,default:["sentMessageID",'""']},{name:"htmlBodyID",type:"number",dataType:"BigInt"},{name:"emailSize",type:"number",dataType:"BigInt",default:["emailSize","0"]},{name:"originalFileSize",type:"number",dataType:"Int",default:["originalFileSize","0"]},{name:"workflowID",type:"string",dataType:"Char",length:400,default:["workflowID",'""']},{name:"parentID",type:"number",dataType:"BigInt"},{name:"threadID",type:"number",dataType:"BigInt"},{name:"forwardedID",type:"number",dataType:"BigInt"},{name:"lastReplyID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']},{name:"tags",type:"string",dataType:"Char",default:["tags",'""']},{name:"stateReferencesUpdated",type:"boolean",dataType:"Boolean",default:["stateReferencesUpdated","false"]},{name:"statePostReceiveInvoked",type:"boolean",dataType:"Boolean",default:["statePostReceiveInvoked","false"]}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"thread",fkMap:[{fk:"threadID",relatedKey:"emailID"}],relatedName:"Email"},{name:"threadChildren",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"lastReply",fkMap:[{fk:"lastReplyID",relatedKey:"emailID"}],relatedName:"Email"},{name:"lastRepliedThreads",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"channelEmails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxContactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"threadContacts",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}],queries:{channelEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"engagement",type:"string",dataType:"Char",length:200}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"fileName",type:"string",dataType:"Char",length:200,default:["fileName",'""']},{name:"fileSize",type:"number",dataType:"Int",default:["fileSize","0"]},{name:"compression",type:"string",dataType:"Char",length:20,default:["compression",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",dataType:"Char",length:200,default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"},{label:"unsubscribed",value:"unsubscribed"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"},{name:"email_recipients",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"type",type:"string",dataType:"Char",length:20,default:["type",'"from"']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"dateSent",type:"DateTime",dataType:"DateTimeOffset",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'""']},{name:"replyTo",type:"string",dataType:"Char",length:400,default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"emailAddress",type:"string",dataType:"Char",length:400,default:["emailAddress",'""']},{name:"domainID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"mailboxContactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"names",isCollection:true,isInverse:true,relatedName:"EmailAddressName"},{name:"threadParticipants",isCollection:true,isInverse:true,relatedName:"ThreadParticipant"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("MailboxSubscriptionTypeArray",MailboxSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,openThreads:0,totalThreads:0,pendingModerationCount:0,unread:0,isExternal:false,maxSendPerSecond:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isLibrary:false,isPrivateChannel:false,membersCanPostTopLevel:false,nonMembersCanPost:false,nonMembersCanComment:false,nonMembersCanReact:false,requiresMembershipApproval:false,requiresPostModeration:false,requiresCommentModeration:false,requiresSignup:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",dataType:"Boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",dataType:"Boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"uniqueAddress",type:"string",dataType:"Char",length:400,default:["uniqueAddress",'""']},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"pendingModerationCount",type:"number",dataType:"Int",default:["pendingModerationCount","0"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"logoID",type:"number",dataType:"BigInt"},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"maxSendPerSecond",type:"number",dataType:"Decimal",default:["maxSendPerSecond","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",dataType:"Boolean",default:["isChannel","false"]},{name:"isLibrary",type:"boolean",dataType:"Boolean",default:["isLibrary","false"]},{name:"isPrivateChannel",type:"boolean",dataType:"Boolean",default:["isPrivateChannel","false"]},{name:"membersCanPostTopLevel",type:"boolean",dataType:"Boolean",default:["membersCanPostTopLevel","false"]},{name:"nonMembersCanPost",type:"boolean",dataType:"Boolean",default:["nonMembersCanPost","false"]},{name:"nonMembersCanComment",type:"boolean",dataType:"Boolean",default:["nonMembersCanComment","false"]},{name:"nonMembersCanReact",type:"boolean",dataType:"Boolean",default:["nonMembersCanReact","false"]},{name:"requiresMembershipApproval",type:"boolean",dataType:"Boolean",default:["requiresMembershipApproval","false"]},{name:"requiresPostModeration",type:"boolean",dataType:"Boolean",default:["requiresPostModeration","false"]},{name:"requiresCommentModeration",type:"boolean",dataType:"Boolean",default:["requiresCommentModeration","false"]},{name:"requiresSignup",type:"boolean",dataType:"Boolean",default:["requiresSignup","false"]},{name:"subscriberCount",type:"number",dataType:"Int",default:["subscriberCount","0"]},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:20,default:["subscriptionType",'"all"']},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",dataType:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",dataType:"BigInt",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ChannelEmail"},{name:"mailboxEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"folders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}],queries:{channels:"external"},actions:{updateFolders:"external",fetch:"external"}}));modelEntitySchemas["Mailbox"]=Mailbox;_export("ChannelEmail",ChannelEmail=new Model("ChannelEmail",["mailboxID","emailID"],{engagementCount:0,isThread:false},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"engagementCount",type:"number",dataType:"Int",default:["engagementCount","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"datePublished",type:"DateTime",dataType:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"isThread",type:"boolean",dataType:"Boolean",default:["isThread","false"]},{name:"previewFileID",type:"number",dataType:"BigInt"}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"previewFile",fkMap:[{fk:"previewFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}],queries:{channelEmails:"external",libraryEmails:"external"},actions:{getBody:"external"}}));modelEntitySchemas["ChannelEmail"]=ChannelEmail;_export("GeoIPBlock",GeoIPBlock=new Model("GeoIPBlock",["blockStart","blockEnd"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateExpires:new DefaultFactory((()=>new DateTime)),country:"",verified:false},{name:"geo_ipblocks",keys:[{name:"blockStart",type:"number",dataType:"BigInt"},{name:"blockEnd",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateExpires",type:"DateTime",dataType:"DateTime",default:["dateExpires","new DefaultFactory(() => new DateTime())"]},{name:"country",type:"string",dataType:"Char",length:50,default:["country",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"error",type:"string",dataType:"Char",default:["error",'""']}],relations:[]}));modelEntitySchemas["GeoIPBlock"]=GeoIPBlock;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContactSubscriptionTypeArray",MailboxContactSubscriptionTypeArray=[{label:"all",value:"all"},{label:"daily",value:"daily"},{label:"weekly",value:"weekly"},{label:"engaged",value:"engaged"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,openThreads:0,totalThreads:0,autoClose:false,total:0,isOwner:false,isModerator:false,canContribute:false,priority:0,blocked:false,newRequest:false,spam:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"folderTagID",type:"number",dataType:"BigInt",default:["folderTagID","0"]},{name:"lastEmailID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",dataType:"Int",default:["unread","0"]},{name:"openThreads",type:"number",dataType:"Int",default:["openThreads","0"]},{name:"totalThreads",type:"number",dataType:"Int",default:["totalThreads","0"]},{name:"autoClose",type:"boolean",dataType:"Boolean",default:["autoClose","false"]},{name:"total",type:"number",dataType:"Int",default:["total","0"]},{name:"doNotIndex",type:"boolean",dataType:"Boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",dataType:"Boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",dataType:"Boolean",default:["isOwner","false"]},{name:"isModerator",type:"boolean",dataType:"Boolean",default:["isModerator","false"]},{name:"canContribute",type:"boolean",dataType:"Boolean",default:["canContribute","false"]},{name:"priority",type:"number",dataType:"Int",default:["priority","0"]},{name:"blocked",type:"boolean",dataType:"Boolean",default:["blocked","false"]},{name:"newRequest",type:"boolean",dataType:"Boolean",default:["newRequest","false"]},{name:"spam",type:"boolean",dataType:"Boolean",default:["spam","false"]},{name:"mute",type:"boolean",dataType:"Boolean",default:["mute","false"]},{name:"status",type:"string",dataType:"Char",length:15,default:["status",'"invited"']},{name:"subscriptionType",type:"string",dataType:"AsciiChar",length:10,default:["subscriptionType",'"all"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"contactEvents",isCollection:true,isInverse:true,relatedName:"MailboxContactEvent"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEvent",MailboxContactEvent=new Model("MailboxContactEvent",["eventID"],{emailAddressID:0,startDate:new DefaultFactory((()=>new DateTime)),endDate:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_events",keys:[{name:"eventID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"emailID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"description",type:"string",dataType:"Char",length:400,default:["description",'""']},{name:"location",type:"string",dataType:"Char",length:400,default:["location",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],queries:{calendarMonth:"external"}}));modelEntitySchemas["MailboxContactEvent"]=MailboxContactEvent;_export("MailboxFolder",MailboxFolder=new Model("MailboxFolder",["mailboxID","tagID"],{count:0,isSystem:false},{name:"mailbox_folders",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"isSystem",type:"boolean",dataType:"Boolean",default:["isSystem","false"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["MailboxFolder"]=MailboxFolder;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"}],properties:[{name:"dateReceived",type:"DateTime",dataType:"DateTimeOffset",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",dataType:"DateTimeOffset",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",dataType:"Char",length:200,default:["engagement",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}],actions:{markAsRead:"external"}}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"},{name:"mailboxTag",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"tagID",relatedKey:"tagID"}],relatedName:"MailboxTag"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_export("MailboxTag",MailboxTag=new Model("MailboxTag",["mailboxID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_tags",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"contactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}],queries:{channelTags:"external"}}));modelEntitySchemas["MailboxTag"]=MailboxTag;_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"},{label:"smtp",value:"smtp"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"direction",type:"string",dataType:"Char",length:5,default:["direction",'"in"']},{name:"protocol",type:"string",dataType:"Char",length:20,default:["protocol",'"imap"']},{name:"username",type:"string",dataType:"Char",length:200,default:["username",'""']},{name:"password",type:"string",dataType:"Char",length:200,default:["password",'""']},{name:"host",type:"string",dataType:"Char",length:200,default:["host",'""']},{name:"port",type:"number",dataType:"Int",default:["port","0"]},{name:"isSecure",type:"boolean",dataType:"Boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",dataType:"Boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",dataType:"Boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",dataType:"Char",length:200,default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",dataType:"Int",default:["intervalSeconds","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",dataType:"DateTimeOffset",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",dataType:"Char",length:200,default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",dataType:"Char",default:["syncState",'""']},{name:"lastSyncError",type:"string",dataType:"Char",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("NameToken",NameToken=new Model("NameToken",["nameTokenID"],{word:""},{name:"name_tokens",keys:[{name:"nameTokenID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",length:400,default:["word",'""']},{name:"suggest",type:"boolean",generated:"computed",dataType:"Boolean"}],relations:[{name:"emailAddressNames",isCollection:true,isInverse:true,relatedName:"EmailAddressName"}]}));modelEntitySchemas["NameToken"]=NameToken;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[{name:"inviteContent",type:"string",dataType:"Char",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",dataType:"Char",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",dataType:"Boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",dataType:"Boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",dataType:"Boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",dataType:"Char",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"mailboxID",type:"number",dataType:"BigInt"},{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"},{name:"activity",type:"string",dataType:"Char",length:20,default:["activity",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"word",type:"string",dataType:"Char",default:["word",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",dataType:"DateTimeOffset",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"Char",length:10,default:["status",'"begin"']},{name:"recentID",type:"number",dataType:"BigInt",default:["recentID","0"]},{name:"firstID",type:"number",dataType:"BigInt",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"}],properties:[{name:"rank",type:"number",dataType:"Int",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"domainID",type:"number",dataType:"BigInt"},{name:"webSiteFolderID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"activity",type:"string",dataType:"Char",length:50,default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"groupName",type:"string",dataType:"Char",length:50},{name:"configName",type:"string",dataType:"Char",length:200}],properties:[{name:"encrypted",type:"boolean",dataType:"Boolean",default:["encrypted","false"]},{name:"configValue",type:"string",dataType:"Char",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItemItemUnitTypeArray",StoreItemItemUnitTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",itemUnit:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"internalNotes",type:"string",dataType:"Char",default:["internalNotes",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"itemType",type:"string",dataType:"Char",length:20,default:["itemType",'"product"']},{name:"itemUnitType",type:"string",dataType:"Char",length:50,default:["itemUnitType",'"product"']},{name:"itemUnit",type:"number",dataType:"Decimal",default:["itemUnit","0"]},{name:"folderID",type:"number",dataType:"BigInt"},{name:"sizeForID",type:"number",dataType:"BigInt"},{name:"variantForID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"maxPrice",type:"number",dataType:"Decimal",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"itemCoupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"applicableTaxes",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"taxItems",isCollection:true,isInverse:true,relatedName:"StoreItemTax"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreCouponTypeArray",StoreCouponTypeArray=[{label:"discount",value:"discount"},{label:"subtract",value:"subtract"}]);_export("StoreCoupon",StoreCoupon=new Model("StoreCoupon",["couponID"],{code:"",active:false,hidden:false,startDate:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),exclusive:false,minOrderAmount:0,maxOrderAmount:0,minQuantity:0,maxQuantity:0,amount:0,type:"discount"},{name:"store_coupons",keys:[{name:"couponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"code",type:"string",dataType:"Char",length:100,default:["code",'""']},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]},{name:"hidden",type:"boolean",dataType:"Boolean",default:["hidden","false"]},{name:"itemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"exclusive",type:"boolean",dataType:"Boolean",default:["exclusive","false"]},{name:"minOrderAmount",type:"number",dataType:"Decimal",default:["minOrderAmount","0"]},{name:"maxOrderAmount",type:"number",dataType:"Decimal",default:["maxOrderAmount","0"]},{name:"minQuantity",type:"number",dataType:"Int",default:["minQuantity","0"]},{name:"maxQuantity",type:"number",dataType:"Int",default:["maxQuantity","0"]},{name:"amount",type:"number",dataType:"Int",default:["amount","0"]},{name:"type",type:"string",dataType:"Char",length:50,default:["type",'"discount"']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"orders",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"}]}));modelEntitySchemas["StoreCoupon"]=StoreCoupon;_export("StoreJournalCoupon",StoreJournalCoupon=new Model("StoreJournalCoupon",["appliedCouponID"],{couponCode:""},{name:"store_journal_coupons",keys:[{name:"appliedCouponID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"couponID",type:"number",dataType:"BigInt"},{name:"orderID",type:"number",dataType:"BigInt"},{name:"lineItemID",type:"number",dataType:"BigInt"},{name:"couponCode",type:"string",dataType:"Char",length:200,default:["couponCode",'""']}],relations:[{name:"coupon",fkMap:[{fk:"couponID",relatedKey:"couponID"}],relatedName:"StoreCoupon"},{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalCoupon"]=StoreJournalCoupon;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemFolderTag",StoreItemFolderTag=new Model("StoreItemFolderTag",["itemFolderID","tagID"],{count:0},{name:"store_item_folder_tags",keys:[{name:"itemFolderID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemFolderTag"]=StoreItemFolderTag;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",recurring:false,amount:0,maxQuantity:0,taxIncluded:false,taxAmount:0,active:false},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"startDate",type:"DateTime",dataType:"DateTimeOffset",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",dataType:"DateTimeOffset",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",dataType:"Char",length:5,default:["currency",'""']},{name:"recurring",type:"boolean",dataType:"Boolean",default:["recurring","false"]},{name:"durationDays",type:"number",dataType:"Int",default:["durationDays","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"maxAmount",type:"number",dataType:"Decimal",default:["maxAmount","0"]},{name:"maxQuantity",type:"number",dataType:"Decimal",default:["maxQuantity","0"]},{name:"taxIncluded",type:"boolean",dataType:"Boolean",default:["taxIncluded","false"]},{name:"taxAmount",type:"number",dataType:"Decimal",default:["taxAmount","0"]},{name:"active",type:"boolean",dataType:"Boolean",default:["active","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePaymentAttempt",StorePaymentAttempt=new Model("StorePaymentAttempt",["attemptID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),success:false,timedout:false},{name:"store_payment_attempt",keys:[{name:"attemptID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"orderID",type:"number",dataType:"BigInt"},{name:"gatewayID",type:"number",dataType:"BigInt"},{name:"externalID",type:"string",dataType:"Char",length:400,default:["externalID",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"success",type:"boolean",dataType:"Boolean",default:["success","false"]},{name:"timedout",type:"boolean",dataType:"Boolean",default:["timedout","false"]}],relations:[{name:"order",fkMap:[{fk:"orderID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"gateway",fkMap:[{fk:"gatewayID",relatedKey:"accountID"}],relatedName:"StorePaymentGateway"}]}));modelEntitySchemas["StorePaymentAttempt"]=StorePaymentAttempt;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"}],properties:[{name:"fileContentID",type:"number",dataType:"BigInt",default:["fileContentID","0"]},{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"isPreview",type:"boolean",dataType:"Boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",dataType:"Boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",dataType:"Char",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",dataType:"Char",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"value",type:"number",dataType:"Decimal",default:["value","0"]},{name:"isPublic",type:"boolean",dataType:"Boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreAccount",StoreAccount=new Model("StoreAccount",["accountID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ledgerType:"",name:"",balance:0},{name:"store_accounts",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:400,default:["path",'""']},{name:"storeID",type:"number",dataType:"BigInt"},{name:"parentID",type:"number",dataType:"BigInt"},{name:"head",type:"string",dataType:"Char",length:50,default:["head",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ledgerType",type:"string",dataType:"Char",length:50,default:["ledgerType",'""']},{name:"name",type:"string",dataType:"Char",length:400,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"billingAddressID",type:"number",dataType:"BigInt",default:["billingAddressID","0"]},{name:"shippingAddressID",type:"number",dataType:"BigInt",default:["shippingAddressID","0"]}],relations:[{name:"user",fkMap:[{fk:"accountID",relatedKey:"userID"}],relatedName:"User"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"StoreAccountAddress"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storePaymentGateway",isCollection:false,isInverse:true,relatedName:"StorePaymentGateway"},{name:"emails",isCollection:true,isInverse:true,relatedName:"StoreAccountEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"StoreAccountPhone"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreAccount"]=StoreAccount;_export("StoreAccountAddress",StoreAccountAddress=new Model("StoreAccountAddress",["addressID"],{title:"",line1:""},{name:"store_account_addresses",keys:[{name:"addressID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"title",type:"string",dataType:"Char",length:400,default:["title",'""']},{name:"line1",type:"string",dataType:"Char",length:400,default:["line1",'""']},{name:"line2",type:"string",dataType:"Char",length:400,default:["line2",'""']},{name:"line3",type:"string",dataType:"Char",length:400,default:["line3",'""']},{name:"city",type:"string",dataType:"Char",length:50,default:["city",'""']},{name:"state",type:"string",dataType:"Char",length:50,default:["state",'""']},{name:"countryCode",type:"string",dataType:"Char",length:5,default:["countryCode",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:5,default:["phoneNumber",'""']},{name:"incomeTaxID",type:"string",dataType:"Char",length:200,default:["incomeTaxID",'""']},{name:"gstTaxID",type:"string",dataType:"Char",length:200,default:["gstTaxID",'""']},{name:"salesTaxID",type:"string",dataType:"Char",length:200,default:["salesTaxID",'""']},{name:"vatTaxID",type:"string",dataType:"Char",length:200,default:["vatTaxID",'""']},{name:"otherTaxID",type:"string",dataType:"Char",length:200,default:["otherTaxID",'""']},{name:"notes",type:"string",dataType:"Char",length:5,default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"billedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"shippedOrders",isCollection:true,isInverse:true,relatedName:"StoreJournal"}]}));modelEntitySchemas["StoreAccountAddress"]=StoreAccountAddress;_export("StoreAccountEmail",StoreAccountEmail=new Model("StoreAccountEmail",["accountID","emailAddressID"],{},{name:"store_account_emails",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["StoreAccountEmail"]=StoreAccountEmail;_export("StoreAccountPhone",StoreAccountPhone=new Model("StoreAccountPhone",["accountID","phoneNumberE64"],{},{name:"store_account_phones",keys:[{name:"accountID",type:"number",dataType:"BigInt"},{name:"phoneNumberE64",type:"string",dataType:"Char",length:200}],properties:[{name:"type",type:"string",dataType:"Char",length:50,default:["type",'""']},{name:"notes",type:"string",dataType:"Char",default:["notes",'""']}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"}]}));modelEntitySchemas["StoreAccountPhone"]=StoreAccountPhone;_export("StorePaymentGatewayPaymentGatewayArray",StorePaymentGatewayPaymentGatewayArray=[{label:"paypal",value:"paypal"},{label:"phone-pe",value:"phone-pe"},{label:"stripe",value:"stripe"}]);_export("StorePaymentGateway",StorePaymentGateway=new Model("StorePaymentGateway",["accountID"],{isGatewayActive:false,isDefault:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"store_payment_gateways",keys:[{name:"accountID",type:"number",dataType:"BigInt"}],properties:[{name:"paymentGateway",type:"string",dataType:"Char",length:50,default:["paymentGateway",'"paypal"']},{name:"isGatewayActive",type:"boolean",dataType:"Boolean",default:["isGatewayActive","false"]},{name:"isDefault",type:"boolean",dataType:"Boolean",default:["isDefault","false"]},{name:"merchantID",type:"string",dataType:"Char",length:400,default:["merchantID",'""']},{name:"url",type:"string",dataType:"Char",default:["url",'""']},{name:"accessID",type:"string",dataType:"Char",default:["accessID",'""']},{name:"publicKey",type:"string",dataType:"Char",default:["publicKey",'""']},{name:"clientID",type:"string",dataType:"Char",default:["clientID",'""']},{name:"saltIndex",type:"string",dataType:"Char",length:50,default:["saltIndex",'""']},{name:"encryptedSalt",type:"string",dataType:"Char",length:400,default:["encryptedSalt",'""']},{name:"encryptedSecret",type:"string",dataType:"Char",default:["encryptedSecret",'""']},{name:"country",type:"string",dataType:"Char",length:20,default:["country",'""']},{name:"currency",type:"string",dataType:"Char",length:20,default:["currency",'""']},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"}]}));modelEntitySchemas["StorePaymentGateway"]=StorePaymentGateway;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournalStatusArray",StoreJournalStatusArray=[{label:"new",value:"new"},{label:"paid",value:"paid"},{label:"draft",value:"draft"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"new",total:0,balance:0,taxExempt:false},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",dataType:"AsciiChar",length:50,default:["journalType",'"order"']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"posted",type:"boolean",dataType:"Boolean",default:["posted","false"]},{name:"status",type:"string",dataType:"Char",length:50,default:["status",'"new"']},{name:"sellerID",type:"number",dataType:"BigInt"},{name:"buyerID",type:"number",dataType:"BigInt"},{name:"buyerBillingAddressID",type:"number",dataType:"BigInt"},{name:"buyerShippingAddressID",type:"number",dataType:"BigInt"},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"referenceID",type:"number",dataType:"BigInt"},{name:"folderID",type:"number",dataType:"BigInt"},{name:"taxExempt",type:"boolean",dataType:"Boolean",default:["taxExempt","false"]},{name:"taxExemptNotes",type:"string",dataType:"Char",default:["taxExemptNotes",'""']},{name:"taxExemptTaxID",type:"string",dataType:"Char",default:["taxExemptTaxID",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"buyerBillingAddress",fkMap:[{fk:"buyerBillingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"buyerShippingAddress",fkMap:[{fk:"buyerShippingAddressID",relatedKey:"addressID"}],relatedName:"StoreAccountAddress"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"orderCoupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"paymentAttempts",isCollection:true,isInverse:true,relatedName:"StorePaymentAttempt"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"accountID",type:"number",dataType:"BigInt"},{name:"credit",type:"number",dataType:"Decimal",default:["credit","0"]},{name:"debit",type:"number",dataType:"Decimal",default:["debit","0"]},{name:"balance",type:"number",dataType:"Decimal",default:["balance","0"]},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"lineItemID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"storeAccount",fkMap:[{fk:"accountID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"product",value:"product"},{label:"e-product",value:"e-product"},{label:"shipping",value:"shipping"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{price:0,discountPercentage:0,discount:0,priceAfterDiscount:0,couponDiscount:0,quantity:0,amount:0,taxes:0,total:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"journalID",type:"number",dataType:"BigInt"},{name:"itemID",type:"number",dataType:"BigInt"},{name:"itemPriceID",type:"number",dataType:"BigInt"},{name:"price",type:"number",dataType:"Decimal",default:["price","0"]},{name:"discountPercentage",type:"number",dataType:"Decimal",default:["discountPercentage","0"]},{name:"discount",type:"number",dataType:"Decimal",default:["discount","0"]},{name:"priceAfterDiscount",type:"number",dataType:"Decimal",default:["priceAfterDiscount","0"]},{name:"couponDiscount",type:"number",dataType:"Decimal",default:["couponDiscount","0"]},{name:"quantity",type:"number",dataType:"Decimal",default:["quantity","0"]},{name:"amount",type:"number",dataType:"Decimal",default:["amount","0"]},{name:"taxes",type:"number",dataType:"Decimal",default:["taxes","0"]},{name:"total",type:"number",dataType:"Decimal",default:["total","0"]},{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"itemType",type:"string",dataType:"Char",length:50,default:["itemType",'"product"']},{name:"hide",type:"boolean",dataType:"Boolean",default:["hide","false"]},{name:"vendorID",type:"number",dataType:"BigInt"},{name:"sourceID",type:"number",dataType:"BigInt"},{name:"taxForID",type:"number",dataType:"BigInt"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"accountID"}],relatedName:"StoreAccount"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFor",fkMap:[{fk:"taxForID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreJournalCoupon"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTax",StoreItemTax=new Model("StoreItemTax",["storeItemID","taxItemID"],{inclusive:false,print:false},{name:"store_item_taxes",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"taxItemID",type:"number",dataType:"BigInt"}],properties:[{name:"inclusive",type:"boolean",dataType:"Boolean",default:["inclusive","false"]},{name:"print",type:"boolean",dataType:"Boolean",default:["print","false"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"taxItem",fkMap:[{fk:"taxItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreItemTax"]=StoreItemTax;_export("StoreTag",StoreTag=new Model("StoreTag",["storeID","tagID"],{count:0},{name:"store_tags",keys:[{name:"storeID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"count",type:"number",dataType:"Int",default:["count","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}],queries:{storeQuery:"external"}}));modelEntitySchemas["StoreTag"]=StoreTag;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[{name:"sortOrder",type:"number",dataType:"Int",default:["sortOrder","0"]},{name:"tagValue",type:"string",dataType:"Char",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime)),storage:0,maxStorage:0,maxWebSites:0,maxExternalInboxes:0,maxChildUsers:0,isGroup:false},{name:"users",keys:[{name:"userID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userName",type:"string",dataType:"Char",length:200,default:["userName",'""']},{name:"displayName",type:"string",dataType:"Char",length:200,default:["displayName",'""']},{name:"passwordHash",type:"string",dataType:"Char",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",dataType:"Char",length:20,default:["passwordSalt",'""']},{name:"externalUID",type:"string",dataType:"Char",length:400,default:["externalUID",'""']},{name:"status",type:"string",dataType:"AsciiChar",length:15,default:["status",'"active"']},{name:"isExternal",type:"boolean",dataType:"Boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",dataType:"Boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",dataType:"BigInt",default:["storage","0"]},{name:"uniquePhoneNumber",type:"string",dataType:"Char",length:20,default:["uniquePhoneNumber",'""']},{name:"contactEmail",type:"string",dataType:"Char",length:200,default:["contactEmail",'""']},{name:"maxStorage",type:"number",dataType:"BigInt",default:["maxStorage","0"]},{name:"maxWebSites",type:"number",dataType:"BigInt",default:["maxWebSites","0"]},{name:"maxExternalInboxes",type:"number",dataType:"BigInt",default:["maxExternalInboxes","0"]},{name:"maxChildUsers",type:"number",dataType:"BigInt",default:["maxChildUsers","0"]},{name:"parentID",type:"number",dataType:"BigInt"},{name:"isGroup",type:"boolean",dataType:"Boolean",default:["isGroup","false"]}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"userID"}],relatedName:"User"},{name:"children",isCollection:true,isInverse:true,relatedName:"User"},{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"appPasswords",isCollection:true,isInverse:true,relatedName:"AppPassword"},{name:"storeAccount",isCollection:false,isInverse:true,relatedName:"StoreAccount"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"hostedZones",isCollection:true,isInverse:true,relatedName:"HostedZoneUser"},{name:"groups",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"groupMembers",isCollection:true,isInverse:true,relatedName:"UserGroupMember"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"}],actions:{createWebSite:"external"}}));modelEntitySchemas["User"]=User;_export("UserGroupMember",UserGroupMember=new Model("UserGroupMember",["ownerID","groupID"],{},{name:"user_group_members",keys:[{name:"ownerID",type:"number",dataType:"BigInt"},{name:"groupID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"owner",fkMap:[{fk:"ownerID",relatedKey:"userID"}],relatedName:"User"},{name:"group",fkMap:[{fk:"groupID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserGroupMember"]=UserGroupMember;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"appFileID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",dataType:"BigInt",default:["emailAddressID","0"]},{name:"notify",type:"boolean",dataType:"Boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"roleName",type:"string",dataType:"Char",length:200}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number",dataType:"BigInt"},{name:"mailboxID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"},{label:"otp-in",value:"otp-in"},{label:"sms-to-user",value:"sms-to-user"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"method",type:"string",dataType:"Char",length:20,default:["method",'"totp"']},{name:"secret",type:"string",dataType:"Char",default:["secret",'""']},{name:"hint",type:"string",dataType:"Char",length:100,default:["hint",'""']},{name:"phoneNumber",type:"string",dataType:"Char",length:20,default:["phoneNumber",'""']},{name:"isdCode",type:"string",dataType:"Char",length:20,default:["isdCode",'""']},{name:"verificationID",type:"number",dataType:"BigInt"},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSite",WebSite=new Model("WebSite",["folderID"],{isStatic:false,isTemplate:false,isDesign:false,templateSites:0,templateRank:0,storeEnabled:false,isModified:false,snapshotStorage:0,currency:""},{name:"web_sites",keys:[{name:"folderID",type:"number",dataType:"BigInt"}],properties:[{name:"currentVersionID",type:"number",dataType:"BigInt"},{name:"isStatic",type:"boolean",dataType:"Boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",dataType:"Boolean",default:["isTemplate","false"]},{name:"isDesign",type:"boolean",dataType:"Boolean",default:["isDesign","false"]},{name:"templateSites",type:"number",dataType:"Int",default:["templateSites","0"]},{name:"templateRank",type:"number",dataType:"Int",default:["templateRank","0"]},{name:"remoteUrl",type:"string",dataType:"Char",length:1024,default:["remoteUrl",'""']},{name:"title",type:"string",dataType:"Char",length:200,default:["title",'""']},{name:"storeEnabled",type:"boolean",dataType:"Boolean",default:["storeEnabled","false"]},{name:"description",type:"string",dataType:"Char",length:450,default:["description",'""']},{name:"isModified",type:"boolean",dataType:"Boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",dataType:"BigInt",default:["snapshotStorage","0"]},{name:"supportEmail",type:"string",dataType:"Char",length:200,default:["supportEmail",'""']},{name:"fromEmail",type:"string",dataType:"Char",length:200,default:["fromEmail",'""']},{name:"currency",type:"string",dataType:"Char",length:10,default:["currency",'""']}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"webHooks",isCollection:true,isInverse:true,relatedName:"WebHook"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"storeAccounts",isCollection:true,isInverse:true,relatedName:"StoreAccount"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"coupons",isCollection:true,isInverse:true,relatedName:"StoreCoupon"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"tags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteVersion"},{name:"channelDomains",isCollection:true,isInverse:true,relatedName:"WebSiteChannelDomain"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}],queries:{templates:"external"},actions:{deleteSite:"external"}}));modelEntitySchemas["WebSite"]=WebSite;_export("WebSiteHost",WebSiteHost=new Model("WebSiteHost",["host"],{},{name:"web_site_hosts",keys:[{name:"host",type:"string",dataType:"Char",length:200}],properties:[{name:"folderID",type:"number",dataType:"BigInt"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"}]}));modelEntitySchemas["WebSiteHost"]=WebSiteHost;_export("WebSiteVersion",WebSiteVersion=new Model("WebSiteVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_versions",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"snapshotFolderID",type:"number",dataType:"BigInt"}],properties:[{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"description",type:"string",dataType:"Char",default:["description",'""']},{name:"authorID",type:"number",dataType:"BigInt"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteVersion"]=WebSiteVersion;_export("WebSiteChannelDomain",WebSiteChannelDomain=new Model("WebSiteChannelDomain",["folderID","domainID"],{},{name:"web_site_channel_domains",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"domainID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["WebSiteChannelDomain"]=WebSiteChannelDomain;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number",dataType:"BigInt"},{name:"channelID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("WebSiteTag",WebSiteTag=new Model("WebSiteTag",["webSiteID","tagID"],{},{name:"web_site_tags",keys:[{name:"webSiteID",type:"number",dataType:"BigInt"},{name:"tagID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"webSite",fkMap:[{fk:"webSiteID",relatedKey:"folderID"}],relatedName:"WebSite"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["WebSiteTag"]=WebSiteTag;_export("LoginSessionDeviceTokenTypeArray",LoginSessionDeviceTokenTypeArray=[{label:"WebPush",value:"WebPush"},{label:"fcm",value:"fcm"},{label:"apn",value:"apn"}]);_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"userID",type:"number",dataType:"BigInt"},{name:"start",type:"DateTime",dataType:"DateTimeOffset",default:["start","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"invalid",type:"boolean",dataType:"Boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",dataType:"DateTimeOffset",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",dataType:"AsciiChar",length:20,default:["status",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"deviceToken",type:"string",dataType:"AsciiChar",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",dataType:"AsciiChar",length:50,default:["deviceTokenType",'"WebPush"']},{name:"verificationID",type:"number",dataType:"BigInt"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}],queries:{currentUser:"external"},actions:{updateDeviceToken:"external"}}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number",dataType:"BigInt"}],properties:[{name:"searchable",type:"string",dataType:"Char",default:["searchable",'""']}],relations:[{name:"fileContent",fkMap:[{fk:"textDocumentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("IncomingSmsSource",IncomingSmsSource=new Model("IncomingSmsSource",["textInSourceID"],{name:"",isdPrefix:"",phoneNumber:"",dateUpdated:new DefaultFactory((()=>new DateTime)),countryCode:""},{name:"incoming_sms_source",keys:[{name:"textInSourceID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:100,default:["name",'""']},{name:"username",type:"string",dataType:"Char",default:["username",'""']},{name:"encryptedPassword",type:"string",dataType:"Char",default:["encryptedPassword",'""']},{name:"isdPrefix",type:"string",dataType:"Char",default:["isdPrefix",'""']},{name:"keyword",type:"string",dataType:"Char",default:["keyword",'""']},{name:"phoneNumber",type:"string",dataType:"Char",default:["phoneNumber",'""']},{name:"dateUpdated",type:"DateTime",dataType:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"countryCode",type:"string",dataType:"Char",length:20,default:["countryCode",'""']}],relations:[]}));modelEntitySchemas["IncomingSmsSource"]=IncomingSmsSource;_export("VerificationTokenTypeArray",VerificationTokenTypeArray=[{label:"email",value:"email"},{label:"sms",value:"sms"},{label:"captcha",value:"captcha"},{label:"totp",value:"totp"},{label:"sms-to-user",value:"sms-to-user"}]);_export("VerificationToken",VerificationToken=new Model("VerificationToken",["verificationID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiry:new DefaultFactory((()=>new DateTime)),verified:false,accessCode:"",attempt:0,type:"email"},{name:"verification_tokens",keys:[{name:"verificationID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"externalID",type:"string",dataType:"Char",length:200,default:["externalID",'""']},{name:"userID",type:"number",dataType:"BigInt",default:["userID","0"]},{name:"dateCreated",type:"DateTime",dataType:"DateTimeOffset",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiry",type:"DateTime",dataType:"DateTimeOffset",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"email",type:"string",dataType:"Char",length:200,default:["email",'""']},{name:"phone",type:"string",dataType:"Char",length:20,default:["phone",'""']},{name:"verified",type:"boolean",dataType:"Boolean",default:["verified","false"]},{name:"code",type:"string",dataType:"Char",length:20,default:["code",'""']},{name:"accessCode",type:"string",dataType:"Char",length:50,default:["accessCode",'""']},{name:"ipAddress",type:"string",dataType:"Char",length:50,default:["ipAddress",'""']},{name:"attempt",type:"number",dataType:"Int",default:["attempt","0"]},{name:"externalConfig",type:"string",dataType:"Char",default:["externalConfig",'""']},{name:"type",type:"string",dataType:"AsciiChar",length:50,default:["type",'"email"']},{name:"webSiteFolderID",type:"number",dataType:"BigInt",default:["webSiteFolderID","0"]}],relations:[{name:"loginSessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"VerificationTokenAddress"}],actions:{updatePhone:"external",resendPhone:"external",verifyPhone:"external",resendCode:"external",verifyCode:"external",login:"external",getCaptchaGif:"external"}}));modelEntitySchemas["VerificationToken"]=VerificationToken;_export("VerificationTokenAddress",VerificationTokenAddress=new Model("VerificationTokenAddress",["verificationID","address"],{},{name:"verification_token_addresses",keys:[{name:"verificationID",type:"number",dataType:"BigInt"},{name:"address",type:"string",dataType:"Char",length:200}],properties:[{name:"displayAddress",type:"string",dataType:"Char",length:200,default:["displayAddress",'""']}],relations:[{name:"verificationToken",fkMap:[{fk:"verificationID",relatedKey:"verificationID"}],relatedName:"VerificationToken"}]}));modelEntitySchemas["VerificationTokenAddress"]=VerificationTokenAddress;_export("EmailAddressName",EmailAddressName=new Model("EmailAddressName",["nameTokenID","emailAddressID"],{},{name:"email_address_names",keys:[{name:"nameTokenID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[],relations:[{name:"nameToken",fkMap:[{fk:"nameTokenID",relatedKey:"nameTokenID"}],relatedName:"NameToken"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailAddressName"]=EmailAddressName;_export("ThreadParticipant",ThreadParticipant=new Model("ThreadParticipant",["emailID","emailAddressID"],{unsubscribed:false},{name:"thread_participants",keys:[{name:"emailID",type:"number",dataType:"BigInt"},{name:"emailAddressID",type:"number",dataType:"BigInt"}],properties:[{name:"unsubscribed",type:"boolean",dataType:"Boolean",default:["unsubscribed","false"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["ThreadParticipant"]=ThreadParticipant;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",label:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"label",type:"string",dataType:"Char",length:200,default:["label",'""']},{name:"lowerCaseName",type:"string",generated:"computed",dataType:"Char",length:200},{name:"path",type:"string",dataType:"AsciiChar",length:400,default:["path",'""']},{name:"isSystemTag",type:"boolean",dataType:"Boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",dataType:"Char",default:["contentTypes",'""']},{name:"parentID",type:"number",dataType:"BigInt"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxFolders",isCollection:true,isInverse:true,relatedName:"MailboxFolder"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"mailboxTags",isCollection:true,isInverse:true,relatedName:"MailboxTag"},{name:"storeItemFolderTags",isCollection:true,isInverse:true,relatedName:"StoreItemFolderTag"},{name:"storeTags",isCollection:true,isInverse:true,relatedName:"StoreTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"},{name:"webSiteTags",isCollection:true,isInverse:true,relatedName:"WebSiteTag"}]}));modelEntitySchemas["Tag"]=Tag;_export("AppTempFile",AppTempFile=new Model("AppTempFile",["tempFileID"],{path:"",name:"",contentType:"",isFolder:false,fileSize:0,dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_temp_files",keys:[{name:"tempFileID",type:"number",generated:"identity",dataType:"BigInt"}],properties:[{name:"path",type:"string",dataType:"Char",length:900,default:["path",'""']},{name:"name",type:"string",dataType:"Char",length:200,default:["name",'""']},{name:"contentType",type:"string",dataType:"Char",length:200,default:["contentType",'""']},{name:"isFolder",type:"boolean",dataType:"Boolean",default:["isFolder","false"]},{name:"fileSize",type:"number",dataType:"BigInt",default:["fileSize","0"]},{name:"rootID",type:"number",dataType:"BigInt"},{name:"fileContentID",type:"number",dataType:"BigInt"},{name:"dateCreated",type:"DateTime",dataType:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"root",fkMap:[{fk:"rootID",relatedKey:"tempFileID"}],relatedName:"AppTempFile"},{name:"descendants",isCollection:true,isInverse:true,relatedName:"AppTempFile"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"}]}));modelEntitySchemas["AppTempFile"]=AppTempFile;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register([],(function(_export,_context){"use strict";var SocialMailApp,_a,_b,_c,socialMail;return{setters:[],execute:function(){socialMail=(_a=window.socialMail)!==null&&_a!==void 0?_a:{path:"/",name:"Social Mail"};(_b=socialMail.links)!==null&&_b!==void 0?_b:socialMail.links={};(_c=socialMail.maxStreamSize)!==null&&_c!==void 0?_c:socialMail.maxStreamSize=100*1024*1024;SocialMailApp=class SocialMailApp{static get isAdmin(){var _a;return(_a=this.user.roles)===null||_a===void 0?void 0:_a.some((r=>/admin/i.test(r.roleName)))}};SocialMailApp.config=socialMail;SocialMailApp.newFolderTagID=null;SocialMailApp.contactsFolderTagID=null;_export("default",SocialMailApp)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/LoginService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","../common/SocialMailApp","@web-atoms/core/dist/App","@web-atoms/core/dist/core/sleep"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,LoginSession,SocialMailApp,App,sleep,LoginService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){LoginSession=_modelModel.LoginSession},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default}],execute:function(){LoginService=class LoginService{getUser(){return __awaiter(this,void 0,void 0,(function*(){var _a,_b;const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();(_a=this.user)!==null&&_a!==void 0?_a:this.user=session===null||session===void 0?void 0:session.user;SocialMailApp.user=this.user;if((_b=this.user)===null||_b===void 0?void 0:_b.userID){}return this.user}))}login(session,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const result=yield this.entityService.save(session);if(session.invalid){if(session.verificationToken){this.checkSession(session,cancelToken).catch(console.error)}return session.status}location.reload()}))}checkSession(session,cancelToken){return __awaiter(this,void 0,void 0,(function*(){}))}updateRegistration(s){return __awaiter(this,void 0,void 0,(function*(){throw new Error("Method not implemented.")}))}logout(){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c;const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.invalid=true;const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy);yield sleep(1e3);if((_b=(_a=SocialMailApp.config)===null||_a===void 0?void 0:_a.links)===null||_b===void 0?void 0:_b.login){location.href=(_c=SocialMailApp.config.links.logout)!==null&&_c!==void 0?_c:SocialMailApp.config.links.home;return}location.reload()}))}enforceLogin(){return __awaiter(this,void 0,void 0,(function*(){const user=yield this.getUser();if(user===null||user===void 0?void 0:user.userID){return}}))}};__decorate([Inject,__metadata("design:type",EntityService)],LoginService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",App)],LoginService.prototype,"app",void 0);LoginService=__decorate([DISingleton()],LoginService);_export("default",LoginService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/Loader");System.register(["@web-atoms/core/dist/core/XNode","@social-mail/social-mail-client/content/images/gif/loader.gif"],(function(_export,_context){"use strict";var XNode,loaderImage;function Loader(){return XNode.create("div",{"data-position":"absolute-fill","data-layout":"center-all"},XNode.create("img",{src:loaderImage}))}_export("default",Loader);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_socialMailSocialMailClientContentImagesGifLoaderGif){loaderImage=_socialMailSocialMailClientContentImagesGifLoaderGif.default}],execute:function(){}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/store/cart/ShoppingCart");System.register(["tslib","@web-atoms/core/dist/Pack","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/InjectProperty","../../../services/LoginService","../../../common/controls/Loader","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Pack,AtomControl,InjectProperty,LoginService,Loader,XNode,ShoppingCart;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_commonControlsLoader){Loader=_commonControlsLoader.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){ShoppingCart=class ShoppingCart extends AtomControl{constructor(app,e){super(app,e);this.pushInit()}init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create(Loader,null);yield this.loginService.getUser()}))}};__decorate([InjectProperty,__metadata("design:type",LoginService)],ShoppingCart.prototype,"loginService",void 0);ShoppingCart=__decorate([Pack,__metadata("design:paramtypes",[Object,Object])],ShoppingCart);_export("default",ShoppingCart)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomOnce");System.register([],(function(_export,_context){"use strict";var AtomOnce;_export("AtomOnce",void 0);return{setters:[],execute:function(){_export("AtomOnce",AtomOnce=class AtomOnce{run(f){if(this.isRunning){return}let isAsync=false;try{this.isRunning=true;const p=f();if(p&&p.then&&p.catch){isAsync=true;p.then((()=>{this.isRunning=false})).catch((()=>{this.isRunning=false}))}}finally{if(!isAsync){this.isRunning=false}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/StyleBuilder");System.register([],(function(_export,_context){"use strict";var StyleBuilder;function cssNumberToString(n,unit="px"){if(typeof n==="number"){if(n===0){return n+""}return n+unit}return n}_export({cssNumberToString,default:void 0});return{setters:[],execute:function(){_export("default",StyleBuilder=class StyleBuilder{static get newStyle(){return new StyleBuilder}constructor(style){this.style=style;this.style=this.style||{}}toStyle(){return this.style}size(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({width,height})}roundBorder(radius){radius=cssNumberToString(radius);return this.merge({borderRadius:radius,padding:radius})}border(borderWidth,borderColor,borderStyle="solid"){borderWidth=cssNumberToString(borderWidth);return this.merge({borderWidth,borderStyle,borderColor})}center(width,height){width=cssNumberToString(width);height=cssNumberToString(height);return this.merge({position:"absolute",left:0,right:0,top:0,bottom:0,width,height,margin:"auto"})}absolute(left,top,right,bottom){left=cssNumberToString(left);top=cssNumberToString(top);if(right!==undefined){right=cssNumberToString(right);bottom=cssNumberToString(bottom);return this.merge({position:"absolute",left,top,right,bottom})}return this.merge({position:"absolute",left,top})}merge(style){return new StyleBuilder(Object.assign(Object.assign({},this.style),style))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WebBusyIndicatorService");System.register(["tslib","../../App","../../di/Inject","../../di/RegisterSingleton","../../services/BusyIndicatorService","../../services/NavigationService","../controls/AtomControl","../styles/StyleBuilder"],(function(_export,_context){"use strict";var __decorate,__metadata,App,Inject,RegisterSingleton,BusyIndicatorService,NavigationService,AtomControl,cssNumberToString,WebBusyIndicatorService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_App){App=_App.App},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString}],execute:function(){_export("WebBusyIndicatorService",WebBusyIndicatorService=class WebBusyIndicatorService extends BusyIndicatorService{constructor(){super(...arguments);this.zIndex=5e4;this.indicators=0}createIndicator(){const host=document.createElement("div");const popup=new AtomControl(this.app,host);host.className="indicator-host";const span=document.createElement("i");const divStyle=host.style;divStyle.position="absolute";divStyle.overflow="hidden";divStyle.left=divStyle.right=divStyle.bottom=divStyle.top="0";divStyle.zIndex=this.zIndex+++"";const spanStyle=span.style;spanStyle.position="absolute";spanStyle.margin="auto";spanStyle.width="16px";spanStyle.height="16px";spanStyle.overflow="hidden";spanStyle.maxHeight="100%";spanStyle.maxWidth="100%";spanStyle.left=spanStyle.right=spanStyle.bottom=spanStyle.top="0";span.className="fas fa-spinner fa-spin";host.appendChild(span);const ws=this.navigationService;const e=ws.getHostForElement();if(e){e.appendChild(host)}else{document.body.appendChild(host);ws.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,ws.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,ws.screen)}popup.registerDisposable({dispose:()=>{host.remove()}});return{[Symbol.dispose](){popup.dispose()}}}});__decorate([Inject,__metadata("design:type",NavigationService)],WebBusyIndicatorService.prototype,"navigationService",void 0);__decorate([Inject,__metadata("design:type",App)],WebBusyIndicatorService.prototype,"app",void 0);_export("WebBusyIndicatorService",WebBusyIndicatorService=__decorate([RegisterSingleton],WebBusyIndicatorService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/Atom");System.register(["tslib"],(function(_export,_context){"use strict";var __awaiter,Atom;_export("Atom",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter}],execute:function(){_export("Atom",Atom=class Atom{static superProperty(tc,target,name){let c=tc;do{c=Object.getPrototypeOf(c);if(!c){throw new Error("No property descriptor found for "+name)}const pd=Object.getOwnPropertyDescriptor(c.prototype,name);if(!pd){continue}return pd.get.apply(target)}while(true)}static get(target,path){const segments=path.split(".");for(const iterator of segments){if(target===undefined||target===null){return target}target=target[iterator]}return target}static delay(n,ct){return new Promise(((resolve,reject)=>{const h={};h.id=setTimeout((()=>{resolve()}),n);if(ct){ct.registerForCancel((()=>{clearTimeout(h.id);reject(new Error("cancelled"))}))}}))}static encodeParameters(p){if(!p){return""}let s="";for(const key in p){if(p.hasOwnProperty(key)){const element=p[key];let v=element;if(v===undefined||v===null){continue}if(v instanceof Date){v=v.toISOString()}else if(typeof element==="object"){v=JSON.stringify(element)}if(s){s+="&"}s+=`${key}=${encodeURIComponent(v)}`}}return s}static url(url,query,hash){if(!url){return url}let p=this.encodeParameters(query);if(p){if(url.indexOf("?")===-1){url+="?"}else{url+="&"}url+=p}p=this.encodeParameters(hash);if(p){if(url.indexOf("#")===-1){url+="#"}else{url+="&"}url+=p}return url}static postAsync(app,f){return new Promise(((resolve,reject)=>{app.callLater((()=>__awaiter(this,void 0,void 0,(function*(){try{resolve(yield f())}catch(error){reject(error)}}))))}))}});Atom.designMode=false}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/JsonService");System.register(["tslib","../core/StringHelper","../di/RegisterSingleton","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __decorate,StringHelper,RegisterSingleton,DateTime,dateFormatISORegEx,dateFormatMSRegEx,timeZoneDiff,JsonService;return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("dateFormatISORegEx",dateFormatISORegEx=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/);_export("dateFormatMSRegEx",dateFormatMSRegEx=/^\/Date\((d|-|.*)\)[\/|\\]$/);timeZoneDiff=(new Date).getTimezoneOffset();_export("JsonService",JsonService=class JsonService{constructor(){this.options={indent:2,namingStrategy:"none",dateConverter:[{regex:dateFormatISORegEx,valueConverter:{fromSource(v){const d=new DateTime(v);return d},fromTarget(v){return v.toISOString()}}},{regex:dateFormatMSRegEx,valueConverter:{fromSource(v){const a=dateFormatMSRegEx.exec(v);const b=a[1].split(/[-+,.]/);return new DateTime(b[0]?+b[0]:0-+b[1])},fromTarget(v){return v.toISOString()}}}]}}transformKeys(t,v){if(!v){return v}if(typeof v!=="object"){return v}if(v instanceof Date){return v}if(typeof v==="object"&&v.length!==undefined&&typeof v.length==="number"){const a=v;if(a.map){return a.map((x=>this.transformKeys(t,x)))}const ra=[];for(let i=0;i<a.length;i++){const iterator=a[i];ra.push(this.transformKeys(t,iterator))}return ra}const r={};for(const key in v){if(v.hasOwnProperty(key)){const element=v[key];r[t(key)]=this.transformKeys(t,element)}}return r}parse(text,options){const{dateConverter,namingStrategy}=Object.assign(Object.assign({},this.options),options);const result=JSON.parse(text,((key,value)=>{if(typeof value==="string"){for(const iterator of dateConverter){const a=iterator.regex.test(value);if(a){const dv=iterator.valueConverter.fromSource(value);return dv}}}return value}));switch(namingStrategy){case"hyphen":return this.transformKeys(StringHelper.fromHyphenToCamel,result);case"underscore":return this.transformKeys(StringHelper.fromUnderscoreToCamel,result);case"pascal":return this.transformKeys(StringHelper.fromPascalToCamel,result)}return result}stringify(v,options){const{namingStrategy,dateConverter,indent}=Object.assign(Object.assign({},this.options),options);switch(namingStrategy){case"hyphen":v=this.transformKeys(StringHelper.fromCamelToHyphen,v);break;case"underscore":v=this.transformKeys(StringHelper.fromCamelToUnderscore,v);break;case"pascal":v=this.transformKeys(StringHelper.fromCamelToPascal,v);break}return JSON.stringify(v,((key,value)=>{if(key&&/^\_\$\_/.test(key)){return undefined}if(dateConverter&&value instanceof Date){return dateConverter[0].valueConverter.fromTarget(value)}return value}),indent)}});_export("JsonService",JsonService=__decorate([RegisterSingleton],JsonService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomLoader");System.register(["tslib","../services/JsonService","../services/ReferenceService","./AtomUri","./Command","./InheritedProperty","./types"],(function(_export,_context){"use strict";var __addDisposableResource,__awaiter,__disposeResources,__rest,JsonService,ReferenceService,AtomUri,displayRouteSymbol,getOwnInheritedProperty,CancelToken,DI,AtomLoader;_export("AtomLoader",void 0);return{setters:[function(_tslib){__addDisposableResource=_tslib.__addDisposableResource;__awaiter=_tslib.__awaiter;__disposeResources=_tslib.__disposeResources;__rest=_tslib.__rest},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesReferenceService){ReferenceService=_servicesReferenceService.default},function(_AtomUri){AtomUri=_AtomUri.AtomUri},function(_Command){displayRouteSymbol=_Command.displayRouteSymbol},function(_InheritedProperty){getOwnInheritedProperty=_InheritedProperty.getOwnInheritedProperty},function(_types){CancelToken=_types.CancelToken;DI=_types.DI}],execute:function(){_export("AtomLoader",AtomLoader=class AtomLoader{static load(url,app){return __awaiter(this,void 0,void 0,(function*(){if(typeof url==="string"){const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}if(url instanceof AtomUri){if(url.host==="reference"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return r.consume()}if(url.host==="class"){const r=app.get(ReferenceService).get(url.path);if(!r){throw new Error("reference not found")}return app.resolve(r.consume(),true)}url=url.path;const type=yield DI.resolveViewClassAsync(url);if(!type){throw new Error(`Type not found for ${url}`)}url=type}const obj=app.resolve(url,true);return obj}))}static loadView(url,app,hookCloseEvents,vmFactory){return __awaiter(this,void 0,void 0,(function*(){const env_1={stack:[],error:void 0,hasError:false};try{const _busy=__addDisposableResource(env_1,app.createBusyIndicator({title:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);let vm=view.viewModel;if(!vm){if(!vmFactory){return{view}}vm=vmFactory();view.viewModel=vm}if("parameters"in view){vm=view.parameters}if(vm){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(typeof element==="object"){vm[key]=jsonService.parse(jsonService.stringify(element));continue}if(/^json\:/.test(key)){const k=key.split(":")[1];vm[k]=jsonService.parse(element.toString());continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element);vm[key.split(":",2)[1]]=v.consume();continue}try{vm[key]=element}catch(e){console.error(e)}}}}if(hookCloseEvents&&vm){const disposables=view.disposables;const id=(AtomLoader.id++).toString();view.id=id;const returnPromise=new Promise(((resolve,reject)=>{disposables.add(app.subscribe(`atom-window-close:${id}`,((m,r)=>{resolve(r);view.dispose()})));disposables.add(app.subscribe(`atom-window-cancel:${id}`,(()=>{reject("cancelled");view.dispose()})))}));vm.windowName=id;view.returnPromise=returnPromise;return{view,disposables,returnPromise,id}}return{view}}catch(e_1){env_1.error=e_1;env_1.hasError=true}finally{__disposeResources(env_1)}}))}static loadClass(url_1){return __awaiter(this,arguments,void 0,(function*(url,_a={},app){var _b,_c,_d,_e;var _f;var{title}=_a,_g=displayRouteSymbol,route=_a[_g],parameters=__rest(_a,["title",typeof _g==="symbol"?_g:_g+""]);const env_2={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_2,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_b=(_f=view).parameters)!==null&&_b!==void 0?_b:_f.parameters={}}else{console.warn("ViewModel is deprecated")}if(title){view.title=title}if(params){params[displayRouteSymbol]=route}if((vm||params)&¶meters){for(const key in parameters){if(parameters.hasOwnProperty(key)){const element=parameters[key];try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_e=(_d=(_c=view).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_2){env_2.error=e_2;env_2.hasError=true}finally{__disposeResources(env_2)}}))}static loadControl(url,app){return __awaiter(this,void 0,void 0,(function*(){var _a,_b,_c,_d;var _e;const env_3={stack:[],error:void 0,hasError:false};try{const _busyIndicator=__addDisposableResource(env_3,app.createBusyIndicator({title:url===null||url===void 0?void 0:url.toString(),description:`Loading View ${url}`}),false);const view=yield AtomLoader.load(url,app);const vm=getOwnInheritedProperty(view,"viewModel");let params;if("parameters"in view){params=view.parameters}if(!vm){params=(_a=(_e=view).parameters)!==null&&_a!==void 0?_a:_e.parameters={}}if(vm||params){const jsonService=app.get(JsonService);for(const key in url.query){if(url.query.hasOwnProperty(key)){const element=url.query[key];if(/^json\:/.test(key)){const k=key.split(":")[1];const v=jsonService.parse(element.toString());if(vm){vm[k]=v}if(params){params[k]=v}continue}if(/^ref\:/.test(key)){const rs=app.get(ReferenceService);const v=rs.get(element).consume();const keyName=key.split(":",2)[1];if(vm){vm[keyName]=v}if(params){params[keyName]=v}continue}try{if(vm){vm[key]=element}if(params){params[key]=element}}catch(e){console.error(e)}}}}(_d=(_c=(_b=view).init)===null||_c===void 0?void 0:_c.call(_b))===null||_d===void 0?void 0:_d.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}));return view}catch(e_3){env_3.error=e_3;env_3.hasError=true}finally{__disposeResources(env_3)}}))}});AtomLoader.id=1}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/FormattedError");System.register([],(function(_export,_context){"use strict";var FormattedError;_export("default",void 0);return{setters:[],execute:function(){_export("default",FormattedError=class FormattedError{constructor(msg){const e=new Error(msg.toString());e.formattedMessage=msg;e.__proto__=FormattedError.prototype;return e}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/baseTypes");System.register([],(function(_export,_context){"use strict";function registerInit(target,fx){const t=target;const inits=t._$_inits=t._$_inits||[];inits.push(fx)}_export("registerInit",registerInit);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomViewModel");System.register(["tslib","../App","../Atom","../core/AtomBinder","../core/AtomDisposableList","../core/AtomWatcher","../core/BindableProperty","../di/Inject","./baseTypes"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomBinder,AtomDisposableList,AtomWatcher,BindableProperty,Inject,registerInit,AtomViewModel;function runDecoratorInits(){const v=this.constructor.prototype;if(!v){return}const ris=v._$_inits;if(ris){for(const ri of ris){ri.call(this,this)}}}function privateInit(){return __awaiter(this,void 0,void 0,(function*(){try{yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){runDecoratorInits.apply(this)}))));yield Atom.postAsync(this.app,(()=>__awaiter(this,void 0,void 0,(function*(){yield this.init();this.onReady()}))));if(this.postInit){for(const i of this.postInit){i()}this.postInit=null}}finally{const pi=this.pendingInits;this.pendingInits=null;for(const iterator of pi){iterator()}}}))}function waitForReady(vm){return __awaiter(this,void 0,void 0,(function*(){while(vm.pendingInits){yield Atom.delay(100)}}))}function Receive(...channel){return(target,key)=>{registerInit(target,(vm=>{const fx=vm[key];const a=(ch,d)=>{const p=fx.call(vm,ch,d);if(p&&p.then&&p.catch){p.catch((e=>{console.warn(e)}))}};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,a))}}))}}function BindableReceive(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=(cx,m)=>{vm[key]=m};const ivm=vm;for(const c of channel){ivm.registerDisposable(ivm.app.subscribe(c,fx))}}));return bp}}function BindableBroadcast(...channel){return(target,key)=>{const bp=BindableProperty(target,key);registerInit(target,(vm=>{const fx=t=>{const v=vm[key];for(const c of channel){vm.app.broadcast(c,v)}};const d=new AtomWatcher(vm,[key.split(".")],fx);d.init();vm.registerDisposable(d)}));return bp}}function Watch(target,key,descriptor){registerInit(target,(vm=>{const ivm=vm;if(descriptor&&descriptor.get){ivm.setupWatch(descriptor.get,(()=>{vm.refresh(key.toString())}));return}ivm.setupWatch(vm[key])}))}function CachedWatch(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const ivm=vm;const fieldName=`_${key}`;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){const c=ivm[fieldName]||(ivm[fieldName]={value:getMethod.apply(ivm)});return c.value}});ivm.setupWatch(getMethod,(()=>{ivm[fieldName]=null;AtomBinder.refreshValue(ivm,key)}))}))}function Validate(target,key,descriptor){const getMethod=descriptor.get;descriptor.get=()=>null;registerInit(target,(vm=>{const initialized={i:false};const ivm=vm;Object.defineProperty(ivm,key,{enumerable:true,configurable:true,get(){if(vm.mShouldValidate&&initialized.i){return getMethod.apply(this)}return null}});ivm.setupWatch(getMethod,(()=>{initialized.i=true;vm.refresh(key.toString())}),true,key.toString());return}))}_export({waitForReady,Receive,BindableReceive,BindableBroadcast,Watch,CachedWatch,Validate});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomBinder){AtomBinder=_coreAtomBinder.AtomBinder},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreAtomWatcher){AtomWatcher=_coreAtomWatcher.AtomWatcher},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_diInject){Inject=_diInject.Inject},function(_baseTypes){registerInit=_baseTypes.registerInit}],execute:function(){_export("AtomViewModel",AtomViewModel=class AtomViewModel{get isReady(){return this.pendingInits===null}get errors(){const e=[];if(!this.mShouldValidate){return e}for(const v of this.validations){if(!v.initialized){return e}const error=this[v.name];if(error){e.push({name:v.name,error})}}return e}get parent(){return this.mParent}set parent(v){if(this.mParent&&this.mParent.mChildren){this.mParent.mChildren.remove(this)}this.mParent=v;if(v){const c=v.mChildren||(v.mChildren=[]);c.add(this);this.registerDisposable({dispose:()=>{c.remove(this)}})}}get isValid(){let valid=true;const validateWasFalse=this.mShouldValidate===false;this.mShouldValidate=true;for(const v of this.validations){if(!v.initialized){v.watcher.init(true);v.initialized=true}if(this[v.name]){if(validateWasFalse){AtomBinder.refreshValue(this,v.name)}valid=false}}if(this.mChildren){for(const child of this.mChildren){if(!child.isValid){valid=false}}}AtomBinder.refreshValue(this,"errors");return valid}constructor(app){this.app=app;this.disposables=null;this.validations=[];this.pendingInits=[];this.mShouldValidate=false;this.app.runAsync((()=>privateInit.apply(this)))}resetValidations(resetChildren=true){this.mShouldValidate=false;for(const v of this.validations){this.refresh(v.name)}if(resetChildren&&this.mChildren){for(const iterator of this.mChildren){iterator.resetValidations(resetChildren)}}}runAfterInit(f){if(this.pendingInits){this.pendingInits.push(f);return}f()}refresh(name){AtomBinder.refreshValue(this,name)}init(){return __awaiter(this,void 0,void 0,(function*(){}))}dispose(){if(this.disposables){this.disposables.dispose()}}registerDisposable(d){this.disposables=this.disposables||new AtomDisposableList;return this.disposables.add(d)}onReady(){}setupWatch(ft,proxy,forValidation,name){const d=new AtomWatcher(this,ft,proxy,this);if(forValidation){this.validations=this.validations||[];this.validations.push({name,watcher:d,initialized:false})}else{d.init()}return this.registerDisposable(d)}onPropertyChanged(name){}});_export("AtomViewModel",AtomViewModel=__decorate([__param(0,Inject),__metadata("design:paramtypes",[App])],AtomViewModel))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/AtomWindowViewModel");System.register(["tslib","../services/NavigationService","./AtomViewModel"],(function(_export,_context){"use strict";var __awaiter,NavigationService,AtomViewModel,AtomWindowViewModel;_export("AtomWindowViewModel",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_AtomViewModel){AtomViewModel=_AtomViewModel.AtomViewModel}],execute:function(){_export("AtomWindowViewModel",AtomWindowViewModel=class AtomWindowViewModel extends AtomViewModel{close(result){this.app.broadcast(`atom-window-close:${this.windowName}`,result)}cancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){const navigationService=this.app.resolve(NavigationService);if(!(yield navigationService.confirm(this.closeWarning,"Are you sure?"))){return false}}this.app.broadcast(`atom-window-cancel:${this.windowName}`,"cancelled");return true}))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/Colors");System.register([],(function(_export,_context){"use strict";var ColorItem,Colors;function toFixedString(t){return("0"+t.toString(16)).slice(-2)}_export("ColorItem",void 0);return{setters:[],execute:function(){_export("ColorItem",ColorItem=class ColorItem{constructor(colorCodeOrRed,namedColorOrGreen,blue,alpha){if(typeof colorCodeOrRed==="string"){this.colorCode=colorCodeOrRed;if(typeof namedColorOrGreen==="string"){this.namedColor=namedColorOrGreen}const r=ColorItem.parseRgb(this.colorCode);this.red=r.red;this.green=r.green;this.blue=r.blue;this.alpha=r.alpha}else{this.red=colorCodeOrRed;if(typeof namedColorOrGreen==="number"){this.green=namedColorOrGreen}this.blue=blue;this.alpha=alpha;this.colorCode=ColorItem.rgb(this.red,this.green,this.blue,this.alpha)}}toString(){return this.colorCode}withAlphaPercent(a){return new ColorItem(this.red,this.green,this.blue,a)}static parseRgb(rgba){if(/^\#/.test(rgba)){rgba=rgba.substr(1);if(rgba.length===3){rgba=rgba.split("").map((x=>x+x)).join("")}const red=Number.parseInt(rgba[0]+rgba[1],16);const green=Number.parseInt(rgba[2]+rgba[3],16);const blue=Number.parseInt(rgba[4]+rgba[5],16);if(rgba.length>6){const alpha=Number.parseInt(rgba[6]+rgba[7],16);return{red,green,blue,alpha}}return{red,green,blue}}if(/^rgba/i.test(rgba)){rgba=rgba.substr(5);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map(((x,i)=>i===3?Number.parseFloat(x):Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2],alpha:a[3]}}if(/^rgb/i.test(rgba)){rgba=rgba.substr(4);rgba=rgba.substr(0,rgba.length-1);const a=rgba.split(",").map((x=>Number.parseInt(x,10)));return{red:a[0],green:a[1],blue:a[2]}}throw new Error("Unknown color format "+rgba)}static rgb(r,g,b,a){if(a!==undefined){return`rgba(${r},${g},${b},${a})`}return"#"+toFixedString(r)+toFixedString(g)+toFixedString(b)}});Colors=class Colors{static rgba(red,green,blue,alpha){return new ColorItem(red,green,blue,alpha)}static parse(color){if(!color){return null}color=color.toLowerCase();for(const key in Colors){if(Colors.hasOwnProperty(key)){const element=Colors[key];if(element instanceof ColorItem){const ci=element;if(ci.namedColor===color){return ci}}}}if(/^(\#|rgb\(|rgba\()/i.test(color)){return new ColorItem(color)}throw new Error("Invalid color format "+color)}};Colors.black=new ColorItem("#000000","black");Colors.silver=new ColorItem("#c0c0c0","silver");Colors.gray=new ColorItem("#808080","gray");Colors.white=new ColorItem("#ffffff","white");Colors.maroon=new ColorItem("#800000","maroon");Colors.red=new ColorItem("#ff0000","red");Colors.purple=new ColorItem("#800080","purple");Colors.fuchsia=new ColorItem("#ff00ff","fuchsia");Colors.green=new ColorItem("#008000","green");Colors.lime=new ColorItem("#00ff00","lime");Colors.olive=new ColorItem("#808000","olive");Colors.yellow=new ColorItem("#ffff00","yellow");Colors.navy=new ColorItem("#000080","navy");Colors.blue=new ColorItem("#0000ff","blue");Colors.teal=new ColorItem("#008080","teal");Colors.aqua=new ColorItem("#00ffff","aqua");Colors.orange=new ColorItem("#ffa500","orange");Colors.aliceBlue=new ColorItem("#f0f8ff","aliceblue");Colors.antiqueWhite=new ColorItem("#faebd7","antiquewhite");Colors.aquaMarine=new ColorItem("#7fffd4","aquamarine");Colors.azure=new ColorItem("#f0ffff","azure");Colors.beige=new ColorItem("#f5f5dc","beige");Colors.bisque=new ColorItem("#ffe4c4","bisque");Colors.blanchedAlmond=new ColorItem("#ffebcd","blanchedalmond");Colors.blueViolet=new ColorItem("#8a2be2","blueviolet");Colors.brown=new ColorItem("#a52a2a","brown");Colors.burlyWood=new ColorItem("#deb887","burlywood");Colors.cadetBlue=new ColorItem("#5f9ea0","cadetblue");Colors.chartReuse=new ColorItem("#7fff00","chartreuse");Colors.chocolate=new ColorItem("#d2691e","chocolate");Colors.coral=new ColorItem("#ff7f50","coral");Colors.cornFlowerBlue=new ColorItem("#6495ed","cornflowerblue");Colors.cornSilk=new ColorItem("#fff8dc","cornsilk");Colors.crimson=new ColorItem("#dc143c","crimson");Colors.cyan=new ColorItem("#00ffff","cyan");Colors.darkBlue=new ColorItem("#00008b","darkblue");Colors.darkCyan=new ColorItem("#008b8b","darkcyan");Colors.darkGoldenRod=new ColorItem("#b8860b","darkgoldenrod");Colors.darkGray=new ColorItem("#a9a9a9","darkgray");Colors.darkGreen=new ColorItem("#006400","darkgreen");Colors.darkGrey=new ColorItem("#a9a9a9","darkgrey");Colors.darkKhaki=new ColorItem("#bdb76b","darkkhaki");Colors.darkMagenta=new ColorItem("#8b008b","darkmagenta");Colors.darkOliveGreen=new ColorItem("#556b2f","darkolivegreen");Colors.darkOrange=new ColorItem("#ff8c00","darkorange");Colors.darkOrchid=new ColorItem("#9932cc","darkorchid");Colors.darkRed=new ColorItem("#8b0000","darkred");Colors.darkSalmon=new ColorItem("#e9967a","darksalmon");Colors.darkSeaGreen=new ColorItem("#8fbc8f","darkseagreen");Colors.darkSlateBlue=new ColorItem("#483d8b","darkslateblue");Colors.darkSlateGray=new ColorItem("#2f4f4f","darkslategray");Colors.darkSlateGrey=new ColorItem("#2f4f4f","darkslategrey");Colors.darkTurquoise=new ColorItem("#00ced1","darkturquoise");Colors.darkViolet=new ColorItem("#9400d3","darkviolet");Colors.deepPink=new ColorItem("#ff1493","deeppink");Colors.deepSkyBlue=new ColorItem("#00bfff","deepskyblue");Colors.dimGray=new ColorItem("#696969","dimgray");Colors.dimGrey=new ColorItem("#696969","dimgrey");Colors.dodgerBlue=new ColorItem("#1e90ff","dodgerblue");Colors.fireBrick=new ColorItem("#b22222","firebrick");Colors.floralWhite=new ColorItem("#fffaf0","floralwhite");Colors.forestGreen=new ColorItem("#228b22","forestgreen");Colors.gainsboro=new ColorItem("#dcdcdc","gainsboro");Colors.ghostWhite=new ColorItem("#f8f8ff","ghostwhite");Colors.gold=new ColorItem("#ffd700","gold");Colors.goldenRod=new ColorItem("#daa520","goldenrod");Colors.greenYellow=new ColorItem("#adff2f","greenyellow");Colors.grey=new ColorItem("#808080","grey");Colors.honeyDew=new ColorItem("#f0fff0","honeydew");Colors.hotPink=new ColorItem("#ff69b4","hotpink");Colors.indianRed=new ColorItem("#cd5c5c","indianred");Colors.indigo=new ColorItem("#4b0082","indigo");Colors.ivory=new ColorItem("#fffff0","ivory");Colors.khaki=new ColorItem("#f0e68c","khaki");Colors.lavender=new ColorItem("#e6e6fa","lavender");Colors.lavenderBlush=new ColorItem("#fff0f5","lavenderblush");Colors.lawnGreen=new ColorItem("#7cfc00","lawngreen");Colors.lemonChiffon=new ColorItem("#fffacd","lemonchiffon");Colors.lightBlue=new ColorItem("#add8e6","lightblue");Colors.lightCoral=new ColorItem("#f08080","lightcoral");Colors.lightCyan=new ColorItem("#e0ffff","lightcyan");Colors.lightGoldenRodYellow=new ColorItem("#fafad2","lightgoldenrodyellow");Colors.lightGray=new ColorItem("#d3d3d3","lightgray");Colors.lightGreen=new ColorItem("#90ee90","lightgreen");Colors.lightGrey=new ColorItem("#d3d3d3","lightgrey");Colors.lightPink=new ColorItem("#ffb6c1","lightpink");Colors.lightSalmon=new ColorItem("#ffa07a","lightsalmon");Colors.lightSeaGreen=new ColorItem("#20b2aa","lightseagreen");Colors.lightSkyBlue=new ColorItem("#87cefa","lightskyblue");Colors.lightSlateGray=new ColorItem("#778899","lightslategray");Colors.lightSlateGrey=new ColorItem("#778899","lightslategrey");Colors.lightSteelBlue=new ColorItem("#b0c4de","lightsteelblue");Colors.lightYellow=new ColorItem("#ffffe0","lightyellow");Colors.limeGreen=new ColorItem("#32cd32","limegreen");Colors.linen=new ColorItem("#faf0e6","linen");Colors.magenta=new ColorItem("#ff00ff","magenta");Colors.mediumAquaMarine=new ColorItem("#66cdaa","mediumaquamarine");Colors.mediumBlue=new ColorItem("#0000cd","mediumblue");Colors.mediumOrchid=new ColorItem("#ba55d3","mediumorchid");Colors.mediumPurple=new ColorItem("#9370db","mediumpurple");Colors.mediumSeaGreen=new ColorItem("#3cb371","mediumseagreen");Colors.mediumSlateBlue=new ColorItem("#7b68ee","mediumslateblue");Colors.mediumSpringGreen=new ColorItem("#00fa9a","mediumspringgreen");Colors.mediumTurquoise=new ColorItem("#48d1cc","mediumturquoise");Colors.mediumVioletred=new ColorItem("#c71585","mediumvioletred");Colors.midNightBlue=new ColorItem("#191970","midnightblue");Colors.mintCream=new ColorItem("#f5fffa","mintcream");Colors.mistyRose=new ColorItem("#ffe4e1","mistyrose");Colors.moccasin=new ColorItem("#ffe4b5","moccasin");Colors.navajoWhite=new ColorItem("#ffdead","navajowhite");Colors.oldLace=new ColorItem("#fdf5e6","oldlace");Colors.oliveDrab=new ColorItem("#6b8e23","olivedrab");Colors.orangeRed=new ColorItem("#ff4500","orangered");Colors.orchid=new ColorItem("#da70d6","orchid");Colors.paleGoldenRod=new ColorItem("#eee8aa","palegoldenrod");Colors.paleGreen=new ColorItem("#98fb98","palegreen");Colors.paleTurquoise=new ColorItem("#afeeee","paleturquoise");Colors.paleVioletRed=new ColorItem("#db7093","palevioletred");Colors.papayaWhip=new ColorItem("#ffefd5","papayawhip");Colors.peachPuff=new ColorItem("#ffdab9","peachpuff");Colors.peru=new ColorItem("#cd853f","peru");Colors.pink=new ColorItem("#ffc0cb","pink");Colors.plum=new ColorItem("#dda0dd","plum");Colors.powderBlue=new ColorItem("#b0e0e6","powderblue");Colors.rosyBrown=new ColorItem("#bc8f8f","rosybrown");Colors.royalBlue=new ColorItem("#4169e1","royalblue");Colors.saddleBrown=new ColorItem("#8b4513","saddlebrown");Colors.salmon=new ColorItem("#fa8072","salmon");Colors.sandyBrown=new ColorItem("#f4a460","sandybrown");Colors.seaGreen=new ColorItem("#2e8b57","seagreen");Colors.seaShell=new ColorItem("#fff5ee","seashell");Colors.sienna=new ColorItem("#a0522d","sienna");Colors.skyBlue=new ColorItem("#87ceeb","skyblue");Colors.slateBlue=new ColorItem("#6a5acd","slateblue");Colors.slateGray=new ColorItem("#708090","slategray");Colors.slateGrey=new ColorItem("#708090","slategrey");Colors.snow=new ColorItem("#fffafa","snow");Colors.springGreen=new ColorItem("#00ff7f","springgreen");Colors.steelBlue=new ColorItem("#4682b4","steelblue");Colors.tan=new ColorItem("#d2b48c","tan");Colors.thistle=new ColorItem("#d8bfd8","thistle");Colors.tomato=new ColorItem("#ff6347","tomato");Colors.turquoise=new ColorItem("#40e0d0","turquoise");Colors.violet=new ColorItem("#ee82ee","violet");Colors.wheat=new ColorItem("#f5deb3","wheat");Colors.whiteSmoke=new ColorItem("#f5f5f5","whitesmoke");Colors.yellowGreen=new ColorItem("#9acd32","yellowgreen");Colors.rebeccaPurple=new ColorItem("#663399","rebeccapurple");Colors.transparent=new ColorItem("#00000000","transparent");_export("default",Colors)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomWindowStyle");System.register(["@web-atoms/core/src/web/images/close-button-hover.svg","../styles/AtomStyle"],(function(_export,_context){"use strict";var closeButtonHover,AtomStyle,AtomWindowStyle;_export("AtomWindowStyle",void 0);return{setters:[function(_webAtomsCoreSrcWebImagesCloseButtonHoverSvg){closeButtonHover=_webAtomsCoreSrcWebImagesCloseButtonHoverSvg.default},function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomWindowStyle",AtomWindowStyle=class AtomWindowStyle extends AtomStyle{get root(){return Object.assign(Object.assign({},this.frameHost),{subclasses:{" .close-button":this.closeButton," .command-bar-presenter":this.commandBarPresenter," .command-bar":this.commandBar," .content-presenter":this.contentPresenter," .content":this.content," .frame":this.frame," .title":this.title," .title-host":this.titleHost," .title-presenter":this.titlePresenter}})}get frameHost(){return{position:"absolute",left:0,right:0,top:0,bottom:0,backgroundColor:"#50505080"}}get frame(){return{position:"absolute",minHeight:"100px",minWidth:"300px",margin:"auto",border:"solid 1px #808080",borderRadius:"5px",backgroundColor:"white"}}get titlePresenter(){return{position:"relative",left:0,right:0,top:0,height:"37px"}}get titleHost(){return{position:"absolute",left:0,right:0,padding:"7px",minHeight:"32px",backgroundColor:"#404040",color:"white",top:0,borderTopRightRadius:"4px",borderTopLeftRadius:"4px"}}get title(){return{margin:"auto"}}get closeButton(){return{position:"absolute",right:"6px",top:"7px",width:"0",height:"0",padding:"9px",border:"none",backgroundColor:"transparent",backgroundImage:closeButtonHover}}get content(){return{}}get contentPresenter(){return{position:"relative",padding:"10px",background:"white"}}get commandBarPresenter(){return{left:0,right:0,bottom:0,padding:"5px",backgroundColor:"#d4d4d4",textAlign:"right",borderBottomRightRadius:"4px",borderBottomLeftRadius:"4px"}}get commandBar(){return{subclasses:{" button":{borderRadius:"3px",marginLeft:"5px",marginRight:"5px",padding:"4px 16px",backgroundColor:"whitesmoke",border:"1px solid gray"}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomAlertWindowStyle");System.register(["../../core/Colors","./AtomWindowStyle"],(function(_export,_context){"use strict";var Colors,AtomWindowStyle,AtomAlertWindowStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomWindowStyle){AtomWindowStyle=_AtomWindowStyle.AtomWindowStyle}],execute:function(){_export("default",AtomAlertWindowStyle=class AtomAlertWindowStyle extends AtomWindowStyle{get titleHost(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"titleHost")),{color:Colors.black,backgroundColor:Colors.white})}get contentPresenter(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"contentPresenter")),{padding:"0px 10px 30px 10px",textAlign:"center",color:Colors.rgba(51,51,51)})}get commandBar(){return Object.assign(Object.assign({},this.getBaseProperty(AtomAlertWindowStyle,"commandBar")),{textAlign:"center",subclasses:{" button":this.buttonStyle," .yes-button":{backgroundColor:Colors.rgba(0,128,0)}," .no-button":{backgroundColor:Colors.rgba(255,0,0)}}})}get buttonStyle(){return{border:"none",color:Colors.white,width:"50%",height:"40px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomTemplate");System.register(["./AtomControl"],(function(_export,_context){"use strict";var AtomControl,AtomTemplate;_export("AtomTemplate",void 0);return{setters:[function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("AtomTemplate",AtomTemplate=class AtomTemplate extends AtomControl{})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomWindow");System.register(["../../App","../../core/Bind","../../core/XNode","../styles/AtomWindowStyle","./AtomControl","./AtomTemplate"],(function(_export,_context){"use strict";var App,Bind,XNode,AtomWindowStyle,AtomControl,AtomTemplate,AtomWindowFrameTemplate,AtomWindowTitleTemplate,AtomWindow;function getTemplateParent(e){const tp=e._templateParent;if(tp){return tp}const p=e._logicalParent||e.parentElement;if(p){return getTemplateParent(p)}}_export({getTemplateParent,AtomWindowFrameTemplate:void 0,AtomWindow:void 0});return{setters:[function(_App){App=_App.App},function(_coreBind){Bind=_coreBind.default},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomWindowStyle){AtomWindowStyle=_stylesAtomWindowStyle.AtomWindowStyle},function(_AtomControl){AtomControl=_AtomControl.AtomControl},function(_AtomTemplate){AtomTemplate=_AtomTemplate.AtomTemplate}],execute:function(){_export("AtomWindowFrameTemplate",AtomWindowFrameTemplate=class AtomWindowFrameTemplate extends AtomTemplate{get templateParent(){return getTemplateParent(this.element)}preCreate(){this.titlePresenter=null;this.commandPresenter=null;this.contentPresenter=null;super.preCreate()}create(){this.render(XNode.create("div",{class:"frame",styleWidth:Bind.oneWay((()=>this.templateParent.width||undefined)),styleHeight:Bind.oneWay((()=>this.templateParent.height||undefined)),styleLeft:Bind.oneWay((()=>this.templateParent.x>=0?`${this.templateParent.x}px`:undefined)),styleTop:Bind.oneWay((()=>this.templateParent.y>=0?`${this.templateParent.y}px`:undefined)),styleMarginTop:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginLeft:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginRight:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined)),styleMarginBottom:Bind.oneWay((()=>this.templateParent.x>=0?"0":undefined))},XNode.create("div",{class:"title-presenter",presenter:Bind.presenter("titlePresenter")}),XNode.create("div",{class:"content-presenter",presenter:Bind.presenter("contentPresenter")}),XNode.create("div",{class:"command-bar-presenter",presenter:Bind.presenter("commandPresenter")})))}});AtomWindowTitleTemplate=class AtomWindowTitleTemplate extends AtomControl{get templateParent(){return getTemplateParent(this.element)}create(){this.render(XNode.create("div",{class:"title-host"},XNode.create("span",{class:"title",text:Bind.oneWay((()=>this.templateParent.title))}),XNode.create("button",{class:"close-button",eventClick:Bind.event((()=>this.templateParent.close()))})))}};_export("AtomWindow",AtomWindow=class AtomWindow extends AtomControl{constructor(){super(...arguments);this.title="";this.width="";this.height="";this.x=-1;this.y=-1;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;this.isReady=false}get templateParent(){return getTemplateParent(this.element)}onPropertyChanged(name){switch(name){case"windowTemplate":case"commandTemplate":case"frameTemplate":this.invalidate();break}}close(){const vm=this.viewModel;if(vm.cancel){this.app.runAsync((()=>vm.cancel()));return}const message=`atom-window-cancel:${this.id}`;const device=this.app.resolve(App);device.broadcast(message,"cancelled")}onUpdateUI(){if(!(this.windowTemplate&&this.frameTemplate)){return}if(this.isReady){return}this.bind(this.element,"title",[["viewModel","title"]]);const frame=new this.frameTemplate(this.app);const fe=frame.element;const titleContent=new this.titleTemplate(this.app);titleContent.element._templateParent=this;frame.titlePresenter.appendChild(titleContent.element);this.setupDragging(frame.titlePresenter);this.element.classList.add("frame-host");fe._logicalParent=this.element;fe._templateParent=this;if(!frame.contentPresenter){throw new Error("ContentPresenter must be set inside frameTemplate before creating window")}const content=new this.windowTemplate(this.app);content.element._templateParent=this;this.setElementClass(content.element,{content:1});frame.contentPresenter.appendChild(content.element);if(this.commandTemplate){if(!frame.commandPresenter){throw new Error("CommandPresenter must be set inside frameTemplate"+"before creating window if command template is present")}const command=new this.commandTemplate(this.app);command.element._templateParent=this;this.setElementClass(command.element,{"command-bar":1});frame.commandPresenter.appendChild(command.element)}this.append(frame);setTimeout((()=>{this.centerFrame(frame.element)}),100);this.isReady=true}preCreate(){this.defaultControlStyle=AtomWindowStyle;this.title=null;this.width="";this.height="";this.x=-1;this.y=-1;this.windowTemplate=null;this.commandTemplate=null;this.titleTemplate=AtomWindowTitleTemplate;this.frameTemplate=AtomWindowFrameTemplate;super.preCreate();this.render(XNode.create("div",{styleClass:Bind.oneTime((()=>this.controlStyle.name))}))}centerFrame(e){if(!this.element){return}const parent=this.element.parentElement;if(parent===window||parent===document.body){return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerFrame(e)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;this.x=x;this.y=y;e.style.opacity="1";this.element.style.removeProperty("opacity")}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{startEvent.preventDefault();const disposables=[];const offset={x:tp.parentElement.offsetLeft,y:tp.parentElement.offsetTop};const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;offset.x+=dx;offset.y+=dy;this.x=offset.x;this.y=offset.y;rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;for(const iterator of disposables){iterator.dispose()}})))}))}});AtomWindow.windowTemplate=XNode.prepare("windowTemplate",true,true);AtomWindow.commandTemplate=XNode.prepare("commandTemplate",true,true);AtomWindow.titleTemplate=XNode.prepare("titleTemplate",true,true);AtomWindow.frameTemplate=XNode.prepare("frameTemplate",true,true)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomAlertWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../view-model/AtomWindowViewModel","../styles/AtomAlertWindowStyle","./AtomWindow"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomWindowViewModel,AtomAlertWindowStyle,AtomWindow,AtomAlertWindow,AtomAlertViewModel;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_stylesAtomAlertWindowStyle){AtomAlertWindowStyle=_stylesAtomAlertWindowStyle.default},function(_AtomWindow){AtomWindow=_AtomWindow.AtomWindow}],execute:function(){_export("default",AtomAlertWindow=class AtomAlertWindow extends AtomWindow{create(){this.defaultControlStyle=AtomAlertWindowStyle;this.viewModel=this.resolve(AtomAlertViewModel);this.render(XNode.create(AtomWindow,{title:Bind.oneWay((()=>this.viewModel.title))},XNode.create(AtomWindow.windowTemplate,null,XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message))})),XNode.create(AtomWindow.commandTemplate,null,XNode.create("div",null,XNode.create("button",{class:"yes-button",styleDisplay:Bind.oneWay((()=>this.viewModel.okTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.okTitle)),eventClick:()=>this.viewModel.onOkClicked()}),XNode.create("button",{class:"no-button",styleMarginBottom:Bind.oneWay((()=>this.viewModel.cancelTitle?"0":"10px")),styleDisplay:Bind.oneWay((()=>this.viewModel.cancelTitle?"":"none")),text:Bind.oneWay((()=>this.viewModel.cancelTitle)),eventClick:()=>this.viewModel.onCancelClicked()})))))}});AtomAlertViewModel=class AtomAlertViewModel extends AtomWindowViewModel{onOkClicked(){this.close(true)}onCancelClicked(){this.cancel()}};__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"message",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"okTitle",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomAlertViewModel.prototype,"cancelTitle",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomNotificationStyle");System.register(["../../core/Colors","./AtomStyle"],(function(_export,_context){"use strict";var Colors,AtomStyle,AtomNotificationStyle;_export("default",void 0);return{setters:[function(_coreColors){Colors=_coreColors.default},function(_AtomStyle){AtomStyle=_AtomStyle.AtomStyle}],execute:function(){_export("default",AtomNotificationStyle=class AtomNotificationStyle extends AtomStyle{get root(){return{padding:"5px",borderRadius:"5px",border:"solid 1px lightgray",fontFamily:"Verdana, Geneva, sans-serif",fontSize:"16px",subclasses:{".error":{borderColor:Colors.red,color:Colors.red},".warning":{backgroundColor:Colors.lightYellow}}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/controls/AtomNotification");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../styles/AtomNotificationStyle","./AtomControl"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomNotificationStyle,AtomControl,AtomNotification;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_stylesAtomNotificationStyle){AtomNotificationStyle=_stylesAtomNotificationStyle.default},function(_AtomControl){AtomControl=_AtomControl.AtomControl}],execute:function(){_export("default",AtomNotification=class AtomNotification extends AtomControl{constructor(){super(...arguments);this.timeout=5e3;this.timeoutKey=null}onPropertyChanged(name){switch(name){case"timeout":this.setupTimeout();break}}create(){this.defaultControlStyle=AtomNotificationStyle;this.render(XNode.create("div",{formattedText:Bind.oneWay((()=>this.viewModel.message)),timeout:Bind.oneWay((()=>this.viewModel.timeout||5e3)),styleClass:Bind.oneWay((()=>({[this.controlStyle.name]:1,error:this.viewModel.type&&/error/i.test(this.viewModel.type),warning:this.viewModel.type&&/warn/i.test(this.viewModel.type)})))}))}setupTimeout(){if(this.timeoutKey){clearTimeout(this.timeoutKey)}this.timeoutKey=setTimeout((()=>{if(this.element){this.app.broadcast(`atom-window-close:${this.id}`,"")}}),this.timeout)}});__decorate([BindableProperty,__metadata("design:type",Number)],AtomNotification.prototype,"timeout",void 0)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomPopupStyle");System.register(["../styles/AtomStyle"],(function(_export,_context){"use strict";var AtomStyle,AtomPopupStyle;_export("AtomPopupStyle",void 0);return{setters:[function(_stylesAtomStyle){AtomStyle=_stylesAtomStyle.AtomStyle}],execute:function(){_export("AtomPopupStyle",AtomPopupStyle=class AtomPopupStyle extends AtomStyle{get root(){return{backgroundColor:"white",border:"solid 1px lightgray",padding:"5px",borderRadius:"5px"}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupWindow");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../controls/AtomControl","../core/AtomUI","./PopupWindow.global.css"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator},function(_PopupWindowGlobalCss){}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};_export("default",PopupWindow=class PopupWindow extends AtomControl{constructor(){super(...arguments);this.initialized=false}static showWindow(window,options){var arguments_1=arguments;return __awaiter(this,void 0,void 0,(function*(){if(arguments_1.length<=1){options=arguments_1[0];window=this}yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}static showModal(window,options){var arguments_2=arguments;return __awaiter(this,void 0,void 0,(function*(){var _a;if(arguments_2.length<=1){options=arguments_2[0];window=this}options!==null&&options!==void 0?options:options={};(_a=options.modal)!==null&&_a!==void 0?_a:options.modal=true;yield sleep(1);const PS=yield loadPopupService();return PS.showWindow(PS.lastTarget,window,options)}))}onPropertyChanged(name){super.onPropertyChanged(name);switch(name){case"iconRenderer":this.recreate(name,"icon");break;case"actionBarRenderer":this.recreate(name,"action-bar");break;case"footerRenderer":this.recreate(name,"footer");break;case"titleRenderer":this.recreate(name,"title");break;case"headerRenderer":this.recreate(name,"header");break;case"closeButtonRenderer":this.recreate(name,"close");break}}init(){}requestCancel(){return __awaiter(this,void 0,void 0,(function*(){if(this.closeWarning){if(!(yield ConfirmPopup.confirm({message:this.closeWarning}))){return}}this.cancel()}))}recreate(renderer,name){var _a,_b,_c;const node=(_b=(_a=this[renderer])===null||_a===void 0?void 0:_a.call(this))!==null&&_b!==void 0?_b:undefined;for(const e of ChildEnumerator.enumerate(this.element)){if(e.getAttribute("data-window-element")===name){this.dispose(e);e.remove();break}}if(node){const na=(_c=node.attributes)!==null&&_c!==void 0?_c:node.attributes={};na["data-window-element"]=name;super.render(XNode.create("div",null,node));return this.element.querySelector(`[data-window-element="${name}"]`)}return null}rendererChanged(){for(const content of ChildEnumerator.where(this.element,(e=>e.getAttribute("data-window-element")==="content"))){this.dispose(content);content.remove()}const r=this.renderer;if(!r){return}delete this.render;this.render(r)}preCreate(){this.title=null;this.viewModelTitle=null;this.element.setAttribute("not-ready","1");const c=new CancelToken;this.cancelToken=c;this.registerDisposable({dispose(){c.cancel()}});const handler=e=>{if(e.key==="Escape"){this.app.runAsync((()=>this.requestCancel()));e.preventDefault();return}};this.bindEvent(this.element,"keydown",handler);this.element.setAttribute("data-popup-window","popup-window");setTimeout((p=>{p.setAttribute("data-ready","true")}),10,this.element);setTimeout((p=>{var _a;const parent=(_a=p.offsetParent)!==null&&_a!==void 0?_a:document.body;const left=`${(parent.offsetWidth-p.offsetWidth)/2}px`;const top=`${(parent.offsetHeight-p.offsetHeight)/2}px`;p.style.left=left;p.style.top=top;p.removeAttribute("not-ready")}),1e3,this.element)}render(node,e,creator){var _a,_b,_c,_d,_e;if(e||((_a=node===null||node===void 0?void 0:node.attributes)===null||_a===void 0?void 0:_a["data-window-element"])){super.render(node,e,creator);return}this.render=super.render;(_b=this.titleRenderer)!==null&&_b!==void 0?_b:this.titleRenderer=()=>XNode.create("div",{class:"title-text",text:Bind.oneWay((()=>this.title||this.viewModelTitle))});(_c=this.closeButtonRenderer)!==null&&_c!==void 0?_c:this.closeButtonRenderer=()=>XNode.create("button",{class:"popup-close-button",text:"x",eventClick:Bind.event((()=>this.requestCancel()))});(_d=this.actionBarRenderer)!==null&&_d!==void 0?_d:this.actionBarRenderer=()=>XNode.create("div",null);const a=(_e=node.attributes)!==null&&_e!==void 0?_e:node.attributes={};a["data-window-content"]="window-content";a["data-window-element"]="content";const extracted=this.extractControlProperties(node);super.render(XNode.create("div",Object.assign({viewModelTitle:Bind.oneWay((()=>this.viewModel.title))},extracted),node),e,creator);if(!this.initialized){this.initialized=true;this.runAfterInit((()=>{setTimeout(focus,100,this)}))}}setupDragging(tp){this.bindEvent(tp,"mousedown",(startEvent=>{if(startEvent.target.tagName==="BUTTON"){return}startEvent.preventDefault();const disposables=[];const element=this.element;const offset={x:element.offsetLeft,y:element.offsetTop};this.element.dataset.dragging="true";const rect={x:startEvent.clientX,y:startEvent.clientY};const cursor=tp.style.cursor;tp.style.cursor="move";disposables.push(this.bindEvent(document.body,"mousemove",(moveEvent=>{const{clientX,clientY}=moveEvent;const dx=clientX-rect.x;const dy=clientY-rect.y;const finalX=offset.x+dx;const finalY=offset.y+dy;if(finalX<5||finalY<5){return}offset.x=finalX;offset.y=finalY;this.element.style.left=offset.x+"px";this.element.style.top=offset.y+"px";rect.x=clientX;rect.y=clientY})));disposables.push(this.bindEvent(document.body,"mouseup",(endEvent=>{tp.style.cursor=cursor;this.element.removeAttribute("data-dragging");for(const iterator of disposables){iterator.dispose()}})))}))}});__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"title",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"titleRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"closeButtonRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"footerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"headerRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"iconRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],PopupWindow.prototype,"actionBarRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",String)],PopupWindow.prototype,"closeWarning",void 0);delete PopupWindow.prototype.init;_export("ConfirmPopup",ConfirmPopup=class ConfirmPopup extends PopupWindow{static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){const PS=yield loadPopupService();return PS.confirm({title,message,yesLabel,noLabel,cancelLabel})}))}preCreate(){super.preCreate();this.yesLabel="Yes";this.noLabel="No";this.cancelLabel=null;this.element.setAttribute("data-confirm-popup","confirm-popup");this.footerRenderer=()=>XNode.create("div",null,XNode.create("button",{class:"yes",autofocus:true,text:Bind.oneWay((()=>this.yesLabel)),eventClick:()=>this.close(true),"style-display":Bind.oneWay((()=>!!this.yesLabel))}),XNode.create("button",{class:"no",text:Bind.oneWay((()=>this.noLabel)),eventClick:()=>this.close(false),"style-display":Bind.oneWay((()=>!!this.noLabel))}),XNode.create("button",{class:"cancel",text:Bind.oneWay((()=>this.cancelLabel)),eventClick:()=>this.requestCancel(),"style-display":Bind.oneWay((()=>!!this.cancelLabel))}));this.closeButtonRenderer=()=>XNode.create("div",{"style-display":"none"})}requestCancel(){this.cancel();return Promise.resolve()}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/PopupService");System.register(["tslib","../../core/AtomDisposableList","../../core/InheritedProperty","../../core/types","../../core/XNode","../controls/AtomControl","./PopupService.global.css","./PopupWindow"],(function(_export,_context){"use strict";var __awaiter,__rest,AtomDisposableList,getOwnInheritedProperty,CancelToken,XNode,AtomControl,PopupWindowA,ConfirmPopup,PopupControl,PopupService,PopupWindow,popupCss,disableContain,popupId,lastTarget;function findHostAndPosition(opener){let root=opener;const body=document.body;let rect=opener.getBoundingClientRect();const offset={x:rect.left,y:rect.top,handler:null,root};do{root=root.parentElement;if(root===body){break}if(root.parentElement.classList.contains("page-host")){break}if(root.classList.contains("popup-host")){break}if(root.getAttribute("data-pop-up-host")==="yes"){break}}while(true);rect=root.getBoundingClientRect();offset.x-=rect.x;offset.y-=rect.y;offset.root=root;return offset}function findHost(opener,offset){var _a,_b;let host=opener.offsetParent;while(host){const current=host;if(host===document.body){return host}if(host.classList.contains("popup-host")){return host}if(host.dataset.popUpHost==="yes"){return host}const parent=(_a=host.offsetParent)!==null&&_a!==void 0?_a:host.parentElement;host=parent;if(host.classList.contains("page-host")){host=current;return host}if(!host){continue}if(!offset){continue}offset.x+=host.offsetLeft;offset.y+=host.offsetTop-((_b=parent===null||parent===void 0?void 0:parent.scrollTop)!==null&&_b!==void 0?_b:0)}return host!==null&&host!==void 0?host:document.body}function closeHandler(host,opener,container,close){let handler=null;handler=e=>{var _a;if(container===null||container===void 0?void 0:container.element){const ce=new CustomEvent("outsideClick",{detail:e,cancelable:true,bubbles:true});container.element.dispatchEvent(ce);if(ce.defaultPrevented){return}}let start=e.target;if(e.defaultPrevented){return}while(start){if(start===host){break}if(start===opener){return}if(start===container.element){return}start=start.parentElement}close();e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e)};document.body.addEventListener("click",handler,true);container.registerDisposable((()=>document.body.removeEventListener("click",handler,true)));const onBack=e=>{var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();close()};window.addEventListener("backButton",onBack,true);container.registerDisposable((()=>window.removeEventListener("backButton",onBack,true)));setTimeout((()=>{container.registerDisposable(disableContain(container.element))}),10)}_export("PopupControl",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__rest=_tslib.__rest},function(_coreAtomDisposableList){AtomDisposableList=_coreAtomDisposableList.AtomDisposableList},function(_coreInheritedProperty){getOwnInheritedProperty=_coreInheritedProperty.getOwnInheritedProperty},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_coreXNode){XNode=_coreXNode.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_PopupServiceGlobalCss){},function(_PopupWindow){PopupWindowA=_PopupWindow.default;ConfirmPopup=_PopupWindow.ConfirmPopup}],execute:function(){_export("PopupWindow",PopupWindow=PopupWindowA);document.body.addEventListener("click",(e=>{if(e.target.offsetParent){PopupService.lastTarget=e.target}}));popupCss="web-atoms-popup-local";_export("PopupControl",PopupControl=class PopupControl extends AtomControl{static showControl(opener,_a={}){var{onClick="close"}=_a,options=__rest(_a,["onClick"]);let openerElement=options===null||options===void 0?void 0:options.parentElement;let app;if(opener instanceof AtomControl){openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener.element;app=opener.app}else{openerElement!==null&&openerElement!==void 0?openerElement:openerElement=opener;let start=opener;while(!start.atomControl){start=start.parentElement}if(!start){return Promise.reject("Could not create popup as target is not attached")}app=start.atomControl.app}const popup=new this(app);if(onClick==="close"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.close()),10)))}else if(onClick==="cancel"){popup.bindEvent(popup.element,"click",(()=>setTimeout((()=>popup.cancel()),10)))}const p=PopupService.show(openerElement,popup.element,options);return new Promise(((resolve,reject)=>{let resolved=false;popup.close=r=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;resolve(r);p.dispose()};popup.cancel=e=>{if(resolved){return}resolved=true;PopupService.lastTarget=openerElement;reject(e);p.dispose()}}))}});_export("disableContain",disableContain=ce=>{const containNoneList=[];while(ce){const style=window.getComputedStyle(ce);const isNotNone=style.contain!=="none";if(isNotNone){ce.setAttribute("data-force-contain","none");containNoneList.push(ce)}ce=ce.parentElement}return()=>{for(const iterator of containNoneList){iterator.removeAttribute("data-force-contain")}}});popupId=1001;lastTarget={element:null,x:10,y:10};PopupService=class PopupService{static get lastTarget(){var _a,_b,_c;const{element,x=0,y=0}=lastTarget;if(element===null||element===void 0?void 0:element.isConnected){return element}const targets=this.targetPath;if(targets){for(;;){const first=targets[0];if(!first){break}if(first.isConnected){lastTarget={element:first,x,y};return first}targets.splice(0,1)}}let e=(_b=(_a=document.elementFromPoint)===null||_a===void 0?void 0:_a.call(document,x,y))!==null&&_b!==void 0?_b:document.body;if(((_c=this.defaultElementTarget)===null||_c===void 0?void 0:_c.isConnected)&&(e===document.documentElement||e===document.body)){e=this.defaultElementTarget}PopupService.lastTarget=e;return e}static set lastTarget(element){if(!element.isConnected){return}if(element===document.documentElement){return}let start=element;const targets=[start];while(start){start=start.parentElement;if(start){targets.push(start)}}this.targetPath=targets;if(!this.defaultElementTarget&&element!==document.body&&element!==document.documentElement){this.defaultElementTarget=element}const rect=element.getBoundingClientRect();lastTarget={element,x:rect.left+rect.width/2,y:rect.top+rect.height/2}}static alert(_a){return __awaiter(this,arguments,void 0,(function*({message,detail,title="Alert",yesLabel="Ok"}){var _b,_c;try{const isMsgXNode=message instanceof XNode;const isDetailXNode=detail&&detail instanceof XNode;if(isMsgXNode){((_b=message.attributes)!==null&&_b!==void 0?_b:message.attributes={})["data-element"]="message"}if(isDetailXNode){((_c=detail.attributes)!==null&&_c!==void 0?_c:detail.attributes={})["data-element"]="details"}const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,isMsgXNode?message:XNode.create("div",{"data-element":"message",text:message}),detail&&(isDetailXNode?detail:XNode.create("details",{"data-element":"details"},XNode.create("pre",{text:detail})))))}};return yield popup.showModal({parameters:{message,detail,yesLabel,noLabel:""},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static confirm(_a){return __awaiter(this,arguments,void 0,(function*({message,title="Confirm",yesLabel="Yes",noLabel="No",cancelLabel=null}){try{const popup=class extends ConfirmPopup{create(){this.render(XNode.create("div",null,message instanceof XNode?message:XNode.create("div",{text:message})))}};return yield popup.showModal({parameters:{message,yesLabel,noLabel,cancelLabel},title})}catch(e){if(CancelToken.isCancelled(e)){return false}throw e}}))}static showWindow(opener,popupClass,popupOptions){return new Promise(((resolve,reject)=>{var _a,_b,_c,_d,_e;var _f;const activeElement=document.activeElement;const previousTarget=opener;const parent=AtomControl.from(opener);const control=new popupClass(parent.app,document.createElement("div"));const vm=(_a=getOwnInheritedProperty(control,"viewModel"))!==null&&_a!==void 0?_a:"parameters"in control?(_b=(_f=control).parameters)!==null&&_b!==void 0?_b:_f.parameters={}:control;let element=control.element;element.style.zIndex=`${popupId++}`;let resolved=false;const close=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(resolve,1,r);if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};const cancel=r=>{setTimeout((()=>{if(!resolved){resolved=true;setTimeout(reject,1,r!==null&&r!==void 0?r:"cancelled");if(control.element){control.element.remove();control.dispose()}element===null||element===void 0?void 0:element.remove();element=undefined;PopupService.lastTarget=previousTarget;try{activeElement===null||activeElement===void 0?void 0:activeElement.focus()}catch(error){console.error(error)}}}),1)};let isModal=false;if(popupOptions){const{width,height,minHeight,maxHeight,minWidth,maxWidth,maximize,title,parameters,cancelToken,modal}=popupOptions;if(title){vm.title=title}let widthSet=false;let heightSet=false;if(maximize){element.setAttribute("data-maximize","true");widthSet=heightSet=true}else{if(width){element.style.width=typeof width==="number"?width+"px":width;widthSet=true}if(height){element.style.height=typeof height==="number"?height+"px":height;heightSet=true}if(minWidth){element.style.minWidth=typeof minWidth==="number"?minWidth+"px":minWidth;widthSet=true}if(minHeight){element.style.minHeight=typeof minHeight==="number"?minHeight+"px":minHeight;heightSet=true}if(maxWidth){element.style.maxWidth=typeof maxWidth==="number"?maxWidth+"px":maxWidth;widthSet=true}if(maxHeight){element.style.maxHeight=typeof maxHeight==="number"?maxHeight+"px":maxHeight;heightSet=true}}if(!widthSet){element.setAttribute("data-no-width","true")}if(!heightSet){element.setAttribute("data-no-height","true")}if(parameters){for(const key in parameters){if(Object.prototype.hasOwnProperty.call(parameters,key)){const e=parameters[key];vm[key]=e}}(_e=(_d=(_c=control).init)===null||_d===void 0?void 0:_d.call(_c))===null||_e===void 0?void 0:_e.catch((error=>{if(!CancelToken.isCancelled(error)){console.error(error)}}))}cancelToken===null||cancelToken===void 0?void 0:cancelToken.registerForCancel(cancel);isModal=modal}const host=findHost(opener);host.appendChild(control.element);vm.cancel=cancel;vm.close=close;if(vm!==control){control.cancel=cancel;control.close=close}if(isModal){const bg=document.createElement("div");bg.setAttribute("data-window-modal-background","background");host.appendChild(bg);const onBack=e=>{var _a,_b,_c;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();(_c=(_b=control).requestCancel)===null||_c===void 0?void 0:_c.call(_b)};window.addEventListener("backButton",onBack,true);control.registerDisposable({dispose:()=>{bg.remove();window.removeEventListener("backButton",onBack,true)}})}else{closeHandler(host,opener,control,cancel)}}))}static show(opener,popup,options){var _a,_b;const previousTarget=opener;const container={element:document.createElement("div"),disposables:new AtomDisposableList,registerDisposable:null,dispose:null};container.registerDisposable=f=>container.disposables.add(f);let alignment=(_a=options===null||options===void 0?void 0:options.alignment)!==null&&_a!==void 0?_a:"auto";if(alignment==="auto"){const rect=opener.getBoundingClientRect();const w=window.visualViewport.width;if(rect.left>w/2){alignment="bottomRight"}}const isCenterOfScreen=alignment==="centerOfScreen";const popupStyle=(_b=options===null||options===void 0?void 0:options.popupStyle)!==null&&_b!==void 0?_b:popupCss;container.element._logicalParent=opener;container.element.classList.add(popupStyle);if(isCenterOfScreen){container.element.dataset.centerPopup="center"}else{container.element.dataset.inlinePopup="left";const alignPopup=()=>{switch(alignment){case"bottomRight":container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";container.element.style.right="0px";container.element.dataset.inlinePopup="right";opener.insertAdjacentElement("afterend",container.element);break;case"topRight":case"right":container.element.style.top=opener.offsetTop+"px";container.element.style.left=opener.offsetWidth+"px";opener.insertAdjacentElement("afterend",container.element);break;case"bottomLeft":container.element.dataset.inlinePopup="inline-left";container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("beforebegin",container.element);break;default:container.element.style.top=opener.offsetTop+opener.offsetHeight+"px";opener.insertAdjacentElement("afterend",container.element);break}};if(opener.offsetParent!==opener.parentElement){opener.parentElement.style.position="relative";setTimeout(alignPopup,5)}else{alignPopup()}}const parent=AtomControl.from(opener);if(popup instanceof XNode){parent.render(popup,container)}else{container.element.appendChild(popup)}const style=container.element.style;style.zIndex=`${popupId++}`;container.dispose=()=>{if(!container.disposables){return}container.disposables.dispose();parent.dispose(container.element);container.element.remove();container.disposables=null;PopupService.lastTarget=previousTarget};closeHandler(opener.parentElement,opener,container,(()=>{const e=container.element;container.dispose();e.remove()}));const ct=options===null||options===void 0?void 0:options.cancelToken;if(ct){ct.registerForCancel((()=>container.dispose()))}return container}};PopupService.targetPath=[];_export("default",PopupService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/NotificationPopup");System.register(["../../core/XNode","./PopupService","./NotifcationPopup.global.css"],(function(_export,_context){"use strict";var XNode,PopupWindow,css;function NotificationPopup({message,type}){return class Notification extends PopupWindow{create(){if(message instanceof XNode){this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)}},message));return}this.render(XNode.create("div",{styleClass:{[css]:1,error:/error/i.test(type),warning:/warn/i.test(type)},formattedText:message}))}}}_export("default",NotificationPopup);return{setters:[function(_coreXNode){XNode=_coreXNode.default},function(_PopupService){PopupWindow=_PopupService.PopupWindow},function(_NotifcationPopupGlobalCss){}],execute:function(){css="web-atoms-notification-popup"}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/services/WindowService");System.register(["tslib","../../App","../../Atom","../../core/AtomLoader","../../core/AtomUri","../../core/FormattedError","../../core/FormattedString","../../core/types","../../di/Inject","../../di/RegisterSingleton","../../di/ServiceCollection","../../services/JsonService","../../services/NavigationService","../../view-model/AtomWindowViewModel","../../web/core/AtomUI","../controls/AtomAlertWindow","../controls/AtomNotification","../controls/AtomWindow","../styles/AtomPopupStyle","../styles/AtomStyleSheet","../styles/StyleBuilder","./NotificationPopup","./PopupService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__param,App,Atom,AtomLoader,AtomUri,FormattedError,FormattedString,CancelToken,Inject,RegisterSingleton,Scope,ServiceCollection,JsonService,NavigationService,AtomWindowViewModel,AtomUI,AtomAlertWindow,AtomNotification,AtomWindow,AtomPopupStyle,AtomStyleSheet,cssNumberToString,NotificationPopup,PopupService,WindowService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_Atom){Atom=_Atom.Atom},function(_coreAtomLoader){AtomLoader=_coreAtomLoader.AtomLoader},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedError){FormattedError=_coreFormattedError.default},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_diServiceCollection){Scope=_diServiceCollection.Scope;ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesJsonService){JsonService=_servicesJsonService.JsonService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_viewModelAtomWindowViewModel){AtomWindowViewModel=_viewModelAtomWindowViewModel.AtomWindowViewModel},function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI},function(_controlsAtomAlertWindow){AtomAlertWindow=_controlsAtomAlertWindow.default},function(_controlsAtomNotification){AtomNotification=_controlsAtomNotification.default},function(_controlsAtomWindow){AtomWindow=_controlsAtomWindow.AtomWindow},function(_stylesAtomPopupStyle){AtomPopupStyle=_stylesAtomPopupStyle.AtomPopupStyle},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesStyleBuilder){cssNumberToString=_stylesStyleBuilder.cssNumberToString},function(_NotificationPopup){NotificationPopup=_NotificationPopup.default},function(_PopupService){PopupService=_PopupService.default}],execute:function(){_export("WindowService",WindowService=class WindowService extends NavigationService{get title(){return window.document.title}set title(v){window.document.title=v}get location(){return new AtomUri(location.href)}set location(v){location.href=v.toString()}constructor(app,jsonService){super(app);this.jsonService=jsonService;this.popups=[];this.hostForElementFunc=[];this.lastPopupID=0;this.screen=app.screen;let st="desktop";if(/mobile|android|ios/i.test(window.navigator.userAgent)){st="mobile";if(/tablet/i.test(window.navigator.userAgent)){st="tablet"}}this.screen.screenType=st;if(window){const update=e=>{this.refreshScreen()};if(st!=="mobile"){window.addEventListener("resize",update);window.addEventListener("scroll",update);document.body.addEventListener("scroll",update);document.body.addEventListener("resize",update)}setTimeout((()=>{update(null)}),1e3)}}registerHostForWindow(f){this.hostForElementFunc.push(f);return{dispose:()=>{this.hostForElementFunc.remove(f)}}}navigate(url){location.href=url}back(){window.history.back()}register(id,type){ServiceCollection.instance.register(type,null,Scope.Transient,id)}confirm(message,title){return PopupService.confirm({message,title})}alert(message,title){if(!(message instanceof FormattedString||typeof message==="string")){if(message instanceof FormattedError){message=message.formattedMessage}else{message=message.message?message.message:message.toString()}}return PopupService.alert({message,title})}refresh(){location.reload()}getHostForElement(){const ce=PopupService.lastTarget;if(!ce){return null}for(const iterator of this.hostForElementFunc){const e=iterator(ce);if(e){return e}}return null}refreshScreen(){const height=this.screen.height=window.innerHeight||document.body.clientHeight;const width=this.screen.width=window.innerWidth||document.body.clientWidth;this.screen.scrollLeft=window.scrollX||document.body.scrollLeft||0;this.screen.scrollTop=window.scrollY||document.body.scrollTop||0;this.screen.orientation=width>height?"landscape":"portrait"}notify(message,title,type,delay){return __awaiter(this,void 0,void 0,(function*(){try{const notification=NotificationPopup({message,type});const cancelToken=new CancelToken(delay!==null&&delay!==void 0?delay:5e3);yield notification.showWindow(notification,{title,cancelToken})}catch(ex){console.error(ex)}}))}openWindow(url,options){return __awaiter(this,void 0,void 0,(function*(){yield Atom.delay(1);const lastTarget=PopupService.lastTarget;const{view:popup,returnPromise,disposables}=yield AtomLoader.loadView(url,this.app,true,(()=>this.app.resolve(AtomWindowViewModel,true)));if(options&&options.onInit){options.onInit(popup)}const cancelToken=options.cancelToken;if(cancelToken){if(cancelToken.cancelled){this.app.callLater((()=>{this.remove(popup,true)}))}cancelToken.registerForCancel((()=>{this.remove(popup,true)}))}const e=popup.element;let isPopup=true;if(popup instanceof AtomWindow){isPopup=false;e.style.opacity="0"}popup.registerDisposable({dispose:()=>{PopupService.lastTarget=lastTarget}});if(isPopup){const root=popup.element;const last=PopupService.lastTarget;const closePopup=et=>{let target=et.target;while(target){if(target===root||target===last){return}target=target.parentElement}this.remove(popup,true)};document.body.addEventListener("click",closePopup);popup.registerDisposable({dispose:()=>{document.body.removeEventListener("click",closePopup)}})}e._logicalParent=lastTarget;e.sourceUrl=url;const pvm=popup.viewModel;if(pvm){let ce=PopupService.lastTarget;if(ce){while(!ce.atomControl){ce=ce.parentElement;if(!ce){break}}if(ce&&ce.atomControl&&ce.atomControl.viewModel){pvm.parent=ce.atomControl.viewModel}}}const theme=this.app.get(AtomStyleSheet).getNamedStyle(AtomPopupStyle);e.style.zIndex=1e4+this.lastPopupID+"";const isNotification=popup instanceof AtomNotification;if(isPopup){const sr=AtomUI.screenOffset(PopupService.lastTarget);const x=sr.x;const y=sr.y;const h=sr.height;e.style.position="absolute";e.style.left=x+"px";e.style.top=y+h+"px";e.classList.add(theme.name);this.popups.push(popup);disposables.add((()=>{this.popups.remove(popup)}));document.body.appendChild(e);if(isNotification){e.style.opacity="0";this.centerElement(popup)}}else{const eHost=(options===null||options===void 0?void 0:options.modal)?null:this.getHostForElement();if(eHost){eHost.appendChild(e)}else{const host=document.createElement("div");document.body.appendChild(host);host.style.position="absolute";host.appendChild(e);disposables.add({dispose(){host.remove()}});this.refreshScreen();popup.bind(host,"styleLeft",[["this","scrollLeft"]],false,cssNumberToString,this.screen);popup.bind(host,"styleTop",[["this","scrollTop"]],false,cssNumberToString,this.screen);popup.bind(host,"styleWidth",[["this","width"]],false,cssNumberToString,this.screen);popup.bind(host,"styleHeight",[["this","height"]],false,cssNumberToString,this.screen)}}popup.bindEvent(document.body,"keyup",(keyboardEvent=>{if(keyboardEvent.key==="Escape"){this.app.runAsync((()=>this.remove(popup)))}}));disposables.add({dispose:()=>{e.innerHTML="";e.remove()}});return yield returnPromise}))}centerElement(c){const e=c.element;const parent=e.parentElement;if(parent===window||parent===document.body){setTimeout((()=>{const ew=(document.body.offsetWidth-e.offsetWidth)/2;const eh=window.scrollY+(window.innerHeight-e.offsetHeight)/2;e.style.left=`${ew}px`;e.style.top=`${eh}px`;e.style.removeProperty("opacity")}),200);return}if(parent.offsetWidth<=0||parent.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}if(e.offsetWidth<=0||e.offsetHeight<=0){setTimeout((()=>{this.centerElement(c)}),100);return}const x=(parent.offsetWidth-e.offsetWidth)/2;const y=(parent.offsetHeight-e.offsetHeight)/2;e.style.left=`${x}px`;e.style.top=`${y}px`;e.style.removeProperty("opacity")}});WindowService.alertWindow=AtomAlertWindow;_export("WindowService",WindowService=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,JsonService])],WindowService))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/styles/AtomTheme");System.register(["tslib","../../App","../../core/Colors","../../di/Inject","../../di/RegisterSingleton","../../services/NavigationService","../styles/AtomStyleSheet"],(function(_export,_context){"use strict";var __decorate,__metadata,__param,App,Colors,Inject,RegisterSingleton,NavigationService,AtomStyleSheet,AtomTheme;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__param=_tslib.__param},function(_App){App=_App.App},function(_coreColors){Colors=_coreColors.default},function(_diInject){Inject=_diInject.Inject},function(_diRegisterSingleton){RegisterSingleton=_diRegisterSingleton.RegisterSingleton},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet}],execute:function(){_export("AtomTheme",AtomTheme=class AtomTheme extends AtomStyleSheet{constructor(app,navigationService){super(app,"atom-theme");this.navigationService=navigationService;this.bgColor=Colors.white;this.color=Colors.gray;this.hoverColor=Colors.lightGray;this.activeColor=Colors.lightBlue;this.selectedBgColor=Colors.blue;this.selectedColor=Colors.white;this.padding=5;setTimeout((()=>{window.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}));document.body.addEventListener("resize",(()=>{setTimeout((()=>{this.pushUpdate()}),10)}))}),1e3)}});_export("AtomTheme",AtomTheme=__decorate([RegisterSingleton,__param(0,Inject),__param(1,Inject),__metadata("design:paramtypes",[App,NavigationService])],AtomTheme))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/web/WebApp");System.register(["../App","../core/AtomOnce","../core/AtomUri","../di/ServiceCollection","../services/BusyIndicatorService","../services/NavigationService","./services/WebBusyIndicatorService","./services/WindowService","./styles/AtomStyleSheet","./styles/AtomTheme"],(function(_export,_context){"use strict";var App,AtomOnce,AtomUri,ServiceCollection,BusyIndicatorService,NavigationService,WebBusyIndicatorService,WindowService,AtomStyleSheet,AtomTheme,WebApp;_export("default",void 0);return{setters:[function(_App){App=_App.App},function(_coreAtomOnce){AtomOnce=_coreAtomOnce.AtomOnce},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_diServiceCollection){ServiceCollection=_diServiceCollection.ServiceCollection},function(_servicesBusyIndicatorService){BusyIndicatorService=_servicesBusyIndicatorService.BusyIndicatorService},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService},function(_servicesWebBusyIndicatorService){WebBusyIndicatorService=_servicesWebBusyIndicatorService.WebBusyIndicatorService},function(_servicesWindowService){WindowService=_servicesWindowService.WindowService},function(_stylesAtomStyleSheet){AtomStyleSheet=_stylesAtomStyleSheet.AtomStyleSheet},function(_stylesAtomTheme){AtomTheme=_stylesAtomTheme.AtomTheme}],execute:function(){_export("default",WebApp=class WebApp extends App{get parentElement(){return document.body}get root(){return this.mRoot}set root(v){const old=this.mRoot;if(old){old.dispose()}this.mRoot=v;if(!v){return}const pe=this.parentElement;const de=Array.from(pe.children);for(const iterator of de){iterator.remove()}pe.appendChild(v.element)}get theme(){return this.get(AtomStyleSheet)}set theme(v){this.put(AtomTheme,v);this.put(AtomStyleSheet,v)}get contextId(){var _a;(_a=this.mContextId)!==null&&_a!==void 0?_a:this.mContextId=parseInt((this.url.hash.contextId||"0").toString(),10);if(!this.mContextId){for(let index=0;index<100;index++){const cid=`contextId${index}`;const cidData=sessionStorage.getItem(`contextId${index}`);if(!cidData){this.mContextId=index;sessionStorage.setItem(cid,cid);this.url.hash.contextId=index;this.syncUrl();break}}}return`contextId_${this.mContextId}`}constructor(){super();this.hashUpdater=new AtomOnce;this.url=new AtomUri(location.href);this.put(NavigationService,this.resolve(WindowService));this.put(WebApp,this);this.put(BusyIndicatorService,this.resolve(WebBusyIndicatorService));ServiceCollection.instance.registerSingleton(AtomStyleSheet,(sp=>sp.resolve(AtomTheme)));window.addEventListener("hashchange",(()=>{this.hashUpdater.run((()=>{this.url=new AtomUri(location.href)}))}));this.initPromise=new Promise(((resolve,reject)=>{this.onReady(resolve)}))}updateDefaultStyle(textContent){if(this.styleElement){if(this.styleElement.textContent===textContent){return}}const ss=document.createElement("style");ss.textContent=textContent;if(this.styleElement){this.styleElement.remove()}document.head.appendChild(ss);this.styleElement=ss}syncUrl(){this.hashUpdater.run((()=>{const currentUrl=new AtomUri(location.href);const sourceHash=this.url.hash;const keyValues=[];let modified=false;for(const key in sourceHash){if(/^\_\$\_/.test(key)){continue}if(sourceHash.hasOwnProperty(key)){const element=sourceHash[key];const cv=currentUrl.hash[key];if(element!==undefined){keyValues.push({key,value:element})}if(cv===element){continue}modified=true}}if(!modified){return}const hash=keyValues.map((s=>`${s.key}=${encodeURIComponent(s.value)}`)).join("&");location.hash=hash}))}invokeReady(){if(document.readyState==="complete"){super.invokeReady();return}document.addEventListener("readystatechange",(e=>{super.invokeReady()}))}});(function(){if(typeof window.CustomEvent==="function"){return false}function CustomEvent(event,params){params=params||{bubbles:false,cancelable:false,detail:null};const evt=document.createEvent("CustomEvent");evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt}window.CustomEvent=CustomEvent})()}}}));window.installStyleSheet(new URL("./ShoppingCart.pack.global.css",document.currentScript.src).toString());window.installStyleSheet(new URL("./ShoppingCart.pack.local.css",document.currentScript.src).toString());
|
|
2
2
|
//# sourceMappingURL=ShoppingCart.pack.min.js.map
|