pacem 0.53.0-stevin → 0.53.0
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/css/pacem-dark-content.min.css +1 -1
- package/dist/css/pacem-dark-shell.min.css +1 -1
- package/dist/css/pacem-dark.min.css +1 -1
- package/dist/css/pacem-light-content.min.css +1 -1
- package/dist/css/pacem-light-shell.min.css +1 -1
- package/dist/css/pacem-light.min.css +1 -1
- package/dist/css/pacem-phousys-content.min.css +1 -1
- package/dist/css/pacem-phousys-shell.min.css +1 -1
- package/dist/css/pacem-phousys.min.css +1 -1
- package/dist/js/azure-maps.d.ts +1 -1
- package/dist/js/pacem-2d.d.ts +1 -1
- package/dist/js/pacem-2d.js +2 -1
- package/dist/js/pacem-2d.min.js +2 -2
- package/dist/js/pacem-3d.d.ts +29 -1
- package/dist/js/pacem-3d.js +58 -24
- package/dist/js/pacem-3d.min.js +2 -2
- package/dist/js/pacem-charts.d.ts +1 -1
- package/dist/js/pacem-charts.js +2 -1
- package/dist/js/pacem-charts.min.js +2 -2
- package/dist/js/pacem-cms.d.ts +1 -1
- package/dist/js/pacem-cms.js +2 -1
- package/dist/js/pacem-cms.min.js +2 -2
- package/dist/js/pacem-core.d.ts +1 -1
- package/dist/js/pacem-core.js +2 -1
- package/dist/js/pacem-core.min.js +2 -2
- package/dist/js/pacem-foundation.d.ts +1 -1
- package/dist/js/pacem-foundation.js +2 -1
- package/dist/js/pacem-foundation.min.js +2 -2
- package/dist/js/pacem-fx.d.ts +1 -1
- package/dist/js/pacem-fx.js +2 -1
- package/dist/js/pacem-fx.min.js +2 -2
- package/dist/js/pacem-logging.d.ts +1 -1
- package/dist/js/pacem-logging.js +2 -1
- package/dist/js/pacem-logging.min.js +2 -2
- package/dist/js/pacem-maps.d.ts +1 -1
- package/dist/js/pacem-maps.js +2 -1
- package/dist/js/pacem-maps.min.js +2 -2
- package/dist/js/pacem-media.d.ts +1 -1
- package/dist/js/pacem-media.js +2 -1
- package/dist/js/pacem-media.min.js +2 -2
- package/dist/js/pacem-networking.d.ts +1 -1
- package/dist/js/pacem-networking.js +2 -1
- package/dist/js/pacem-networking.min.js +2 -2
- package/dist/js/pacem-numerical.d.ts +1 -1
- package/dist/js/pacem-numerical.js +2 -1
- package/dist/js/pacem-numerical.min.js +2 -2
- package/dist/js/pacem-plus.d.ts +1 -1
- package/dist/js/pacem-plus.js +2 -1
- package/dist/js/pacem-plus.min.js +2 -2
- package/dist/js/pacem-scaffolding.d.ts +1 -1
- package/dist/js/pacem-scaffolding.js +11 -1
- package/dist/js/pacem-scaffolding.min.js +2 -2
- package/dist/js/pacem-ui.d.ts +1 -1
- package/dist/js/pacem-ui.js +2 -1
- package/dist/js/pacem-ui.min.js +2 -2
- package/dist/js/swagger-types.d.ts +1 -1
- package/package.json +8 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* pacem v0.53.0
|
|
2
|
+
* pacem v0.53.0 (https://js.pacem.it)
|
|
3
3
|
* Copyright 2026 Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
var __decorate=this&&this.__decorate||function(e,t,n,r){var s,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(i<3?s(o):i>3?s(t,n,o):s(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem;!function(e){e.Type=Function,e.WATCH_PROPS_VAR="pacem:properties",e.INSTANCE_BINDINGS_VAR="pacem:custom-element:bindings",e.INSTANCE_HOST_VAR="pacem:custom-element:host",e.INSTANCE_SCOPE_VAR="pacem:custom-element:scope"}(Pacem||(Pacem={})),function(e){class DeferPromise{constructor(){this.deferred=null;var e=this;e.promise=new Promise(function(t,n){e.deferred={resolve:t,reject:n,promise:e}})}then(e,t){return this.promise.then(e,t)}finally(e){return this.promise.then(e,e),this}success(e){return this.promise.then(e,null),this}error(e){return this.promise.then(null,e),this}static defer(){return(new DeferPromise).deferred}}e.DeferPromise=DeferPromise}(Pacem||(Pacem={})),function(e){class DeepCloner{constructor(){}static clone(e){return(new DeepCloner)._clone(e)}_clone(e){let t=new WeakMap;return function e(n){if(!("object"!=typeof n||null===n||n instanceof Element||n instanceof FileSystemHandle||n instanceof File)){if(Array.isArray(n))return n.map(e);if(n instanceof Date)return new Date(n.valueOf());if(n instanceof RegExp)return new RegExp(n);if(t.has(n))return t.get(n);{let r=Object.assign({},n);return t.set(n,r),Object.keys(r).forEach(t=>{r[t]=e(n[t])}),r}}return n}(e)}}e.DeepCloner=DeepCloner}(Pacem||(Pacem={})),function(Pacem){const REF_ID="$refId";let JsonFunctionConversion;!function(e){e[e.Ignore=0]="Ignore",e.Reference="reference",e.Plain="plain"}(JsonFunctionConversion=Pacem.JsonFunctionConversion||(Pacem.JsonFunctionConversion={}));class JsonFnStore{static{this._jsonFnWeakMap=new WeakMap}static{this._jsonFnMap=new Map}static store(e){const t=this._jsonFnWeakMap;if(!t.has(e)){const n=Pacem.Utils.uniqueCode();t.set(e,n),this._jsonFnMap.set(n,e)}return t.get(e)}static retrieve(e){return this._jsonFnMap.get(e)}static remove(e){const t=this.retrieve(e);this._jsonFnMap.delete(e),this._jsonFnWeakMap.delete(t)}}class Json{constructor(e){this._options=e}static serialize(e,t){return new Json(t)._serialize(e)}static deserialize(e){return(new Json)._deserialize(e)}_serialize(e){let t=Pacem.DeepCloner.clone(e),n=[REF_ID],r=this._flatten(t,0,null,n);return JSON.stringify(r,n.sort())}_deserialize(json){let hasRefs=!1,obj=JSON.parse(json,(key,value)=>{const elPattern=/^\$<#(.+)>$/,fnPattern=/^\$<fn:([^\x05]+)>$/,regexPattern=/^\$<regex:(.+)>$/,fnRefPattern=/^\$<fn#(.+)>$/;let arr;if(key===REF_ID)hasRefs=!0;else if("string"==typeof value){if((arr=regexPattern.exec(value))&&arr.length>1){const e=arr[1],t=e.lastIndexOf("|");return new RegExp(e.substr(0,t),e.substr(t+1))}if((arr=elPattern.exec(value))&&arr.length>1)return document.getElementById(arr[1]);if((arr=fnPattern.exec(value))&&arr.length>1)return eval(arr[1]);if((arr=fnRefPattern.exec(value))&&arr.length>1)return JsonFnStore.retrieve(arr[1])}return value});return hasRefs?this._revive(obj):obj}_flatten(e,t=0,n,r){if(n=n||new WeakSet,r=r||[],e instanceof Element){if(!e.id)return;return`$<#${e.id}>`}if(e instanceof RegExp)return`$<regex:${e.source}|${e.flags}>`;if(!("object"!=typeof e||null==e||e instanceof Date))return Array.isArray(e)?e.map(e=>this._flatten(e,t,n,r)):n.has(e)?e[REF_ID]=e[REF_ID]||"$#ref_"+t++:(n.add(e),Object.keys(e).forEach(s=>{-1===r.indexOf(s)&&r.push(s),e[s]=this._flatten(e[s],t,n,r)}),e);if("function"==typeof e)switch(this._options?.functions){case JsonFunctionConversion.Reference:return"$<fn#"+JsonFnStore.store(e)+">";case JsonFunctionConversion.Plain:return"$<fn:"+e+">";default:return}return e}_revive(e){let t={};const n=/^\$#ref_(.+)$/;return function e(r){if("object"==typeof r&&null!==r){if(Array.isArray(r))return r.map(e);REF_ID in r&&(t[r[REF_ID]]=r,delete r[REF_ID]),Object.keys(r).forEach(t=>{r[t]=e(r[t])})}else if("string"==typeof r&&n.test(r)){let e=n.exec(r);return t[e[0]]}return r}(e)}}Pacem.Json=Json}(Pacem||(Pacem={})),function(e){const t="download";e.stopPropagationHandler=e=>{e.stopPropagation()},e.preventDefaultHandler=e=>{e.preventDefault()},e.avoidHandler=e=>{e.preventDefault(),e.stopPropagation()};const n=/^\/[^\/]+/,r=/\/\{([a-z\$_][\w]*)\??\}/;class Utils{static get core(){const e=window.Pacem;var t=e&&e.Configuration&&e.Configuration.core||"pacem";return window[t]=window[t]||{}}static get customElements(){return window.customElements}static uniqueId(){return e.Keys.uniqueId()}static uniqueCode(){return e.Keys.uniqueCode()}static randomString(t){return e.Keys.randomString(t)}static parseDate(t){return e.Dates.parse(t)}static copyToClipboard(e){return navigator.clipboard?navigator.clipboard.writeText(e):new Promise((t,n)=>{const r=document.createElement("textarea");r.value=e,r.style.opacity="0",document.body.appendChild(r);try{r.select(),document.execCommand("copy"),r.remove(),t()}catch(e){n(e)}})}static{this.Json={stringify:e.Json.serialize,parse:e.Json.deserialize}}static{this.Dates={now:()=>Utils.parseDate(Date.now()),parse:Utils.parseDate,isLeapYear:e.Dates.isLeapYear,daysInMonth:e.Dates.daysInMonth,isDate:e.Dates.isDate,dateOnly:e.Dates.dateOnly,addMonths:e.Dates.addMonths,addDays:e.Dates.addDays,daysBetween:e.Dates.daysBetween}}static colorize(t,n){const r=38,s=.245,i=.6;var o,a,l;a="string"==typeof(o=t instanceof HTMLElement?n:t)?e.Colors.parse(o):{r:o[0],g:o[1],b:o[2]};const c=e.Colors.hsl(a);if(l=`brightness(50%) sepia(1) hue-rotate(${c.h-r}deg) saturate(${c.s-s+1}) brightness(${c.l-i+1})`,o!==n)return l;undefined.style.filter=l}static cssEscape(e){return escape(e).replace("%","\\")}static{this.Css={colorize:Utils.colorize,escape:Utils.cssEscape,getVariableValue:e=>getComputedStyle(document.documentElement).getPropertyValue(e),setVariable(e,t){getComputedStyle(document.documentElement).setProperty(e,t)},isClassDefined(e){const t=new RegExp("."+e+"($|[s.,])");for(let e=0;e<document.styleSheets.length;e++){const n=document.styleSheets.item(e);try{const e=n.cssRules;for(let r=0;r<e.length;r++){const e=n.cssRules.item(r);if(t.test(e.selectorText))return!0}}catch(e){e instanceof DOMException&&console.warn("Couldn't access cssRules of stylesheet \""+n.href+'".')}}return!1},deserializeTransform(e){const t=e instanceof Element?getComputedStyle(e):e;let n,r=1,s=0,i=0,o=1,a=0,l=0,c=/^matrix\((.*)\)$/.exec(t.transform);return c&&c.length>1&&6==(n=c[1].split(",")).length&&(r=parseFloat(n[0]),s=parseFloat(n[1]),i=parseFloat(n[2]),o=parseFloat(n[3]),a+=parseFloat(n[4]),l+=parseFloat(n[5])),{a:r,b:s,c:i,d:o,e:a,f:l}}}}static{this.leftPad=e.Strings.leftPad}static{this.formatString=e.Strings.format}static{this.diff=e.Strings.diff}static{this.Strings={leftPad:e.Strings.leftPad,format:e.Strings.format,diff:e.Strings.diff,stripHTML:e=>(new DOMParser).parseFromString(e,"text/html").body.textContent||""}}static{this.Blobs={toDataURL:e.Blobs.blobToDataURL,fromDataURL:e.Blobs.dataURLToBlob,toText:e.Blobs.blobToText,fromText:e.Blobs.textToBlob}}static{this.Images={load:e.Imaging.loadImage,resize:e.Imaging.resizeImage}}static loadImage(e){return new Promise((t,n)=>{const r=new Image;r.src=e,r.complete?t(r):(r.onload=e=>{t(r)},r.onerror=e=>{n()})})}static blobToDataURL(e){return Utils.Blobs.toDataURL(e)}static dataURLToBlob(e){return Utils.Blobs.fromDataURL(e)}static blobToText(e,t){return Utils.Blobs.toText(e,t)}static textToBlob(e,t="text/plain"){return Utils.Blobs.fromText(e,t)}static resizeImage(t,n,r,s){var i=e.DeferPromise.defer();return Utils.blobToDataURL(t).then(Utils.loadImage).then(e=>{const o=e.width,a=e.height;let l=document.createElement("canvas");l.width=o,l.height=a;let c=l.getContext("2d");if(o>n||a>r){const t=o/a;let m,d;n/r<t?(d=n,m=n/t):(m=r,d=r*t),l.width=d,l.height=m;const h=s>0&&s<=1;let u;h&&(c.fillStyle="#000",c.fillRect(0,0,l.width,l.height)),Utils.cropImageOntoCanvas(e,c),u=h?c.canvas.toDataURL("image/jpeg",s):c.canvas.toDataURL(),i.resolve(Utils.dataURLToBlob(u))}else i.resolve(t)},e=>{}),i.promise}static cropImage(t,n,r,s){var i=e.DeferPromise.defer();let o=new Image;return o.crossOrigin="anonymous",o.onload=function(e){let t=document.createElement("canvas"),a=t.getContext("2d");n&&(t.width=n),r&&(t.height=r);const l=s>0&&s<=1;l&&(a.fillStyle="#000",a.fillRect(0,0,t.width,t.height)),Utils.cropImageOntoCanvas(o,a),i.resolve(l?t.toDataURL("image/jpeg",s):t.toDataURL())},o.src=t,i.promise}static getUserMediaFunctions(){var e=[];let t=[navigator.getUserMedia,navigator.webkitGetUserMedia,navigator.msGetUserMedia,navigator.mozGetUserMedia].filter(function(e,t){return"function"==typeof e});return t.length&&(e=t),e}static cropImageOntoCanvas(e,t,n,r){t.imageSmoothingEnabled=t.mozImageSmoothingEnabled=t.oImageSmoothingEnabled=t.webkitImageSmoothingEnabled=!0;let s=t.canvas.width,i=t.canvas.height,o=s,a=i,l=n||1*e.width,c=r||1*e.height;s/i>l/c?(i=s/l*c,t.drawImage(e,0,.5*(-i+a),o,i)):(s=i/c*l,t.drawImage(e,-Math.abs(.5*(-s+o)),0,s,a))}static get _domURL(){return window.URL||window.webkitURL||window}static snapshotElement(e,t,n="image/png",r){function s(e){return new Promise((s,i)=>{const o=document.createElement("canvas"),a=e.width,l=e.height;if(a>0)if(l>0){o.width=a,o.height=l;const i=o.getContext("2d");Utils.isNullOrEmpty(t)||(i.fillStyle=t,i.fillRect(0,0,a,l)),i.drawImage(e,0,0),o.toBlob(e=>{s(e)},n,r)}else i("Image has height zero.");else i("Image has width zero.")})}return e instanceof HTMLCanvasElement?s(e):new Promise((t,n)=>{const r=[];function i(e){const t=new Promise((t,n)=>{fetch(e instanceof HTMLImageElement?e.src:e.href.baseVal).then(e=>e.blob()).then(e=>Utils.blobToDataURL(e)).then(n=>{var r;r=n,e instanceof HTMLImageElement?e.src=r:e.setAttribute("href",r),t()})});r.push(t)}function o(e,t){!function(e,t){const n=getComputedStyle(t);for(let t=0;t<n.length;t++){const r=n.item(t);e.style[r]=n[r]}}(e,t),e instanceof HTMLImageElement||e instanceof SVGImageElement?i(e):e instanceof HTMLCanvasElement&&function(e,t){const n=new Promise((n,r)=>{const s=new Image;s.crossOrigin="anonymous",s.width=t.width,s.height=t.height,s.style.cssText=e.style.cssText,s.onload=()=>{e.replaceWith(s),n()},s.src=t.toDataURL()});r.push(n)}(e,t);const n=e.children.length;for(let r=0;r<n;r++){const n=e.children.item(r),s=t.children.item(r);n.tagName===s.tagName&&o(n,s)}}if(e instanceof SVGElement){const t=e.cloneNode(!0);o(t,e),Promise.all(r).then(n=>{e=t,l()})}else{var a=document.implementation.createHTMLDocument("");a.write(e.outerHTML),a.documentElement.setAttribute("xmlns",a.documentElement.namespaceURI);const t=document.evaluate(".//"+e.localName,a.body,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;t.setAttribute("xmlns",a.documentElement.namespaceURI),o(t,e),Promise.all(r).then(n=>{const r=document.createElementNS("http://www.w3.org/2000/svg","svg"),s=Utils.offset(e);r.setAttribute("viewBox",`0 0 ${s.width} ${s.height}`),r.setAttribute("width",s.width.toString()),r.setAttribute("height",s.height.toString()),r.innerHTML=`<foreignObject width="${s.width}" height="${s.height}">${t.outerHTML}</foreignObject>`,e=r,l()})}function l(){const n=(new XMLSerializer).serializeToString(e),r=new Image;r.crossOrigin="anonymous";const i="data:image/svg+xml;charset=utf8,"+encodeURIComponent(n);r.onload=()=>{s(r).then(t)},r.src=i}})}static async download(e,n,r="application/download"){if("string"==typeof e){const o=e;let a,l={};Utils.isNullOrEmpty(n)||("object"==typeof n?(l={credentials:n.credentials,headers:n.headers},a=n.filename||a,r=n.mime||r):a=n);var s=await fetch(o,l);if(s.ok){if(Utils.isNullOrEmpty(a)){const e="Content-Disposition";if(s.headers.has(e)){const t=s.headers.get(e),n=/^attachment; filename=\"?([^;\"]+)\"?(;|$)/.exec(t);n.length>1&&(a=n[1])}else a=t}var i=await s.blob();const e=a.split(/[\\\/]/g).join("_");return Utils.download(i,e)}{const e=await s.text();throw new Error(e)}}{const r=e,s="string"==typeof n&&n||t,i=document.createElement("a");if(i.setAttribute("href",Utils._domURL.createObjectURL(r)),i.setAttribute("download",s),document.createEvent){var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!0),i.dispatchEvent(o)}else i.click()}}static isDOMReady(){return"interactive"===document.readyState||"complete"===document.readyState}static onDOMReady(e){window.addEventListener("load",e,!1)}static moveChildren(e,t){return Utils.moveItems(e.childNodes,t)}static moveItems(e,t){let n,r=[];for(let s=e.length-1;s>=0;s--){let i=e instanceof NodeList?e.item(s):e[s];t.insertBefore(i,n),r.unshift(i),n=i}return r}static is(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}static lang(e){return e.lang||document.documentElement.lang||navigator.language}static jsonSortStringify(e){return Utils.isNull(e)?e:Utils.Json.stringify(e)}static{this.Browsers={detect:e.Browsers.detect}}static cookies(e){const t=(e??document.cookie).split(";"),n={};for(var r of t){const e=r.split("=");if(e.length<2)continue;const t=(e[0]||"").trim(),s=(e[1]||"").trim();Object.defineProperty(n,t,{configurable:!1,enumerable:!0,writable:!1,value:decodeURIComponent(s.split("+").join(" "))})}return n}static{this.Cookies={getAll:async e=>{const t="cookieStore"in window?window.cookieStore:null,n=[];if(Utils.isNull(t)){const t=Utils.cookies();for(let r in t)(Utils.isNullOrEmpty(e)||e===r)&&n.push({name:r,value:t[r]});return n}return await t.getAll(e)},stringify:e=>{let t=`${e.name}=${encodeURIComponent(e.value??"")}`;return Utils.isNullOrEmpty(e.domain)||(t+=`; domain=${encodeURIComponent(e.domain)}`),Utils.isNullOrEmpty(e.path)||(t+=`; path=${encodeURIComponent(e.path)}`),e.maxAge>0&&(t+=`; max-age=${e.maxAge.toFixed(0)}`),Utils.isNullOrEmpty(e.expires)||(t+=`; expires=${e.expires}`),e.partitioned&&(t+="; Partitioned"),Utils.isNullOrEmpty(e.sameSite)||(t+=`; SameSite=${encodeURIComponent(e.sameSite)}`),e.secure&&(t+="; Secure"),t}}}static isVisible(e){return"checkVisibility"in e?e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):"hidden"!==getComputedStyle(e).visibility&&(e.clientWidth>0||e.clientHeight>0)}static hasClass(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className)}static addClass(e,t){const n=t.trim();e.classList?DOMTokenList.prototype.add.apply(e.classList,n.split(" ")):e.setAttribute("class",e.className+" "+n)}static removeClass(e,t){const n=t.trim();e.classList?DOMTokenList.prototype.remove.apply(e.classList,n.split(" ")):e.setAttribute("class",e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," "))}static toggleClass(e,t,n){n?Utils.addClass(e,t):Utils.removeClass(e,t)}static hasPart(e,t){return e.part.contains(t)}static addPart(e,t){DOMTokenList.prototype.add.apply(e.part,t.trim().split(" "))}static removePart(e,t){DOMTokenList.prototype.remove.apply(e.part,t.trim().split(" "))}static togglePart(e,t,n){n?Utils.addPart(e,t):Utils.removePart(e,t)}static offset(e){var t=e.getBoundingClientRect();return{top:Math.round(t.top)+Utils.scrollTop,left:Math.round(t.left)+Utils.scrollLeft,width:Math.round(t.width),height:Math.round(t.height)}}static offsetRect(e){var t=this.offset(e);return{y:t.top,x:t.left,width:t.width,height:t.height}}static naturalOffsetTop(e){return e.offsetTop+(e.offsetParent instanceof HTMLElement?this.naturalOffsetTop(e.offsetParent):0)}static naturalOffsetLeft(e){return e.offsetLeft+(e.offsetParent instanceof HTMLElement?this.naturalOffsetLeft(e.offsetParent):0)}static naturalOffset(e){return{left:this.naturalOffsetLeft(e),top:this.naturalOffsetTop(e),width:e.offsetWidth,height:e.offsetHeight}}static naturalOffsetRect(e){var t=this.naturalOffset(e);return{y:t.top,x:t.left,width:t.width,height:t.height}}static deserializeTransform(e){return Utils.Css.deserializeTransform(e)}static set scrollTop(e){window.scrollTo(Utils.scrollLeft,e)}static set scrollLeft(e){window.scrollTo(e,Utils.scrollTop)}static get scrollTop(){return window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0}static get scrollLeft(){return window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0}static get windowSize(){let e=window;return{width:e.innerWidth||e.document.documentElement.clientWidth||e.document.body.clientWidth||0,height:e.innerHeight||e.document.documentElement.clientHeight||e.document.body.clientHeight||0}}static addAnimationEndCallback(e,t,n=500){const r=n=>{n&&n.target!=e||(clearTimeout(s),e.removeEventListener("animationend",r,!1),e.removeEventListener("transitionend",r,!1),t.apply(this,[e]))};e.addEventListener("animationend",r,!1),e.addEventListener("transitionend",r,!1);const s=setTimeout(r,n)}static waitForAnimationEnd(e,t=500){return new Promise((n,r)=>{Utils.addAnimationEndCallback(e,()=>{n()},t)})}static idle(e){return new Promise((t,n)=>{setTimeout(()=>t(),e)})}static accelerateCallback(e,t=500,n=5,r=20){let s={cancel:!1},i=t,o=n+r,a=()=>{e(s),s.cancel||(setTimeout(a,i),i<o?i=r:i-=n)};a()}static isEmpty(t){return e.NullChecker.isEmpty(t)&&!(t instanceof Node)}static isNull(t){return e.NullChecker.isNull(t)}static isArray(e){return Array.isArray(e)}static isNullOrEmpty(e){return Utils.isNull(e)||Utils.isEmpty(e)}static areSemanticallyEqual(e,t){e??=null,t??=null;return(e&&e.valueOf&&e.valueOf())===(t&&t.valueOf&&t.valueOf())}static{this.extend=Object.assign}static clone(t){if(void 0!==t)return e.DeepCloner.clone(t)}static fromResult(e){return Promise.resolve(e)}static fromResultAsync(e){return new Promise(t=>requestAnimationFrame(()=>t(e())))}static readonlyCopy(e){if(Utils.isNull(e))return null;if(Utils.isArray(e)){const t=e.slice(0);return Object.freeze(t),t}{const t={};for(let n in e)t[n]=e[n];return Object.freeze(t),t}}static{this.URIs={format:function(e,t,n){for(let r in t||{}){let s=new RegExp("(^|\\/)\\{"+r+"\\??\\}(\\/|$)").exec(e);if(s&&s.length){let i=new RegExp("\\{"+r+"\\??\\}"),o=s.index;e=e.substring(0,o)+e.substring(o).replace(i,encodeURIComponent(t[r])),n&&delete t[r]}}const r=/(^|\/)\{[\w]+\?\}(\/|$)/;for(var s;(s=r.exec(e))&&s.length>0;){let t=s[0];e=e.replace(t,t.endsWith("/")?"/":"")}return e},appendQuery:function(e,t,n=!1,r=!1){const s=r?"#":"?",i=((r?/#/:/\?/).test(e)?"&":s)+Object.keys(t).filter(e=>!Utils.isNull(t[e])||!n).map(e=>encodeURIComponent(e)+"="+encodeURIComponent(t[e]??"")).join("&");return e+(i.length>1?i:"")},parseQuery:(e=window.location)=>{"string"!=typeof e&&(e=e.search);const t={};return new URLSearchParams(e).forEach((e,n)=>{Object.defineProperty(t,n,{enumerable:!0,value:e})}),t},hasMandatoryTemplateSegments:function(e){return/(^|\/)\{\.*\}(\/|$)/.test(e)},parseRoute:function(e){let t=e;const s=[];if(!Utils.isNullOrEmpty(t)){let e,i=0;for(;null!=(e=n.exec(t));){const n=e[0],o=r.exec(n);if(!Utils.isNullOrEmpty(o)){const e=o[1];s.push({name:e,optional:"?"===n.charAt(n.length-2),index:i})}t=t.substring(e.index+n.length),i++}}return s},split:function(e){const t=/^((https?:)?\/\/[^\/]+)?([^\?#]+)(\?[^#]*)?(#[^#]*)?$/.exec(e);return t?{domain:t[2]??"",protocol:t[1]??"",path:t[3]??"",query:t[4]??"",hash:t[5]??""}:null},parseState:function(e,t,r,s,i){let o=t;if(Utils.isNullOrEmpty(r)){const e=Utils.URIs.split(t);r=e.path,Utils.isNullOrEmpty(s)&&(s=e.query??""),Utils.isNullOrEmpty(i)&&(i=e.hash??""),o=r+s+i}let a={$path:o,$pathname:r,$querystring:s.length>0?s.substring(1):s,$query:(e=>{const t=e.indexOf("?");return 0===t?Utils.URIs.parseQuery(e.substring(t+1)):{}})(s),$hash:(e=>{const t=e.indexOf("#");return 0!==t?null:e.substring(t+1)})(i)},l=0;const c=e.slice();if(!Utils.isNullOrEmpty(c)){let e;for(;null!=(e=n.exec(r));){const t=e[0],n=c.findIndex(e=>e.index===l);if(n>=0){const e=c[n],{name:r}=e;Object.defineProperty(a,r,{enumerable:!0,value:t.substring(1)}),c.splice(n,1)}l++,r=r.substring(e.index+t.length)}}for(let e=0;e<c.length;e++)if(!c[e].optional)throw`Must provide "${c[e].name}" route value.`;return a}}}static getApiResult(e){if("object"==typeof e&&!Utils.isNull(e)&&e.hasOwnProperty("success"))switch(e.success){case!0:if(e.hasOwnProperty("result"))return e.result;break;case!1:if(e.hasOwnProperty("error"))return null}return e}}e.Utils=Utils}(Pacem||(Pacem={})),function(e){const t="__context_pacem",n=/'(\\'|[^'])*[^\\]?'|"(\\"|[^"])*[^\\]?"/g,r=/[^\w]new\s|[^\w]window\s*[\.\[]|[^\w]document\s*\.|[^\w]eval\s*\(/,s=/(^|[\s\(\[\+\-\*\/!])(:host\.|\^+item[\s\.,;\)\]]|\^+item$|\^+index[^\w\.]|\^+index$|\$?this[\.\s$]?|#[a-zA-Z_][\w]*|::[a-zA-Z_][\w]*)/g;class Expression{constructor(){this._pending=!1,this._independent=!1}get dependencies(){return this._dependencies}get functionBody(){return this._fnBody}get voidBody(){return this._voidBody}get pending(){return this._pending}get independent(){return this._independent}evaluate(){return this._fn||(this._fn=new Function("$pacem",t,this._fnBody)),this._fn.apply(null,[e.Utils.core,this._args])}evaluateAsync(){const n=e.DeferPromise.defer();return this._fn||(this._fn=new Function("$pacem",t,this._fnBody)),n.resolve(this._fn.apply(null,[e.Utils.core,this._args])),n.promise}evaluatePlus(n={}){if(!this._fn){let e=[t];for(var r in n)e.push(r);e.push("$pacem"),this._fn=new Function(e.join(", "),this._voidBody)}let s=[].concat(this._args);for(var r in n)s.push(n[r]);return s.push(e.Utils.core),this._fn.apply(null,s)}static{this._pendingExpression=null}static _getPendingExpressionSingleton(){if(null==Expression._pendingExpression){let e=new Expression;e._pending=!0,e._dependencies=[],Expression._pendingExpression=e}return Expression._pendingExpression}static parse(i,o){for(var a,l=e.CustomElementUtils.findScopeContext(o),c={$this:o},m=[],d="",h=!0,u=[],p=0,v=[];null!=(a=n.exec(i));){v.push(i.substr(p,a.index-p));let e=a[0].length;u.push({start:a.index,length:e}),p=a.index+e}p<i.length&&v.push(i.substr(p,i.length-p));for(var g=0;g<v.length;g++){let n=v[g];if(r.test(n))throw`Unsafe expression detected: "${n}".`;if(null==l){if(!0===new RegExp(s).test(n)){h=!1;break}}else{let r=n.replace(s,(n,r,s,i,a)=>{h=!1;const d="__host_pacem";let u,p=t+".$this"+(s.endsWith(".")?".":""),v=o,g=a.indexOf(".",i),f=g>i?a.substr(g+1).trim():"",_=/^[\w\.\$]+/.exec(f),y=_&&_.length>0&&_[0],E=y&&(u=y.split(".")).length>0&&u[0];if(":host."===s)v=c[d]=c[d]||e.CustomElementUtils.findHostContext(o),p=`${t}.${d}.`;else if(s.endsWith("^item")||s.substr(0,s.length-1).endsWith("^item")){let n=s.endsWith("^item")?"":s.substr(s.length-1,1),r=s.length-(n.length>0?6:5),i=`__item_${r}_up_pacem`,a=e.Repeater.findItemContext(o,r);v=c[i]=c[i]||a&&a.placeholder,y="item"+(y?"."+y:""),E="item",p=`${t}.${i}.item${n}`}else if(s.endsWith("^index")||s.substr(0,s.length-1).endsWith("^index")){let n=s.endsWith("^index")?"":s.substr(s.length-1,1),r=s.length-(n.length>0?7:6),i=`__item_${r}_up_pacem`,a=e.Repeater.findItemContext(o,r);v=c[i]=c[i]||a&&a.placeholder,y="index",E="index",p=`${t}.${i}.index${n}`}else if(s.startsWith("::")){let n=s.substr(2,s.length-2),r=c[d]=c[d]||e.CustomElementUtils.findHostContext(o);v=e.Utils.isNull(r)?null:r[n],p=`${t}.${d}.${n}`}else if(s.startsWith("#")){let e=s.substr(1,s.length-1);v=c[e]=c[e]||l.querySelector("#"+e),p=`${t}.${e}`}return E&&v&&E in v&&"function"!=typeof v[E]&&null==m.find(e=>e.element===v&&e.property==E)&&m.push({element:v,property:E,path:y,twowayAllowed:!1}),r+p});if(d+=r,g<u.length){const e=u[g];d+=i.substr(e.start,e.length)}}}if(h){var f=new Expression;return f._independent=!0,f._fnBody=`return ${i};`,f._voidBody=i,f._dependencies=[],f}if(null==l)return this._getPendingExpressionSingleton();for(var _ in c)if(null==c[_])return Expression._getPendingExpressionSingleton();1==m.length&&!0!==/[^\w\.\$]+/.test(d.trim())&&(m[0].twowayAllowed=!0);var y=new Expression;return y._args=c,y._fnBody=`try{ var ___$$$r = ${d}; return ___$$$r; }catch(e){ }`,y._voidBody=`try{ ${d} }catch(e){ }`,y._dependencies=m,y}}e.Expression=Expression}(Pacem||(Pacem={})),function(e){var t;e.P=(t=window.Pacem)&&t.Configuration&&t.Configuration.prefix||"pacem",e.PCSS=t.Configuration&&t.Configuration.css||e.P}(Pacem||(Pacem={})),function(e){const t="__pacem__",n=/^\{\{(.|\n)+\}\}$/;class CustomElementUtils{static get polyfilling(){return customElements instanceof window.CustomElementRegistry}static camelToKebab(e){return e&&e.replace(/([A-Z])/g,"-$1").toLowerCase()}static kebabToCamel(e){return e&&e.replace(/(-[a-z])/g,e=>e[1].toUpperCase())}static getWatchedProperties(t,n=!0){var r=[],s=t instanceof HTMLElement?t.constructor:t;do{let t=(this.getAttachedPropertyValue(s,e.WATCH_PROPS_VAR)||[]).filter(e=>!e.name.startsWith("_"));Array.prototype.splice.apply(r,[0,0].concat(t))}while(n&&(s=Object.getPrototypeOf(s)));return r}static getWatchedProperty(e,t){return this.getWatchedProperties(e,!0).find(e=>e.name===t)}static importjs(t,n=null,r=!1){var s={type:"text/javascript",src:t};return e.Utils.isNullOrEmpty(n)||e.Utils.extend(s,{integrity:n}),r&&e.Utils.extend(s,{crossorigin:""}),CustomElementUtils.import(t,"script",s,document.head||document.getElementsByTagName("head")[0])}static importcss(t,n=null,r=!1){var s={rel:"stylesheet",href:t};return e.Utils.isNullOrEmpty(n)||e.Utils.extend(s,{integrity:n}),r&&e.Utils.extend(s,{crossorigin:"anonymous"}),CustomElementUtils.import(t,"link",s,document.head||document.getElementsByTagName("head")[0])}static import(t,n,r,s=document.body){const i=e.Utils.core;var o=i.imports=i.imports||{};return o[t]=o[t]||new Promise((t,i)=>{var o=n;for(let e in r||{})o+=`[${e}="${r[e]}"]`;var a=document.querySelector(o);if(e.Utils.isNull(a)){for(var l in(a=document.createElement(n)).onerror=e=>{i(e)},a.onload=()=>{t(a)},r||{})a.setAttribute(l,r[l]);s.appendChild(a)}else t(a)})}static{this.Theme={importWebFonts(){function t(t){return e.Utils.isNullOrEmpty(t)?Promise.resolve():document.fonts.load("1rem "+t)}const n=["icons","std","main","tech","btn"].map(n=>{const r=e.Utils.Css.getVariableValue(`--${e.PCSS}-font-${n}`).split(",")[0],s=(i=e.Utils.Css.getVariableValue(`--${e.PCSS}-font-${n}-api-url`),/^('|").*\1$/.test(i)?i.substring(1,i.length-1):i);var i;return e.Utils.isNullOrEmpty(s)?t(r):CustomElementUtils.importcss(s).then(e=>t(r))}),r=new Promise(e=>{!function t(n=0){n>4||!("size"in document.fonts)||"number"==typeof document.fonts.size&&document.fonts.size>0?document.fonts.ready.then(e):setTimeout(t,250,n++)}()});return n.push(r),Promise.all(n)}}}static setAttachedPropertyValue(n,r,s){if(e.Utils.isNull(n))return;const i=Object.getOwnPropertyDescriptor(n,t),o=i&&i.value||Object.defineProperty(n,t,{value:{},enumerable:!1,writable:!1,configurable:!1})[t];e.Utils.isNull(s)?delete o[r]:o[r]=s}static deleteAttachedPropertyValue(e,t){CustomElementUtils.setAttachedPropertyValue(e,t,void 0)}static getAttachedPropertyValue(n,r,s){const i=Object.getOwnPropertyDescriptor(n,t),o=i&&i.value;return e.Utils.isNull(o&&o[r])&&!e.Utils.isNull(s)?(CustomElementUtils.setAttachedPropertyValue(n,r,s),s):o&&o[r]}static resolvePath(e,t){if(!e||!t)return;if(/[\(\)\{\}]/.test(e))throw`Security alert: not allowed to process paths like ${e}.`;const n=e.split(".");var r,s,i,o=t,a=o,l=n[0];return n.forEach((e,t)=>{e.split("[").forEach((e,t)=>{r=a,/\]$/.test(e)&&(e=e.substring(0,e.length-1),/^('|").+[^\\]\1$/.test(e)&&(e=e.substr(1,e.length-2))),a=a[e]})}),/\]$/.test(e)?(i=e.lastIndexOf("["),s=(s=e.substring(i+1)).substring(0,s.length-1)):(i=e.lastIndexOf("."),s=e.substring(i+1)),{target:{value:a,name:s},parent:{value:r||t,path:e.substring(0,i)},root:{value:o,property:l}}}static set(t,n,r){var s=CustomElementUtils.resolvePath(n,t),i=s.target.value;if(i!==r)if(s.parent.value==s.root.value||s.parent.value instanceof HTMLElement)s.parent.value[s.target.name]=r;else{s.parent.value[s.target.name]=r;const t=e.Utils.clone(s.root.value[s.root.property]);let n;s.parent.value[s.target.name]=i,"item"!==s.root.property||e.Utils.isNull(n=RepeaterItem.getRepeaterItem(s.root.value))?s.root.value[s.root.property]=t:n.repeater&&n.repeater.datasource&&n.repeater.datasource.splice(n.index,1,n.item=t)}}static get(e,t){var n=CustomElementUtils.resolvePath(t,e);return n&&n.target&&n.target.value}static _findScopeContextLegacy(e){let t,n=e;do{n=n.parentNode}while(null!=n&&(n!=(t=e.ownerDocument)||n instanceof HTMLElement&&null!=(t=n.shadowRoot)));return t}static findScopeContext(t){return(t.isConnected?t.getRootNode():CustomElementUtils.getAttachedPropertyValue(t,e.INSTANCE_SCOPE_VAR))??CustomElementUtils._findScopeContextLegacy(t)}static findAncestor(e,t){let n,r=e;for(;r&&null!=(r=r.parentNode||r.getRootNode()?.host);)if(r.host instanceof HTMLElement&&(r=r.host),t.apply(r,[r])){n=r;break}return n}static findAncestorShell(t){return CustomElementUtils.findAncestor(t,t=>e.Utils.is(t,`.${e.PCSS}-body`)||t===document.body)}static findAncestorOfType(e,t){return CustomElementUtils.findAncestor(e,e=>e instanceof t)}static findDescendants(e,t,n=!1){const r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(var s=[];r.nextNode();){let e=r.currentNode;if(!0===t(e)&&(s.push(e),n))return s}return s}static findFirstDescendant(t,n){const r=CustomElementUtils.findDescendants(t,n,!0);return e.Utils.isNullOrEmpty(r)?void 0:r[0]}static findAll(e="[pacem]",t=e=>!0){const n=[];return document.querySelectorAll(e).forEach((e,r,s)=>{!0===t(e)&&n.push(e)}),n}static findPreviousSiblingOrAncestorOfType(e,t,n=0){let r=e,s=null,i=0;do{if(r=r.previousSibling||r.parentNode,r instanceof t){if(i>=n){s=r;break}r=r.parentNode,i++}}while(null!=r);return s}static findPreviousSiblingOrAncestor(e,t,n=0){let r=e,s=null,i=0;do{if(r=r.previousSibling||r.parentNode,r&&t.apply(r,[r])){if(i>=n){s=r;break}r=r.parentNode,i++}}while(null!=r);return s}static assignHostContext(t,n){const r=document.createTreeWalker(n.content,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_DOCUMENT_FRAGMENT);for(;r.nextNode();){var s=r.currentNode;e.Utils.isNull(CustomElementUtils.getAttachedPropertyValue(s,e.INSTANCE_HOST_VAR))&&CustomElementUtils.setAttachedPropertyValue(s,e.INSTANCE_HOST_VAR,t)}}static findHostContext(t){let n,r,s=t;if(!s.isConnected)return n;for(;null!=s&&(n=CustomElementUtils.getAttachedPropertyValue(s,e.INSTANCE_HOST_VAR),!(n instanceof HTMLElement));)s=s.parentElement;return null==n&&console&&(r=console.warn)&&r(`Element "${t.constructor.name}" isn't a descendant of a templated component.`),n}static isBindingAttribute(e){return n.test(e)}static extractBindingAttributeExpression(e){if(CustomElementUtils.isBindingAttribute(e))return e.substr(2,e.length-4);throw"Invalid attribute: incorrect binding syntax."}static parseBindingAttribute(t,n){let r=CustomElementUtils.extractBindingAttributeExpression(t);const s=/,\s*(twoway|once)\s*$/.exec(r),i=s&&s.length>1&&s[1];e.Utils.isNullOrEmpty(i)||(r=r.substr(0,r.lastIndexOf(",")));var o=e.Expression.parse(r,n);return(o&&o.dependencies).forEach(e=>{switch(i){case"twoway":e.mode=e.twowayAllowed&&1==o.dependencies.length?"twoway":void 0;break;case"once":e.mode=i}}),o}static ensureMember(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);return null!=r?r:(Object.defineProperty(e,t,n),Object.getOwnPropertyDescriptor(e,t))}static stripObservedAttributes(e){r(e,!1)}static freezeObservedAttributes(e){r(e)}}function r(t,n=!0){const r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);do{var s=r.currentNode;if(s instanceof HTMLElement){const t=s.constructor.observedAttributes;if(!e.Utils.isNull(t)){CustomElementUtils.deleteAttachedPropertyValue(s,e.INSTANCE_BINDINGS_VAR);let r=function(t){if(e.Utils.isArray(t))return"["+t.map(r).join(",")+"]";if(t instanceof Element){return`#${t.id=t.id||"_"+e.Utils.uniqueCode()}`}return`${e.Utils.Json.stringify(t)}`};for(var i of t)if(i in s.attributes){let t,o;if(n&&!e.Utils.isNull(o=s[t=CustomElementUtils.kebabToCamel(i)])){let e=r(o);s.setAttribute(i,`{{ ${e} }}`)}else s.removeAttribute(i)}}}}while(r.nextNode())}e.CustomElementUtils=CustomElementUtils;const s=CustomElementUtils.getAttachedPropertyValue,i=CustomElementUtils.setAttachedPropertyValue,o="pacem:repeater-item";e.Repeater=class Repeater{static findItemContext(e,t=0,n=console.warn){let r=RepeaterItem.findUpwards(e,t,n);return null==r&&n&&e instanceof HTMLElement&&e.isConnected&&n(`Couldn't find a ${RepeaterItem.name} up ${t} level${1===t?"":"s"} from element "${e.constructor.name}".`),r}};class RepeaterItem{static findUpwards(t,n=0,r=console.warn){if(e.Utils.isNull(t)||"template"===t.localName||t instanceof e.TemplateElement)return null;let s=null;return null==CustomElementUtils.findPreviousSiblingOrAncestor(t,t=>!e.Utils.isNull(s=RepeaterItem.getRepeaterItem(t)),n)&&r&&t instanceof HTMLElement&&t.isConnected&&r(`Couldn't find a ${RepeaterItem.name} up ${n} level${1===n?"":"s"} from element "${t.constructor.name}".`),s}static isRepeaterItem(t){return!e.Utils.isNull(s(t,o))}static getRepeaterItem(e){return s(e,o)}constructor(e){this._placeholder=e,i(e,o,this)}get placeholder(){return this._placeholder}}e.RepeaterItem=RepeaterItem}(Pacem||(Pacem={})),function(e){let t;!function(e){e.AltKey="Alt",e.CtrlKey="Ctrl",e.ShiftKey="Shift",e.MetaKey="Cmd"}(t=e.EventKeyModifier||(e.EventKeyModifier={}));e.CustomEventUtils=class CustomEventUtils{static isInstanceOf(e,t){return e instanceof t}static getEventCoordinates(t){var n;return"touches"in t?e.Utils.isNullOrEmpty(t.touches)?e.Utils.isNullOrEmpty(t.changedTouches)||(n=t.changedTouches[0]):n=t.touches[0]:n=t,{page:{x:n.pageX,y:n.pageY},screen:{x:n.screenX,y:n.screenY},client:{x:n.clientX,y:n.clientY}}}static getEventKeyModifiers(e){var t=e.which;return e instanceof MouseEvent&&(t=e.button),{which:t,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey}}static matchModifiers(t,...n){const r=(!e.Utils.isNull(n)&&(1===n.length&&e.Utils.isArray(n[0])?n[0]:Array.from(n).filter(t=>!e.Utils.isNullOrEmpty(t)))||[]).map(e=>e.toLowerCase()),s=r.indexOf("alt")>=0||r.indexOf("option")>=0,i=r.indexOf("shift")>=0,o=r.indexOf("ctrl")>=0,a=r.indexOf("win")>=0||r.indexOf("cmd")>=0;return s===t.altKey&&i===t.shiftKey&&a===t.metaKey&&o===t.ctrlKey}static fixEdgeCustomEventSubClassInstance(e,t){e instanceof t||Object.setPrototypeOf(e,t)}}}(Pacem||(Pacem={})),function(e){class CustomTypedEvent extends CustomEvent{constructor(t,n,r){super(t,e.Utils.extend({detail:n},r||{})),e.CustomEventUtils.fixEdgeCustomEventSubClassInstance(this,this.constructor)}}e.CustomTypedEvent=CustomTypedEvent;class CustomUIEvent extends CustomEvent{constructor(t,n,r,s){super(t,e.Utils.extend(function(e){if("detail"in e){for(let t in e)if("bubbles"!==t&&"cancelable"!==t&&"composed"!==t&&"detail"!==t)return!1;return!0}return!1}(n||{})?n:{detail:n},!(r instanceof Event)&&r||{}));const i=s||r;i instanceof Event&&(this.#e=i,this.#t=e.CustomEventUtils.getEventKeyModifiers(i),(i instanceof MouseEvent||i instanceof TouchEvent)&&(this.#n=e.CustomEventUtils.getEventCoordinates(i))),e.CustomEventUtils.fixEdgeCustomEventSubClassInstance(this,this.constructor)}#e;#t;#n;get originalEvent(){return this.#e}get which(){return this.#t?.which}get altKey(){return this.#t?.altKey}get shiftKey(){return this.#t?.shiftKey}get ctrlKey(){return this.#t?.ctrlKey}get metaKey(){return this.#t?.metaKey}get pageX(){return this.#n?.page.x}get pageY(){return this.#n?.page.y}get clientX(){return this.#n?.client.x}get clientY(){return this.#n?.client.y}get screenX(){return this.#n?.screen.x}get screenY(){return this.#n?.screen.y}}e.CustomUIEvent=CustomUIEvent,e.AttributeChangeEventName="attributechange";e.AttributeChangeEvent=class AttributeChangeEvent extends CustomTypedEvent{constructor(t){super(e.AttributeChangeEventName,t)}},e.PropertyChangeEventName="propertychange";e.PropertyChangeEvent=class PropertyChangeEvent extends CustomTypedEvent{constructor(t){super(e.PropertyChangeEventName,t)}}}(Pacem||(Pacem={})),function(e){const t={convert:e=>{}},n={convert:e=>e&&e.trim().split(/[ ,]+/),convertBack:t=>e.Utils.isArray(t)&&t.join(" ")||""},r={convert:e=>parseFloat(e),convertBack:e=>e.toString()},s={convert:t=>!e.Utils.isNullOrEmpty(t)&&"0"!==t&&"false"!==t,convertBack:e=>(!!e).toString()},i={convert:t=>e.Utils.parseDate(t),convertBack:t=>e.Utils.parseDate(t).toISOString()},o=i,a={convert:t=>e.Utils.Json.parse(t),convertBack:t=>e.Utils.Json.stringify(t)},l={convert:e=>Function(`return ${e};`).apply(null),convertBack:e=>{}},c={convert:e=>document.querySelector(e),convertBack:e=>e instanceof Element&&e.id?"#"+e.id:void 0,retryConversionWhenReady:!0},m={convert:t=>e.Point.parse(t),convertBack:e=>`${e.x||0} ${e.y||0}`},d={convert:t=>e.Size.parse(t),convertBack:e=>`${e.width||0} ${e.height||0}`},h={convert:t=>e.Rect.parse(t),convertBack:e=>`${e.x||0} ${e.y||0} ${e.width||0} ${e.height||0}`};e.PropertyConverters={None:t,String:{convert:e=>e,convertBack:e=>e},StringArray:n,Number:r,Boolean:s,BooleanStrict:{convert:e=>"true"===e||"1"===e,convertBack:e=>(!!e).toString()},Date:o,Datetime:i,Json:a,Eval:l,Element:c,Point:m,Rect:h,Size:d}}(Pacem||(Pacem={})),function(e){e.DefaultComparer=(t,n)=>e.Utils.areSemanticallyEqual(t,n)}(Pacem||(Pacem={})),function(e){const t=e.CustomElementUtils.getAttachedPropertyValue,n=e.CustomElementUtils.setAttachedPropertyValue,r=e.CustomElementUtils.deleteAttachedPropertyValue,s="pacem:version",i="pacem:binding:",o="pacem:view-children",a="pacem:has-binding:",l="pacem:custom-element:has-template",c="pacem:custom-element:has-templated",m="pacem:custom-element:promise",d="pacem:custom-element:ready",h="pacem:custom-element:startup";function u(s,o,l){var c=s;const m=o,h=l;var u=t(c,i+m);if(u&&u.forEach(t=>{t.dep.element.removeEventListener(e.PropertyChangeEventName,t.callback,!1)}),e.Utils.isNull(h)||!0!==t(s,d))r(c,i+m),r(c,a+m);else if(h.pending)n(c,i+m,[]);else{let t="oneway";switch(h.dependencies&&h.dependencies.length&&h.dependencies[0].mode){case"twoway":1==h.dependencies.length&&(t="twoway");break;case"once":t="once"}n(c,a+m,t);const r=h.dependencies.map(t=>{var n={dep:t,callback:function(e){e.detail.propertyName===t.property&&(c[m]=h.evaluate())}};return t.element.addEventListener(e.PropertyChangeEventName,n.callback,!1),n});n(c,i+m,r),c[m]=h.evaluate()}}e.CustomElement=s=>p=>{if(e.Utils.customElements.get(s.tagName))console.warn(`${s.tagName} registration skipped, since already defined.`);else{var v=e.CustomElementUtils.getWatchedProperties(p,!0);if(n(p,l,!(e.Utils.isNullOrEmpty(s.template)&&e.Utils.isNullOrEmpty(s.templateUrl))),v&&v.length>0){const t="observedAttributes";var g=[];p.hasOwnProperty(t)&&(g=p[t].slice(),delete p[t]);let n=g;for(var f of v){let t=e.CustomElementUtils.camelToKebab(f.name);n.unshift(t)}Object.defineProperty(p,t,{get:function(){return n},enumerable:!0,configurable:!1})}{const g=p.prototype,f=Object.getOwnPropertyDescriptor(g,"connectedCallback")||g.connectedCallback,_=Object.getOwnPropertyDescriptor(g,"viewActivatedCallback")||g.viewActivatedCallback;Object.defineProperty(g,"connectedCallback",{value:function(){const i=this;i.setAttribute("pacem",""),i.setAttribute("cloak",""),r(i,o),f&&f.value?f.value.apply(i,[]):"function"==typeof f&&f.apply(i),function(t){var n=e.DeferPromise.defer();const r=t=>{e.Utils.isDOMReady()?n.resolve(t):e.Utils.onDOMReady(e=>{n.resolve(t)})};t.template?r(t.template):t.templateUrl?(new e.Net.Http).get(t.templateUrl).success(e=>{let n=t.template=e.text;return r(n),e}).error(e=>{console.error(e.message),r(null)}):r(null);return n.promise}(s).then(r=>{if(!i.isConnected)return;var o=[];if(!0!==t(i,d)&&!e.Utils.isNullOrEmpty(r)&&1!=t(i,c)){n(i,c,!0);const d=i,h=s.shadow,u=document.createElement("template").content,v=document.createElement("template");if(!h)for(var a=d.childNodes.length-1;a>=0;a--)u.insertBefore(d.childNodes.item(a),u.firstChild);v.innerHTML=r;const _=v.content.querySelectorAll(e.P+"-content");if(e.CustomElementUtils.assignHostContext(i,v),1==_.length){const e=_.item(0);var p=e.nextSibling;const t=e.parentElement||v.content,n=u.childNodes;for(t.removeChild(e);n.length>0;)try{let e=n.item(0);t.insertBefore(e,p)}catch(e){console.error(e.toString())}}else if(_.length>1)throw"There can only be at most 1 content placeholder inside a template.";var g;if(s.shadow)(g=d.attachShadow({mode:"open"})).appendChild(v.content);else{g=d;for(var f=v.content.children;f.length>0;)g.append(f.item(0))}o=function(n,r){const s=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT);for(var i=[];s.nextNode();){var o=s.currentNode;if(!0===t(o.constructor,l)){var a=t(o,m,e.DeferPromise.defer());i.push(a.promise)}}return i}(0,g)}n(i,d,!0);for(let t of v){const n=t.name,r=t.config;if(!r.converter.retryConversionWhenReady||!e.Utils.isNull(i[n]))continue;const s=e.CustomElementUtils.camelToKebab(n),o=i.getAttribute(s);e.Utils.isNullOrEmpty(o)||e.CustomElementUtils.isBindingAttribute(o)||(i[n]=r.converter.convert(o,i))}(t(i,h)||[]).forEach(e=>{e.apply(i)});(t(i,e.INSTANCE_BINDINGS_VAR)||[]).forEach(t=>{const n=t;if(!(n in i.attributes))throw`Howcome? ${n} not in ${i.constructor.name} attributes!?...`;const r=i.attributes[n].value;if(e.CustomElementUtils.isBindingAttribute(r)){var s=e.CustomElementUtils.parseBindingAttribute(r,i);u(i,e.CustomElementUtils.kebabToCamel(t),s)}});i.removeAttribute("cloak"),Promise.all(o).then(n=>(()=>{_&&_.value?_.value.apply(i,[]):"function"==typeof _&&_.apply(i);var n=t(i,m);e.Utils.isNull(n)||n.resolve()})())})},configurable:!0,enumerable:!0});const y=Object.getOwnPropertyDescriptor(g,"disconnectedCallback")||g.disconnectedCallback;Object.defineProperty(g,"disconnectedCallback",{value:function(){const r=this;y&&y.value?y.value.apply(r,[]):"function"==typeof y&&y.apply(r,[]),n(r,d,!1);(t(r,e.INSTANCE_BINDINGS_VAR)||[]).forEach(t=>{u(r,e.CustomElementUtils.kebabToCamel(t))})},configurable:!0,enumerable:!0});const E=Object.getOwnPropertyDescriptor(g,"attributeChangedCallback")||g.attributeChangedCallback;Object.defineProperty(g,"attributeChangedCallback",{value:function(n,r,s){const i=this,o=!0===t(i,d);E&&E.value?E.value.apply(i,[n,r,s]):"function"==typeof E&&E.apply(i,[n,r,s]);const a=new e.AttributeChangeEvent({attributeName:n,oldValue:r,currentValue:s,firstChange:!o});i.dispatchEvent(a);const l=e.CustomElementUtils.isBindingAttribute(s),c=n,m=e.CustomElementUtils.kebabToCamel(c);if(l){let n=e.CustomElementUtils.parseBindingAttribute(s,i);if(!(n instanceof e.Expression))throw`Howcome? ${s} misinterpreted as ${c} binding...`;n.independent?(i[m]=n.evaluate(),u(i,m)):(t(i,e.INSTANCE_BINDINGS_VAR,[]).push(c),n.pending||u(i,m,n))}else{var h=v.find(e=>e.name===m);e.Utils.isNull(h)||(u(i,m),i[m]=h.config.converter.convert(s,i))}},configurable:!0,enumerable:!0});const C=Object.getOwnPropertyDescriptor(g,"propertyChangedCallback")||g.propertyChangedCallback;Object.defineProperty(g,"propertyChangedCallback",{value:function(n,r,s,o,l){const c=this,m=!0===t(c,d),p=()=>{const o=t(c,a+n);if(C&&C.value?C.value.apply(c,[n,r,s,!m]):"function"==typeof C&&C.apply(c,[n,r,s,!m]),!l||!1!==l.emit){const t=new e.PropertyChangeEvent({propertyName:n,oldValue:r,currentValue:s,firstChange:!m});c.dispatchEvent(t)}if(e.Utils.isNullOrEmpty(o)){var d=v.find(e=>e.name===n);if(l&&!0===l.reflectBack&&!e.CustomElementUtils.polyfilling){var h,p=e.CustomElementUtils.camelToKebab(n),g=c.attributes.getNamedItem(p);if(m||e.Utils.isNullOrEmpty(g))if(null==s)c.removeAttribute(p);else if(d&&(h=d.config)&&"function"==typeof h.converter.convertBack){const e=h.converter.convertBack(s,c);null!=g&&e===g.value||c.setAttribute(p,e)}}}else if("twoway"===o){const r=t(c,i+n)[0].dep;e.CustomElementUtils.set(r.element,r.path,s)}else"once"===o&&u(c,n)};m?p.apply(c):t(c,h,[]).push(p)},configurable:!0,enumerable:!0})}e.Utils.customElements.define(s.tagName,p,s.options),e.Utils.customElements.whenDefined(s.tagName).then(()=>{})}};const p=e.PropertyConverters.None;e.Watch=function(r){return(i,o,a)=>{t(i.constructor,e.WATCH_PROPS_VAR,[]).push({name:o,config:e.Utils.extend({emit:!0,converter:p},r)});const l=e.DefaultComparer,c=a&&a.set,m="pacem:property:"+o,d=s,h=s+":"+o;function u(){return t(this,m)}function v(e,n,s){const i=this,a=r&&r.debounce;let l;if("function"==typeof(l=i.propertyChangedCallback)){let s=()=>l.apply(i,[e,n,t(i,m),!1,r]);"number"==typeof a&&a>0?(clearTimeout(this["_handle_"+o]),this["_handle_"+o]=setTimeout(s,a)):!0===a?(cancelAnimationFrame(this["_handle_"+o]),this["_handle_"+o]=requestAnimationFrame(s)):s()}}function g(e){const r=this;if(e=e||r[o],!0===t(e,"pacem:array:decorated"))return;n(e,"pacem:array:decorated",!0);const s=Array.prototype,i={splice:s.splice,pop:s.pop,copyWithin:s.copyWithin,push:s.push,shift:s.shift,unshift:s.unshift};for(let t in i){let s=t;e[s]=function(...e){const t=i[s].apply(this,e);return n(this,d,Date.now()),v.call(r,o,this,this),t}}}function f(r,s){const i=this,a=e.Utils.isArray(s);(!l(r,s)||a&&t(s,d)!==t(i,h))&&(n(i,m,s),a&&(n(i,h,t(s,d)),g.call(i,s)),v.call(i,o,r,s))}if(c)a.set=function(e){const t=this,n=t[o];c.call(t,e);const r=t[o];f.call(t,n,r)};else{try{i.ownerDocument&&(i[m]=i[o])}catch(e){}delete i[o]&&Object.defineProperty(i,o,{get:function(){return u.call(this)},set:function(e){const n=t(this,m);f.call(this,n,e)},enumerable:!0,configurable:!0})}}},e.ViewChild=function(n){return(r,s,i)=>{const a=`${s}_${e.Utils.uniqueCode()}`;function l(){const r=this,s=(r.shadowRoot||r).querySelectorAll(n);for(let n=0;n<s.length;n++){let i=s.item(n);if(t(i,e.INSTANCE_HOST_VAR)===r)return i}return null}function c(){const e=t(this,o,{});return e[a]=e[a]||l.call(this)}delete r[s]&&Object.defineProperty(r,s,{get:function(){return c.call(this)},enumerable:!0,configurable:!0})}},e.Concurrent=function(){return function(t,n,r){const s=r.value,i=`pacem:concurrent-buffer:${n}`,o=`pacem:concurrent-running:${n}`;r.value=function(...t){var n=this,r=e.CustomElementUtils.getAttachedPropertyValue(n,i,[]);if(e.CustomElementUtils.getAttachedPropertyValue(n,o,!1)){let n=e.DeferPromise.defer();return t.push(n),r.push(t),n.promise}var a,l=s.apply(n,t);if((a=l)&&"function"==typeof a.then){let i=t&&t.length>0&&t[t.length-1];return i&&i.promise instanceof e.DeferPromise?t.pop():i=e.DeferPromise.defer(),e.CustomElementUtils.setAttachedPropertyValue(n,o,!0),l.then(t=>{i.resolve(t),e.CustomElementUtils.setAttachedPropertyValue(n,o,!1),r.length>0&&s.apply(n,r.shift())},t=>{e.CustomElementUtils.setAttachedPropertyValue(n,o,!1),i.reject(t)}),i.promise}return l}}},e.Debounce=function(e=50,r=(e,...t)=>`pacem:debouncer:${e}`){return function(s,i,o){const a=o.value;!0===e?o.value=function(...e){const s=r(i,...e);var o=this;cancelAnimationFrame(t(o,s)),n(o,s,requestAnimationFrame(()=>{a.apply(o,e)}))}:e>0&&(o.value=function(...s){const o=r(i,...s);var l=this;clearTimeout(t(l,o,0)),n(l,o,setTimeout(()=>{a.apply(l,s)},e))})}},e.Throttle=function(s=50,i=(e,...t)=>`pacem:throttler:${e}`){return function(o,a,l){const c=l.value;l.value=function(...o){const l=i(a,...o),m=`${l}:args`,d=this,h=()=>{r(d,l);const e=t(d,m);r(d,m),e&&c.apply(d,o)};e.Utils.isNull(t(d,l))?(n(d,l,1),c.apply(d,o),!0===s?requestAnimationFrame(h):s>0&&setTimeout(h,s)):n(d,m,o??["pacem"])}}};class Transforms{static register(t,n){let r=e.Utils.core;const s=(t||n.name).split(".");for(let e of s.slice(0,-1))r=r[e]||(r[e]={});const i=s[s.length-1]||n.name;e.Utils.isNull(r[i])?r[i]=n:console.warn(`A transform named ${i} already exists in this set.`)}}e.Transformer=function(e){return function(t,n,r){const s=r.value;Transforms.register(e,s)}}}(Pacem||(Pacem={})),function(e){!function(e){let t;!function(e){e.Trace="trace",e.Debug="debug",e.Warn="warn",e.Error="error",e.Info="info",e.Log="log"}(t=e.LogLevel||(e.LogLevel={}))}(e.Logging||(e.Logging={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemEventTarget extends HTMLElement{constructor(){super(),this._isReady=!1,this.emitHandler=e=>{this.disabled||this.emit(e)}}emit(e){e.defaultPrevented||this._emitCore(e)}_emitCore(t){var n=`on-${t.type.toLowerCase()}`;if(n in this.attributes){this.log(e.Logging.LogLevel.Debug,`Calling ${n} handler for event ${t.type}`);var r=this.attributes[n].value,s=e.Expression.parse(r,this);e.Utils.isNull(s)||!0===s.pending||s.evaluatePlus({$event:t})}}handle(t,n){"string"==typeof t&&(t=e.Utils.isNull(n)?new Event(t,{cancelable:!1}):new CustomEvent(t,{cancelable:!1,detail:n})),this.emit(t)}get isReady(){return this._isReady}connectedCallback(){e.CustomElementUtils.setAttachedPropertyValue(this,e.INSTANCE_SCOPE_VAR,e.CustomElementUtils.findScopeContext(this)),this.log(e.Logging.LogLevel.Debug,"Connected.")}disconnectedCallback(){this._isReady=!1,this.dispatchEvent(new Event("unload")),e.CustomElementUtils.deleteAttachedPropertyValue(this,e.INSTANCE_SCOPE_VAR),this.log(e.Logging.LogLevel.Debug,"Disconnected.")}viewActivatedCallback(){this._isReady=!0,this.log(e.Logging.LogLevel.Debug,"Loaded (view activated)."),this.dispatchEvent(new Event("load"))}propertyChangedCallback(t,n,r,s){s?this.log(e.Logging.LogLevel.Log,`Property "${t}" changed at start-up`):this.log(e.Logging.LogLevel.Log,`Property "${t}" changed from ${n} to ${r}`)}dispatchEvent(t){if(this.disabled)return!1;this.log(e.Logging.LogLevel.Log,`Dispatching event "${t.type}"`);const n=super.dispatchEvent(t);return this.emit(t),n}log(e,t,n=this.localName+(this.id?"#"+this.id:"")){this.logger&&"function"==typeof this.logger.log&&this.logger.log(e,t,n)}refreshBindings(){for(let t=0;t<this.attributes.length;t++){let n=this.attributes.item(t);if(!e.CustomElementUtils.isBindingAttribute(n.value))continue;let r=e.CustomElementUtils.kebabToCamel(n.name),s=e.CustomElementUtils.parseBindingAttribute(n.value,this);this[r]=s.evaluate()}}}__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],PacemEventTarget.prototype,"disabled",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],PacemEventTarget.prototype,"logger",void 0),t.PacemEventTarget=PacemEventTarget}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){class CurrentIndexChangeEvent extends e.CustomTypedEvent{constructor(e){super("currentindexchange",e)}}e.CurrentIndexChangeEvent=CurrentIndexChangeEvent}(Pacem||(Pacem={})),Array.prototype.union=function(e){const t=Pacem.Utils.isNullOrEmpty(this),n=Pacem.Utils.isNullOrEmpty(e);return t&&n?[]:n?this.slice():t?e.slice():Array.from(new Set(this.concat(e)))},Array.prototype.moveWithin=function(e,t){const n="Index must be greater or equal than 0 and less or equal than the length of the array.";var r=this;if(e<0||e>r.length)throw new Error(n);if(t<0||t>r.length)throw new Error(n);r.splice(t,0,Array.prototype.splice.apply(r,[e,1])[0])},Array.prototype.equalsContent=function(e){if(null==e||this.length!==e.length)return!1;for(let t=0;t<this.length;t++)if(this[t]!==e[t])return!1;return!0},Array.prototype.cloneFrom=function(e){if(null==e)throw"Cannot clone array from null object.";const t=e.length;var n=this.length!==e.length;for(let r=0;r<t;r++){const t=e[r];this.length>r?this[r]!==t&&(this[r]=t,n=!0):(Array.prototype.push.apply(this,[t]),n=!0)}n&&this.splice(t)},function(e){e.CommandEventName="command";class CommandEvent extends e.CustomTypedEvent{constructor(t){super(e.CommandEventName,t,{bubbles:!0,cancelable:!0})}}e.CommandEvent=CommandEvent}(Pacem||(Pacem={})),function(e){e.Defaults={USE_SHADOW_ROOT:!1}}(Pacem||(Pacem={})),function(e){!function(e){e.EMPTY_MATCHER=/a^/;e.Regex=class Regex{static split(e,t){for(var n,r=0,s=[];null!=(n=t.exec(e));){s.push({value:e.substr(r,n.index-r),match:!1,index:r});let t=n[0].length;s.push({value:e.substr(n.index,t),match:!0,index:n.index}),r=n.index+t}return r<e.length&&s.push({value:e.substr(r,e.length-r),match:!1,index:r}),s}}}(e.RegularExpressions||(e.RegularExpressions={}))}(Pacem||(Pacem={})),function(e){const t="_exp";e.Storage=class Storage{_getStorage(e){return e?window.localStorage:window.sessionStorage}_parseValue(n,r){const s=n.getItem(r);if(e.Utils.isNullOrEmpty(s))return null;const i=e.Utils.Json.parse(s);if(!Object.hasOwnProperty(t))return i;return i[t]<Date.now()?(n.removeItem(r),null):i.value}setPropertyValue(n,r,s){var i=this._getStorage(!0===s||"number"==typeof s&&s>0),o=r;if("number"==typeof s&&s>0){const e=Date.now()+1e3*s;(o={value:r})[t]=e}i.setItem(n,e.Utils.Json.stringify(o)),(i=this._getStorage(!s)).removeItem(n)}getPropertyValue(e){return this._parseValue(this._getStorage(!1),e)||this._parseValue(this._getStorage(!0),e)}clear(){var e=this._getStorage(!0);e.clear(),(e=this._getStorage(!1)).clear()}removeProperty(e){var t=this._getStorage(!0);t.removeItem(e),(t=this._getStorage(!1)).removeItem(e)}}}(Pacem||(Pacem={})),function(e){class TemplateElement extends HTMLElement{}e.TemplateElement=TemplateElement}(Pacem||(Pacem={})),function(e){function t(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}class Transforms{static highlight(n,r,s=e.PCSS+"-highlight"){if(!r||!n)return n;let i=n.substring(0);const o=r.substring(0).split(" ");for(var a=0;a<o.length;a++){const e=t(o[a]),n=new RegExp("(?![^<>]*>)"+e,"gi");i=i.replace(n,function(e,t,n){var r;return(r=n.indexOf("<",t))!=n.indexOf("</",t)||-1==r?'<span class="'+s+'">'+e+"</span>":e})}return i}static diff(t,n,r="full",s,i,o){const{mode:a,output:l,cssAdd:c,cssRemove:m}=function(e,t,n,r){let s,i,o="char",a="full";return["line","word","char"].includes(e)?(o=e,a=t,s=n,i=r):(a=e,s=t,i=n),{mode:o,output:a,cssAdd:s??"fill-green-container",cssRemove:i??"fill-red-container"}}(r,s,i,o);return e.Utils.diff(t,n,a).reduce((t,n)=>{const r=n.type;if("="===r)t+=n.value;else if("+"===r&&"left"!==l||"-"===r&&"right"!==l){const s=n.value.split(/\r?\n/),i=s.length-1;for(let n=0;n<=i;n++){const o=s[n];if(!e.Utils.isNullOrEmpty(o)||n<i){const n="-"===r?m:c;t+=`<span class="${e.PCSS}-token ${n} text-prewrap">${o||" "}</span>`}n<i&&(t+="\n")}}return t},"")}static padleft(t,n,r){return e.Utils.leftPad(""+t,n,r)}static size(e){return e>0?e<1024?e+" B":e<1048576?(e/1024).toFixed(2)+" kB":e<1073741824?(e/1048576).toFixed(2)+" MB":(e/1073741824).toFixed(2)+" GB":"-"}static decToDeg(e,t="° ",n="' ",r='"'){const s=Math.sign(e);e=Math.abs(e);const i=Math.floor(e),o=60*(e-i),a=Math.floor(o),l=60*(o-a);return(s<0?"-":"")+i+t+a+n+Math.floor(l)+r}static date(t,n,r){var s=e.Utils.parseDate(t),i=r||navigator.language;if(!e.Utils.isNull(n)&&"string"!=typeof n)return s.toLocaleString(r,n);switch(n){case"iso":return s.toISOString();case"isodate":return s.toISOString().substring(0,10);case"localdate":return`${s.getFullYear()}-${e.Utils.leftPad(s.getMonth()+1,2,"0")}-${e.Utils.leftPad(s.getDate(),2,"0")}`;case"time":case"localtime":return s.toLocaleTimeString(i,{hour:"numeric",minute:"numeric",second:"numeric",hour12:!1});case"full":const t=-s.getTimezoneOffset()/60;var o="";return 0!=t&&(o=" (UTC"+(t>0?"+":"-")+Math.abs(t).toLocaleString()+")"),s.toLocaleString(i)+o;default:return s.toLocaleDateString(i)}}static timespan(t,n,r,s){const i=e.Utils.parseDate(t),o=e.Utils.parseDate(n).valueOf()-i.valueOf(),a=o<0?"-":"",l=Math.abs(o);if("object"==typeof r){const t={timeZone:"UTC",hour12:!1},n=e.Utils.extend(t,r);return(a||(r.sign?"+":""))+Intl.DateTimeFormat(s??navigator.language,n).format(l)}const c=864e5,m=36e5;return`${a}${Math.floor(l/c)}d ${Math.floor(l%c/m)}h ${Math.floor(l%m/6e4)}m ${Math.floor(l%6e4/1e3)}s ${Math.floor(l%1e3)}ms`}static currency(e,t,n){return new Intl.NumberFormat(n??navigator.language,{style:"currency",currency:t}).format(e)}static number(e,t,n){return"string"==typeof t?new Intl.NumberFormat(t||navigator.language).format(e):new Intl.NumberFormat(n??navigator.language,t).format(e)}static filter(e,t){return e.filter(t)}static orderby(t,n){return t.sort((t,r)=>(e.Utils.isNullOrEmpty(n)||(t=t[n],r=r[n]),t>r?1:t<r?-1:0))}static isMatch(e,t,n){return new RegExp(t,n).test(e)}static isEmpty(t){return e.Utils.isEmpty(t)}static isNull(t){return e.Utils.isNull(t)}static isNullOrEmpty(t){return e.Utils.isNullOrEmpty(t)}static getCssVariable(t){return e.Utils.Css.getVariableValue(t)}static getQuerystring(t){return e.Utils.URIs.parseQuery()[t]}static importThemeWebFonts(){return e.CustomElementUtils.Theme.importWebFonts()}static findHostContext(t){return e.CustomElementUtils.findHostContext(t)}}__decorate([e.Transformer()],Transforms,"highlight",null),__decorate([e.Transformer()],Transforms,"diff",null),__decorate([e.Transformer()],Transforms,"padleft",null),__decorate([e.Transformer()],Transforms,"size",null),__decorate([e.Transformer()],Transforms,"decToDeg",null),__decorate([e.Transformer()],Transforms,"date",null),__decorate([e.Transformer()],Transforms,"timespan",null),__decorate([e.Transformer()],Transforms,"currency",null),__decorate([e.Transformer()],Transforms,"number",null),__decorate([e.Transformer()],Transforms,"filter",null),__decorate([e.Transformer()],Transforms,"orderby",null),__decorate([e.Transformer("regex.")],Transforms,"isMatch",null),__decorate([e.Transformer()],Transforms,"isEmpty",null),__decorate([e.Transformer()],Transforms,"isNull",null),__decorate([e.Transformer()],Transforms,"isNullOrEmpty",null),__decorate([e.Transformer("cssvar")],Transforms,"getCssVariable",null),__decorate([e.Transformer("querystring")],Transforms,"getQuerystring",null),__decorate([e.Transformer()],Transforms,"importThemeWebFonts",null),__decorate([e.Transformer("host")],Transforms,"findHostContext",null)}(Pacem||(Pacem={})),function(e){!function(e){const t=.5*Math.PI,n=e=>e,r=e=>Math.sin(e*t-t)+1,s=e=>Math.sin(e*t),i=e=>.5*Math.sin(e*Math.PI-t)+.5,o=e=>(Math.pow(Math.E,e)-1)/(Math.E-1),a=e=>Math.log(e*(Math.E-1)+1),l=t=>t<.5?.5*e.Easings.expoIn(2*t):.5*(1+e.Easings.expoOut(2*t-1));function c(e,t){const n=t=>e(t);return n.css=t,n}e.Easings={linear:c(n,"linear"),sineIn:c(r,"cubic-bezier(0.12, 0, 0.39, 0)"),sineOut:c(s,"cubic-bezier(0.61, 1, 0.88, 1)"),sineInOut:c(i,"cubic-bezier(0.37, 0, 0.63, 1)"),expoIn:c(o,"cubic-bezier(0.7, 0, 0.84, 0)"),expoOut:c(a,"cubic-bezier(0.16, 1, 0.3, 1)"),expoInOut:c(l,"cubic-bezier(0.87, 0, 0.13, 1)")}}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){class AnimationEvent extends e.CustomTypedEvent{constructor(e){super("step",e)}}t.AnimationEvent=AnimationEvent;class AnimationEndEvent extends CustomEvent{constructor(){super("end")}}t.AnimationEndEvent=AnimationEndEvent;class AnimationStartEvent extends CustomEvent{constructor(){super("start")}}t.AnimationStartEvent=AnimationStartEvent}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(e){class Timer{#r;#s;#i;constructor(e,t){this.#o=0,this._run=e=>{this.#i=requestAnimationFrame(this._run);const t=performance.now(),n=this.#r,r=t-this.#o;r>=n&&(this.#o=t-r%n,this.#s(e))},this.#r=1e3/t,this.#s=e,this.#i=requestAnimationFrame(this._run)}#o;static run(e,t=60){return new Timer(e,t)}stop(){cancelAnimationFrame(this.#i)}}e.Timer=Timer}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){t.TweenService=class TweenService{run(n,r,s,i=0,o=t.Easings.linear,a=null){return new Promise((t,l)=>{const c=(performance&&performance.now()||Date.now())+Math.abs(i||0),m=c+Math.abs(s||0),d=()=>{const i=performance&&performance.now()||Date.now();if(i>=c&&i<m){const t=(i-c)/s,l=n+(o||e.Animations.Easings.linear)(t)*(r-n);a&&a(t,l)}i<m?requestAnimationFrame(d):(a&&a(1,r),t())};d()})}}}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=()=>{};let r;!function(e){e.Get="GET",e.Post="POST",e.Put="PUT",e.Delete="DELETE",e.Options="OPTIONS",e.Head="HEAD",e.Patch="PATCH",e.Connect="CONNECT",e.Trace="TRACE"}(r=t.HttpMethod||(t.HttpMethod={}));class StatusCodeError extends Error{constructor(e,t){super(t),this.statusCode=e}get status(){return this.statusCode}}t.StatusCodeError=StatusCodeError;class Response{constructor(e,t){e&&(this._status=e.status,this._body=e.response,this._text=e.responseText,this._type=e.responseType,this._allHeadersRaw=e.getAllResponseHeaders(),this._processTime=t)}get processTime(){return this._processTime}get headers(){return void 0===this._headers&&this._allHeadersRaw&&this._parseHeaders(),this._headers}get size(){return+this.headers["Content-Length"]}get mime(){return this.headers["Content-Type"]}get date(){return new Date(Date.parse(this.headers.Date))}_parseHeaders(){let e={};this._allHeadersRaw.split("\r\n").forEach(t=>{if(t&&t.length){let n=t.indexOf(":"),r=t.substr(0,n).trim(),s=t.substr(n+1).trim();e[r]=s}}),this._headers=e}get status(){return this._status}get text(){return this._text}get content(){return this._body}get type(){return this._type}get json(){if("json"===this._type)return this._body;try{return JSON.parse(this._text)}catch(e){return}}}t.Response=Response;t.Http=class Http{constructor(){}request(t,s){var i=this;let o=e.DeferPromise.defer();var a=(s=s||{method:r.Get}).method||r.Get,l=s.data||{},c=s.progress||n,m=s.headers||{};i.accessToken&&(m.Authorization="Bearer "+i.accessToken);var d,h,u=new XMLHttpRequest;switch(u.withCredentials=!1,u.addEventListener("progress",e=>{if(e.lengthComputable){var t=e.loaded/e.total;"function"==typeof c&&c.apply(i,[t])}},!1),u.addEventListener("error",e=>{o.reject(new StatusCodeError(500,e.message||"Unknown error"))},!1),u.addEventListener("load",()=>{if(u.status>=200&&u.status<300){var e=new Response(u,Date.now()-d);o.resolve(e)}else o.reject(new StatusCodeError(u.status,u.statusText))},!1),a.toUpperCase()){case r.Get:t+=(/\?/.test(t)?"&":"?")+("string"==typeof l?l:Object.keys(l).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(l[e])}).join("&"));break;case r.Post:h=JSON.stringify(l)}switch(u.open(a,t,!0),a.toUpperCase()){case r.Get:u.setRequestHeader("X-Requested-With","XMLHttpRequest");break;case r.Post:u.setRequestHeader("X-Requested-With","XMLHttpRequest"),u.setRequestHeader("Content-Type","application/json")}for(var p in m)u.setRequestHeader(p,m[p]);return d=Date.now(),u.send(h),o.promise}get(e,t,n){return this.request(e,{method:r.Get,data:t,headers:n||{}})}post(e,t,n){return this.request(e,{method:r.Post,data:t,headers:n||{}})}}}(e.Net||(e.Net={}))}(Pacem||(Pacem={})),function(e){!function(e){e.FetchResultEventName="fetchresult",e.FetchErrorEventName="error",e.FetchSuccessEventName="success";e.Fetcher=class Fetcher{static isEmpty(e){return 204===e.status||"0"===e.headers.get("Content-Length")}}}(e.Net||(e.Net={}))}(Pacem||(Pacem={})),function(e){!function(t){let n,r,s,i;!function(e){e.Self="self",e.Alias="alias",e.Copy="copy"}(n=t.DragDataMode||(t.DragDataMode={})),function(e){e.InsertChild="insert",e.None="none"}(r=t.DropBehavior||(t.DropBehavior={})),function(e){e.Revert="revert",e.Remove="remove",e.None="none"}(s=t.DropTargetMissedBehavior||(t.DropTargetMissedBehavior={})),function(e){e.Init="draginit",e.Start="dragstart",e.Drag="drag",e.Drop="drop",e.Over="dragover",e.Out="dragout",e.End="dragend"}(i=t.DragDropEventType||(t.DragDropEventType={}));class DragDropEventArgsBaseClass{constructor(e){this._builder=e,this.currentPosition=e.currentPosition,this.target=e.target}get element(){return this._builder.element}get origin(){return this._builder.origin}get initialDelta(){return this._builder.initialDelta}get startTime(){return this._builder.startTime}get floater(){return this._builder.floater}get delta(){var t=this;return e.Point.add(t.initialDelta,e.Point.subtract(t.origin,t.currentPosition))}}class DragDropInitEventArgsClass extends DragDropEventArgsBaseClass{constructor(e){super(e),this.placeholder=e.placeholder,this.data=e.data}static fromArgs(t){return new DragDropInitEventArgsClass(e.Utils.extend({},t))}}t.DragDropInitEventArgsClass=DragDropInitEventArgsClass;class DragDropEventArgsClass extends DragDropEventArgsBaseClass{constructor(e,t=e.placeholder,n=e.data){super(e),this._placeholder=t,this._data=n}get placeholder(){return this._placeholder}get data(){return this._data}static fromArgs(t){return new DragDropEventArgsClass(e.Utils.extend({},t))}}t.DragDropEventArgsClass=DragDropEventArgsClass;class DragDropEvent extends e.CustomUIEvent{constructor(e,t,n,r){super(e,t,n,r)}}t.DragDropEvent=DragDropEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let n,r;!function(e){e.All="all",e.Top="top",e.Left="left",e.Right="right",e.Bottom="bottom"}(n=t.RescaleHandle||(t.RescaleHandle={})),function(e){e.Start="rescalestart",e.Rescale="rescale",e.End="rescaleend"}(r=t.RescaleEventType||(t.RescaleEventType={}));class RescaleEventArgsClass{constructor(e){this._builder=e}get currentPosition(){return this._builder.currentPosition}get targetRect(){return this._builder.targetRect}get element(){return this._builder.element}get handle(){return this._builder.handle}static fromArgs(t){return new RescaleEventArgsClass(e.Utils.extend({},t))}}t.RescaleEventArgsClass=RescaleEventArgsClass;class RescaleEvent extends e.CustomUIEvent{constructor(e,t,n,r){super(e,t,n,r)}}t.RescaleEvent=RescaleEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let n;!function(e){e.Start="rotatestart",e.Rotate="rotate",e.End="rotateend"}(n=t.RotateEventType||(t.RotateEventType={}));class RotateEventArgsClass{constructor(e){this._builder=e}get currentPosition(){return this._builder.currentPosition}get rotation(){return this._builder.rotation}get element(){return this._builder.element}get center(){return this._builder.center}static fromArgs(t){return new RotateEventArgsClass(e.Utils.extend({},t))}}t.RotateEventArgsClass=RotateEventArgsClass;class RotateEvent extends e.CustomUIEvent{constructor(e,t,n,r){super(e,t,n,r)}}t.RotateEvent=RotateEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let n;!function(e){e.Swipe="swipe",e.SwipeLeft="swipeleft",e.SwipeRight="swiperight",e.SwipeAnimationEnd="swipeanimationend",e.SwipeLeftAnimationEnd="swipeleftanimationend",e.SwipeRightAnimationEnd="swiperightanimationend"}(n=t.SwipeEventType||(t.SwipeEventType={}));class SwipeEventArgsClass{constructor(e){this._builder=e}get direction(){return this._builder.horizontalspeed>0?"right":"left"}get speed(){return Math.abs(this._builder.horizontalspeed)}get element(){return this._builder.element}static fromArgs(t){return new SwipeEventArgsClass(e.Utils.extend({},t))}}t.SwipeEventArgsClass=SwipeEventArgsClass;class SwipeEvent extends e.CustomTypedEvent{constructor(e,t,n){super(e,t,n)}}t.SwipeEvent=SwipeEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemBehavior extends e.Components.PacemEventTarget{#a=new WeakSet;register(e){var t=this.#a;t.has(e)||(t.add(e),this.decorate(e))}unregister(e){var t=this.#a;t.has(e)&&(this.undecorate(e),t.delete(e))}has(e){return this.#a.has(e)}}t.PacemBehavior=PacemBehavior}(e.Behaviors||(e.Behaviors={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:dragdrop:mousedown",o="pacem:dragdrop:info",a="pacem:dragdrop:delegate";class DragElementDelegate{constructor(t,r){this._logFn=r,this._started=!1,this._enterHandler=e=>{this._currentTarget=e.target},this._leaveHandler=e=>{this._currentTarget=null},this._revertTrackedTarget=null,this._moveHandler=t=>{"wheel"!==t.type&&e.avoidHandler(t);var r,s=this._element,i=this._dragDropper,a=n(s,o);if(!this._started){if(this._logFn(e.Logging.LogLevel.Info,"Dragging act started"),this._started=!0,i.dropBehavior===e.UI.DropBehavior.InsertChild){var l=s;do{l=l.parentElement}while(l&&-1==i.dropTargets.indexOf(l));this._currentTarget=l}i.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Start,e.UI.DragDropEventArgsClass.fromArgs(a),{},t))}if(!e.Utils.isNull(a)){this._logFn(e.Logging.LogLevel.Debug,"Dragging act ongoing");const n=t instanceof MouseEvent;e.Utils.addClass(e.CustomElementUtils.findAncestorShell(s),e.PCSS+"-dragging");a.currentPosition=r=r||(t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY});let o=a.floater,l=new e.UI.DragDropEvent(e.UI.DragDropEventType.Drag,e.UI.DragDropEventArgsClass.fromArgs(a),{cancelable:!0},t);if(i.dispatchEvent(l),!l.defaultPrevented&&(o instanceof HTMLElement||o instanceof SVGElement)){let e={x:l.detail.delta.x,y:l.detail.delta.y};o.style.transform=`translate3d(${e.x}px, ${e.y}px, 0)`}var c=this._currentTarget;!n&&i.dropTargets.length>0&&(c=document.elementsFromPoint(a.currentPosition.x-e.Utils.scrollLeft,a.currentPosition.y-e.Utils.scrollTop).find(e=>i.dropTargets.indexOf(e)>=0));var m=a.target;if(c!==m)if(e.Utils.isNull(m)||(e.Utils.removeClass(m,e.PCSS+"-dropping"),i.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Out,e.UI.DragDropEventArgsClass.fromArgs(a),{},t)),this._logFn(e.Logging.LogLevel.Info,`Drop area left (${m.id||m.constructor.name})`)),-1!=i.dropTargets.indexOf(c)){a.target=c,this._logFn(e.Logging.LogLevel.Info,`Drop area entering (${a.target.id||a.target.constructor.name})`);let n=new e.UI.DragDropEvent(e.UI.DragDropEventType.Over,e.UI.DragDropEventArgsClass.fromArgs(a),{cancelable:!0},t);i.dispatchEvent(n),n.defaultPrevented?delete a.target:(e.Utils.addClass(a.target,e.PCSS+"-dropping"),this._logFn(e.Logging.LogLevel.Info,`Drop area entered (${a.target.id||a.target.constructor.name})`))}else delete a.target;if(this._revertTrackedTarget=a.target||m,e.Utils.isNull(a.target)||i.dropBehavior!==e.UI.DropBehavior.InsertChild){if(e.Utils.isNull(a.target)&&i.mode===e.UI.DragDataMode.Copy){const e=a.placeholder;e instanceof Element&&e.remove()}}else this._insertChild(c,a)}},this._endHandler=t=>{var r,i=this._element,a=e.CustomElementUtils.findAncestorShell(i),l=this._dragDropper;if(!e.Utils.isNull(r=n(i,o))){t instanceof MouseEvent&&e.avoidHandler(t);let n=()=>{let n=r.floater;(n instanceof HTMLElement||n instanceof SVGElement)&&(n.style.pointerEvents=""),l.mode!==e.UI.DragDataMode.Self&&r.floater.remove(),e.Utils.removeClass(i,e.PCSS+"-dragging"),e.Utils.removeClass(i,e.PCSS+"-drag-lock"),s(i,o),e.Utils.isNull(r.placeholder)||(e.Utils.removeClass(r.placeholder,e.PCSS+"-dragging"),e.Utils.removeClass(r.placeholder,"drag-placeholder"),e.Utils.removeClass(r.placeholder,e.PCSS+"-drag-lock"),s(r.placeholder,o));const c=!e.Utils.isNull(r.target);c&&(l.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Drop,e.UI.DragDropEventArgsClass.fromArgs(r),{},t)),e.Utils.removeClass(r.target,e.PCSS+"-dropping"));const m=r.data,d=(l.dropTargets,r.placeholder),h=this._repeaterItem,u=this._sourceRepeater,p=!e.Utils.isNull(h),v=d&&this._findTargetRepeaterItem(r.placeholder.parentElement,r.placeholder.nextElementSibling),g=v&&v.repeater,f=l.mode===e.UI.DragDataMode.Copy,_=c&&!e.Utils.isNull(g)&&!(e.Utils.isNull(h)&&u===g);if(p&&!f&&c&&u.removeItem(h.index),_)if(r.placeholder.remove(),g!==u||f)f||u&&u.datasource.splice(h.index,1),g&&(g.datasource=g.datasource||[]).splice(v.index,0,m);else{let e=h.index,t=v.index;t>e&&t--,u.datasource.moveWithin(e,t)}c||e.Utils.isNullOrEmpty(l.dropTargets)||l.spillBehavior!==e.UI.DropTargetMissedBehavior.Remove||f||(p?u.datasource.splice(h.index,1):i.remove()),l.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.End,e.UI.DragDropEventArgsClass.fromArgs(r),{},t)),e.Utils.removeClass(a,e.PCSS+"-dragging")};const m=r.placeholder||r.element;if(r.floater!=m){let t=r.floater;var c=e.Utils.deserializeTransform(getComputedStyle(t));if(!e.Utils.isNull(r.target)||l.spillBehavior===e.UI.DropTargetMissedBehavior.Revert||l.dropBehavior===e.UI.DropBehavior.InsertChild&&l.spillBehavior!==e.UI.DropTargetMissedBehavior.Remove){const n=e.Utils.offset(m),r=e.Utils.offset(t);t.style.transition="transform .2s ease-in-out",c=e.Matrix2D.translate(c,{x:n.left-r.left,y:n.top-r.top})}else t.style.transition="transform .2s ease-in, opacity .2s linear",c=e.Matrix2D.scale(c,.1),t.style.opacity="0";e.Utils.addAnimationEndCallback(t,n,300),t.style.transform=`matrix(${c.a},${c.b},${c.c},${c.d},${c.e},${c.f})`}else n()}e.Utils.removeClass(i,e.PCSS+"-drag-lock"),this.dispose(),this._logFn(e.Logging.LogLevel.Info,"Dragging act disposed")},this._dragDropper=t.dragDrop,e.Utils.addClass(this._element=t.element,e.PCSS+"-drag-lock"),window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),document.addEventListener("wheel",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,{capture:!0,passive:!1}),this._dragDropper.dropTargets.forEach(e=>{e.addEventListener("mouseenter",this._enterHandler,!1),e.addEventListener("mouseleave",this._leaveHandler,!1)});var i=e.Repeater.findItemContext(this._element,0,null);i&&(i.dom&&1===i.dom.length&&i.dom[0]===this._element&&(this._repeaterItem=i),this._sourceRepeater=i.repeater),this._bootstrap(t.placeholder,t.data)}_getLogicalData(e){return e instanceof t.RepeaterItem?e.item:e instanceof HTMLElement?e.dataset:e}_getPhysicalData(e){return e instanceof t.RepeaterItem?e.dom:[e]}_createFloater(t,n){let r=t;if(this._dragDropper.mode!=e.UI.DragDataMode.Self&&(r=r.cloneNode(!0),e.CustomElementUtils.stripObservedAttributes(r),r instanceof HTMLElement||r instanceof SVGElement)){e.Utils.addClass(r,e.PCSS+"-drag-floater"),e.CustomElementUtils.findAncestorShell(this._element).appendChild(r),r.style.position="absolute";let s={left:n.x+r.clientWidth/2,top:n.y-r.clientHeight/2};if(t===this._element||t.classList.contains("drag-floater-resize")){let t=e.Utils.offset(this._element);r.style.boxSizing="border-box",r.style.width=t.width+"px",r.style.height=t.height+"px",s={left:t.left,top:t.top}}r.style.left=`${s.left}px`,r.style.top=`${s.top}px`}return(r instanceof HTMLElement||r instanceof SVGElement)&&(r.style.pointerEvents="none"),r}_findTargetRepeaterItem(n,r){var s=e.Repeater.findItemContext(r,0,null);if(!e.Utils.isNull(s))return{repeater:s.repeater,index:s.index};var i=null;return i=n instanceof t.PacemRepeaterElement?n:e.CustomElementUtils.findAncestorOfType(n,t.PacemRepeaterElement),e.Utils.isNull(i)?null:{repeater:i,index:i.datasource&&i.datasource.length||0}}_findNextSibling(t,n){const r=Array.from(t.children),s=(r.length,document.elementFromPoint(n.currentPosition.x-e.Utils.scrollLeft,n.currentPosition.y-e.Utils.scrollTop));let i;if(s===t)return this._currentHover=i=n.placeholder,i.parentElement===t?i.nextElementSibling:null;for(var o=s;o.parentElement!=t&&null!=o.parentElement;)o=o.parentElement;if(o.parentElement!=t||o===n.placeholder)return this._currentHover=i=n.placeholder,i.nextElementSibling;if(o!=this._currentHover){i=this._currentHover;const e=r.indexOf(i),t=r.indexOf(o);return this._currentHover=o,e>t?o:o.nextElementSibling}return o}_insertChild(t,n){const r=n.placeholder||n.element,s=n.target,i=this._findNextSibling(s,n);r.nextSibling==i&&r.parentElement==s||(e.Utils.isNull(i)||i.parentElement==t)&&(t.insertBefore(r,i),this._logFn(e.Logging.LogLevel.Info,`Positioned before ${i&&(i.id||i.constructor.name)||"null"} for drop`))}_bootstrap(t,a){var l,c,m=this._element,d=this._dragDropper;if(!e.Utils.isNull(l=n(m,i))){this._started=!1,s(m,i),e.Utils.addClass(m,e.PCSS+"-dragging");let n=getComputedStyle(m),h={x:0,y:0},u=e.Utils.deserializeTransform(n);h.x+=u.e,h.y+=u.f;let p=this._createFloater(d.floater||m,l);if(e.Utils.isNull(t))switch(d.mode){case e.UI.DragDataMode.Alias:t=m;break;case e.UI.DragDataMode.Copy:t=m.cloneNode(!0)}e.Utils.isNull(t)||e.Utils.addClass(t,"drag-placeholder"),e.Utils.isNull(this._repeaterItem)||e.Utils.isNull(t)||e.CustomElementUtils.freezeObservedAttributes(t);c={element:m,placeholder:t||m,data:a||this._getLogicalData(this._repeaterItem||m),startTime:Date.now(),origin:l,initialDelta:h,currentPosition:l,floater:p},r(m,o,c)}}dispose(){this._dragDropper.dropTargets.forEach(e=>{e.removeEventListener("mouseenter",this._enterHandler,!1),e.removeEventListener("mouseleave",this._leaveHandler,!1)}),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),document.removeEventListener("wheel",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,{capture:!0})}}let l=class PacemDragDropElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;if(!e.Utils.isNullOrEmpty(this.handleSelector)&&t.currentTarget.querySelector(this.handleSelector)!==t.target)return;const n=t.currentTarget,s=e.CustomEventUtils.getEventCoordinates(t).page;let o=n,l=e.UI.DragDropInitEventArgsClass.fromArgs({element:o,placeholder:null,currentPosition:s,origin:s,initialDelta:{x:0,y:0},startTime:null,floater:null,data:null});const c=new e.UI.DragDropEvent(e.UI.DragDropEventType.Init,l,{cancelable:!0},t);if(this.dispatchEvent(c),c.defaultPrevented)return;e.avoidHandler(t);const m=t=>{this.log(e.Logging.LogLevel.Info,"Drag avoided!"),clearTimeout(d)},d=setTimeout(()=>{n.removeEventListener("mouseup",m,!1),n.removeEventListener("touchend",m,!1),this.log(e.Logging.LogLevel.Info,"Drag locked!"),r(n,i,s),r(n,a,new DragElementDelegate({element:o,dragDrop:this,placeholder:l.placeholder,data:l.data},(e,t,n)=>this.log.apply(this,[e,t,n])))},this.lockTimeout);n.addEventListener("mouseup",m,!1),n.addEventListener("touchend",m,!1)},this.lockTimeout=100,this.dropTargets=[],this.mode=e.UI.DragDataMode.Self}decorate(e){e.addEventListener("mousedown",this._startHandler,!1),e.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}undecorate(e){e.removeEventListener("mousedown",this._startHandler,!1),e.removeEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}dispatchEvent(t){return t.type===e.UI.DragDropEventType.End&&(s(t.detail.element,i),s(t.detail.element,a)),super.dispatchEvent(t)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],l.prototype,"lockTimeout",void 0),__decorate([e.Watch({emit:!1})],l.prototype,"dropTargets",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"mode",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],l.prototype,"floater",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"dropBehavior",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"spillBehavior",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"handleSelector",void 0),l=__decorate([e.CustomElement({tagName:e.P+"-drag-drop"})],l),t.PacemDragDropElement=l}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.RepeaterItemCreateEventName="repeateritemcreate",t.RepeaterItemRemoveEventName="repeateritemremove";class RepeaterItemEvent extends e.CustomTypedEvent{constructor(e,t){super(e,t)}}t.RepeaterItemEvent=RepeaterItemEvent;t.RepeaterItemCreateEvent=class RepeaterItemCreateEvent extends RepeaterItemEvent{constructor(e){super(t.RepeaterItemCreateEventName,e)}};t.RepeaterItemRemoveEvent=class RepeaterItemRemoveEvent extends RepeaterItemEvent{constructor(e){super(t.RepeaterItemRemoveEventName,e)}};const n=["keydown","keyup","click","focus","blur","dblclick","mouseover","mouseout","mouseenter","mouseleave","mousedown","mouseup","mousemove","contextmenu","wheel"];class ElementAriaAttributes{constructor(t,n){this._element=t,this._aria=e.Utils.extend({},n||{})}toObject(){return e.Utils.extend({},this._aria)}set(e,t){this._aria[e]=t;const n=this._element;n.isConnected&&n.setAttribute("aria-"+e,t)}remove(e){delete this._aria[e];const t=this._element;t.isConnected&&t.removeAttribute("aria-"+e)}}class ElementAria{constructor(e,t,n){this._element=e,this._aria={role:t,attrs:new ElementAriaAttributes(e,n)}}get role(){return this._aria.role}set role(t){this._aria.role=t;const n=this._element;n.isConnected&&(e.Utils.isNullOrEmpty(t)?n.removeAttribute("role"):n.setAttribute("role",t))}get attributes(){return this._aria.attrs}}class PacemElement extends t.PacemEventTarget{constructor(e,t){super(),this.#l=[],this.#c=[],this._tabIndex=-1,this.behaviors=[],this._aria=new ElementAria(this,e,t)}get aria(){return this._aria}static#m=null;static get emittedEventTypes(){return this.#m??=e.Utils.readonlyCopy(n)}#l;#c;connectedCallback(){super.connectedCallback(),e.Utils.isNullOrEmpty(this._aria.role)||this.setAttribute("role",this._aria.role);let t=this._aria.attributes.toObject();if(!e.Utils.isNullOrEmpty(t))for(let e in t)this.setAttribute("aria-"+e,t[e])}viewActivatedCallback(){for(var e of(super.viewActivatedCallback(),n.forEach(e=>{this.addEventListener(e,this.emitHandler,!1)}),this.behaviors||[]))e.register(this)}disconnectedCallback(){for(var e of this.behaviors||[])e.unregister(this);n.forEach(e=>{this.removeEventListener(e,this.emitHandler,!1)}),super.disconnectedCallback()}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"css":for(var i in this.css)this.style.setProperty(i,this.css[i]);break;case"cssClass":if(e.Utils.isArray(this.cssClass)){const t=this.cssClass;for(let t of this.#l.splice(0))e.Utils.removeClass(this,t);for(let n of t)this.#l.push(n),e.Utils.addClass(this,n)}else for(let t in this.cssClass)e.Utils.toggleClass(this,t,this.cssClass[t]);break;case"cssPart":const o=this.cssPart,a=this.#c;if(e.Utils.isArray(o)){const t=o;for(let t of a.splice(0))e.Utils.removePart(this,t);for(let n of t)a.push(n),e.Utils.addPart(this,n)}else for(let t in o)e.Utils.togglePart(this,t,o[t]);break;case"hide":const l=e.PCSS+"-hiding";if(r){const t=this,r=e.PCSS+"-anim",s=()=>{t.setAttribute("hidden",""),t.aria.attributes.set("hidden","true")};e.Utils.hasClass(t,r)&&!e.Utils.isNull(n)?(e.Utils.removeClass(t,r),requestAnimationFrame(()=>{e.Utils.addClass(t,l),e.Utils.addClass(t,r),e.Utils.waitForAnimationEnd(t,250).then(n=>{t.hide&&s(),e.Utils.removeClass(t,l)})})):s()}else e.Utils.removeClass(this,l),this.removeAttribute("hidden"),this.aria.attributes.remove("hidden");break;case"tooltip":this.title=r,e.Utils.isNullOrEmpty(r)?this.aria.attributes.remove("label"):this.aria.attributes.set("label",r);break;case"tabOrder":this._tabIndex=r,this.disabled||(this.tabIndex=r);break;case"behaviors":if(!e.Utils.isNullOrEmpty(n))for(let e of n)e.unregister(this);if(!e.Utils.isNullOrEmpty(r)&&!s)for(let e of r)e.register(this);break;case"disabled":let c=e.PCSS+"-"+t;r?(this._tabIndex=this.tabIndex,this.tabIndex=-1,e.Utils.addClass(this,c)):(this.tabIndex=this._tabIndex,e.Utils.removeClass(this,c));break;case"culture":e.Utils.isNullOrEmpty(r)?this.removeAttribute("lang"):this.setAttribute("lang",r),s||this.refreshBindings()}}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"cssClass",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"cssPart",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"css",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],PacemElement.prototype,"hide",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],PacemElement.prototype,"tooltip",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],PacemElement.prototype,"tabOrder",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],PacemElement.prototype,"culture",void 0),__decorate([e.Watch({emit:!1})],PacemElement.prototype,"behaviors",void 0),t.PacemElement=PacemElement;class PacemContentElement extends PacemElement{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"content"!==e||r||this._fillContent(n)}_isContentNullOrEmpty(t=this.content){return e.Utils.isNullOrEmpty(t)||t instanceof DocumentFragment&&0===t.childElementCount}viewActivatedCallback(){super.viewActivatedCallback(),this._original=Array.from(this.children),this._isContentNullOrEmpty()||this._fillContent()}disconnectedCallback(){e.Utils.isNullOrEmpty(this._original)||(this.innerHTML="",Element.prototype.append.apply(this,this._original)),super.disconnectedCallback()}_fillContent(t=this.content){const n=this.sanitize(t);e.Utils.isNullOrEmpty(n)?this.innerHTML="":n instanceof Node?(this.innerHTML="",this.append(n)):this.innerHTML=n}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],PacemContentElement.prototype,"content",void 0),t.PacemContentElement=PacemContentElement;t.PacemUnsafeContentElement=class PacemUnsafeContentElement extends PacemContentElement{sanitize(e){return e}};t.PacemSafeContentElement=class PacemSafeContentElement extends PacemContentElement{sanitize(t){if(e.Utils.isNullOrEmpty(t))return t;if(t instanceof Node){for(let e=t.childNodes.length-1;e>=0;e--){const n=t.childNodes.item(e);n instanceof HTMLScriptElement?n.remove():this.sanitize(n)}return t}{const e=/<script.+<\/script>/g;return(t||"").toString().replace(e,"")}}}}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class RescaleElementDelegate{constructor(t,r,i,o){this._element=t,this._type=r,this._rescaler=i,this._logFn=o,this._startTime=Date.now(),this._moveHandler=t=>{t.stopPropagation();const n=this._element,r=this._origin,s=this._rescaler,i=this._type,o=s.keepProportions,a=s.minWidth||0,l=s.minHeight||0,c=s.maxWidth||Number.MAX_SAFE_INTEGER,m=s.maxHeight||Number.MAX_SAFE_INTEGER,d=t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY},h={x:d.x,y:d.y},u=this._rect;switch(i){case"top":case"bottom":h.x=r.x;break;case"left":case"right":h.y=r.y}this._position=h;const p={x:h.x-r.x,y:h.y-r.y};var v;if(o){const t={x:u.x,y:u.y},n={x:u.x+u.width,y:u.y},r={x:u.x+u.width,y:u.y+u.height},s={x:u.x,y:u.y+u.height},o=e.Point.distance(r,s)/e.Point.distance(r,t),a=e.Point.distance(t,s)/e.Point.distance(r,t),l=e.Point.distance(t,r),c=(e,t)=>(e.x*t.x+e.y*t.y)/l;switch(i){case"topleft":const i=e.Point.subtract(r,t),l=c(e.Point.subtract(r,h),i),m={x:r.x-l*o,y:r.y-l*a};v={x:m.x,y:m.y,width:r.x-m.x,height:r.y-m.y};break;case"topright":const d=e.Point.subtract(s,n),u=c(e.Point.subtract(s,h),d),p={x:s.x+u*o,y:s.y-u*a};v={x:s.x,y:p.y,width:p.x-s.x,height:s.y-p.y};break;case"bottomleft":const g=e.Point.subtract(n,s),f=c(e.Point.subtract(n,h),g),_={x:n.x-f*o,y:n.y+f*a};v={x:_.x,y:n.y,width:n.x-_.x,height:_.y-n.y};break;default:const y=e.Point.subtract(t,r),E=c(e.Point.subtract(t,h),y),C={x:t.x+E*o,y:t.y+E*a};v={x:t.x,y:t.y,width:C.x-t.x,height:C.y-t.y}}}else v={x:this._rect.x,y:this._rect.y,width:this._rect.width+p.x,height:this._rect.height+p.y},i.startsWith("top")&&(v.y=this._rect.y+p.y,v.height=this._rect.height-p.y),i.endsWith("left")&&(v.x=this._rect.x+p.x,v.width=this._rect.width-p.x);this._logFn(e.Logging.LogLevel.Log,`handle: ${i}, origin: ${JSON.stringify(r)}, currentPosition: ${JSON.stringify(d)}`,"Rescaling"),this._logFn(e.Logging.LogLevel.Log,`delta: ${JSON.stringify(p)}, position: ${JSON.stringify(h)}`,"Rescaling"),this._logFn(e.Logging.LogLevel.Log,`from: ${JSON.stringify(this._rect)}, to: ${JSON.stringify(v)}`,"Rescaling");let g=v.width>=a&&v.width<=c,f=v.height>=l&&v.height<=m;if(!o||g&&f||(g=f=!1),g||(v.x=this._targetRect.x,v.width=this._targetRect.width),f||(v.y=this._targetRect.y,v.height=this._targetRect.height),g||f){const o={currentPosition:h,element:n,handle:i,origin:r,targetRect:v,startTime:this._startTime};let a=new e.UI.RescaleEvent(e.UI.RescaleEventType.Rescale,e.UI.RescaleEventArgsClass.fromArgs(o),{cancelable:!0},t);if(s.dispatchEvent(a),!a.defaultPrevented){const e=this._originalTransform;n.style.transform=`matrix(${e.a},${e.b},${e.c},${e.d},${e.e+v.x-this._rect.x},${e.f+v.y-this._rect.y})`,n.style.width=v.width+"px",n.style.height=v.height+"px"}this._targetRect=v}},this._endHandler=t=>{t.stopPropagation();const n=this._type;let r=new e.UI.RescaleEvent(e.UI.RescaleEventType.End,e.UI.RescaleEventArgsClass.fromArgs({element:this._element,origin:this._origin,handle:n,startTime:this._startTime,currentPosition:this._position,targetRect:this._targetRect}),{},t);e.Utils.removeClass(document.body,e.PCSS+"-rescaling rescale-"+n),this._rescaler.dispatchEvent(r),s(this._element,l),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,!1)},window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,!1),this._origin=this._position=n(t,a),this._rect=this._targetRect=e.Utils.offsetRect(t),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t)),e.Utils.addClass(document.body,e.PCSS+"-rescaling rescale-"+r)}}const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="top right bottom left topleft topright bottomright bottomleft".split(" "),o="pacem:rescale:frame",a="pacem:rescale:origin",l="pacem:rescale:delegate";let c=class PacemRescaleElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._bag=[],this._startHandler=t=>{t.stopPropagation();const n=e.CustomEventUtils.getEventCoordinates(t),s=t.currentTarget,i=n.page,o=/rescale-(.+)/.exec(s.className)[1],c=s.parentElement,m=new e.UI.RescaleEvent(e.UI.RescaleEventType.Start,e.UI.RescaleEventArgsClass.fromArgs({currentPosition:i,origin:i,element:c,handle:o,startTime:Date.now()}),{cancelable:!0},t);this.dispatchEvent(m),m.defaultPrevented||(e.avoidHandler(t),r(c,a,i),r(c,l,new RescaleElementDelegate(c,o,this,(e,t,n)=>this.log.apply(this,[e,t,n]))))}}decorate(t){const n=t;getComputedStyle(n);e.Utils.addClass(n,e.PCSS+"-rescalable"),this._setFrame(n)}undecorate(t){const n=t;e.Utils.removeClass(n,e.PCSS+"-rescalable"),this._removeFrame(n)}viewActivatedCallback(){super.viewActivatedCallback(),this._syncHandles()}propertyChangedCallback(e,t,n,r){switch(super.propertyChangedCallback(e,t,n,r),e){case"disabled":case"handles":case"keepProportions":this._syncHandles()}}_syncHandles(){const t=this.handles||[e.UI.RescaleHandle.All],r=null!=t.find(t=>t===e.UI.RescaleHandle.All),s=this.disabled,i=this.keepProportions;for(let a of this._bag){let l=n(a,o);l.top.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Top),l.bottom.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Bottom),l.left.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Left),l.right.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Right),l.topleft.hidden=l.top.hidden||l.left.hidden,l.topright.hidden=l.top.hidden||l.right.hidden,l.bottomleft.hidden=l.bottom.hidden||l.left.hidden,l.bottomright.hidden=l.bottom.hidden||l.right.hidden,i&&(l.top.hidden=l.bottom.hidden=l.left.hidden=l.right.hidden=!0)}}_setFrame(t){let n={};for(let r of i){const s=n[r]=document.createElement("div");e.Utils.addClass(s,e.PCSS+"-rescale rescale-"+r),t.setAttribute("pacem",""),t.appendChild(s),s.addEventListener("mousedown",this._startHandler,!1),s.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!0})}r(t,o,n),this._bag.push(t),this._syncHandles()}_removeFrame(e){const t=n(e,o);for(var r in t){const e=t[r];e.removeEventListener("mousedown",this._startHandler,!1),e.removeEventListener("touchstart",this._startHandler,{capture:!1}),e.remove()}s(e,o),this._bag.splice(this._bag.indexOf(e),1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.StringArray})],c.prototype,"handles",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minWidth",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxWidth",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minHeight",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxHeight",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],c.prototype,"keepProportions",void 0),c=__decorate([e.CustomElement({tagName:e.P+"-rescale"})],c),t.PacemRescaleElement=c}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:rotate:origin",o="pacem:rotate:delegate",a="pacem:rotate:offset",l="pacem:rotate:center";Math.PI;class RotateElementDelegate{constructor(t,c,m){this._element=t,this._rotator=c,this._logFn=m,this._startTime=Date.now(),this._moveHandler=t=>{t.stopPropagation();const n=this._element,s=this._previousPosition,i=this._rotator,o=i.minRotation,l=i.maxRotation,c=t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY},m=this._pivot;var d=this._computeAngle(m,c,s)+this._previousAngle,h=this._constraintAngle(d,i.step);for(this._logFn(e.Logging.LogLevel.Log,`previousPosition: ${JSON.stringify(s)}, currentPosition: ${JSON.stringify(c)}`,"Rotating"),d>l&&(d=l);h>l&&i.step>0;)this._logFn(e.Logging.LogLevel.Log,`angle: ${h} constrained to max: ${l}`,"Rotating"),h-=i.step;for(d<o&&(d=o);h<o&&i.step>0;)this._logFn(e.Logging.LogLevel.Log,`angle: ${h} constrained to min: ${o}`,"Rotating"),h+=i.step;if(this._logFn(e.Logging.LogLevel.Log,`angle: ${h}, origin: ${JSON.stringify(this._originalPosition)}, current: ${JSON.stringify(c)}`,"Rotating"),h!=this._previousRenderedAngle){let s=new e.UI.RotateEvent(e.UI.RotateEventType.Rotate,e.UI.RotateEventArgsClass.fromArgs({element:this._element,origin:this._originalPosition,startTime:this._startTime,currentPosition:c,rotation:h,center:this._pivot}),{cancelable:!0},t);if(this._rotator.dispatchEvent(s),!s.defaultPrevented){const t=this._originalTransform,s=e.Matrix2D.rotate(t,h-this._originalAngle);n.style.transform=`matrix(${s.a}, ${s.b}, ${s.c}, ${s.d}, ${s.e}, ${s.f})`,r(this._element,a,h)}this._previousRenderedAngle=h}this._previousPosition=c,this._previousAngle=d},this._endHandler=t=>{t.stopPropagation();let n=new e.UI.RotateEvent(e.UI.RotateEventType.End,e.UI.RotateEventArgsClass.fromArgs({element:this._element,origin:this._originalPosition,startTime:this._startTime,currentPosition:this._previousPosition,rotation:this._previousAngle,center:this._pivot}),{},t);this._rotator.dispatchEvent(n),s(this._element,o),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,!1)},window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,!1),this._originalPosition=this._previousPosition=n(t,i),this._originalAngle=this._previousAngle=this._previousRenderedAngle=n(t,a,0),this._pivot=n(t,l),this._originalTransform=e.Utils.Css.deserializeTransform(t)}_computeAngle(t,n,r){return e.Angle.angleBetween(t,n,r)}_constraintAngle(t,n){return n>0?e.Numbers.round(t,n):t}}let c=class PacemRotateElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;const s=e.CustomEventUtils.getEventCoordinates(t),c=t.currentTarget,m=s.page,d=e.Utils.offsetRect(c),h=d.width/2,u=d.height/2;var p=this.center;if(e.Utils.isNull(p))p={x:d.x+h,y:d.y+u},c.style.transformOrigin="50% 50%";else{const e=d.x+h-p.x,t=d.y+u-p.y;c.style.transformOrigin=`${-e}px ${-t}px`}const v=new e.UI.RotateEvent(e.UI.RotateEventType.Start,e.UI.RotateEventArgsClass.fromArgs({currentPosition:m,rotation:n(c,a,0),center:p,origin:m,element:c,startTime:Date.now()}),{cancelable:!0},t);this.dispatchEvent(v),v.defaultPrevented||(e.avoidHandler(t),r(c,i,m),r(c,l,p),r(c,o,new RotateElementDelegate(c,this,(e,t,n)=>this.log.apply(this,[e,t,n]))))}}decorate(t){const n=t;e.Utils.addClass(n,e.PCSS+"-rotatable");t.addEventListener("mousedown",this._startHandler,!1),t.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}undecorate(t){const n=t;e.Utils.removeClass(n,e.PCSS+"-rotatable");t.removeEventListener("mousedown",this._startHandler,!1),t.removeEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"step",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minRotation",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxRotation",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],c.prototype,"center",void 0),c=__decorate([e.CustomElement({tagName:e.P+"-rotate"})],c),t.PacemRotateElement=c}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:swipe:mousedown",o="pacem:swipe:data",a="pacem:swipe:delegate",l=Math.PI/2,c={capture:!1,passive:!1};class SwipeElementDelegate{constructor(t,a,m){this._element=t,this._swiper=a,this._logFn=m,this._moveHandler=t=>{e.avoidHandler(t);const a=this._element,c=this._getCurrentPosition(t),m=this._threshold;var h,u;const p=this._halfElementWidth,v=Date.now();e.Utils.isNull(h=n(a,i))?e.Utils.isNull(u=n(a,o))||this._updateState({position:c,timestamp:v}):(this._logFn(e.Logging.LogLevel.Debug,"Swipe act started"),s(a,i),r(a,o,u=this._refreshValues({position:c,timestamp:v},h)));Math.abs(c.x-u.t0.position.x)<Math.abs(c.y-u.t0.position.y)||e.avoidHandler(t);const g=function(e,t){const n=e-t;return-(m-p)*Math.sin(l*Math.max(-1,Math.min(1,n/m)))/d}(c.x,u.t0.position.x);this._logFn(e.Logging.LogLevel.Debug,`Moving element to x: ${g} (x0: ${u.t0.position.x})`);const f=this._originalTransform;a.style.transform=`matrix(${f.a},${f.b},${f.c},${f.d},${f.e+g},${f.f})`},this._endHandler=e=>{var t=n(this._element,o);this._endState(t)},e.Utils.addClass(t,e.PCSS+"-swipe-lock"),e.Utils.removeClass(t,e.PCSS+"-swipe-back"),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t)),this._halfElementWidth=.5*t.clientWidth,this._threshold=a.threshold||Math.min(120,.25*e.Utils.windowSize.width),window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,c)}dispose(){const t=this._element;s(t,i),s(t,o),s(t,a),e.Utils.removeClass(t,e.PCSS+"-swipe-lock"),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,c)}_getCurrentPosition(e){return e instanceof MouseEvent?{x:e.clientX,y:e.clientY}:{x:e.touches[0].clientX,y:e.touches[0].clientY}}_refreshValues(e,t){const n=e.position,r=n.x-t.position.x,s=(e.timestamp-t.timestamp)/1e3;return{element:this._element,horizontalspeed:r/s,verticalspeed:(n.y-t.position.y)/s,timestamp:e.timestamp,position:n,t0:t.t0||t}}_updateState(e){var t=this._getUpdatedState(e);r(this._element,o,t)}_getUpdatedState(e){const t=this._element,r=(this._swiper,n(t,o));return this._refreshValues(e,r)}_endState(t){if(!e.Utils.isNull(t)){const n=this._swiper,r=this._element,s=this._threshold,i=Math.abs(t.t0.position.x-t.position.x),o=.5*Math.pow(t.horizontalspeed,2),a=.5*m*(Math.pow(s,2)-Math.pow(i,2));let l=()=>{r.style.transform=r.style.opacity=r.style.transition=""};if(o>=a&&i>=s){const s=e.UI.SwipeEventArgsClass.fromArgs(t);this._logFn(e.Logging.LogLevel.Debug,`Swiping ${s.direction}! (speed: ${s.speed}, kinetic ${o}, elastic ${a})`);const i=new e.UI.SwipeEvent(e.UI.SwipeEventType.Swipe,s,{cancelable:!0});if(n.dispatchEvent(i),i.defaultPrevented)l();else{const i=new e.UI.SwipeEvent("left"===s.direction?e.UI.SwipeEventType.SwipeLeft:e.UI.SwipeEventType.SwipeRight,s,{cancelable:!0});if(n.dispatchEvent(i),i.defaultPrevented)l();else{let i=e.Utils.offset(r),o=e.Utils.windowSize.width,a="left"===s.direction?-(o-.5*(o-i.width)):i.width+.5*(o-i.width),c=(a-i.left)/t.horizontalspeed;r.style.transform=`translateX(${a}px)`,r.style.opacity="0",r.style.transition=`transform ${Math.min(.667,Math.max(.333,2*c))}s cubic-bezier(0.39, 0.575, 0.565, 1), opacity .5s`,e.Utils.addClass(r,e.PCSS+"-swipe-go"),e.Utils.addAnimationEndCallback(r,()=>{let t=new e.UI.SwipeEvent(e.UI.SwipeEventType.SwipeAnimationEnd,s,{cancelable:!0});if(n.dispatchEvent(t),!t.defaultPrevented){let t=new e.UI.SwipeEvent("left"===s.direction?e.UI.SwipeEventType.SwipeLeftAnimationEnd:e.UI.SwipeEventType.SwipeRightAnimationEnd,s,{cancelable:!0});n.dispatchEvent(t),t.defaultPrevented||l()}e.Utils.removeClass(r,e.PCSS+"-swipe-go")})}}}else this._logFn(e.Logging.LogLevel.Debug,`Rolling back: kinetic ${o} < elastic ${a})`),e.Utils.addClass(r,e.PCSS+"-swipe-back"),l()}this.dispose()}}__decorate([e.Throttle(25)],SwipeElementDelegate.prototype,"_updateState",null);const m=.15,d=1.25;let h=class PacemSwipeElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;if(t instanceof MouseEvent&&!this.includeMouse)return;const n=e.CustomEventUtils.getEventCoordinates(t),s=t.currentTarget,o=n.client;t.stopPropagation(),r(s,i,{position:o,timestamp:Date.now()}),r(s,a,new SwipeElementDelegate(s,this,(e,t,n)=>this.log.apply(this,[e,t,n])))}}decorate(e){e.addEventListener("touchstart",this._startHandler,c),e.addEventListener("mousedown",this._startHandler,!1)}undecorate(e){e.removeEventListener("touchstart",this._startHandler,c),e.removeEventListener("mousedown",this._startHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],h.prototype,"threshold",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],h.prototype,"includeMouse",void 0),h=__decorate([e.CustomElement({tagName:e.P+"-swipe"})],h),t.PacemSwipeElement=h}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemAdapter extends t.PacemElement{constructor(){super(...arguments),this._propertyChangeHandler=e=>{this.masterPropertyChangedCallback(e.detail.propertyName,e.detail.oldValue,e.detail.currentValue,e.detail.firstChange)}}get master(){return this._element}get initialized(){return!e.Utils.isNull(this._element)}masterPropertyChangedCallback(t,n,r,s){switch(t){case"items":this._adjustFocusIndex();break;case"index":this._element.dispatchEvent(new e.CurrentIndexChangeEvent({currentIndex:r,previousIndex:n}))}}itemPropertyChangedCallback(e,t,n,r,s){}initializeCallback(){}destroyCallback(){}initialize(t){null!=this._element&&this.destroy(),null!=t&&(this._element=t,this._element.addEventListener(e.PropertyChangeEventName,this._propertyChangeHandler,!1)),this.initializeCallback()}destroy(){null!=this._element&&this._element.removeEventListener(e.PropertyChangeEventName,this._propertyChangeHandler,!1),this.destroyCallback()}disconnectedCallback(){this.destroy(),super.disconnectedCallback()}_adjustFocusIndex(){let e=this._element.items;const t=this._element.index,n=e&&e.length,r=n?Math.max(0,Math.min(n-1,t)):-1,s=this._getAvailable(r);this._element.index=s}_getNextAvailable(e){return this._getAvailable(e,1)}_getPreviousAvailable(e){return this._getAvailable(Math.max(0,e),-1)}_getAvailable(e=this._element&&this._element.index,n=0){let r,s=this._element.items;if(!(s&&(r=s.length)>0))return-1;let i,o=((e%=r)+n+r)%r;for(n=n||-1;(i=s[o])instanceof t.PacemEventTarget&&!0===i.disabled||i instanceof t.PacemElement&&!0===i.hide;)if(o=(o+n+r)%r,o==e)return-1;return o}isClose(e){const t=this._getAvailable();return e===t||e===this._getPreviousAvailable(t)||e===this._getNextAvailable(t)}isPrevious(e){const t=this._getAvailable();return e===this._getPreviousAvailable(t)}isNext(e){const t=this._getAvailable();return e===this._getNextAvailable(t)}select(e){this._element.index=this._getAvailable(e)}previous(e=!0){var t=this._getPreviousAvailable(this._element.index);t>=0&&(e||this._element.index>t)&&(this._element.index=t)}next(e=!0){var t=this._getNextAvailable(this._element.index);t>=0&&(e||this._element.index<t)&&(this._element.index=t)}}t.PacemAdapter=PacemAdapter}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemAnnihilatorElement extends HTMLElement{constructor(){super()}connectedCallback(){this.remove()}};n=__decorate([e.CustomElement({tagName:e.P+"-annihilator"})],n),t.PacemAnnihilatorElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){e.RouterNavigatingEventName="navigating",e.RouterNavigateEventName="navigate";class RouterNavigateEvent extends e.CustomTypedEvent{constructor(t){super(e.RouterNavigateEventName,"string"==typeof t?{path:t}:t,{cancelable:!1,bubbles:!1})}}e.RouterNavigateEvent=RouterNavigateEvent;class RouterNavigatingEvent extends e.CustomTypedEvent{constructor(t){super(e.RouterNavigatingEventName,t,{cancelable:!0,bubbles:!1})}}e.RouterNavigatingEvent=RouterNavigatingEvent}(Pacem||(Pacem={})),function(e){!function(t){const n=/^([\w\.]:)?\/\/[^\/]+/;let r=class PacemRouterElement extends t.PacemEventTarget{constructor(){super(...arguments),this._onPopState=t=>{e.Utils.isNull(t.state)||this.#d||(this.path=t.state.$path)}}#d;#h;parseState(e={}){const t=this._stringifyMergedState(e),n=this._segmentateUrl(t);return this._parseState(n.path+n.query+n.hash,n.path,n.query,n.hash)}navigate(t,r){if(this.disabled||e.Utils.isNullOrEmpty(t))return;if((t="object"==typeof t?this._stringifyMergedState(t):e.Utils.URIs.format(t,this.state))!=this.path)return void(this.path=t);const s=document.location;if(n.test(t)&&!t.startsWith(s.protocol+"//"+s.host))throw`Only same-origin navigation is currently supported. "${t}" is not a valid path.`;if(!this.#d){const n=this.state&&this.state.$path||void 0,i=this._segmentateUrl(t),o=this._parseState(i.path+i.query+i.hash,i.path,i.query,i.hash),a=s.pathname+s.search+s.hash===i.path+i.query+i.hash,l=new e.RouterNavigatingEvent(t);if(window.dispatchEvent(l),this.#d=l.defaultPrevented)return a&&window.history.pushState(this.state,r,n),void(this.path=n);this.state=o,a?(window.history.scrollRestoration="manual",window.history.replaceState(o,r)):window.history.pushState(o,r,t),e.Utils.isNullOrEmpty(r)||(document.title=r),window.dispatchEvent(new e.RouterNavigateEvent({path:t,referrer:n,title:r}))}this.#d=!1}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"template":this.#h=null;break;case"path":this.navigate(n)}}connectedCallback(){super.connectedCallback(),window.addEventListener("popstate",this._onPopState,!1)}viewActivatedCallback(){super.viewActivatedCallback();const t=this.path;e.Utils.isNullOrEmpty(t)||this.navigate(t)}disconnectedCallback(){window.removeEventListener("popstate",this._onPopState,!1),super.disconnectedCallback()}_stringifyMergedState(t){const n=e.Utils.extend({},t),r=e.Utils.extend({},this.state,n),s=this.template;let i=""+s;for(let t of this._parseTemplate(s)){const s=t.name,o=new RegExp("/{"+s+"\\??}"),a=r[s];delete n[s],i=i.replace(o,e.Utils.isNullOrEmpty(a)?"":"/"+a)}const o=e.Utils.extend({},this.state.$query);for(let e in n)o[e]=n[e];const{hash:a}=this._segmentateUrl(this.path);return e.Utils.URIs.appendQuery(i,o,!0)+a}_parseTemplate(t=this.template){return e.Utils.isNullOrEmpty(this.#h)?this.#h=e.Utils.URIs.parseRoute(t):this.#h}_segmentateUrl(t){const n=e.Utils.URIs.split(t);return e.Utils.isNullOrEmpty(n.path)?null:n}_parseState(t,n,r,s){const i=this._parseTemplate();return e.Utils.URIs.parseState(i,t,n,r,s)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"template",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Eval})],r.prototype,"state",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"path",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-router"})],r),t.PacemRouterElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemBeforeunloadElement extends t.PacemEventTarget{constructor(){super(...arguments),this._unloadingHandler=e=>{const t=this.message;this.active&&!this.disabled&&("beforeunload"===e.type?(e.preventDefault(),e.returnValue=t||""):confirm(t||"Leave page?")||e.preventDefault())}}viewActivatedCallback(){super.viewActivatedCallback(),window.addEventListener("navigating",this._unloadingHandler,!1),window.addEventListener("beforeunload",this._unloadingHandler,!1)}disconnectedCallback(){window.removeEventListener("navigating",this._unloadingHandler,!1),window.removeEventListener("beforeunload",this._unloadingHandler,!1),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"message",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"active",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-beforeunload"})],n),t.PacemBeforeunloadElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemBrowserDetectElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),this._detect()}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"userAgent"===e&&this._detect(n)}#u;#p;get browser(){return this.#u}get version(){return this.#p}_detect(t=this.userAgent){const{version:n,name:r}=e.Utils.Browsers.detect(t),{browser:s,version:i}=this;r!=s&&(this.#u=r,this.dispatchEvent(new e.PropertyChangeEvent({propertyName:"browser",currentValue:r,oldValue:s}))),n!=i&&(this.#p=n,this.dispatchEvent(new e.PropertyChangeEvent({propertyName:"version",currentValue:n,oldValue:i})))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"userAgent",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-browser-detect"})],n),t.PacemBrowserDetectElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemDataElement extends t.PacemEventTarget{constructor(t=new e.Storage){super(),this.storage=t,this._handle=0,this._flag=!1}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"persistAs":e.Utils.isNullOrEmpty(n)||this.storage.removeProperty(n),!0!==s||e.Utils.isNullOrEmpty(r)||(this.model=this.storage.getPropertyValue(r)||this.model);break;case"model":const i=this.debounce,o=this.throttle,a=()=>{this.dispatchEvent(new e.PropertyChangeEvent({propertyName:t,oldValue:n,currentValue:r,firstChange:s}))};if(i>0&&!s)if(o){if(this._flag)return;this._flag=!0,a(),this._handle=window.setTimeout(()=>{this._flag=!1},i)}else clearTimeout(this._handle),this._handle=window.setTimeout(a,i);else a();s||e.Utils.isNullOrEmpty(this.persistAs)||(e.Utils.isNull(r)?this.storage.removeProperty(this.persistAs):this.storage.setPropertyValue(this.persistAs,r,!0))}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Eval})],n.prototype,"model",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"persistAs",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"debounce",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.BooleanStrict})],n.prototype,"throttle",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-data"})],n),t.PacemDataElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTweenElement extends t.PacemEventTarget{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,this.duration=1e3}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"start"===e&&!0===n&&1!=this.disabled&&this._animate()}run(){return this._animate()}_animate(){var t=!1;return this._tweener.run(this.from,this.to,this.duration,this.delay,this.easing,(n,r)=>{t=0==t&&this.dispatchEvent(new e.Animations.AnimationStartEvent),this.dispatchEvent(new e.Animations.AnimationEvent({time:n,value:this.value=r})),this.log(e.Logging.LogLevel.Info,"value: "+this.value),1==n&&(this.dispatchEvent(new e.Animations.AnimationEndEvent),this.start=!1)})}};__decorate([e.Watch({emit:!1})],n.prototype,"easing",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],n.prototype,"from",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],n.prototype,"to",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"duration",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"start",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],n.prototype,"value",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-tween"})],n),t.PacemTweenElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n;!function(e){e.Top="top",e.Bottom="bottom"}(n=t.DockMode||(t.DockMode={}));let r=class PacemDockElement extends t.PacemEventTarget{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,this.mode=n.Top,this.transitionDuration=300}propertyChangedCallback(t,n,r,s){super.propertyChangedCallback(t,n,r,s),"dock"!==t||e.Utils.isNull(n)&&0==r?"mode"===t&&!0===this.dock&&this._doDock():this._doDock()}_animate(t,n){var r=this.transitionDuration;return r>0||(r=300),this._tweener.run(t,n,r,this.delay,e.Animations.Easings.sineInOut,(e,t)=>{this._setOffset(t)}).then(()=>{this._resetOffset()})}_setOffset(e){this.style.transform="translateY("+e+"px)"}_resetOffset(){this.style.transform=""}_compute(){const t=e.Utils.offset(this),r=getComputedStyle(this),s=e.Utils.scrollTop;switch(this.mode){case n.Bottom:const i=parseInt(r.marginBottom),o=t.top;return{delta:e.Utils.windowSize.height-(o-s+this.offsetHeight)+i};case n.Top:const a=parseInt(r.marginTop);return{delta:-(t.top-s+a)}}}_doDock(){if(this.dock){const t=this._compute();if(e.Utils.isNull(t))return;switch(e.Utils.addClass(this,e.PCSS+"-dock"),this.mode){case n.Bottom:e.Utils.removeClass(this,e.PCSS+"-dock-top"),e.Utils.addClass(this,e.PCSS+"-dock-bottom");break;case n.Top:e.Utils.removeClass(this,e.PCSS+"-dock-bottom"),e.Utils.addClass(this,e.PCSS+"-dock-top")}const r=-t.delta,s=0,i=e.CustomElementUtils.getAttachedPropertyValue(this,"pacem-dock:state")||0;e.CustomElementUtils.setAttachedPropertyValue(this,"pacem-dock:state",-r+i),this.log(e.Logging.LogLevel.Info,`animating from ${r}px to ${s}px`),this._animate(r,s)}else{const t=e.CustomElementUtils.getAttachedPropertyValue(this,"pacem-dock:state");e.CustomElementUtils.deleteAttachedPropertyValue(this,"pacem-dock:state");const n=0;this.log(e.Logging.LogLevel.Info,`animating back from ${t}px to ${n}px`),e.Utils.removeClass(this,`${e.PCSS}-dock ${e.PCSS}-dock-top ${e.PCSS}-dock-bottom`),this._animate(t,n)}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"mode",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],r.prototype,"dock",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"transitionDuration",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-dock"})],r),t.PacemDockElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemTransferProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._dom=[],this._children=[]}get dom(){return this._children}viewActivatedCallback(){super.viewActivatedCallback(),this.moveContent(this.proxy)}moveContent(t){e.Utils.isNull(t)||(e.Utils.isNullOrEmpty(this._dom)?(this._dom=e.Utils.moveItems(this.childNodes,t),this._children=this._dom.filter(e=>e instanceof Element)):e.Utils.moveItems(this._children,t))}disconnectedCallback(){for(let e of(this._dom||[]).splice(0))e.remove();super.disconnectedCallback()}}t.PacemTransferProxyElement=PacemTransferProxyElement;let n=class PacemBodyProxyElement extends PacemTransferProxyElement{get proxy(){return document.body}};n=__decorate([e.CustomElement({tagName:e.P+"-body-proxy"})],n),t.PacemBodyProxyElement=n;let r=class PacemShellProxyElement extends PacemTransferProxyElement{get proxy(){return e.CustomElementUtils.findAncestorShell(this)}};r=__decorate([e.CustomElement({tagName:e.P+"-shell-proxy"})],r),t.PacemShellProxyElement=r;let s=class PacemElementProxyElement extends PacemTransferProxyElement{get proxy(){return this.target}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"target"!==e||r||this.moveContent(this.proxy)}};__decorate([e.Watch({converter:e.PropertyConverters.Element})],s.prototype,"target",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-element-proxy"})],s),t.PacemElementProxyElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class EmitEvent extends Event{constructor(e){super("emit"),this._originalEvent=e}get originalEvent(){return this._originalEvent}}const n={convert:function(t,n){return"$window"===t?window:e.PropertyConverters.Element.convert(t,n)},convertBack:(t,n)=>t===window?"$window":e.PropertyConverters.Element.convertBack(t,n)};let r=class PacemEventProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._emitHandler=e=>{var t=new EmitEvent(e);this.dispatchEvent(t)}}viewActivatedCallback(){super.viewActivatedCallback(),this._observe()}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"target":this._unobserve(t,this.event,this.capture),this._observe();break;case"event":this._unobserve(this.target,t,this.capture),this._observe();break;case"capture":this._unobserve(this.target,this.event,t),this._observe()}}disconnectedCallback(){this._unobserve(),super.disconnectedCallback()}_unobserve(t=this.target,n=this.event,r=this.capture){e.Utils.isNull(t)||e.Utils.isNullOrEmpty(n)||t.removeEventListener(n,this._emitHandler,{capture:r})}_observe(t=this.target,n=this.event,r=this.capture){e.Utils.isNull(t)||e.Utils.isNullOrEmpty(n)||t.addEventListener(n,this._emitHandler,{capture:r})}};__decorate([e.Watch({emit:!1,converter:n})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"event",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"capture",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-event-proxy"})],r),t.PacemEventProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n="New incoming request overrides the ongoing one. Aborting.";let r=class PacemFetchElement extends t.PacemEventTarget{constructor(){super(...arguments),this.autofetch=!0,this.debounce=100}viewActivatedCallback(){super.viewActivatedCallback(),this._delayAndConditionallyFetch()}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"url":case"method":case"type":case"as":case"mode":case"credentials":case"disabled":case"autofetch":this._delayAndConditionallyFetch();break;case"parameters":case"headers":this.diffByValues&&e.Utils.jsonSortStringify(n)==e.Utils.jsonSortStringify(r)||this._delayAndConditionallyFetch()}}_delayAndConditionallyFetch(){clearTimeout(this._handle),this.disabled?this._abortPending():this.autofetch&&(this._handle=setTimeout(()=>{this.fetch()},this.debounce||0))}_abortPending(){this.#v&&(this.#v.abort(n),this.#v=null)}#v;#g;fetch(){return this.throttle&&this.fetching?this.#g:this.#g=new Promise((t,r)=>{var s=this.url;if(!this.isReady||e.Utils.isNullOrEmpty(s)||this.disabled)return void t(null);let i=this;i.fetching=!0;let o="application/json";if("raw"===(i.type||"json"))o="application/x-www-form-urlencoded";const a=(i.method||e.Net.HttpMethod.Get).toUpperCase();let l={headers:e.Utils.extend({"Content-Type":o},i.headers),method:a,mode:i.mode||"cors",credentials:i.credentials||"same-origin",cache:i.cache||"default"};const c=e.Utils.clone(i.parameters??{});if(s=e.Utils.URIs.format(s,c,"GET"==a),!e.Utils.isNullOrEmpty(c))switch(a){case"GET":s=e.Utils.URIs.appendQuery(s,c);break;case"PUT":case"POST":case"PATCH":if("raw"===i.type){let e=new URLSearchParams;for(let t in c)e.set(t,c[t]);l.body=e}else l.body=e.Utils.Json.stringify(c)}if(e.Utils.URIs.hasMandatoryTemplateSegments(s))return void t(null);this._abortPending();const{signal:m}=this.#v=new AbortController;l.signal=m,fetch(s,l).then(n=>{if(this.#v=null,i.fetching=!1,n.ok){this.dispatchEvent(new CustomEvent(e.Net.FetchSuccessEventName,{detail:n}));if(e.Net.Fetcher.isEmpty(n))i.as,i.result=null,t(n);else switch(i.as){case"blob":case"image":n.blob().then(r=>{"image"===i.as?e.Utils.blobToDataURL(r).then(e=>{i._acceptFetchResult(e)}):i._acceptFetchResult(r),t(n)},n=>{this.log(e.Logging.LogLevel.Warn,`Couldn't parse a ${i.as}. ${n}`),t(null)});break;case"text":n.text().then(e=>{i._acceptFetchResult(e),t(n)});break;default:n.json().then(e=>{i._acceptFetchResult(e),t(n)},n=>{this.log(e.Logging.LogLevel.Warn,`Couldn't parse a ${i.as}. ${n}`),t(null)})}}else this.dispatchEvent(new CustomEvent(e.Net.FetchErrorEventName,{detail:n})),r(n)},s=>{"string"==typeof s&&s===n?(this.log(e.Logging.LogLevel.Info,s),t(null)):r(s)})})}_acceptFetchResult(t){this.dispatchEvent(new CustomEvent(e.Net.FetchResultEventName,{detail:t})),this.result=t}};__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],r.prototype,"url",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],r.prototype,"method",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],r.prototype,"parameters",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],r.prototype,"headers",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"credentials",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"mode",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"cache",void 0),__decorate([e.Watch({converter:e.PropertyConverters.BooleanStrict})],r.prototype,"fetching",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],r.prototype,"autofetch",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"as",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"type",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Number})],r.prototype,"debounce",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],r.prototype,"throttle",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],r.prototype,"diffByValues",void 0),__decorate([e.Watch()],r.prototype,"result",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-fetch"})],r),t.PacemFetchElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class StateEvent extends CustomEvent{constructor(e,t){super(e,{detail:t})}}t.StateEvent=StateEvent;let n=class PacemHistoryElement extends t.PacemEventTarget{#f;propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"state":this._handleStateChange(r);break;case"maxlength":const t=this.#f;e.Utils.isNull(t)||(t.maxlength=r)}}viewActivatedCallback(){super.viewActivatedCallback(),this._handleStateChange()}_handleStateChange(t=this.state){const n=this.#f;e.Utils.isNull(n)?this.#f=new e.HistoryService(t,this.maxlength):!0!==e.DefaultComparer(n.current,t)&&(n.push(t),this.log(e.Logging.LogLevel.Log,"Pushed state."),this._synchronize("push"))}redo(){const t=this.#f;e.Utils.isNull(t)||(t.redo(),this.log(e.Logging.LogLevel.Log,"Redone state."),this._synchronize("redo"))}reset(){const t=this.#f;e.Utils.isNull(t)||(t.reset(),this.log(e.Logging.LogLevel.Log,"Reset state."),this._synchronize("reset"))}undo(){const t=this.#f;e.Utils.isNull(t)||(t.undo(),this.log(e.Logging.LogLevel.Log,"Undone state."),this._synchronize("undo"))}_synchronize(e){const t=this.#f;this.canUndo=t.canUndo,this.canRedo=t.canRedo,this.state=t.current;const{canRedo:n,canUndo:r,current:s}=t;this.dispatchEvent(new StateEvent(e,{canRedo:n,canUndo:r,state:s}))}};__decorate([e.Watch({emit:!0,converter:e.PropertyConverters.Json})],n.prototype,"state",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"maxlength",void 0),__decorate([e.Watch({emit:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"canUndo",void 0),__decorate([e.Watch({emit:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"canRedo",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-history"})],n),t.PacemHistoryElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemHtmlProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._html=document.documentElement}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"attr"===e&&t&&this._html.removeAttribute(t),this._update()}_update(){const t=this.attr;if(e.Utils.isNullOrEmpty(t)||this.disabled)return;const n=this.value,r=this._html;e.Utils.isNullOrEmpty(n)?r.removeAttribute(t):r.setAttribute(t,n)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"attr",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"value",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-html-proxy"})],n),t.PacemHtmlProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemIfElement extends HTMLElement{#_;propertyChangedCallback(t,n,r,s){e.Utils.isNullOrEmpty(this.#_)&&(this.#_=this.innerHTML),this.innerHTML=r?this.#_:""}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"match",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-if"})],n),t.PacemIfElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTextElement extends HTMLElement{constructor(){super()}connectedCallback(){0==this.childNodes.length&&(this.innerHTML=" "),this._text=this.childNodes.item(0)}propertyChangedCallback(t,n,r,s){e.Utils.isNull(r)&&!0===s||(this._text.nodeValue=r)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"text",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-text"})],n),t.PacemTextElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.ScrollEventName="scroll";class ScrollEvent extends e.CustomTypedEvent{constructor(e){super(t.ScrollEventName,e)}}t.ScrollEvent=ScrollEvent;const n=new class PacemScrollOrchestrator{constructor(e){this.global=e,this.scrollers=[],this.scrollHandler=e=>{this._scroll(e)}}register(e){const t=this.scrollers;-1===t.indexOf(e)&&(t.push(e),1===t.length&&this.global.addEventListener("scroll",this.scrollHandler,!1),this._scroll())}unregister(e){var t;const n=this.scrollers;-1!==(t=n.indexOf(e))&&(n.splice(t,1),0===n.length&&this.global.removeEventListener("scroll",this.scrollHandler,!1))}_scroll(t){for(var n of this.scrollers){if(e.Utils.isNull(n.target)){const t=e.Utils.scrollTop,r=e.Utils.scrollLeft;n.offset={top:t,left:r}}else{const e=n.target.scrollTop,t=n.target.scrollLeft;n.offset={top:e,left:t}}n.dispatchEvent(new ScrollEvent(n.offset))}}}(window);let r=class PacemScrollAwareElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),n.register(this)}disconnectedCallback(){n.unregister(this),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],r.prototype,"offset",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-scroll-aware"})],r),t.PacemScrollAwareElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemViewportOrchestrator{constructor(e){this._global=e,this.viewports=[],this._checkHandler=e=>{this._oncheck(e)}}register(e){const t=this.viewports,n=this._global;-1===t.indexOf(e)&&(t.push(e),1===t.length&&(n.addEventListener("resize",this._checkHandler,!1),n.addEventListener("scroll",this._checkHandler,!1),n.addEventListener("transitionend",this._checkHandler,!1),n.addEventListener("animationend",this._checkHandler,!1)),this._oncheck())}unregister(e){var t;const n=this.viewports,r=this._global;-1!==(t=n.indexOf(e))&&(n.splice(t,1),0===n.length&&(r.removeEventListener("resize",this._checkHandler,!1),r.removeEventListener("scroll",this._checkHandler,!1),r.removeEventListener("transitionend",this._checkHandler,!1),r.removeEventListener("animationend",this._checkHandler,!1)),this._oncheck())}isElementVisible(t,n){const r=e.Utils.windowSize;this._global.document;var s=t.getBoundingClientRect(),i=r.width,o=r.height;return s.bottom>0&&s.top<0+o&&(n||s.left<i+0&&s.right>0)}_oncheck(t){for(var n of this.viewports){const t=n.target||n,r=this.isElementVisible(t,n.ignoreHorizontal);if(r!==n.visible)(n.visible=r)?e.Utils.addClass(t,e.PCSS+"-in-viewport"):e.Utils.removeClass(t,e.PCSS+"-in-viewport")}}}__decorate([e.Debounce(100)],PacemViewportOrchestrator.prototype,"_oncheck",null);const n=new PacemViewportOrchestrator(window);let r=class PacemViewportAwareElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),n.register(this)}disconnectedCallback(){n.unregister(this),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],r.prototype,"visible",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"ignoreHorizontal",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-viewport-aware"})],r),t.PacemViewportAwareElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.ResizeEventName="resize";class ResizeEvent extends e.CustomTypedEvent{constructor(e){super(t.ResizeEventName,e)}}t.ResizeEvent=ResizeEvent;const n={box:"border-box"};let r=class PacemResizeElement extends t.PacemEventTarget{constructor(){super(...arguments),this._checkSizeHandler=()=>{this._assignSizeDebounced()}}get _target(){return this.target||this}propertyChangedCallback(t,r,s,i){switch(super.propertyChangedCallback(t,r,s,i),t){case"disabled":this._start();break;case"target":if(!e.Utils.isNull(this._observer)){var o=r||this;this._observer.unobserve(o)}case"watchPosition":var a=this.target||this;e.Utils.isNull(this._observer)||this._observer.observe(a,n)}}_start(){this.disabled?this._stop():(this.watchPosition?this._startWatchIntensively():(this._observer=new ResizeObserver(e=>{var t=!1;for(let n of e)if(n.target===this._target&&n.contentRect){t=!0;break}t&&this._assignSizeDebounced()}),this._observer.observe(this._target,n)),window.addEventListener("resize",this._checkSizeHandler,!1))}_stop(){window.cancelAnimationFrame(this._handle),window.removeEventListener("resize",this._checkSizeHandler,!1),e.Utils.isNull(this._observer)||(this._observer.disconnect(),this._observer=null)}_startWatchIntensively(){this._checkSize(),this._handle=window.requestAnimationFrame(()=>{this._startWatchIntensively()})}_assignSizeDebounced(){this._checkSize()}_checkSize(){this.log(e.Logging.LogLevel.Log,"Resize flow triggered.");let t=this._target;const n=e.Utils.offset(t);let r=n.height,s=n.width;(r!=this._previousHeight||s!=this._previousWidth||this.watchPosition&&(n.left!=this._previousLeft||n.top!=this._previousTop))&&(this._previousHeight=r,this._previousWidth=s,this._previousLeft=n.left,this._previousTop=n.top,this._dispatchResize())}get currentSize(){var e={height:this._previousHeight,width:this._previousWidth};return this.watchPosition&&(e.left=this._previousLeft,e.top=this._previousTop),e}_dispatchResize(){this.dispatchEvent(new ResizeEvent(this.currentSize))}connectedCallback(){super.connectedCallback(),this._start()}disconnectedCallback(){this._stop(),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"watchPosition",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-resize"})],r),t.PacemResizeElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.PositionChangeEventName="positionchange";class PositionChangeEvent extends e.CustomTypedEvent{constructor(e){super(t.PositionChangeEventName,e)}}t.PositionChangeEvent=PositionChangeEvent;let n=class PacemPositionElement extends t.PacemEventTarget{constructor(){super(),this._check=t=>{let n=this._target;var r=e.Utils.offset(n);let s=r.top,i=r.left;s==this.previousTop&&i==this.previousLeft||(this.previousTop=s,this.previousLeft=i,this._change()),this._timer=requestAnimationFrame(this._check)}}get _target(){return this.target||this}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),"disabled"===e)this.start()}start(){let t=this._target;if(this.disabled)cancelAnimationFrame(this._timer);else{var n=e.Utils.offset(t);this.previousTop=n.top,this.previousLeft=n.left,this._timer=requestAnimationFrame(this._check)}}_change(){this.dispatchEvent(new PositionChangeEvent({top:this.previousTop,left:this.previousLeft}))}connectedCallback(){super.connectedCallback(),this.start()}disconnectedCallback(){cancelAnimationFrame(this._timer),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-position"})],n),t.PacemPositionElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class AdjustEvent extends e.CustomTypedEvent{constructor(e){super("adjust",e)}}t.AdjustEvent=AdjustEvent;let n=class PacemOverlayElement extends t.PacemEventTarget{constructor(){super(),this._check=t=>{let n=this.target;const r=e.Utils.offset(n),s=r.width,i=r.height;i==this._previousHeight&&s==this._previousWidth&&r.left==this._previousLeft&&r.top==this._previousTop||(this._previousHeight=i,this._previousWidth=s,this._previousLeft=r.left,this._previousTop=r.top,this._adjust()),this._timer=requestAnimationFrame(this._check)}}propertyChangedCallback(e,t,n,r){switch(super.propertyChangedCallback(e,t,n,r),e){case"target":case"disabled":this.start()}}start(){let t=this.target;if(cancelAnimationFrame(this._timer),!this.disabled&&!e.Utils.isNull(t)){this._previousHeight=t.offsetHeight,this._previousWidth=t.offsetWidth;const n=e.Utils.offset(t);this._previousLeft=n.left,this._previousTop=n.top,this._timer=requestAnimationFrame(this._check)}}_adjust(){this.dispatchEvent(new AdjustEvent({top:this._previousTop,left:this._previousLeft,width:this._previousWidth,height:this._previousHeight}))}connectedCallback(){super.connectedCallback(),this.start()}disconnectedCallback(){cancelAnimationFrame(this._timer),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),__decorate([e.Debounce()],n.prototype,"_adjust",null),n=__decorate([e.CustomElement({tagName:e.P+"-overlay"})],n),t.PacemOverlayElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemPanelElement extends t.PacemSafeContentElement{};n=__decorate([e.CustomElement({tagName:e.P+"-panel"})],n),t.PacemPanelElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemSpanElement extends t.PacemSafeContentElement{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"text"!==e||r||(this.textContent=n)}viewActivatedCallback(){super.viewActivatedCallback(),e.Utils.isNull(this.text)||(this.textContent=this.text)}};__decorate([e.Watch({converter:e.PropertyConverters.String})],n.prototype,"text",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-span"})],n),t.PacemSpanElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTemplateProxyElement extends e.TemplateElement{propertyChangedCallback(e,t,n,r){"target"===e&&this.dispatchEvent(new Event("templatechange"))}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-template-proxy"})],n),t.PacemTemplateProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var n;const r=e.CustomElementUtils.getAttachedPropertyValue;e.CustomElementUtils.setAttachedPropertyValue;class ItemEvent extends e.CustomTypedEvent{constructor(e,t,n){super(e,t,{bubbles:!1,cancelable:!0}),this._originalEvent=n}get srcEvent(){return this._originalEvent}}class ItemCommandEvent extends ItemEvent{constructor(t){super("item"+e.CommandEventName,t.detail,t)}}t.ItemCommandEvent=ItemCommandEvent;class CustomItemCommandEvent extends ItemEvent{constructor(e){super("item"+e.detail.commandName.toLowerCase(),e.detail.commandArgument,e)}}t.CustomItemCommandEvent=CustomItemCommandEvent;let s=n=class PacemRepeaterElement extends t.PacemEventTarget{constructor(){super(...arguments),this._childItems=[],this._fragment=document.createDocumentFragment(),this._setupItem=(e,t,n)=>{e.index=t,e.item=n},this._refreshItemTemplateHandler=e=>{const t=e.target;this._itemTemplate=t.target,this._databind()}}removeItem(e){this._removeItems(e,e)}_setItem(e,n,r){const s=this._childItems;let i;n>=s.length?(i=new RepeaterItem(this,this._itemTemplate,r,this._childTemplatePlaceholder),this._setupItem(i,n,e),s.push(i),i.append()):(i=s[n],this._setupItem(i,n,e),i.redrawEventually(this._itemTemplate,r)),this.dispatchEvent(new t.RepeaterItemCreateEvent(i))}_removeItems(e,n){let r=this._childItems.splice(e,n+1-e);for(var s=r.length-1;s>=0;s--){let e=r[s];this.dispatchEvent(new t.RepeaterItemRemoveEvent(e)),e.remove()}}databind(){this._databind()}_databind(t=this.datasource){if(!this.isConnected)return;let r=this._itemTemplate,s=this._childTemplatePlaceholder;if(null==r)throw`Missing template element in ${n.name}.`;let i=this._childItems,o=0;try{for(var a of t||[])this._setItem(a,o,this._fragment),o++}catch(t){this.log(e.Logging.LogLevel.Error,t)}o<i.length?this._removeItems(o,i.length-1):e.Utils.isNull(s&&s.parentNode)||s.parentNode.insertBefore(this._fragment,s)}_onCommand(e){this.dispatchEvent(new ItemCommandEvent(e)),this.dispatchEvent(new CustomItemCommandEvent(e))}_buildupItemTemplate(){let n=e.CustomElementUtils.findFirstDescendant(this,e=>e instanceof HTMLTemplateElement||e instanceof t.PacemTemplateProxyElement);return n instanceof t.PacemTemplateProxyElement?(n.addEventListener("templatechange",this._refreshItemTemplateHandler,!1),this._childTemplatePlaceholder=n,this._itemTemplate=n.target):this._itemTemplate=this._childTemplatePlaceholder=n}viewActivatedCallback(){super.viewActivatedCallback(),this.addEventListener(e.CommandEventName,this._onCommand,!1),this._buildupItemTemplate()&&this._databind()}disconnectedCallback(){const n=this._childTemplatePlaceholder;!e.Utils.isNull(n)&&n instanceof t.PacemTemplateProxyElement&&n.removeEventListener("templatechange",this._refreshItemTemplateHandler,!1),this.removeEventListener(e.CommandEventName,this._onCommand,!1),this.datasource=[],super.disconnectedCallback()}propertyChangedCallback(t,n,r,s){if(super.propertyChangedCallback(t,n,r,s),"datasource"===t)e.Utils.isNull(this._itemTemplate)||this._databind(r)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Eval})],s.prototype,"datasource",void 0),s=n=__decorate([e.CustomElement({tagName:e.P+"-repeater"})],s),t.PacemRepeaterElement=s;class RepeaterItem extends e.RepeaterItem{constructor(t,n,r,s){super(document.createComment("pacem-repeater-item")),this._repeater=t,this._template=n,this._fragment=r,this._holder=s,this._alterEgos=[];function i(t,n){var r=this,s="_"+t;if(n!==r[s]){var i=r[s];r[s]=n;var o=new e.PropertyChangeEvent({propertyName:t,oldValue:i,currentValue:n});r.dispatchEvent(o)}}let o=this.placeholder;Object.defineProperties(o,{item:{get:function(){return this._item},set:function(e){i.apply(o,["item",e])},configurable:!0},index:{get:function(){const t=this._index;return e.Utils.isNull(t)?-1:t},set:function(e){i.apply(o,["index",e])},configurable:!0}})}append(){const t=this._template,n=this._fragment;this._alterEgos.push(n.appendChild(this.placeholder));const s=t.cloneNode(!0);var i;e.Utils.isNull(i=r(this._repeater,e.INSTANCE_HOST_VAR))||e.CustomElementUtils.assignHostContext(i,s);var o=s.content.childNodes;Array.prototype.push.apply(this._alterEgos,o),n.appendChild(s.content)}redrawEventually(e,t){if(e===this._template)return;this._fragment=t,this._template=e;const n=this._holder.parentElement,r=this._alterEgos;for(;r.length>0;)n.removeChild(r.pop());this.append()}get dom(){return this._alterEgos.filter(e=>!(e instanceof Comment||e instanceof Text))}get repeater(){return this._repeater}remove(){let t=this._holder.parentElement;for(var n of this._alterEgos)n.parentElement!==t||e.Utils.isNull(t)||t.removeChild(n)}get index(){return this.placeholder.index}set index(e){this.placeholder.index=e}get item(){return this.placeholder.item}set item(e){this.placeholder.item=e}}t.RepeaterItem=RepeaterItem}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemItemElement extends t.PacemElement{get container(){return this._container}findContainer(){return e.CustomElementUtils.findAncestor(this,e=>e instanceof PacemItemsContainerElement)}viewActivatedCallback(){super.viewActivatedCallback();const t=this._container=this.findContainer();e.Utils.isNull(t)||t.register(this)}disconnectedCallback(){e.Utils.isNull(this._container)||this._container.unregister(this),super.disconnectedCallback()}}t.PacemItemElement=PacemItemElement,t.isItemsContainer=function(t){return"items"in t&&(e.Utils.isNull(t.items)||e.Utils.isArray(t.items))&&"function"==typeof t.register&&"function"==typeof t.unregister},t.ItemRegisterEventName="itemregister",t.ItemUnregisterEventName="itemunregister";class ItemRegisterEvent extends e.CustomTypedEvent{constructor(e,n){super(t.ItemRegisterEventName,e,n)}}t.ItemRegisterEvent=ItemRegisterEvent;class ItemUnregisterEvent extends e.CustomTypedEvent{constructor(e,n){super(t.ItemUnregisterEventName,e,n)}}t.ItemUnregisterEvent=ItemUnregisterEvent;class ItemsContainerRegistrar{constructor(e){if(this._container=e,null==e||!(e instanceof PacemItemsContainerElement||e instanceof PacemCrossItemsContainerElement))throw"Must provide a valid itemscontainer."}register(t){const n=this._container;var r=!1;return n.validate(t)?e.Utils.isNull(n.items)?(n.items=[t],r=!0):-1===n.items.indexOf(t)&&(n.items.push(t),r=!0):n.logger&&n.logger.log(e.Logging.LogLevel.Debug,`${t&&t.localName} element couldn't be registered in a ${n.localName} element.`),r&&n.dispatchEvent(new ItemRegisterEvent(t)),r}unregister(t){const n=this._container;if(!e.Utils.isNull(n.items)){const e=n.items.indexOf(t);if(e>=0){let t=n.items.splice(e,1);return n.dispatchEvent(new ItemUnregisterEvent(t[0])),!0}}return!1}}class PacemCrossItemsContainerElement extends PacemItemElement{constructor(e,t){super(e,t),this._registrar=new ItemsContainerRegistrar(this)}register(e){return this._registrar.register(e)}unregister(e){return this._registrar.unregister(e)}}__decorate([e.Watch()],PacemCrossItemsContainerElement.prototype,"items",void 0),t.PacemCrossItemsContainerElement=PacemCrossItemsContainerElement;class PacemItemsContainerElement extends t.PacemElement{constructor(e,t){super(e,t),this._registrar=new ItemsContainerRegistrar(this)}register(e){return this._registrar.register(e)}unregister(e){return this._registrar.unregister(e)}}__decorate([e.Watch()],PacemItemsContainerElement.prototype,"items",void 0),t.PacemItemsContainerElement=PacemItemsContainerElement}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemIterableElement extends t.PacemItemElement{findContainer(){return e.CustomElementUtils.findAncestor(this,e=>e instanceof PacemIterativeElement)}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r);const s=this.container,i=(s&&s.items||[]).indexOf(this);i>=0&&s&&s.adapter&&s.adapter.itemPropertyChangedCallback(i,e,t,n,r)}}t.PacemIterableElement=PacemIterableElement;class PacemIterativeElement extends t.PacemItemsContainerElement{propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),this.adapter&&this.adapter.masterPropertyChangedCallback(t,n,r,s),t){case"adapter":e.Utils.isNull(n)||n.destroy(),e.Utils.isNull(r)||this.adapter.initialize(this);break;case"items":this.isReady&&this._checkIndex()}}viewActivatedCallback(){super.viewActivatedCallback(),this._checkIndex()}_checkIndex(){let t=0;e.Utils.isNullOrEmpty(this.items)||this.index<this.items.length&&(t=this.index),this.index=t}disconnectedCallback(){e.Utils.isNull(this.adapter)||this.adapter.destroy(),super.disconnectedCallback()}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],PacemIterativeElement.prototype,"adapter",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],PacemIterativeElement.prototype,"index",void 0),t.PacemIterativeElement=PacemIterativeElement}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n="false";let r=class PacemLayoutProxyElement extends t.PacemEventTarget{#y;connectedCallback(){super.connectedCallback(),this.#y=e.CustomElementUtils.findAncestorShell(this)}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),this._update()}disconnectedCallback(){const t=this.attr;e.Utils.isNullOrEmpty(t)||this._update(t,n,!1),super.disconnectedCallback()}_update(t=this.attr,r=this.value?.toString(),s=this.disabled){if(e.Utils.isNullOrEmpty(t)||s)return;const i=this.#y;e.Utils.isNull(i)||(e.Utils.isNullOrEmpty(r)||r===n?i.removeAttribute(t):i.setAttribute(t,"true"===r?"":r))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"attr",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"value",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-layout-proxy"})],r),t.PacemLayoutProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemMetaProxyElement extends t.PacemEventTarget{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),this._update()}viewActivatedCallback(){super.viewActivatedCallback(),this._update()}_update(){const t=this.content,n=!e.Utils.isNullOrEmpty(this.name),r=n?this.name:this.itemprop;if(e.Utils.isNullOrEmpty(r)||this.disabled)return;const s=e.Utils.cssEscape(r),i=n?`meta[name='${s}']`:`meta[itemprop='${s}']`;var o=document.head.querySelector(i);if(e.Utils.isNull(o))o=document.createElement("meta"),document.head.appendChild(o);else if(e.Utils.isNullOrEmpty(t))return void o.remove();o.setAttribute("content",t),o.setAttribute(n?"name":"itemprop",r),o.removeAttribute(n?"itemprop":"name")}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"name",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"itemprop",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"content",void 0),__decorate([e.Debounce(!0)],n.prototype,"_update",null),n=__decorate([e.CustomElement({tagName:e.P+"-meta-proxy"})],n),t.PacemMetaProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemOnlineStatusElement extends t.PacemEventTarget{constructor(){super(...arguments),this._onlineHandler=t=>{e.Utils.isNull(t)?this.online=navigator.onLine||!1:this.online="online"===t.type}}connectedCallback(){super.connectedCallback(),window.addEventListener("online",this._onlineHandler,!1),window.addEventListener("offline",this._onlineHandler,!1)}viewActivatedCallback(){super.viewActivatedCallback(),this._onlineHandler()}disconnectedCallback(){window.removeEventListener("online",this._onlineHandler,!1),window.removeEventListener("offline",this._onlineHandler,!1),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"online",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-online-status"})],n),t.PacemOnlineStatusElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemServiceWorkerProxyElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),this._tryRegister()}disconnectedCallback(){this._tryUnregister(),super.disconnectedCallback()}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"pushSubscription":e.Utils.isNull(n)||this.dispatchEvent(new CustomEvent("unsubscribe",{detail:n})),e.Utils.isNull(r)||this.dispatchEvent(new CustomEvent("subscribe",{detail:r}));break;case"registration":e.Utils.isNull(n)||this.dispatchEvent(new CustomEvent("unregister",{detail:n})),e.Utils.isNull(r)||this.dispatchEvent(new CustomEvent("register",{detail:r}))}}_tryUnregister(t=this.registration){return e.Utils.isNull(t)?Promise.resolve(!0):t.unregister()}_tryRegister(t=this.src){this._tryUnregister().then(n=>{!e.Utils.isNullOrEmpty(t)&&"serviceWorker"in navigator&&navigator.serviceWorker.register(t).then(e=>{this.registration=e,"PushManager"in window&&e.pushManager.getSubscription().then(e=>{this.pushSubscription=e})})})}unsubscribe(t=this.pushSubscription){return new Promise((n,r)=>{if(e.Utils.isNull(t))n(!1);else{const e=t===this.pushSubscription;t.unsubscribe().then(t=>{e&&(this.pushSubscription=null),n(t)})}})}subscribe(t=this.publicKey){return new Promise((n,r)=>{"string"==typeof t&&(t=function(e){e=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/");const t=window.atob(e),n=new Uint8Array(t.length);for(var r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}(t));const s=this.registration?.pushManager;e.Utils.isNull(s)?n(null):s.subscribe({userVisibleOnly:!0,applicationServerKey:t}).then(e=>{"denied"===Notification.permission?n(this.pushSubscription=null):n(this.pushSubscription=e)})})}};__decorate([e.Watch()],n.prototype,"registration",void 0),__decorate([e.Watch()],n.prototype,"pushSubscription",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"src",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"publicKey",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-serviceworker-proxy"})],n),t.PacemServiceWorkerProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n="keydown";t.KeyboardShortcutExecuteEventName="execute";let r=class PacemShortcutElement extends t.PacemEventTarget{constructor(){super(...arguments),this._accumulator=[],this._shortcutHandler=n=>{const r=function(t,n,r=[]){if(e.Utils.isNullOrEmpty(n))return!1;const s=/(\w+)\s*\+/,i=[];let o;for(;!e.Utils.isNullOrEmpty(o=s.exec(n));)n=n.substr(o.index+o[0].length),i.push(o[1]);if(!e.CustomEventUtils.matchModifiers(t,i))return!1;const a=n.split(",").map(e=>e.trim().toLowerCase());if(e.Utils.isNullOrEmpty(a))return!1;var l,c,m=t.key.toLowerCase();return l=m,c=a[r.length],!!(l===c||"escape"===l&&"esc"===c||"backspace"===l&&"back"===c||"control"===l&&"ctrl"===c||"delete"===l&&("del"===c||"canc"===c)||/^arrow/.test(l)&&c===l.substr(5))&&(r.push(m),r.length==a.length||"ongoing")}(n,this.combination,this._accumulator);switch(r){case!0:e.avoidHandler(n),this.dispatchEvent(new Event(t.KeyboardShortcutExecuteEventName,{bubbles:!1,cancelable:!1}));case!1:this._accumulator.splice(0)}}}viewActivatedCallback(){super.viewActivatedCallback(),this._addHandler()}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"target"!==e||r||(this._removeHandler(t),this._addHandler(n))}disconnectedCallback(){this._removeHandler(),super.disconnectedCallback()}_removeHandler(e=this.target){(e||window).removeEventListener(n,this._shortcutHandler,!1)}_addHandler(e=this.target){(e||window).addEventListener(n,this._shortcutHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"combination",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-shortcut"})],r),t.PacemShortcutElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemStyleProxyElement extends t.PacemEventTarget{propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"cssText":e.Utils.isNull(this._style)||(this.cssReady=!1,this._style.textContent=r,e.Utils.isNullOrEmpty(r)?this.cssReady=!0:this._idleWhileReady());break;case"disabled":case"src":this._fetch()}}viewActivatedCallback(){super.viewActivatedCallback();const e=this._style=document.createElement("style");e.setAttribute("type","text/css"),document.head.appendChild(e),this._fetch()}disconnectedCallback(){e.Utils.isNull(this._style)||this._style.remove(),super.disconnectedCallback()}_idleWhileReady(){let t=this._style.sheet,n=setInterval(()=>{try{t.cssRules.length>0&&(clearInterval(n),e.CustomElementUtils.Theme.importWebFonts().then(e=>{this.cssReady=!0,this.dispatchEvent(new Event("cssready"))}))}catch(e){}},100)}_fetch(){const t=this.src,n=this._style;this.disabled||e.Utils.isNull(n)||(e.Utils.isNullOrEmpty(t)?n.textContent=this.cssText||"":(this.cssReady=!1,fetch(t).then(e=>{e.text().then(e=>{n.textContent=e,this._idleWhileReady()},e=>{this.cssReady=!0})},e=>{this.cssReady=!0})))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"src",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"cssText",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"cssReady",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-style-proxy"})],n),t.PacemStyleProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTimerElement extends t.PacemEventTarget{constructor(){super(),this._handle=0}propertyChangedCallback(e,t,n,r){switch(super.propertyChangedCallback(e,t,n,r),e){case"interval":case"disabled":this._restart()}}viewActivatedCallback(){super.viewActivatedCallback(),this._restart()}disconnectedCallback(){window.clearInterval(this._handle),super.disconnectedCallback()}_restart(){clearInterval(this._handle),!this.disabled&&this.interval>0&&(this._handle=window.setInterval(()=>{this.dispatchEvent(new Event("tick",{bubbles:!1,cancelable:!1}))},this.interval))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"interval",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-timer"})],n),t.PacemTimerElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTitleProxyElement extends t.PacemEventTarget{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),this._update()}viewActivatedCallback(){super.viewActivatedCallback(),this._update()}_update(){const t=this.value;e.Utils.isNullOrEmpty(t)||this.disabled||(document.title=t)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"value",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-title-proxy"})],n),t.PacemTitleProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemWebWorkerProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this.autosend=!0,this._messageHandler=e=>{this.result=e.data,this.dispatchEvent(new CustomEvent("receive",{detail:e.data,bubbles:!1,cancelable:!1}))},this._errorHandler=e=>{this.dispatchEvent(new CustomEvent("error",{detail:e.error,bubbles:!1,cancelable:!1}))}}viewActivatedCallback(){super.viewActivatedCallback(),this._initializeWorker()}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"src":this._disposeWorker(),this._initializeWorker(n);break;case"autosend":case"disabled":case"message":this.autosend&&this.send(this.message)}}disconnectedCallback(){this._disposeWorker(),super.disconnectedCallback()}send(t=this.message){if(this.disabled)return;const n=this._worker;e.Utils.isNull(n)||n.postMessage(t)}_initializeWorker(t=this.src){if(!e.Utils.isNullOrEmpty(t)){const n=this._worker=new Worker(t);n.addEventListener("message",this._messageHandler,!1),n.addEventListener("error",this._errorHandler,!1),this.autosend&&!e.Utils.isNull(this.message)&&this.send()}}_disposeWorker(t=this._worker){e.Utils.isNull(t)||(t.removeEventListener("error",this._errorHandler,!1),t.removeEventListener("message",this._messageHandler,!1),t.terminate())}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"message",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],n.prototype,"result",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"src",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"autosend",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-webworker-proxy"})],n),t.PacemWebWorkerProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n={convert:t=>e.Animations.Easings[t]??e.Animations.Easings.linear};class AnimationElement extends t.PacemItemElement{}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],AnimationElement.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],AnimationElement.prototype,"property",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"duration",void 0),__decorate([e.Watch({emit:!1,converter:n})],AnimationElement.prototype,"easing",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"iterations",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],AnimationElement.prototype,"direction",void 0),t.AnimationElement=AnimationElement;t.TweenAnimationElement=class TweenAnimationElement extends AnimationElement{constructor(t=new e.Animations.TweenService){super(),this._tweener=t}get tweener(){return this._tweener}#E=!1;startAnimation(){return this.#E=!1,new Promise((t,n)=>{this._tweener.run(0,1,this.duration??0,this.delay??0,this.easing??e.Animations.Easings.linear,(e,t)=>{this.#E||(this.target[this.property]=this.tweenInterpolationCallback(e,t))}).then(t)})}cancelAnimation(){this.#E=!0}}}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n={h:0,l:0,s:.5,a:1},r={h:0,l:1,s:.5,a:1};let s=class PacemColorAnimationElement extends t.TweenAnimationElement{propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"from":this._precomputeFrom(n);break;case"to":this._precomputeTo(n)}}#C=n;#P=r;viewActivatedCallback(){super.viewActivatedCallback(),this._precomputeColors()}_precomputeColors(){this._precomputeFrom(),this._precomputeTo()}_precomputeFrom(e=this.from){this.#C=this._precomputeColor(e)??n}_precomputeTo(e=this.to){this.#P=this._precomputeColor(e)??n}_precomputeColor(t){if(!e.Utils.isNullOrEmpty(t))try{return this._parseColor(t)}catch{return null}}_parseColor(t){return e.Colors.hsl(e.Colors.parse(t))}tweenInterpolationCallback(t,n){const r=this.#C,s=this.#P,i={h:(s.h-r.h)*n+r.h,s:(s.s-r.s)*n+r.s,l:(s.l-r.l)*n+r.l,a:(s.a-r.a)*n+r.a};return e.Colors.stringify(i)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],s.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],s.prototype,"to",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-color-animation"})],s),t.PacemColorAnimationElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemNumberAnimationElement extends t.TweenAnimationElement{tweenInterpolationCallback(e,t){const n=this.to??1,r=this.from??0;return(n-r)*t+r}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"to",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-number-animation"})],n),t.PacemNumberAnimationElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n={x:0,y:0},r={x:1,y:1};let s=class PacemPointAnimationElement extends t.TweenAnimationElement{tweenInterpolationCallback(e,t){const s=this.to??r,i=this.from??n;return{x:(s.x-i.x)*t+i.x,y:(s.y-i.y)*t+i.y}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],s.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],s.prototype,"to",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-point-animation"})],s),t.PacemPointAnimationElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemStoryboardElement extends t.PacemItemsContainerElement{validate(e){return e instanceof t.AnimationElement}viewActivatedCallback(){super.viewActivatedCallback(),this._animate()}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"datasource":this._buildDatasourceFromDatasource(n);break;case"items":this._buildDatasourceFromItems(n);break;case"_adaptedDatasource":case"autostart":this._animate()}}_buildDatasourceFromItems(e=this.items){this._adaptedDatasource=e||[]}_buildDatasourceFromDatasource(e=this.datasource){this._adaptedDatasource=e||[]}_animate(t=this.autostart){const n=this._adaptedDatasource,r=[];if(t&&!e.Utils.isNullOrEmpty(n))for(let e of n)r.push(e.startAnimation());return Promise.all(r)}cancelAnimation(){const e=this._adaptedDatasource||[];for(let t of e)t.cancelAnimation()}startAnimation(){return this._animate(!0)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"autostart",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"duration",void 0),__decorate([e.Watch({emit:!1})],n.prototype,"datasource",void 0),__decorate([e.Watch({emit:!1})],n.prototype,"_adaptedDatasource",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-storyboard"})],n),t.PacemStoryboardElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={}));
|
|
6
|
+
"use strict";var __decorate=this&&this.__decorate||function(e,t,n,r){var s,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(i<3?s(o):i>3?s(t,n,o):s(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem,Pacem;!function(e){e.Type=Function,e.WATCH_PROPS_VAR="pacem:properties",e.INSTANCE_BINDINGS_VAR="pacem:custom-element:bindings",e.INSTANCE_HOST_VAR="pacem:custom-element:host",e.INSTANCE_SCOPE_VAR="pacem:custom-element:scope"}(Pacem||(Pacem={})),function(e){class DeferPromise{constructor(){this.deferred=null;var e=this;e.promise=new Promise(function(t,n){e.deferred={resolve:t,reject:n,promise:e}})}then(e,t){return this.promise.then(e,t)}finally(e){return this.promise.then(e,e),this}success(e){return this.promise.then(e,null),this}error(e){return this.promise.then(null,e),this}static defer(){return(new DeferPromise).deferred}}e.DeferPromise=DeferPromise}(Pacem||(Pacem={})),function(e){class DeepCloner{constructor(){}static clone(e){return(new DeepCloner)._clone(e)}_clone(e){let t=new WeakMap;return function e(n){if(!("object"!=typeof n||null===n||n instanceof Element||n instanceof FileSystemHandle||n instanceof File)){if(Array.isArray(n))return n.map(e);if(n instanceof Date)return new Date(n.valueOf());if(n instanceof RegExp)return new RegExp(n);if(t.has(n))return t.get(n);{let r=Object.assign({},n);return t.set(n,r),Object.keys(r).forEach(t=>{r[t]=e(n[t])}),r}}return n}(e)}}e.DeepCloner=DeepCloner}(Pacem||(Pacem={})),function(Pacem){const REF_ID="$refId";let JsonFunctionConversion;!function(e){e[e.Ignore=0]="Ignore",e.Reference="reference",e.Plain="plain"}(JsonFunctionConversion=Pacem.JsonFunctionConversion||(Pacem.JsonFunctionConversion={}));class JsonFnStore{static{this._jsonFnWeakMap=new WeakMap}static{this._jsonFnMap=new Map}static store(e){const t=this._jsonFnWeakMap;if(!t.has(e)){const n=Pacem.Utils.uniqueCode();t.set(e,n),this._jsonFnMap.set(n,e)}return t.get(e)}static retrieve(e){return this._jsonFnMap.get(e)}static remove(e){const t=this.retrieve(e);this._jsonFnMap.delete(e),this._jsonFnWeakMap.delete(t)}}class Json{constructor(e){this._options=e}static serialize(e,t){return new Json(t)._serialize(e)}static deserialize(e){return(new Json)._deserialize(e)}_serialize(e){let t=Pacem.DeepCloner.clone(e),n=[REF_ID],r=this._flatten(t,0,null,n);return JSON.stringify(r,n.sort())}_deserialize(json){let hasRefs=!1,obj=JSON.parse(json,(key,value)=>{const elPattern=/^\$<#(.+)>$/,fnPattern=/^\$<fn:([^\x05]+)>$/,regexPattern=/^\$<regex:(.+)>$/,fnRefPattern=/^\$<fn#(.+)>$/;let arr;if(key===REF_ID)hasRefs=!0;else if("string"==typeof value){if((arr=regexPattern.exec(value))&&arr.length>1){const e=arr[1],t=e.lastIndexOf("|");return new RegExp(e.substr(0,t),e.substr(t+1))}if((arr=elPattern.exec(value))&&arr.length>1)return document.getElementById(arr[1]);if((arr=fnPattern.exec(value))&&arr.length>1)return eval(arr[1]);if((arr=fnRefPattern.exec(value))&&arr.length>1)return JsonFnStore.retrieve(arr[1])}return value});return hasRefs?this._revive(obj):obj}_flatten(e,t=0,n,r){if(n=n||new WeakSet,r=r||[],e instanceof Element){if(!e.id)return;return`$<#${e.id}>`}if(e instanceof RegExp)return`$<regex:${e.source}|${e.flags}>`;if(!("object"!=typeof e||null==e||e instanceof Date))return Array.isArray(e)?e.map(e=>this._flatten(e,t,n,r)):n.has(e)?e[REF_ID]=e[REF_ID]||"$#ref_"+t++:(n.add(e),Object.keys(e).forEach(s=>{-1===r.indexOf(s)&&r.push(s),e[s]=this._flatten(e[s],t,n,r)}),e);if("function"==typeof e)switch(this._options?.functions){case JsonFunctionConversion.Reference:return"$<fn#"+JsonFnStore.store(e)+">";case JsonFunctionConversion.Plain:return"$<fn:"+e+">";default:return}return e}_revive(e){let t={};const n=/^\$#ref_(.+)$/;return function e(r){if("object"==typeof r&&null!==r){if(Array.isArray(r))return r.map(e);REF_ID in r&&(t[r[REF_ID]]=r,delete r[REF_ID]),Object.keys(r).forEach(t=>{r[t]=e(r[t])})}else if("string"==typeof r&&n.test(r)){let e=n.exec(r);return t[e[0]]}return r}(e)}}Pacem.Json=Json}(Pacem||(Pacem={})),function(e){const t="download";e.stopPropagationHandler=e=>{e.stopPropagation()},e.preventDefaultHandler=e=>{e.preventDefault()},e.avoidHandler=e=>{e.preventDefault(),e.stopPropagation()};const n=/^\/[^\/]+/,r=/\/\{([a-z\$_][\w]*)\??\}/;class Utils{static get core(){const e=window.Pacem;var t=e&&e.Configuration&&e.Configuration.core||"pacem";return window[t]=window[t]||{}}static get customElements(){return window.customElements}static uniqueId(){return e.Keys.uniqueId()}static uniqueCode(){return e.Keys.uniqueCode()}static randomString(t){return e.Keys.randomString(t)}static parseDate(t){return e.Dates.parse(t)}static copyToClipboard(e){return navigator.clipboard?navigator.clipboard.writeText(e):new Promise((t,n)=>{const r=document.createElement("textarea");r.value=e,r.style.opacity="0",document.body.appendChild(r);try{r.select(),document.execCommand("copy"),r.remove(),t()}catch(e){n(e)}})}static{this.Json={stringify:e.Json.serialize,parse:e.Json.deserialize}}static{this.Dates={now:()=>Utils.parseDate(Date.now()),parse:Utils.parseDate,isLeapYear:e.Dates.isLeapYear,daysInMonth:e.Dates.daysInMonth,isDate:e.Dates.isDate,dateOnly:e.Dates.dateOnly,addMonths:e.Dates.addMonths,addDays:e.Dates.addDays,daysBetween:e.Dates.daysBetween}}static colorize(t,n){const r=38,s=.245,i=.6;var o,a,l;a="string"==typeof(o=t instanceof HTMLElement?n:t)?e.Colors.parse(o):{r:o[0],g:o[1],b:o[2]};const c=e.Colors.hsl(a);if(l=`brightness(50%) sepia(1) hue-rotate(${c.h-r}deg) saturate(${c.s-s+1}) brightness(${c.l-i+1})`,o!==n)return l;(void 0).style.filter=l}static cssEscape(e){return escape(e).replace("%","\\")}static{this.Css={colorize:Utils.colorize,escape:Utils.cssEscape,getVariableValue:e=>getComputedStyle(document.documentElement).getPropertyValue(e),setVariable(e,t){getComputedStyle(document.documentElement).setProperty(e,t)},isClassDefined(e){const t=new RegExp("."+e+"($|[s.,])");for(let e=0;e<document.styleSheets.length;e++){const n=document.styleSheets.item(e);try{const e=n.cssRules;for(let r=0;r<e.length;r++){const e=n.cssRules.item(r);if(t.test(e.selectorText))return!0}}catch(e){e instanceof DOMException&&console.warn("Couldn't access cssRules of stylesheet \""+n.href+'".')}}return!1},deserializeTransform(e){const t=e instanceof Element?getComputedStyle(e):e;let n,r=1,s=0,i=0,o=1,a=0,l=0,c=/^matrix\((.*)\)$/.exec(t.transform);return c&&c.length>1&&6==(n=c[1].split(",")).length&&(r=parseFloat(n[0]),s=parseFloat(n[1]),i=parseFloat(n[2]),o=parseFloat(n[3]),a+=parseFloat(n[4]),l+=parseFloat(n[5])),{a:r,b:s,c:i,d:o,e:a,f:l}}}}static{this.leftPad=e.Strings.leftPad}static{this.formatString=e.Strings.format}static{this.diff=e.Strings.diff}static{this.Strings={leftPad:e.Strings.leftPad,format:e.Strings.format,diff:e.Strings.diff,stripHTML:e=>(new DOMParser).parseFromString(e,"text/html").body.textContent||""}}static{this.Blobs={toDataURL:e.Blobs.blobToDataURL,fromDataURL:e.Blobs.dataURLToBlob,toText:e.Blobs.blobToText,fromText:e.Blobs.textToBlob}}static{this.Images={load:e.Imaging.loadImage,resize:e.Imaging.resizeImage}}static loadImage(e){return new Promise((t,n)=>{const r=new Image;r.src=e,r.complete?t(r):(r.onload=e=>{t(r)},r.onerror=e=>{n()})})}static blobToDataURL(e){return Utils.Blobs.toDataURL(e)}static dataURLToBlob(e){return Utils.Blobs.fromDataURL(e)}static blobToText(e,t){return Utils.Blobs.toText(e,t)}static textToBlob(e,t="text/plain"){return Utils.Blobs.fromText(e,t)}static resizeImage(t,n,r,s){var i=e.DeferPromise.defer();return Utils.blobToDataURL(t).then(Utils.loadImage).then(e=>{const o=e.width,a=e.height;let l=document.createElement("canvas");l.width=o,l.height=a;let c=l.getContext("2d");if(o>n||a>r){const t=o/a;let m,d;n/r<t?(d=n,m=n/t):(m=r,d=r*t),l.width=d,l.height=m;const h=s>0&&s<=1;let u;h&&(c.fillStyle="#000",c.fillRect(0,0,l.width,l.height)),Utils.cropImageOntoCanvas(e,c),u=h?c.canvas.toDataURL("image/jpeg",s):c.canvas.toDataURL(),i.resolve(Utils.dataURLToBlob(u))}else i.resolve(t)},e=>{}),i.promise}static cropImage(t,n,r,s){var i=e.DeferPromise.defer();let o=new Image;return o.crossOrigin="anonymous",o.onload=function(e){let t=document.createElement("canvas"),a=t.getContext("2d");n&&(t.width=n),r&&(t.height=r);const l=s>0&&s<=1;l&&(a.fillStyle="#000",a.fillRect(0,0,t.width,t.height)),Utils.cropImageOntoCanvas(o,a),i.resolve(l?t.toDataURL("image/jpeg",s):t.toDataURL())},o.src=t,i.promise}static getUserMediaFunctions(){var e=[];let t=[navigator.getUserMedia,navigator.webkitGetUserMedia,navigator.msGetUserMedia,navigator.mozGetUserMedia].filter(function(e,t){return"function"==typeof e});return t.length&&(e=t),e}static cropImageOntoCanvas(e,t,n,r){t.imageSmoothingEnabled=t.mozImageSmoothingEnabled=t.oImageSmoothingEnabled=t.webkitImageSmoothingEnabled=!0;let s=t.canvas.width,i=t.canvas.height,o=s,a=i,l=n||1*e.width,c=r||1*e.height;s/i>l/c?(i=s/l*c,t.drawImage(e,0,.5*(-i+a),o,i)):(s=i/c*l,t.drawImage(e,-Math.abs(.5*(-s+o)),0,s,a))}static get _domURL(){return window.URL||window.webkitURL||window}static snapshotElement(e,t,n="image/png",r){function s(e){return new Promise((s,i)=>{const o=document.createElement("canvas"),a=e.width,l=e.height;if(a>0)if(l>0){o.width=a,o.height=l;const i=o.getContext("2d");Utils.isNullOrEmpty(t)||(i.fillStyle=t,i.fillRect(0,0,a,l)),i.drawImage(e,0,0),o.toBlob(e=>{s(e)},n,r)}else i("Image has height zero.");else i("Image has width zero.")})}return e instanceof HTMLCanvasElement?s(e):new Promise((t,n)=>{const r=[];function i(e){const t=new Promise((t,n)=>{fetch(e instanceof HTMLImageElement?e.src:e.href.baseVal).then(e=>e.blob()).then(e=>Utils.blobToDataURL(e)).then(n=>{var r;r=n,e instanceof HTMLImageElement?e.src=r:e.setAttribute("href",r),t()})});r.push(t)}function o(e,t){!function(e,t){const n=getComputedStyle(t);for(let t=0;t<n.length;t++){const r=n.item(t);e.style[r]=n[r]}}(e,t),e instanceof HTMLImageElement||e instanceof SVGImageElement?i(e):e instanceof HTMLCanvasElement&&function(e,t){const n=new Promise((n,r)=>{const s=new Image;s.crossOrigin="anonymous",s.width=t.width,s.height=t.height,s.style.cssText=e.style.cssText,s.onload=()=>{e.replaceWith(s),n()},s.src=t.toDataURL()});r.push(n)}(e,t);const n=e.children.length;for(let r=0;r<n;r++){const n=e.children.item(r),s=t.children.item(r);n.tagName===s.tagName&&o(n,s)}}if(e instanceof SVGElement){const t=e.cloneNode(!0);o(t,e),Promise.all(r).then(n=>{e=t,l()})}else{var a=document.implementation.createHTMLDocument("");a.write(e.outerHTML),a.documentElement.setAttribute("xmlns",a.documentElement.namespaceURI);const t=document.evaluate(".//"+e.localName,a.body,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;t.setAttribute("xmlns",a.documentElement.namespaceURI),o(t,e),Promise.all(r).then(n=>{const r=document.createElementNS("http://www.w3.org/2000/svg","svg"),s=Utils.offset(e);r.setAttribute("viewBox",`0 0 ${s.width} ${s.height}`),r.setAttribute("width",s.width.toString()),r.setAttribute("height",s.height.toString()),r.innerHTML=`<foreignObject width="${s.width}" height="${s.height}">${t.outerHTML}</foreignObject>`,e=r,l()})}function l(){const n=(new XMLSerializer).serializeToString(e),r=new Image;r.crossOrigin="anonymous";const i="data:image/svg+xml;charset=utf8,"+encodeURIComponent(n);r.onload=()=>{s(r).then(t)},r.src=i}})}static async download(e,n,r="application/download"){if("string"==typeof e){const o=e;let a,l={};Utils.isNullOrEmpty(n)||("object"==typeof n?(l={credentials:n.credentials,headers:n.headers},a=n.filename||a,r=n.mime||r):a=n);var s=await fetch(o,l);if(s.ok){if(Utils.isNullOrEmpty(a)){const e="Content-Disposition";if(s.headers.has(e)){const t=s.headers.get(e),n=/^attachment; filename=\"?([^;\"]+)\"?(;|$)/.exec(t);n.length>1&&(a=n[1])}else a=t}var i=await s.blob();const e=a.split(/[\\\/]/g).join("_");return Utils.download(i,e)}{const e=await s.text();throw new Error(e)}}{const r=e,s="string"==typeof n&&n||t,i=document.createElement("a");if(i.setAttribute("href",Utils._domURL.createObjectURL(r)),i.setAttribute("download",s),document.createEvent){var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!0),i.dispatchEvent(o)}else i.click()}}static isDOMReady(){return"interactive"===document.readyState||"complete"===document.readyState}static onDOMReady(e){window.addEventListener("load",e,!1)}static moveChildren(e,t){return Utils.moveItems(e.childNodes,t)}static moveItems(e,t){let n,r=[];for(let s=e.length-1;s>=0;s--){let i=e instanceof NodeList?e.item(s):e[s];t.insertBefore(i,n),r.unshift(i),n=i}return r}static is(e,t){return(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}static lang(e){return e.lang||document.documentElement.lang||navigator.language}static jsonSortStringify(e){return Utils.isNull(e)?e:Utils.Json.stringify(e)}static{this.Browsers={detect:e.Browsers.detect}}static cookies(e){const t=(e??document.cookie).split(";"),n={};for(var r of t){const e=r.split("=");if(e.length<2)continue;const t=(e[0]||"").trim(),s=(e[1]||"").trim();Object.defineProperty(n,t,{configurable:!1,enumerable:!0,writable:!1,value:decodeURIComponent(s.split("+").join(" "))})}return n}static{this.Cookies={getAll:async e=>{const t="cookieStore"in window?window.cookieStore:null,n=[];if(Utils.isNull(t)){const t=Utils.cookies();for(let r in t)(Utils.isNullOrEmpty(e)||e===r)&&n.push({name:r,value:t[r]});return n}return await t.getAll(e)},stringify:e=>{let t=`${e.name}=${encodeURIComponent(e.value??"")}`;return Utils.isNullOrEmpty(e.domain)||(t+=`; domain=${encodeURIComponent(e.domain)}`),Utils.isNullOrEmpty(e.path)||(t+=`; path=${encodeURIComponent(e.path)}`),e.maxAge>0&&(t+=`; max-age=${e.maxAge.toFixed(0)}`),Utils.isNullOrEmpty(e.expires)||(t+=`; expires=${e.expires}`),e.partitioned&&(t+="; Partitioned"),Utils.isNullOrEmpty(e.sameSite)||(t+=`; SameSite=${encodeURIComponent(e.sameSite)}`),e.secure&&(t+="; Secure"),t}}}static isVisible(e){return"checkVisibility"in e?e.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}):"hidden"!==getComputedStyle(e).visibility&&(e.clientWidth>0||e.clientHeight>0)}static hasClass(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className)}static addClass(e,t){const n=t.trim();e.classList?DOMTokenList.prototype.add.apply(e.classList,n.split(" ")):e.setAttribute("class",e.className+" "+n)}static removeClass(e,t){const n=t.trim();e.classList?DOMTokenList.prototype.remove.apply(e.classList,n.split(" ")):e.setAttribute("class",e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," "))}static toggleClass(e,t,n){n?Utils.addClass(e,t):Utils.removeClass(e,t)}static hasPart(e,t){return e.part.contains(t)}static addPart(e,t){DOMTokenList.prototype.add.apply(e.part,t.trim().split(" "))}static removePart(e,t){DOMTokenList.prototype.remove.apply(e.part,t.trim().split(" "))}static togglePart(e,t,n){n?Utils.addPart(e,t):Utils.removePart(e,t)}static offset(e){var t=e.getBoundingClientRect();return{top:Math.round(t.top)+Utils.scrollTop,left:Math.round(t.left)+Utils.scrollLeft,width:Math.round(t.width),height:Math.round(t.height)}}static offsetRect(e){var t=this.offset(e);return{y:t.top,x:t.left,width:t.width,height:t.height}}static naturalOffsetTop(e){return e.offsetTop+(e.offsetParent instanceof HTMLElement?this.naturalOffsetTop(e.offsetParent):0)}static naturalOffsetLeft(e){return e.offsetLeft+(e.offsetParent instanceof HTMLElement?this.naturalOffsetLeft(e.offsetParent):0)}static naturalOffset(e){return{left:this.naturalOffsetLeft(e),top:this.naturalOffsetTop(e),width:e.offsetWidth,height:e.offsetHeight}}static naturalOffsetRect(e){var t=this.naturalOffset(e);return{y:t.top,x:t.left,width:t.width,height:t.height}}static deserializeTransform(e){return Utils.Css.deserializeTransform(e)}static set scrollTop(e){window.scrollTo(Utils.scrollLeft,e)}static set scrollLeft(e){window.scrollTo(e,Utils.scrollTop)}static get scrollTop(){return window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0}static get scrollLeft(){return window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0}static get windowSize(){let e=window;return{width:e.innerWidth||e.document.documentElement.clientWidth||e.document.body.clientWidth||0,height:e.innerHeight||e.document.documentElement.clientHeight||e.document.body.clientHeight||0}}static addAnimationEndCallback(e,t,n=500){const r=n=>{n&&n.target!=e||(clearTimeout(s),e.removeEventListener("animationend",r,!1),e.removeEventListener("transitionend",r,!1),t.apply(this,[e]))};e.addEventListener("animationend",r,!1),e.addEventListener("transitionend",r,!1);const s=setTimeout(r,n)}static waitForAnimationEnd(e,t=500){return new Promise((n,r)=>{Utils.addAnimationEndCallback(e,()=>{n()},t)})}static idle(e){return new Promise((t,n)=>{setTimeout(()=>t(),e)})}static accelerateCallback(e,t=500,n=5,r=20){let s={cancel:!1},i=t,o=n+r,a=()=>{e(s),s.cancel||(setTimeout(a,i),i<o?i=r:i-=n)};a()}static isEmpty(t){return e.NullChecker.isEmpty(t)&&!(t instanceof Node)}static isNull(t){return e.NullChecker.isNull(t)}static isArray(e){return Array.isArray(e)}static isNullOrEmpty(e){return Utils.isNull(e)||Utils.isEmpty(e)}static areSemanticallyEqual(e,t){e??=null,t??=null;return(e&&e.valueOf&&e.valueOf())===(t&&t.valueOf&&t.valueOf())}static{this.extend=Object.assign}static clone(t){if(void 0!==t)return e.DeepCloner.clone(t)}static fromResult(e){return Promise.resolve(e)}static fromResultAsync(e){return new Promise(t=>requestAnimationFrame(()=>t(e())))}static readonlyCopy(e){if(Utils.isNull(e))return null;if(Utils.isArray(e)){const t=e.slice(0);return Object.freeze(t),t}{const t={};for(let n in e)t[n]=e[n];return Object.freeze(t),t}}static{this.URIs={format:function(e,t,n){for(let r in t||{}){let s=new RegExp("(^|\\/)\\{"+r+"\\??\\}(\\/|$)").exec(e);if(s&&s.length){let i=new RegExp("\\{"+r+"\\??\\}"),o=s.index;e=e.substring(0,o)+e.substring(o).replace(i,encodeURIComponent(t[r])),n&&delete t[r]}}const r=/(^|\/)\{[\w]+\?\}(\/|$)/;for(var s;(s=r.exec(e))&&s.length>0;){let t=s[0];e=e.replace(t,t.endsWith("/")?"/":"")}return e},appendQuery:function(e,t,n=!1,r=!1){const s=r?"#":"?",i=((r?/#/:/\?/).test(e)?"&":s)+Object.keys(t).filter(e=>!Utils.isNull(t[e])||!n).map(e=>encodeURIComponent(e)+"="+encodeURIComponent(t[e]??"")).join("&");return e+(i.length>1?i:"")},parseQuery:(e=window.location)=>{"string"!=typeof e&&(e=e.search);const t={};return new URLSearchParams(e).forEach((e,n)=>{Object.defineProperty(t,n,{enumerable:!0,value:e})}),t},hasMandatoryTemplateSegments:function(e){return/(^|\/)\{\.*\}(\/|$)/.test(e)},parseRoute:function(e){let t=e;const s=[];if(!Utils.isNullOrEmpty(t)){let e,i=0;for(;null!=(e=n.exec(t));){const n=e[0],o=r.exec(n);if(!Utils.isNullOrEmpty(o)){const e=o[1];s.push({name:e,optional:"?"===n.charAt(n.length-2),index:i})}t=t.substring(e.index+n.length),i++}}return s},split:function(e){const t=/^((https?:)?\/\/[^\/]+)?([^\?#]+)(\?[^#]*)?(#[^#]*)?$/.exec(e);return t?{domain:t[2]??"",protocol:t[1]??"",path:t[3]??"",query:t[4]??"",hash:t[5]??""}:null},parseState:function(e,t,r,s,i){let o=t;if(Utils.isNullOrEmpty(r)){const e=Utils.URIs.split(t);r=e.path,Utils.isNullOrEmpty(s)&&(s=e.query??""),Utils.isNullOrEmpty(i)&&(i=e.hash??""),o=r+s+i}let a={$path:o,$pathname:r,$querystring:s.length>0?s.substring(1):s,$query:(e=>{const t=e.indexOf("?");return 0===t?Utils.URIs.parseQuery(e.substring(t+1)):{}})(s),$hash:(e=>{const t=e.indexOf("#");return 0!==t?null:e.substring(t+1)})(i)},l=0;const c=e.slice();if(!Utils.isNullOrEmpty(c)){let e;for(;null!=(e=n.exec(r));){const t=e[0],n=c.findIndex(e=>e.index===l);if(n>=0){const e=c[n],{name:r}=e;Object.defineProperty(a,r,{enumerable:!0,value:t.substring(1)}),c.splice(n,1)}l++,r=r.substring(e.index+t.length)}}for(let e=0;e<c.length;e++)if(!c[e].optional)throw`Must provide "${c[e].name}" route value.`;return a}}}static getApiResult(e){if("object"==typeof e&&!Utils.isNull(e)&&e.hasOwnProperty("success"))switch(e.success){case!0:if(e.hasOwnProperty("result"))return e.result;break;case!1:if(e.hasOwnProperty("error"))return null}return e}}e.Utils=Utils}(Pacem||(Pacem={})),function(e){const t="__context_pacem",n=/'(\\'|[^'])*[^\\]?'|"(\\"|[^"])*[^\\]?"/g,r=/[^\w]new\s|[^\w]window\s*[\.\[]|[^\w]document\s*\.|[^\w]eval\s*\(/,s=/(^|[\s\(\[\+\-\*\/!])(:host\.|\^+item[\s\.,;\)\]]|\^+item$|\^+index[^\w\.]|\^+index$|\$?this[\.\s$]?|#[a-zA-Z_][\w]*|::[a-zA-Z_][\w]*)/g;class Expression{constructor(){this._pending=!1,this._independent=!1}get dependencies(){return this._dependencies}get functionBody(){return this._fnBody}get voidBody(){return this._voidBody}get pending(){return this._pending}get independent(){return this._independent}evaluate(){return this._fn||(this._fn=new Function("$pacem",t,this._fnBody)),this._fn.apply(null,[e.Utils.core,this._args])}evaluateAsync(){const n=e.DeferPromise.defer();return this._fn||(this._fn=new Function("$pacem",t,this._fnBody)),n.resolve(this._fn.apply(null,[e.Utils.core,this._args])),n.promise}evaluatePlus(n={}){if(!this._fn){let e=[t];for(var r in n)e.push(r);e.push("$pacem"),this._fn=new Function(e.join(", "),this._voidBody)}let s=[].concat(this._args);for(var r in n)s.push(n[r]);return s.push(e.Utils.core),this._fn.apply(null,s)}static{this._pendingExpression=null}static _getPendingExpressionSingleton(){if(null==Expression._pendingExpression){let e=new Expression;e._pending=!0,e._dependencies=[],Expression._pendingExpression=e}return Expression._pendingExpression}static parse(i,o){for(var a,l=e.CustomElementUtils.findScopeContext(o),c={$this:o},m=[],d="",h=!0,u=[],p=0,v=[];null!=(a=n.exec(i));){v.push(i.substr(p,a.index-p));let e=a[0].length;u.push({start:a.index,length:e}),p=a.index+e}p<i.length&&v.push(i.substr(p,i.length-p));for(var g=0;g<v.length;g++){let n=v[g];if(r.test(n))throw`Unsafe expression detected: "${n}".`;if(null==l){if(!0===new RegExp(s).test(n)){h=!1;break}}else{let r=n.replace(s,(n,r,s,i,a)=>{h=!1;const d="__host_pacem";let u,p=t+".$this"+(s.endsWith(".")?".":""),v=o,g=a.indexOf(".",i),f=g>i?a.substr(g+1).trim():"",_=/^[\w\.\$]+/.exec(f),y=_&&_.length>0&&_[0],E=y&&(u=y.split(".")).length>0&&u[0];if(":host."===s)v=c[d]=c[d]||e.CustomElementUtils.findHostContext(o),p=`${t}.${d}.`;else if(s.endsWith("^item")||s.substr(0,s.length-1).endsWith("^item")){let n=s.endsWith("^item")?"":s.substr(s.length-1,1),r=s.length-(n.length>0?6:5),i=`__item_${r}_up_pacem`,a=e.Repeater.findItemContext(o,r);v=c[i]=c[i]||a&&a.placeholder,y="item"+(y?"."+y:""),E="item",p=`${t}.${i}.item${n}`}else if(s.endsWith("^index")||s.substr(0,s.length-1).endsWith("^index")){let n=s.endsWith("^index")?"":s.substr(s.length-1,1),r=s.length-(n.length>0?7:6),i=`__item_${r}_up_pacem`,a=e.Repeater.findItemContext(o,r);v=c[i]=c[i]||a&&a.placeholder,y="index",E="index",p=`${t}.${i}.index${n}`}else if(s.startsWith("::")){let n=s.substr(2,s.length-2),r=c[d]=c[d]||e.CustomElementUtils.findHostContext(o);v=e.Utils.isNull(r)?null:r[n],p=`${t}.${d}.${n}`}else if(s.startsWith("#")){let e=s.substr(1,s.length-1);v=c[e]=c[e]||l.querySelector("#"+e),p=`${t}.${e}`}return E&&v&&E in v&&"function"!=typeof v[E]&&null==m.find(e=>e.element===v&&e.property==E)&&m.push({element:v,property:E,path:y,twowayAllowed:!1}),r+p});if(d+=r,g<u.length){const e=u[g];d+=i.substr(e.start,e.length)}}}if(h){var f=new Expression;return f._independent=!0,f._fnBody=`return ${i};`,f._voidBody=i,f._dependencies=[],f}if(null==l)return this._getPendingExpressionSingleton();for(var _ in c)if(null==c[_])return Expression._getPendingExpressionSingleton();1==m.length&&!0!==/[^\w\.\$]+/.test(d.trim())&&(m[0].twowayAllowed=!0);var y=new Expression;return y._args=c,y._fnBody=`try{ var ___$$$r = ${d}; return ___$$$r; }catch(e){ }`,y._voidBody=`try{ ${d} }catch(e){ }`,y._dependencies=m,y}}e.Expression=Expression}(Pacem||(Pacem={})),function(e){var t;e.P=(t=window.Pacem)&&t.Configuration&&t.Configuration.prefix||"pacem",e.PCSS=t.Configuration&&t.Configuration.css||e.P}(Pacem||(Pacem={})),function(e){const t="__pacem__",n=/^\{\{(.|\n)+\}\}$/;class CustomElementUtils{static get polyfilling(){return customElements instanceof window.CustomElementRegistry}static camelToKebab(e){return e&&e.replace(/([A-Z])/g,"-$1").toLowerCase()}static kebabToCamel(e){return e&&e.replace(/(-[a-z])/g,e=>e[1].toUpperCase())}static getWatchedProperties(t,n=!0){var r=[],s=t instanceof HTMLElement?t.constructor:t;do{let t=(this.getAttachedPropertyValue(s,e.WATCH_PROPS_VAR)||[]).filter(e=>!e.name.startsWith("_"));Array.prototype.splice.apply(r,[0,0].concat(t))}while(n&&(s=Object.getPrototypeOf(s)));return r}static getWatchedProperty(e,t){return this.getWatchedProperties(e,!0).find(e=>e.name===t)}static importjs(t,n=null,r=!1){var s={type:"text/javascript",src:t};return e.Utils.isNullOrEmpty(n)||e.Utils.extend(s,{integrity:n}),r&&e.Utils.extend(s,{crossorigin:""}),CustomElementUtils.import(t,"script",s,document.head||document.getElementsByTagName("head")[0])}static importcss(t,n=null,r=!1){var s={rel:"stylesheet",href:t};return e.Utils.isNullOrEmpty(n)||e.Utils.extend(s,{integrity:n}),r&&e.Utils.extend(s,{crossorigin:"anonymous"}),CustomElementUtils.import(t,"link",s,document.head||document.getElementsByTagName("head")[0])}static import(t,n,r,s=document.body){const i=e.Utils.core;var o=i.imports=i.imports||{};return o[t]=o[t]||new Promise((t,i)=>{var o=n;for(let e in r||{})o+=`[${e}="${r[e]}"]`;var a=document.querySelector(o);if(e.Utils.isNull(a)){for(var l in(a=document.createElement(n)).onerror=e=>{i(e)},a.onload=()=>{t(a)},r||{})a.setAttribute(l,r[l]);s.appendChild(a)}else t(a)})}static{this.Theme={importWebFonts(){function t(t){return e.Utils.isNullOrEmpty(t)?Promise.resolve():document.fonts.load("1rem "+t)}const n=["icons","std","main","tech","btn"].map(n=>{const r=e.Utils.Css.getVariableValue(`--${e.PCSS}-font-${n}`).split(",")[0],s=(i=e.Utils.Css.getVariableValue(`--${e.PCSS}-font-${n}-api-url`),/^('|").*\1$/.test(i)?i.substring(1,i.length-1):i);var i;return e.Utils.isNullOrEmpty(s)?t(r):CustomElementUtils.importcss(s).then(e=>t(r))}),r=new Promise(e=>{!function t(n=0){n>4||!("size"in document.fonts)||"number"==typeof document.fonts.size&&document.fonts.size>0?document.fonts.ready.then(e):setTimeout(t,250,n++)}()});return n.push(r),Promise.all(n)}}}static setAttachedPropertyValue(n,r,s){if(e.Utils.isNull(n))return;const i=Object.getOwnPropertyDescriptor(n,t),o=i&&i.value||Object.defineProperty(n,t,{value:{},enumerable:!1,writable:!1,configurable:!1})[t];e.Utils.isNull(s)?delete o[r]:o[r]=s}static deleteAttachedPropertyValue(e,t){CustomElementUtils.setAttachedPropertyValue(e,t,void 0)}static getAttachedPropertyValue(n,r,s){const i=Object.getOwnPropertyDescriptor(n,t),o=i&&i.value;return e.Utils.isNull(o&&o[r])&&!e.Utils.isNull(s)?(CustomElementUtils.setAttachedPropertyValue(n,r,s),s):o&&o[r]}static resolvePath(e,t){if(!e||!t)return;if(/[\(\)\{\}]/.test(e))throw`Security alert: not allowed to process paths like ${e}.`;const n=e.split(".");var r,s,i,o=t,a=o,l=n[0];return n.forEach((e,t)=>{e.split("[").forEach((e,t)=>{r=a,/\]$/.test(e)&&(e=e.substring(0,e.length-1),/^('|").+[^\\]\1$/.test(e)&&(e=e.substr(1,e.length-2))),a=a[e]})}),/\]$/.test(e)?(i=e.lastIndexOf("["),s=(s=e.substring(i+1)).substring(0,s.length-1)):(i=e.lastIndexOf("."),s=e.substring(i+1)),{target:{value:a,name:s},parent:{value:r||t,path:e.substring(0,i)},root:{value:o,property:l}}}static set(t,n,r){var s=CustomElementUtils.resolvePath(n,t),i=s.target.value;if(i!==r)if(s.parent.value==s.root.value||s.parent.value instanceof HTMLElement)s.parent.value[s.target.name]=r;else{s.parent.value[s.target.name]=r;const t=e.Utils.clone(s.root.value[s.root.property]);let n;s.parent.value[s.target.name]=i,"item"!==s.root.property||e.Utils.isNull(n=RepeaterItem.getRepeaterItem(s.root.value))?s.root.value[s.root.property]=t:n.repeater&&n.repeater.datasource&&n.repeater.datasource.splice(n.index,1,n.item=t)}}static get(e,t){var n=CustomElementUtils.resolvePath(t,e);return n&&n.target&&n.target.value}static _findScopeContextLegacy(e){let t,n=e;do{n=n.parentNode}while(null!=n&&(n!=(t=e.ownerDocument)||n instanceof HTMLElement&&null!=(t=n.shadowRoot)));return t}static findScopeContext(t){return(t.isConnected?t.getRootNode():CustomElementUtils.getAttachedPropertyValue(t,e.INSTANCE_SCOPE_VAR))??CustomElementUtils._findScopeContextLegacy(t)}static findAncestor(e,t){let n,r=e;for(;r&&null!=(r=r.parentNode||r.getRootNode()?.host);)if(r.host instanceof HTMLElement&&(r=r.host),t.apply(r,[r])){n=r;break}return n}static findAncestorShell(t){return CustomElementUtils.findAncestor(t,t=>e.Utils.is(t,`.${e.PCSS}-body`)||t===document.body)}static findAncestorOfType(e,t){return CustomElementUtils.findAncestor(e,e=>e instanceof t)}static findDescendants(e,t,n=!1){const r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT);for(var s=[];r.nextNode();){let e=r.currentNode;if(!0===t(e)&&(s.push(e),n))return s}return s}static findFirstDescendant(t,n){const r=CustomElementUtils.findDescendants(t,n,!0);return e.Utils.isNullOrEmpty(r)?void 0:r[0]}static findAll(e="[pacem]",t=e=>!0){const n=[];return document.querySelectorAll(e).forEach((e,r,s)=>{!0===t(e)&&n.push(e)}),n}static findPreviousSiblingOrAncestorOfType(e,t,n=0){let r=e,s=null,i=0;do{if(r=r.previousSibling||r.parentNode,r instanceof t){if(i>=n){s=r;break}r=r.parentNode,i++}}while(null!=r);return s}static findPreviousSiblingOrAncestor(e,t,n=0){let r=e,s=null,i=0;do{if(r=r.previousSibling||r.parentNode,r&&t.apply(r,[r])){if(i>=n){s=r;break}r=r.parentNode,i++}}while(null!=r);return s}static assignHostContext(t,n){const r=document.createTreeWalker(n.content,NodeFilter.SHOW_ELEMENT+NodeFilter.SHOW_DOCUMENT_FRAGMENT);for(;r.nextNode();){var s=r.currentNode;e.Utils.isNull(CustomElementUtils.getAttachedPropertyValue(s,e.INSTANCE_HOST_VAR))&&CustomElementUtils.setAttachedPropertyValue(s,e.INSTANCE_HOST_VAR,t)}}static findHostContext(t){let n,r,s=t;if(!s.isConnected)return n;for(;null!=s&&(n=CustomElementUtils.getAttachedPropertyValue(s,e.INSTANCE_HOST_VAR),!(n instanceof HTMLElement));)s=s.parentElement;return null==n&&console&&(r=console.warn)&&r(`Element "${t.constructor.name}" isn't a descendant of a templated component.`),n}static isBindingAttribute(e){return n.test(e)}static extractBindingAttributeExpression(e){if(CustomElementUtils.isBindingAttribute(e))return e.substr(2,e.length-4);throw"Invalid attribute: incorrect binding syntax."}static parseBindingAttribute(t,n){let r=CustomElementUtils.extractBindingAttributeExpression(t);const s=/,\s*(twoway|once)\s*$/.exec(r),i=s&&s.length>1&&s[1];e.Utils.isNullOrEmpty(i)||(r=r.substr(0,r.lastIndexOf(",")));var o=e.Expression.parse(r,n);return(o&&o.dependencies).forEach(e=>{switch(i){case"twoway":e.mode=e.twowayAllowed&&1==o.dependencies.length?"twoway":void 0;break;case"once":e.mode=i}}),o}static ensureMember(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);return null!=r?r:(Object.defineProperty(e,t,n),Object.getOwnPropertyDescriptor(e,t))}static stripObservedAttributes(e){r(e,!1)}static freezeObservedAttributes(e){r(e)}}function r(t,n=!0){const r=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);do{var s=r.currentNode;if(s instanceof HTMLElement){const t=s.constructor.observedAttributes;if(!e.Utils.isNull(t)){CustomElementUtils.deleteAttachedPropertyValue(s,e.INSTANCE_BINDINGS_VAR);let r=function(t){if(e.Utils.isArray(t))return"["+t.map(r).join(",")+"]";if(t instanceof Element){return`#${t.id=t.id||"_"+e.Utils.uniqueCode()}`}return`${e.Utils.Json.stringify(t)}`};for(var i of t)if(i in s.attributes){let t,o;if(n&&!e.Utils.isNull(o=s[t=CustomElementUtils.kebabToCamel(i)])){let e=r(o);s.setAttribute(i,`{{ ${e} }}`)}else s.removeAttribute(i)}}}}while(r.nextNode())}e.CustomElementUtils=CustomElementUtils;const s=CustomElementUtils.getAttachedPropertyValue,i=CustomElementUtils.setAttachedPropertyValue,o="pacem:repeater-item";e.Repeater=class Repeater{static findItemContext(e,t=0,n=console.warn){let r=RepeaterItem.findUpwards(e,t,n);return null==r&&n&&e instanceof HTMLElement&&e.isConnected&&n(`Couldn't find a ${RepeaterItem.name} up ${t} level${1===t?"":"s"} from element "${e.constructor.name}".`),r}};class RepeaterItem{static findUpwards(t,n=0,r=console.warn){if(e.Utils.isNull(t)||"template"===t.localName||t instanceof e.TemplateElement)return null;let s=null;return null==CustomElementUtils.findPreviousSiblingOrAncestor(t,t=>!e.Utils.isNull(s=RepeaterItem.getRepeaterItem(t)),n)&&r&&t instanceof HTMLElement&&t.isConnected&&r(`Couldn't find a ${RepeaterItem.name} up ${n} level${1===n?"":"s"} from element "${t.constructor.name}".`),s}static isRepeaterItem(t){return!e.Utils.isNull(s(t,o))}static getRepeaterItem(e){return s(e,o)}constructor(e){this._placeholder=e,i(e,o,this)}get placeholder(){return this._placeholder}}e.RepeaterItem=RepeaterItem}(Pacem||(Pacem={})),function(e){let t;!function(e){e.AltKey="Alt",e.CtrlKey="Ctrl",e.ShiftKey="Shift",e.MetaKey="Cmd"}(t=e.EventKeyModifier||(e.EventKeyModifier={}));e.CustomEventUtils=class CustomEventUtils{static isInstanceOf(e,t){return e instanceof t}static getEventCoordinates(t){var n;return"touches"in t?e.Utils.isNullOrEmpty(t.touches)?e.Utils.isNullOrEmpty(t.changedTouches)||(n=t.changedTouches[0]):n=t.touches[0]:n=t,{page:{x:n.pageX,y:n.pageY},screen:{x:n.screenX,y:n.screenY},client:{x:n.clientX,y:n.clientY}}}static getEventKeyModifiers(e){var t=e.which;return e instanceof MouseEvent&&(t=e.button),{which:t,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey}}static matchModifiers(t,...n){const r=(!e.Utils.isNull(n)&&(1===n.length&&e.Utils.isArray(n[0])?n[0]:Array.from(n).filter(t=>!e.Utils.isNullOrEmpty(t)))||[]).map(e=>e.toLowerCase()),s=r.indexOf("alt")>=0||r.indexOf("option")>=0,i=r.indexOf("shift")>=0,o=r.indexOf("ctrl")>=0,a=r.indexOf("win")>=0||r.indexOf("cmd")>=0;return s===t.altKey&&i===t.shiftKey&&a===t.metaKey&&o===t.ctrlKey}static fixEdgeCustomEventSubClassInstance(e,t){e instanceof t||Object.setPrototypeOf(e,t)}}}(Pacem||(Pacem={})),function(e){class CustomTypedEvent extends CustomEvent{constructor(t,n,r){super(t,e.Utils.extend({detail:n},r||{})),e.CustomEventUtils.fixEdgeCustomEventSubClassInstance(this,this.constructor)}}e.CustomTypedEvent=CustomTypedEvent;class CustomUIEvent extends CustomEvent{constructor(t,n,r,s){super(t,e.Utils.extend(function(e){if("detail"in e){for(let t in e)if("bubbles"!==t&&"cancelable"!==t&&"composed"!==t&&"detail"!==t)return!1;return!0}return!1}(n||{})?n:{detail:n},!(r instanceof Event)&&r||{}));const i=s||r;i instanceof Event&&(this.#e=i,this.#t=e.CustomEventUtils.getEventKeyModifiers(i),(i instanceof MouseEvent||i instanceof TouchEvent)&&(this.#n=e.CustomEventUtils.getEventCoordinates(i))),e.CustomEventUtils.fixEdgeCustomEventSubClassInstance(this,this.constructor)}#e;#t;#n;get originalEvent(){return this.#e}get which(){return this.#t?.which}get altKey(){return this.#t?.altKey}get shiftKey(){return this.#t?.shiftKey}get ctrlKey(){return this.#t?.ctrlKey}get metaKey(){return this.#t?.metaKey}get pageX(){return this.#n?.page.x}get pageY(){return this.#n?.page.y}get clientX(){return this.#n?.client.x}get clientY(){return this.#n?.client.y}get screenX(){return this.#n?.screen.x}get screenY(){return this.#n?.screen.y}}e.CustomUIEvent=CustomUIEvent,e.AttributeChangeEventName="attributechange";e.AttributeChangeEvent=class AttributeChangeEvent extends CustomTypedEvent{constructor(t){super(e.AttributeChangeEventName,t)}},e.PropertyChangeEventName="propertychange";e.PropertyChangeEvent=class PropertyChangeEvent extends CustomTypedEvent{constructor(t){super(e.PropertyChangeEventName,t)}}}(Pacem||(Pacem={})),function(e){const t={convert:e=>{}},n={convert:e=>e&&e.trim().split(/[ ,]+/),convertBack:t=>e.Utils.isArray(t)&&t.join(" ")||""},r={convert:e=>parseFloat(e),convertBack:e=>e.toString()},s={convert:t=>!e.Utils.isNullOrEmpty(t)&&"0"!==t&&"false"!==t,convertBack:e=>(!!e).toString()},i={convert:t=>e.Utils.parseDate(t),convertBack:t=>e.Utils.parseDate(t).toISOString()},o=i,a={convert:t=>e.Utils.Json.parse(t),convertBack:t=>e.Utils.Json.stringify(t)},l={convert:e=>Function(`return ${e};`).apply(null),convertBack:e=>{}},c={convert:e=>document.querySelector(e),convertBack:e=>e instanceof Element&&e.id?"#"+e.id:void 0,retryConversionWhenReady:!0},m={convert:t=>e.Point.parse(t),convertBack:e=>`${e.x||0} ${e.y||0}`},d={convert:t=>e.Size.parse(t),convertBack:e=>`${e.width||0} ${e.height||0}`},h={convert:t=>e.Rect.parse(t),convertBack:e=>`${e.x||0} ${e.y||0} ${e.width||0} ${e.height||0}`};e.PropertyConverters={None:t,String:{convert:e=>e,convertBack:e=>e},StringArray:n,Number:r,Boolean:s,BooleanStrict:{convert:e=>"true"===e||"1"===e,convertBack:e=>(!!e).toString()},Date:o,Datetime:i,Json:a,Eval:l,Element:c,Point:m,Rect:h,Size:d}}(Pacem||(Pacem={})),function(e){e.DefaultComparer=(t,n)=>e.Utils.areSemanticallyEqual(t,n)}(Pacem||(Pacem={})),function(e){const t=e.CustomElementUtils.getAttachedPropertyValue,n=e.CustomElementUtils.setAttachedPropertyValue,r=e.CustomElementUtils.deleteAttachedPropertyValue,s="pacem:version",i="pacem:binding:",o="pacem:view-children",a="pacem:has-binding:",l="pacem:custom-element:has-template",c="pacem:custom-element:has-templated",m="pacem:custom-element:promise",d="pacem:custom-element:ready",h="pacem:custom-element:startup";function u(s,o,l){var c=s;const m=o,h=l;var u=t(c,i+m);if(u&&u.forEach(t=>{t.dep.element.removeEventListener(e.PropertyChangeEventName,t.callback,!1)}),e.Utils.isNull(h)||!0!==t(s,d))r(c,i+m),r(c,a+m);else if(h.pending)n(c,i+m,[]);else{let t="oneway";switch(h.dependencies&&h.dependencies.length&&h.dependencies[0].mode){case"twoway":1==h.dependencies.length&&(t="twoway");break;case"once":t="once"}n(c,a+m,t);const r=h.dependencies.map(t=>{var n={dep:t,callback:function(e){e.detail.propertyName===t.property&&(c[m]=h.evaluate())}};return t.element.addEventListener(e.PropertyChangeEventName,n.callback,!1),n});n(c,i+m,r),c[m]=h.evaluate()}}e.CustomElement=s=>p=>{if(e.Utils.customElements.get(s.tagName))console.warn(`${s.tagName} registration skipped, since already defined.`);else{var v=e.CustomElementUtils.getWatchedProperties(p,!0);if(n(p,l,!(e.Utils.isNullOrEmpty(s.template)&&e.Utils.isNullOrEmpty(s.templateUrl))),v&&v.length>0){const t="observedAttributes";var g=[];p.hasOwnProperty(t)&&(g=p[t].slice(),delete p[t]);let n=g;for(var f of v){let t=e.CustomElementUtils.camelToKebab(f.name);n.unshift(t)}Object.defineProperty(p,t,{get:function(){return n},enumerable:!0,configurable:!1})}{const g=p.prototype,f=Object.getOwnPropertyDescriptor(g,"connectedCallback")||g.connectedCallback,_=Object.getOwnPropertyDescriptor(g,"viewActivatedCallback")||g.viewActivatedCallback;Object.defineProperty(g,"connectedCallback",{value:function(){const i=this;i.setAttribute("pacem",""),i.setAttribute("cloak",""),r(i,o),f&&f.value?f.value.apply(i,[]):"function"==typeof f&&f.apply(i),function(t){var n=e.DeferPromise.defer();const r=t=>{e.Utils.isDOMReady()?n.resolve(t):e.Utils.onDOMReady(e=>{n.resolve(t)})};t.template?r(t.template):t.templateUrl?(new e.Net.Http).get(t.templateUrl).success(e=>{let n=t.template=e.text;return r(n),e}).error(e=>{console.error(e.message),r(null)}):r(null);return n.promise}(s).then(r=>{if(!i.isConnected)return;var o=[];if(!0!==t(i,d)&&!e.Utils.isNullOrEmpty(r)&&1!=t(i,c)){n(i,c,!0);const d=i,h=s.shadow,u=document.createElement("template").content,v=document.createElement("template");if(!h)for(var a=d.childNodes.length-1;a>=0;a--)u.insertBefore(d.childNodes.item(a),u.firstChild);v.innerHTML=r;const _=v.content.querySelectorAll(e.P+"-content");if(e.CustomElementUtils.assignHostContext(i,v),1==_.length){const e=_.item(0);var p=e.nextSibling;const t=e.parentElement||v.content,n=u.childNodes;for(t.removeChild(e);n.length>0;)try{let e=n.item(0);t.insertBefore(e,p)}catch(e){console.error(e.toString())}}else if(_.length>1)throw"There can only be at most 1 content placeholder inside a template.";var g;if(s.shadow)(g=d.attachShadow({mode:"open"})).appendChild(v.content);else{g=d;for(var f=v.content.children;f.length>0;)g.append(f.item(0))}o=function(n,r){const s=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT);for(var i=[];s.nextNode();){var o=s.currentNode;if(!0===t(o.constructor,l)){var a=t(o,m,e.DeferPromise.defer());i.push(a.promise)}}return i}(0,g)}n(i,d,!0);for(let t of v){const n=t.name,r=t.config;if(!r.converter.retryConversionWhenReady||!e.Utils.isNull(i[n]))continue;const s=e.CustomElementUtils.camelToKebab(n),o=i.getAttribute(s);e.Utils.isNullOrEmpty(o)||e.CustomElementUtils.isBindingAttribute(o)||(i[n]=r.converter.convert(o,i))}(t(i,h)||[]).forEach(e=>{e.apply(i)});(t(i,e.INSTANCE_BINDINGS_VAR)||[]).forEach(t=>{const n=t;if(!(n in i.attributes))throw`Howcome? ${n} not in ${i.constructor.name} attributes!?...`;const r=i.attributes[n].value;if(e.CustomElementUtils.isBindingAttribute(r)){var s=e.CustomElementUtils.parseBindingAttribute(r,i);u(i,e.CustomElementUtils.kebabToCamel(t),s)}});i.removeAttribute("cloak"),Promise.all(o).then(n=>(()=>{_&&_.value?_.value.apply(i,[]):"function"==typeof _&&_.apply(i);var n=t(i,m);e.Utils.isNull(n)||n.resolve()})())})},configurable:!0,enumerable:!0});const y=Object.getOwnPropertyDescriptor(g,"disconnectedCallback")||g.disconnectedCallback;Object.defineProperty(g,"disconnectedCallback",{value:function(){const r=this;y&&y.value?y.value.apply(r,[]):"function"==typeof y&&y.apply(r,[]),n(r,d,!1);(t(r,e.INSTANCE_BINDINGS_VAR)||[]).forEach(t=>{u(r,e.CustomElementUtils.kebabToCamel(t))})},configurable:!0,enumerable:!0});const E=Object.getOwnPropertyDescriptor(g,"attributeChangedCallback")||g.attributeChangedCallback;Object.defineProperty(g,"attributeChangedCallback",{value:function(n,r,s){const i=this,o=!0===t(i,d);E&&E.value?E.value.apply(i,[n,r,s]):"function"==typeof E&&E.apply(i,[n,r,s]);const a=new e.AttributeChangeEvent({attributeName:n,oldValue:r,currentValue:s,firstChange:!o});i.dispatchEvent(a);const l=e.CustomElementUtils.isBindingAttribute(s),c=n,m=e.CustomElementUtils.kebabToCamel(c);if(l){let n=e.CustomElementUtils.parseBindingAttribute(s,i);if(!(n instanceof e.Expression))throw`Howcome? ${s} misinterpreted as ${c} binding...`;n.independent?(i[m]=n.evaluate(),u(i,m)):(t(i,e.INSTANCE_BINDINGS_VAR,[]).push(c),n.pending||u(i,m,n))}else{var h=v.find(e=>e.name===m);e.Utils.isNull(h)||(u(i,m),i[m]=h.config.converter.convert(s,i))}},configurable:!0,enumerable:!0});const C=Object.getOwnPropertyDescriptor(g,"propertyChangedCallback")||g.propertyChangedCallback;Object.defineProperty(g,"propertyChangedCallback",{value:function(n,r,s,o,l){const c=this,m=!0===t(c,d),p=()=>{const o=t(c,a+n);if(C&&C.value?C.value.apply(c,[n,r,s,!m]):"function"==typeof C&&C.apply(c,[n,r,s,!m]),!l||!1!==l.emit){const t=new e.PropertyChangeEvent({propertyName:n,oldValue:r,currentValue:s,firstChange:!m});c.dispatchEvent(t)}if(e.Utils.isNullOrEmpty(o)){var d=v.find(e=>e.name===n);if(l&&!0===l.reflectBack&&!e.CustomElementUtils.polyfilling){var h,p=e.CustomElementUtils.camelToKebab(n),g=c.attributes.getNamedItem(p);if(m||e.Utils.isNullOrEmpty(g))if(null==s)c.removeAttribute(p);else if(d&&(h=d.config)&&"function"==typeof h.converter.convertBack){const e=h.converter.convertBack(s,c);null!=g&&e===g.value||c.setAttribute(p,e)}}}else if("twoway"===o){const r=t(c,i+n)[0].dep;e.CustomElementUtils.set(r.element,r.path,s)}else"once"===o&&u(c,n)};m?p.apply(c):t(c,h,[]).push(p)},configurable:!0,enumerable:!0})}e.Utils.customElements.define(s.tagName,p,s.options),e.Utils.customElements.whenDefined(s.tagName).then(()=>{})}};const p=e.PropertyConverters.None;e.Watch=function(r){return(i,o,a)=>{t(i.constructor,e.WATCH_PROPS_VAR,[]).push({name:o,config:e.Utils.extend({emit:!0,converter:p},r)});const l=e.DefaultComparer,c=a&&a.set,m="pacem:property:"+o,d=s,h=s+":"+o;function u(){return t(this,m)}function v(e,n,s){const i=this,a=r&&r.debounce;let l;if("function"==typeof(l=i.propertyChangedCallback)){let s=()=>l.apply(i,[e,n,t(i,m),!1,r]);"number"==typeof a&&a>0?(clearTimeout(this["_handle_"+o]),this["_handle_"+o]=setTimeout(s,a)):!0===a?(cancelAnimationFrame(this["_handle_"+o]),this["_handle_"+o]=requestAnimationFrame(s)):s()}}function g(e){const r=this;if(e=e||r[o],!0===t(e,"pacem:array:decorated"))return;n(e,"pacem:array:decorated",!0);const s=Array.prototype,i={splice:s.splice,pop:s.pop,copyWithin:s.copyWithin,push:s.push,shift:s.shift,unshift:s.unshift};for(let t in i){let s=t;e[s]=function(...e){const t=i[s].apply(this,e);return n(this,d,Date.now()),v.call(r,o,this,this),t}}}function f(r,s){const i=this,a=e.Utils.isArray(s);(!l(r,s)||a&&t(s,d)!==t(i,h))&&(n(i,m,s),a&&(n(i,h,t(s,d)),g.call(i,s)),v.call(i,o,r,s))}if(c)a.set=function(e){const t=this,n=t[o];c.call(t,e);const r=t[o];f.call(t,n,r)};else{try{i.ownerDocument&&(i[m]=i[o])}catch(e){}delete i[o]&&Object.defineProperty(i,o,{get:function(){return u.call(this)},set:function(e){const n=t(this,m);f.call(this,n,e)},enumerable:!0,configurable:!0})}}},e.ViewChild=function(n){return(r,s,i)=>{const a=`${s}_${e.Utils.uniqueCode()}`;function l(){const r=this,s=(r.shadowRoot||r).querySelectorAll(n);for(let n=0;n<s.length;n++){let i=s.item(n);if(t(i,e.INSTANCE_HOST_VAR)===r)return i}return null}function c(){const e=t(this,o,{});return e[a]=e[a]||l.call(this)}delete r[s]&&Object.defineProperty(r,s,{get:function(){return c.call(this)},enumerable:!0,configurable:!0})}},e.Concurrent=function(){return function(t,n,r){const s=r.value,i=`pacem:concurrent-buffer:${n}`,o=`pacem:concurrent-running:${n}`;r.value=function(...t){var n=this,r=e.CustomElementUtils.getAttachedPropertyValue(n,i,[]);if(e.CustomElementUtils.getAttachedPropertyValue(n,o,!1)){let n=e.DeferPromise.defer();return t.push(n),r.push(t),n.promise}var a,l=s.apply(n,t);if((a=l)&&"function"==typeof a.then){let i=t&&t.length>0&&t[t.length-1];return i&&i.promise instanceof e.DeferPromise?t.pop():i=e.DeferPromise.defer(),e.CustomElementUtils.setAttachedPropertyValue(n,o,!0),l.then(t=>{i.resolve(t),e.CustomElementUtils.setAttachedPropertyValue(n,o,!1),r.length>0&&s.apply(n,r.shift())},t=>{e.CustomElementUtils.setAttachedPropertyValue(n,o,!1),i.reject(t)}),i.promise}return l}}},e.Debounce=function(e=50,r=(e,...t)=>`pacem:debouncer:${e}`){return function(s,i,o){const a=o.value;!0===e?o.value=function(...e){const s=r(i,...e);var o=this;cancelAnimationFrame(t(o,s)),n(o,s,requestAnimationFrame(()=>{a.apply(o,e)}))}:e>0&&(o.value=function(...s){const o=r(i,...s);var l=this;clearTimeout(t(l,o,0)),n(l,o,setTimeout(()=>{a.apply(l,s)},e))})}},e.Throttle=function(s=50,i=(e,...t)=>`pacem:throttler:${e}`){return function(o,a,l){const c=l.value;l.value=function(...o){const l=i(a,...o),m=`${l}:args`,d=this,h=()=>{r(d,l);const e=t(d,m);r(d,m),e&&c.apply(d,o)};e.Utils.isNull(t(d,l))?(n(d,l,1),c.apply(d,o),!0===s?requestAnimationFrame(h):s>0&&setTimeout(h,s)):n(d,m,o??["pacem"])}}};class Transforms{static register(t,n){let r=e.Utils.core;const s=(t||n.name).split(".");for(let e of s.slice(0,-1))r=r[e]||(r[e]={});const i=s[s.length-1]||n.name;e.Utils.isNull(r[i])?r[i]=n:console.warn(`A transform named ${i} already exists in this set.`)}}e.Transformer=function(e){return function(t,n,r){const s=r.value;Transforms.register(e,s)}}}(Pacem||(Pacem={})),function(e){!function(e){let t;!function(e){e.Trace="trace",e.Debug="debug",e.Warn="warn",e.Error="error",e.Info="info",e.Log="log"}(t=e.LogLevel||(e.LogLevel={}))}(e.Logging||(e.Logging={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemEventTarget extends HTMLElement{constructor(){super(),this._isReady=!1,this.emitHandler=e=>{this.disabled||this.emit(e)}}emit(e){e.defaultPrevented||this._emitCore(e)}_emitCore(t){var n=`on-${t.type.toLowerCase()}`;if(n in this.attributes){this.log(e.Logging.LogLevel.Debug,`Calling ${n} handler for event ${t.type}`);var r=this.attributes[n].value,s=e.Expression.parse(r,this);e.Utils.isNull(s)||!0===s.pending||s.evaluatePlus({$event:t})}}handle(t,n){"string"==typeof t&&(t=e.Utils.isNull(n)?new Event(t,{cancelable:!1}):new CustomEvent(t,{cancelable:!1,detail:n})),this.emit(t)}get isReady(){return this._isReady}connectedCallback(){e.CustomElementUtils.setAttachedPropertyValue(this,e.INSTANCE_SCOPE_VAR,e.CustomElementUtils.findScopeContext(this)),this.log(e.Logging.LogLevel.Debug,"Connected.")}disconnectedCallback(){this._isReady=!1,this.dispatchEvent(new Event("unload")),e.CustomElementUtils.deleteAttachedPropertyValue(this,e.INSTANCE_SCOPE_VAR),this.log(e.Logging.LogLevel.Debug,"Disconnected.")}viewActivatedCallback(){this._isReady=!0,this.log(e.Logging.LogLevel.Debug,"Loaded (view activated)."),this.dispatchEvent(new Event("load"))}propertyChangedCallback(t,n,r,s){s?this.log(e.Logging.LogLevel.Log,`Property "${t}" changed at start-up`):this.log(e.Logging.LogLevel.Log,`Property "${t}" changed from ${n} to ${r}`)}dispatchEvent(t){if(this.disabled)return!1;this.log(e.Logging.LogLevel.Log,`Dispatching event "${t.type}"`);const n=super.dispatchEvent(t);return this.emit(t),n}log(e,t,n=this.localName+(this.id?"#"+this.id:"")){this.logger&&"function"==typeof this.logger.log&&this.logger.log(e,t,n)}refreshBindings(){for(let t=0;t<this.attributes.length;t++){let n=this.attributes.item(t);if(!e.CustomElementUtils.isBindingAttribute(n.value))continue;let r=e.CustomElementUtils.kebabToCamel(n.name),s=e.CustomElementUtils.parseBindingAttribute(n.value,this);this[r]=s.evaluate()}}}__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],PacemEventTarget.prototype,"disabled",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],PacemEventTarget.prototype,"logger",void 0),t.PacemEventTarget=PacemEventTarget}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){class CurrentIndexChangeEvent extends e.CustomTypedEvent{constructor(e){super("currentindexchange",e)}}e.CurrentIndexChangeEvent=CurrentIndexChangeEvent}(Pacem||(Pacem={})),Array.prototype.union=function(e){const t=Pacem.Utils.isNullOrEmpty(this),n=Pacem.Utils.isNullOrEmpty(e);return t&&n?[]:n?this.slice():t?e.slice():Array.from(new Set(this.concat(e)))},Array.prototype.moveWithin=function(e,t){const n="Index must be greater or equal than 0 and less or equal than the length of the array.";var r=this;if(e<0||e>r.length)throw new Error(n);if(t<0||t>r.length)throw new Error(n);r.splice(t,0,Array.prototype.splice.apply(r,[e,1])[0])},Array.prototype.equalsContent=function(e){if(null==e||this.length!==e.length)return!1;for(let t=0;t<this.length;t++)if(this[t]!==e[t])return!1;return!0},Array.prototype.cloneFrom=function(e){if(null==e)throw"Cannot clone array from null object.";const t=e.length;var n=this.length!==e.length;for(let r=0;r<t;r++){const t=e[r];this.length>r?this[r]!==t&&(this[r]=t,n=!0):(Array.prototype.push.apply(this,[t]),n=!0)}n&&this.splice(t)},function(e){e.CommandEventName="command";class CommandEvent extends e.CustomTypedEvent{constructor(t){super(e.CommandEventName,t,{bubbles:!0,cancelable:!0})}}e.CommandEvent=CommandEvent}(Pacem||(Pacem={})),function(e){e.Defaults={USE_SHADOW_ROOT:!1}}(Pacem||(Pacem={})),function(e){!function(e){e.EMPTY_MATCHER=/a^/;e.Regex=class Regex{static split(e,t){for(var n,r=0,s=[];null!=(n=t.exec(e));){s.push({value:e.substr(r,n.index-r),match:!1,index:r});let t=n[0].length;s.push({value:e.substr(n.index,t),match:!0,index:n.index}),r=n.index+t}return r<e.length&&s.push({value:e.substr(r,e.length-r),match:!1,index:r}),s}}}(e.RegularExpressions||(e.RegularExpressions={}))}(Pacem||(Pacem={})),function(e){const t="_exp";e.Storage=class Storage{_getStorage(e){return e?window.localStorage:window.sessionStorage}_parseValue(n,r){const s=n.getItem(r);if(e.Utils.isNullOrEmpty(s))return null;const i=e.Utils.Json.parse(s);if(!Object.hasOwnProperty(t))return i;return i[t]<Date.now()?(n.removeItem(r),null):i.value}setPropertyValue(n,r,s){var i=this._getStorage(!0===s||"number"==typeof s&&s>0),o=r;if("number"==typeof s&&s>0){const e=Date.now()+1e3*s;(o={value:r})[t]=e}i.setItem(n,e.Utils.Json.stringify(o)),(i=this._getStorage(!s)).removeItem(n)}getPropertyValue(e){return this._parseValue(this._getStorage(!1),e)||this._parseValue(this._getStorage(!0),e)}clear(){var e=this._getStorage(!0);e.clear(),(e=this._getStorage(!1)).clear()}removeProperty(e){var t=this._getStorage(!0);t.removeItem(e),(t=this._getStorage(!1)).removeItem(e)}}}(Pacem||(Pacem={})),function(e){class TemplateElement extends HTMLElement{}e.TemplateElement=TemplateElement}(Pacem||(Pacem={})),function(e){function t(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}class Transforms{static highlight(n,r,s=e.PCSS+"-highlight"){if(!r||!n)return n;let i=n.substring(0);const o=r.substring(0).split(" ");for(var a=0;a<o.length;a++){const e=t(o[a]),n=new RegExp("(?![^<>]*>)"+e,"gi");i=i.replace(n,function(e,t,n){var r;return(r=n.indexOf("<",t))!=n.indexOf("</",t)||-1==r?'<span class="'+s+'">'+e+"</span>":e})}return i}static diff(t,n,r="full",s,i,o){const{mode:a,output:l,cssAdd:c,cssRemove:m}=function(e,t,n,r){let s,i,o="char",a="full";return["line","word","char"].includes(e)?(o=e,a=t,s=n,i=r):(a=e,s=t,i=n),{mode:o,output:a,cssAdd:s??"fill-green-container",cssRemove:i??"fill-red-container"}}(r,s,i,o);return e.Utils.diff(t,n,a).reduce((t,n)=>{const r=n.type;if("="===r)t+=n.value;else if("+"===r&&"left"!==l||"-"===r&&"right"!==l){const s=n.value.split(/\r?\n/),i=s.length-1;for(let n=0;n<=i;n++){const o=s[n];if(!e.Utils.isNullOrEmpty(o)||n<i){const n="-"===r?m:c;t+=`<span class="${e.PCSS}-token ${n} text-prewrap">${o||" "}</span>`}n<i&&(t+="\n")}}return t},"")}static padleft(t,n,r){return e.Utils.leftPad(""+t,n,r)}static size(e){return e>0?e<1024?e+" B":e<1048576?(e/1024).toFixed(2)+" kB":e<1073741824?(e/1048576).toFixed(2)+" MB":(e/1073741824).toFixed(2)+" GB":"-"}static decToDeg(e,t="° ",n="' ",r='"'){const s=Math.sign(e);e=Math.abs(e);const i=Math.floor(e),o=60*(e-i),a=Math.floor(o),l=60*(o-a);return(s<0?"-":"")+i+t+a+n+Math.floor(l)+r}static date(t,n,r){var s=e.Utils.parseDate(t),i=r||navigator.language;if(!e.Utils.isNull(n)&&"string"!=typeof n)return s.toLocaleString(r,n);switch(n){case"iso":return s.toISOString();case"isodate":return s.toISOString().substring(0,10);case"localdate":return`${s.getFullYear()}-${e.Utils.leftPad(s.getMonth()+1,2,"0")}-${e.Utils.leftPad(s.getDate(),2,"0")}`;case"time":case"localtime":return s.toLocaleTimeString(i,{hour:"numeric",minute:"numeric",second:"numeric",hour12:!1});case"full":const t=-s.getTimezoneOffset()/60;var o="";return 0!=t&&(o=" (UTC"+(t>0?"+":"-")+Math.abs(t).toLocaleString()+")"),s.toLocaleString(i)+o;default:return s.toLocaleDateString(i)}}static timespan(t,n,r,s){const i=e.Utils.parseDate(t),o=e.Utils.parseDate(n).valueOf()-i.valueOf(),a=o<0?"-":"",l=Math.abs(o);if("object"==typeof r){const t={timeZone:"UTC",hour12:!1},n=e.Utils.extend(t,r);return(a||(r.sign?"+":""))+Intl.DateTimeFormat(s??navigator.language,n).format(l)}const c=864e5,m=36e5;return`${a}${Math.floor(l/c)}d ${Math.floor(l%c/m)}h ${Math.floor(l%m/6e4)}m ${Math.floor(l%6e4/1e3)}s ${Math.floor(l%1e3)}ms`}static currency(e,t,n){return new Intl.NumberFormat(n??navigator.language,{style:"currency",currency:t}).format(e)}static number(e,t,n){return"string"==typeof t?new Intl.NumberFormat(t||navigator.language).format(e):new Intl.NumberFormat(n??navigator.language,t).format(e)}static filter(e,t){return e.filter(t)}static orderby(t,n){return t.sort((t,r)=>(e.Utils.isNullOrEmpty(n)||(t=t[n],r=r[n]),t>r?1:t<r?-1:0))}static isMatch(e,t,n){return new RegExp(t,n).test(e)}static isEmpty(t){return e.Utils.isEmpty(t)}static isNull(t){return e.Utils.isNull(t)}static isNullOrEmpty(t){return e.Utils.isNullOrEmpty(t)}static getCssVariable(t){return e.Utils.Css.getVariableValue(t)}static getQuerystring(t){return e.Utils.URIs.parseQuery()[t]}static importThemeWebFonts(){return e.CustomElementUtils.Theme.importWebFonts()}static findHostContext(t){return e.CustomElementUtils.findHostContext(t)}}__decorate([e.Transformer()],Transforms,"highlight",null),__decorate([e.Transformer()],Transforms,"diff",null),__decorate([e.Transformer()],Transforms,"padleft",null),__decorate([e.Transformer()],Transforms,"size",null),__decorate([e.Transformer()],Transforms,"decToDeg",null),__decorate([e.Transformer()],Transforms,"date",null),__decorate([e.Transformer()],Transforms,"timespan",null),__decorate([e.Transformer()],Transforms,"currency",null),__decorate([e.Transformer()],Transforms,"number",null),__decorate([e.Transformer()],Transforms,"filter",null),__decorate([e.Transformer()],Transforms,"orderby",null),__decorate([e.Transformer("regex.")],Transforms,"isMatch",null),__decorate([e.Transformer()],Transforms,"isEmpty",null),__decorate([e.Transformer()],Transforms,"isNull",null),__decorate([e.Transformer()],Transforms,"isNullOrEmpty",null),__decorate([e.Transformer("cssvar")],Transforms,"getCssVariable",null),__decorate([e.Transformer("querystring")],Transforms,"getQuerystring",null),__decorate([e.Transformer()],Transforms,"importThemeWebFonts",null),__decorate([e.Transformer("host")],Transforms,"findHostContext",null)}(Pacem||(Pacem={})),function(e){!function(e){const t=.5*Math.PI,n=e=>e,r=e=>Math.sin(e*t-t)+1,s=e=>Math.sin(e*t),i=e=>.5*Math.sin(e*Math.PI-t)+.5,o=e=>(Math.pow(Math.E,e)-1)/(Math.E-1),a=e=>Math.log(e*(Math.E-1)+1),l=t=>t<.5?.5*e.Easings.expoIn(2*t):.5*(1+e.Easings.expoOut(2*t-1));function c(e,t){const n=t=>e(t);return n.css=t,n}e.Easings={linear:c(n,"linear"),sineIn:c(r,"cubic-bezier(0.12, 0, 0.39, 0)"),sineOut:c(s,"cubic-bezier(0.61, 1, 0.88, 1)"),sineInOut:c(i,"cubic-bezier(0.37, 0, 0.63, 1)"),expoIn:c(o,"cubic-bezier(0.7, 0, 0.84, 0)"),expoOut:c(a,"cubic-bezier(0.16, 1, 0.3, 1)"),expoInOut:c(l,"cubic-bezier(0.87, 0, 0.13, 1)")}}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){class AnimationEvent extends e.CustomTypedEvent{constructor(e){super("step",e)}}t.AnimationEvent=AnimationEvent;class AnimationEndEvent extends CustomEvent{constructor(){super("end")}}t.AnimationEndEvent=AnimationEndEvent;class AnimationStartEvent extends CustomEvent{constructor(){super("start")}}t.AnimationStartEvent=AnimationStartEvent}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(e){class Timer{#r;#s;#i;constructor(e,t){this.#o=0,this._run=e=>{this.#i=requestAnimationFrame(this._run);const t=performance.now(),n=this.#r,r=t-this.#o;r>=n&&(this.#o=t-r%n,this.#s(e))},this.#r=1e3/t,this.#s=e,this.#i=requestAnimationFrame(this._run)}#o;static run(e,t=60){return new Timer(e,t)}stop(){cancelAnimationFrame(this.#i)}}e.Timer=Timer}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){t.TweenService=class TweenService{run(n,r,s,i=0,o=t.Easings.linear,a=null){return new Promise((t,l)=>{const c=(performance&&performance.now()||Date.now())+Math.abs(i||0),m=c+Math.abs(s||0),d=()=>{const i=performance&&performance.now()||Date.now();if(i>=c&&i<m){const t=(i-c)/s,l=n+(o||e.Animations.Easings.linear)(t)*(r-n);a&&a(t,l)}i<m?requestAnimationFrame(d):(a&&a(1,r),t())};d()})}}}(e.Animations||(e.Animations={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=()=>{};let r;!function(e){e.Get="GET",e.Post="POST",e.Put="PUT",e.Delete="DELETE",e.Options="OPTIONS",e.Head="HEAD",e.Patch="PATCH",e.Connect="CONNECT",e.Trace="TRACE"}(r=t.HttpMethod||(t.HttpMethod={}));class StatusCodeError extends Error{constructor(e,t){super(t),this.statusCode=e}get status(){return this.statusCode}}t.StatusCodeError=StatusCodeError;class Response{constructor(e,t){e&&(this._status=e.status,this._body=e.response,this._text=e.responseText,this._type=e.responseType,this._allHeadersRaw=e.getAllResponseHeaders(),this._processTime=t)}get processTime(){return this._processTime}get headers(){return void 0===this._headers&&this._allHeadersRaw&&this._parseHeaders(),this._headers}get size(){return+this.headers["Content-Length"]}get mime(){return this.headers["Content-Type"]}get date(){return new Date(Date.parse(this.headers.Date))}_parseHeaders(){let e={};this._allHeadersRaw.split("\r\n").forEach(t=>{if(t&&t.length){let n=t.indexOf(":"),r=t.substr(0,n).trim(),s=t.substr(n+1).trim();e[r]=s}}),this._headers=e}get status(){return this._status}get text(){return this._text}get content(){return this._body}get type(){return this._type}get json(){if("json"===this._type)return this._body;try{return JSON.parse(this._text)}catch(e){return}}}t.Response=Response;t.Http=class Http{constructor(){}request(t,s){var i=this;let o=e.DeferPromise.defer();var a=(s=s||{method:r.Get}).method||r.Get,l=s.data||{},c=s.progress||n,m=s.headers||{};i.accessToken&&(m.Authorization="Bearer "+i.accessToken);var d,h,u=new XMLHttpRequest;switch(u.withCredentials=!1,u.addEventListener("progress",e=>{if(e.lengthComputable){var t=e.loaded/e.total;"function"==typeof c&&c.apply(i,[t])}},!1),u.addEventListener("error",e=>{o.reject(new StatusCodeError(500,e.message||"Unknown error"))},!1),u.addEventListener("load",()=>{if(u.status>=200&&u.status<300){var e=new Response(u,Date.now()-d);o.resolve(e)}else o.reject(new StatusCodeError(u.status,u.statusText))},!1),a.toUpperCase()){case r.Get:t+=(/\?/.test(t)?"&":"?")+("string"==typeof l?l:Object.keys(l).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(l[e])}).join("&"));break;case r.Post:h=JSON.stringify(l)}switch(u.open(a,t,!0),a.toUpperCase()){case r.Get:u.setRequestHeader("X-Requested-With","XMLHttpRequest");break;case r.Post:u.setRequestHeader("X-Requested-With","XMLHttpRequest"),u.setRequestHeader("Content-Type","application/json")}for(var p in m)u.setRequestHeader(p,m[p]);return d=Date.now(),u.send(h),o.promise}get(e,t,n){return this.request(e,{method:r.Get,data:t,headers:n||{}})}post(e,t,n){return this.request(e,{method:r.Post,data:t,headers:n||{}})}}}(e.Net||(e.Net={}))}(Pacem||(Pacem={})),function(e){!function(e){e.FetchResultEventName="fetchresult",e.FetchErrorEventName="error",e.FetchSuccessEventName="success";e.Fetcher=class Fetcher{static isEmpty(e){return 204===e.status||"0"===e.headers.get("Content-Length")}}}(e.Net||(e.Net={}))}(Pacem||(Pacem={})),function(e){!function(t){let n,r,s,i;!function(e){e.Self="self",e.Alias="alias",e.Copy="copy"}(n=t.DragDataMode||(t.DragDataMode={})),function(e){e.InsertChild="insert",e.None="none"}(r=t.DropBehavior||(t.DropBehavior={})),function(e){e.Revert="revert",e.Remove="remove",e.None="none"}(s=t.DropTargetMissedBehavior||(t.DropTargetMissedBehavior={})),function(e){e.Init="draginit",e.Start="dragstart",e.Drag="drag",e.Drop="drop",e.Over="dragover",e.Out="dragout",e.End="dragend"}(i=t.DragDropEventType||(t.DragDropEventType={}));class DragDropEventArgsBaseClass{constructor(e){this._builder=e,this.currentPosition=e.currentPosition,this.target=e.target}get element(){return this._builder.element}get origin(){return this._builder.origin}get initialDelta(){return this._builder.initialDelta}get startTime(){return this._builder.startTime}get floater(){return this._builder.floater}get delta(){var t=this;return e.Point.add(t.initialDelta,e.Point.subtract(t.origin,t.currentPosition))}}class DragDropInitEventArgsClass extends DragDropEventArgsBaseClass{constructor(e){super(e),this.placeholder=e.placeholder,this.data=e.data}static fromArgs(t){return new DragDropInitEventArgsClass(e.Utils.extend({},t))}}t.DragDropInitEventArgsClass=DragDropInitEventArgsClass;class DragDropEventArgsClass extends DragDropEventArgsBaseClass{constructor(e,t=e.placeholder,n=e.data){super(e),this._placeholder=t,this._data=n}get placeholder(){return this._placeholder}get data(){return this._data}static fromArgs(t){return new DragDropEventArgsClass(e.Utils.extend({},t))}}t.DragDropEventArgsClass=DragDropEventArgsClass;class DragDropEvent extends e.CustomUIEvent{constructor(e,t,n,r){super(e,t,n,r)}}t.DragDropEvent=DragDropEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let n,r;!function(e){e.All="all",e.Top="top",e.Left="left",e.Right="right",e.Bottom="bottom"}(n=t.RescaleHandle||(t.RescaleHandle={})),function(e){e.Start="rescalestart",e.Rescale="rescale",e.End="rescaleend"}(r=t.RescaleEventType||(t.RescaleEventType={}));class RescaleEventArgsClass{constructor(e){this._builder=e}get currentPosition(){return this._builder.currentPosition}get targetRect(){return this._builder.targetRect}get element(){return this._builder.element}get handle(){return this._builder.handle}static fromArgs(t){return new RescaleEventArgsClass(e.Utils.extend({},t))}}t.RescaleEventArgsClass=RescaleEventArgsClass;class RescaleEvent extends e.CustomUIEvent{constructor(e,t,n,r){super(e,t,n,r)}}t.RescaleEvent=RescaleEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let n;!function(e){e.Start="rotatestart",e.Rotate="rotate",e.End="rotateend"}(n=t.RotateEventType||(t.RotateEventType={}));class RotateEventArgsClass{constructor(e){this._builder=e}get currentPosition(){return this._builder.currentPosition}get rotation(){return this._builder.rotation}get element(){return this._builder.element}get center(){return this._builder.center}static fromArgs(t){return new RotateEventArgsClass(e.Utils.extend({},t))}}t.RotateEventArgsClass=RotateEventArgsClass;class RotateEvent extends e.CustomUIEvent{constructor(e,t,n,r){super(e,t,n,r)}}t.RotateEvent=RotateEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){let n;!function(e){e.Swipe="swipe",e.SwipeLeft="swipeleft",e.SwipeRight="swiperight",e.SwipeAnimationEnd="swipeanimationend",e.SwipeLeftAnimationEnd="swipeleftanimationend",e.SwipeRightAnimationEnd="swiperightanimationend"}(n=t.SwipeEventType||(t.SwipeEventType={}));class SwipeEventArgsClass{constructor(e){this._builder=e}get direction(){return this._builder.horizontalspeed>0?"right":"left"}get speed(){return Math.abs(this._builder.horizontalspeed)}get element(){return this._builder.element}static fromArgs(t){return new SwipeEventArgsClass(e.Utils.extend({},t))}}t.SwipeEventArgsClass=SwipeEventArgsClass;class SwipeEvent extends e.CustomTypedEvent{constructor(e,t,n){super(e,t,n)}}t.SwipeEvent=SwipeEvent}(e.UI||(e.UI={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemBehavior extends e.Components.PacemEventTarget{#a=new WeakSet;register(e){var t=this.#a;t.has(e)||(t.add(e),this.decorate(e))}unregister(e){var t=this.#a;t.has(e)&&(this.undecorate(e),t.delete(e))}has(e){return this.#a.has(e)}}t.PacemBehavior=PacemBehavior}(e.Behaviors||(e.Behaviors={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:dragdrop:mousedown",o="pacem:dragdrop:info",a="pacem:dragdrop:delegate";class DragElementDelegate{constructor(t,r){this._logFn=r,this._started=!1,this._enterHandler=e=>{this._currentTarget=e.target},this._leaveHandler=e=>{this._currentTarget=null},this._revertTrackedTarget=null,this._moveHandler=t=>{"wheel"!==t.type&&e.avoidHandler(t);var r,s=this._element,i=this._dragDropper,a=n(s,o);if(!this._started){if(this._logFn(e.Logging.LogLevel.Info,"Dragging act started"),this._started=!0,i.dropBehavior===e.UI.DropBehavior.InsertChild){var l=s;do{l=l.parentElement}while(l&&-1==i.dropTargets.indexOf(l));this._currentTarget=l}i.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Start,e.UI.DragDropEventArgsClass.fromArgs(a),{},t))}if(!e.Utils.isNull(a)){this._logFn(e.Logging.LogLevel.Debug,"Dragging act ongoing");const n=t instanceof MouseEvent;e.Utils.addClass(e.CustomElementUtils.findAncestorShell(s),e.PCSS+"-dragging");a.currentPosition=r=r||(t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY});let o=a.floater,l=new e.UI.DragDropEvent(e.UI.DragDropEventType.Drag,e.UI.DragDropEventArgsClass.fromArgs(a),{cancelable:!0},t);if(i.dispatchEvent(l),!l.defaultPrevented&&(o instanceof HTMLElement||o instanceof SVGElement)){let e={x:l.detail.delta.x,y:l.detail.delta.y};o.style.transform=`translate3d(${e.x}px, ${e.y}px, 0)`}var c=this._currentTarget;!n&&i.dropTargets.length>0&&(c=document.elementsFromPoint(a.currentPosition.x-e.Utils.scrollLeft,a.currentPosition.y-e.Utils.scrollTop).find(e=>i.dropTargets.indexOf(e)>=0));var m=a.target;if(c!==m)if(e.Utils.isNull(m)||(e.Utils.removeClass(m,e.PCSS+"-dropping"),i.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Out,e.UI.DragDropEventArgsClass.fromArgs(a),{},t)),this._logFn(e.Logging.LogLevel.Info,`Drop area left (${m.id||m.constructor.name})`)),-1!=i.dropTargets.indexOf(c)){a.target=c,this._logFn(e.Logging.LogLevel.Info,`Drop area entering (${a.target.id||a.target.constructor.name})`);let n=new e.UI.DragDropEvent(e.UI.DragDropEventType.Over,e.UI.DragDropEventArgsClass.fromArgs(a),{cancelable:!0},t);i.dispatchEvent(n),n.defaultPrevented?delete a.target:(e.Utils.addClass(a.target,e.PCSS+"-dropping"),this._logFn(e.Logging.LogLevel.Info,`Drop area entered (${a.target.id||a.target.constructor.name})`))}else delete a.target;if(this._revertTrackedTarget=a.target||m,e.Utils.isNull(a.target)||i.dropBehavior!==e.UI.DropBehavior.InsertChild){if(e.Utils.isNull(a.target)&&i.mode===e.UI.DragDataMode.Copy){const e=a.placeholder;e instanceof Element&&e.remove()}}else this._insertChild(c,a)}},this._endHandler=t=>{var r,i=this._element,a=e.CustomElementUtils.findAncestorShell(i),l=this._dragDropper;if(!e.Utils.isNull(r=n(i,o))){t instanceof MouseEvent&&e.avoidHandler(t);let n=()=>{let n=r.floater;(n instanceof HTMLElement||n instanceof SVGElement)&&(n.style.pointerEvents=""),l.mode!==e.UI.DragDataMode.Self&&r.floater.remove(),e.Utils.removeClass(i,e.PCSS+"-dragging"),e.Utils.removeClass(i,e.PCSS+"-drag-lock"),s(i,o),e.Utils.isNull(r.placeholder)||(e.Utils.removeClass(r.placeholder,e.PCSS+"-dragging"),e.Utils.removeClass(r.placeholder,"drag-placeholder"),e.Utils.removeClass(r.placeholder,e.PCSS+"-drag-lock"),s(r.placeholder,o));const c=!e.Utils.isNull(r.target);c&&(l.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.Drop,e.UI.DragDropEventArgsClass.fromArgs(r),{},t)),e.Utils.removeClass(r.target,e.PCSS+"-dropping"));const m=r.data,d=(l.dropTargets,r.placeholder),h=this._repeaterItem,u=this._sourceRepeater,p=!e.Utils.isNull(h),v=d&&this._findTargetRepeaterItem(r.placeholder.parentElement,r.placeholder.nextElementSibling),g=v&&v.repeater,f=l.mode===e.UI.DragDataMode.Copy,_=c&&!e.Utils.isNull(g)&&!(e.Utils.isNull(h)&&u===g);if(p&&!f&&c&&u.removeItem(h.index),_)if(r.placeholder.remove(),g!==u||f)f||u&&u.datasource.splice(h.index,1),g&&(g.datasource=g.datasource||[]).splice(v.index,0,m);else{let e=h.index,t=v.index;t>e&&t--,u.datasource.moveWithin(e,t)}c||e.Utils.isNullOrEmpty(l.dropTargets)||l.spillBehavior!==e.UI.DropTargetMissedBehavior.Remove||f||(p?u.datasource.splice(h.index,1):i.remove()),l.dispatchEvent(new e.UI.DragDropEvent(e.UI.DragDropEventType.End,e.UI.DragDropEventArgsClass.fromArgs(r),{},t)),e.Utils.removeClass(a,e.PCSS+"-dragging")};const m=r.placeholder||r.element;if(r.floater!=m){let t=r.floater;var c=e.Utils.deserializeTransform(getComputedStyle(t));if(!e.Utils.isNull(r.target)||l.spillBehavior===e.UI.DropTargetMissedBehavior.Revert||l.dropBehavior===e.UI.DropBehavior.InsertChild&&l.spillBehavior!==e.UI.DropTargetMissedBehavior.Remove){const n=e.Utils.offset(m),r=e.Utils.offset(t);t.style.transition="transform .2s ease-in-out",c=e.Matrix2D.translate(c,{x:n.left-r.left,y:n.top-r.top})}else t.style.transition="transform .2s ease-in, opacity .2s linear",c=e.Matrix2D.scale(c,.1),t.style.opacity="0";e.Utils.addAnimationEndCallback(t,n,300),t.style.transform=`matrix(${c.a},${c.b},${c.c},${c.d},${c.e},${c.f})`}else n()}e.Utils.removeClass(i,e.PCSS+"-drag-lock"),this.dispose(),this._logFn(e.Logging.LogLevel.Info,"Dragging act disposed")},this._dragDropper=t.dragDrop,e.Utils.addClass(this._element=t.element,e.PCSS+"-drag-lock"),window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),document.addEventListener("wheel",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,{capture:!0,passive:!1}),this._dragDropper.dropTargets.forEach(e=>{e.addEventListener("mouseenter",this._enterHandler,!1),e.addEventListener("mouseleave",this._leaveHandler,!1)});var i=e.Repeater.findItemContext(this._element,0,null);i&&(i.dom&&1===i.dom.length&&i.dom[0]===this._element&&(this._repeaterItem=i),this._sourceRepeater=i.repeater),this._bootstrap(t.placeholder,t.data)}_getLogicalData(e){return e instanceof t.RepeaterItem?e.item:e instanceof HTMLElement?e.dataset:e}_getPhysicalData(e){return e instanceof t.RepeaterItem?e.dom:[e]}_createFloater(t,n){let r=t;if(this._dragDropper.mode!=e.UI.DragDataMode.Self&&(r=r.cloneNode(!0),e.CustomElementUtils.stripObservedAttributes(r),r instanceof HTMLElement||r instanceof SVGElement)){e.Utils.addClass(r,e.PCSS+"-drag-floater"),e.CustomElementUtils.findAncestorShell(this._element).appendChild(r),r.style.position="absolute";let s={left:n.x+r.clientWidth/2,top:n.y-r.clientHeight/2};if(t===this._element||t.classList.contains("drag-floater-resize")){let t=e.Utils.offset(this._element);r.style.boxSizing="border-box",r.style.width=t.width+"px",r.style.height=t.height+"px",s={left:t.left,top:t.top}}r.style.left=`${s.left}px`,r.style.top=`${s.top}px`}return(r instanceof HTMLElement||r instanceof SVGElement)&&(r.style.pointerEvents="none"),r}_findTargetRepeaterItem(n,r){var s=e.Repeater.findItemContext(r,0,null);if(!e.Utils.isNull(s))return{repeater:s.repeater,index:s.index};var i=null;return i=n instanceof t.PacemRepeaterElement?n:e.CustomElementUtils.findAncestorOfType(n,t.PacemRepeaterElement),e.Utils.isNull(i)?null:{repeater:i,index:i.datasource&&i.datasource.length||0}}_findNextSibling(t,n){const r=Array.from(t.children),s=(r.length,document.elementFromPoint(n.currentPosition.x-e.Utils.scrollLeft,n.currentPosition.y-e.Utils.scrollTop));let i;if(s===t)return this._currentHover=i=n.placeholder,i.parentElement===t?i.nextElementSibling:null;for(var o=s;o.parentElement!=t&&null!=o.parentElement;)o=o.parentElement;if(o.parentElement!=t||o===n.placeholder)return this._currentHover=i=n.placeholder,i.nextElementSibling;if(o!=this._currentHover){i=this._currentHover;const e=r.indexOf(i),t=r.indexOf(o);return this._currentHover=o,e>t?o:o.nextElementSibling}return o}_insertChild(t,n){const r=n.placeholder||n.element,s=n.target,i=this._findNextSibling(s,n);r.nextSibling==i&&r.parentElement==s||(e.Utils.isNull(i)||i.parentElement==t)&&(t.insertBefore(r,i),this._logFn(e.Logging.LogLevel.Info,`Positioned before ${i&&(i.id||i.constructor.name)||"null"} for drop`))}_bootstrap(t,a){var l,c,m=this._element,d=this._dragDropper;if(!e.Utils.isNull(l=n(m,i))){this._started=!1,s(m,i),e.Utils.addClass(m,e.PCSS+"-dragging");let n=getComputedStyle(m),h={x:0,y:0},u=e.Utils.deserializeTransform(n);h.x+=u.e,h.y+=u.f;let p=this._createFloater(d.floater||m,l);if(e.Utils.isNull(t))switch(d.mode){case e.UI.DragDataMode.Alias:t=m;break;case e.UI.DragDataMode.Copy:t=m.cloneNode(!0)}e.Utils.isNull(t)||e.Utils.addClass(t,"drag-placeholder"),e.Utils.isNull(this._repeaterItem)||e.Utils.isNull(t)||e.CustomElementUtils.freezeObservedAttributes(t);c={element:m,placeholder:t||m,data:a||this._getLogicalData(this._repeaterItem||m),startTime:Date.now(),origin:l,initialDelta:h,currentPosition:l,floater:p},r(m,o,c)}}dispose(){this._dragDropper.dropTargets.forEach(e=>{e.removeEventListener("mouseenter",this._enterHandler,!1),e.removeEventListener("mouseleave",this._leaveHandler,!1)}),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),document.removeEventListener("wheel",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,{capture:!0})}}let l=class PacemDragDropElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;if(!e.Utils.isNullOrEmpty(this.handleSelector)&&t.currentTarget.querySelector(this.handleSelector)!==t.target)return;const n=t.currentTarget,s=e.CustomEventUtils.getEventCoordinates(t).page;let o=n,l=e.UI.DragDropInitEventArgsClass.fromArgs({element:o,placeholder:null,currentPosition:s,origin:s,initialDelta:{x:0,y:0},startTime:null,floater:null,data:null});const c=new e.UI.DragDropEvent(e.UI.DragDropEventType.Init,l,{cancelable:!0},t);if(this.dispatchEvent(c),c.defaultPrevented)return;e.avoidHandler(t);const m=t=>{this.log(e.Logging.LogLevel.Info,"Drag avoided!"),clearTimeout(d)},d=setTimeout(()=>{n.removeEventListener("mouseup",m,!1),n.removeEventListener("touchend",m,!1),this.log(e.Logging.LogLevel.Info,"Drag locked!"),r(n,i,s),r(n,a,new DragElementDelegate({element:o,dragDrop:this,placeholder:l.placeholder,data:l.data},(e,t,n)=>this.log.apply(this,[e,t,n])))},this.lockTimeout);n.addEventListener("mouseup",m,!1),n.addEventListener("touchend",m,!1)},this.lockTimeout=100,this.dropTargets=[],this.mode=e.UI.DragDataMode.Self}decorate(e){e.addEventListener("mousedown",this._startHandler,!1),e.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}undecorate(e){e.removeEventListener("mousedown",this._startHandler,!1),e.removeEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}dispatchEvent(t){return t.type===e.UI.DragDropEventType.End&&(s(t.detail.element,i),s(t.detail.element,a)),super.dispatchEvent(t)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],l.prototype,"lockTimeout",void 0),__decorate([e.Watch({emit:!1})],l.prototype,"dropTargets",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"mode",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],l.prototype,"floater",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"dropBehavior",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"spillBehavior",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],l.prototype,"handleSelector",void 0),l=__decorate([e.CustomElement({tagName:e.P+"-drag-drop"})],l),t.PacemDragDropElement=l}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.RepeaterItemCreateEventName="repeateritemcreate",t.RepeaterItemRemoveEventName="repeateritemremove";class RepeaterItemEvent extends e.CustomTypedEvent{constructor(e,t){super(e,t)}}t.RepeaterItemEvent=RepeaterItemEvent;t.RepeaterItemCreateEvent=class RepeaterItemCreateEvent extends RepeaterItemEvent{constructor(e){super(t.RepeaterItemCreateEventName,e)}};t.RepeaterItemRemoveEvent=class RepeaterItemRemoveEvent extends RepeaterItemEvent{constructor(e){super(t.RepeaterItemRemoveEventName,e)}};const n=["keydown","keyup","click","focus","blur","dblclick","mouseover","mouseout","mouseenter","mouseleave","mousedown","mouseup","mousemove","contextmenu","wheel"];class ElementAriaAttributes{constructor(t,n){this._element=t,this._aria=e.Utils.extend({},n||{})}toObject(){return e.Utils.extend({},this._aria)}set(e,t){this._aria[e]=t;const n=this._element;n.isConnected&&n.setAttribute("aria-"+e,t)}remove(e){delete this._aria[e];const t=this._element;t.isConnected&&t.removeAttribute("aria-"+e)}}class ElementAria{constructor(e,t,n){this._element=e,this._aria={role:t,attrs:new ElementAriaAttributes(e,n)}}get role(){return this._aria.role}set role(t){this._aria.role=t;const n=this._element;n.isConnected&&(e.Utils.isNullOrEmpty(t)?n.removeAttribute("role"):n.setAttribute("role",t))}get attributes(){return this._aria.attrs}}class PacemElement extends t.PacemEventTarget{constructor(e,t){super(),this.#l=[],this.#c=[],this._tabIndex=-1,this.behaviors=[],this._aria=new ElementAria(this,e,t)}get aria(){return this._aria}static#m=null;static get emittedEventTypes(){return this.#m??=e.Utils.readonlyCopy(n)}#l;#c;connectedCallback(){super.connectedCallback(),e.Utils.isNullOrEmpty(this._aria.role)||this.setAttribute("role",this._aria.role);let t=this._aria.attributes.toObject();if(!e.Utils.isNullOrEmpty(t))for(let e in t)this.setAttribute("aria-"+e,t[e])}viewActivatedCallback(){for(var e of(super.viewActivatedCallback(),n.forEach(e=>{this.addEventListener(e,this.emitHandler,!1)}),this.behaviors||[]))e.register(this)}disconnectedCallback(){for(var e of this.behaviors||[])e.unregister(this);n.forEach(e=>{this.removeEventListener(e,this.emitHandler,!1)}),super.disconnectedCallback()}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"css":for(var i in this.css)this.style.setProperty(i,this.css[i]);break;case"cssClass":if(e.Utils.isArray(this.cssClass)){const t=this.cssClass;for(let t of this.#l.splice(0))e.Utils.removeClass(this,t);for(let n of t)this.#l.push(n),e.Utils.addClass(this,n)}else for(let t in this.cssClass)e.Utils.toggleClass(this,t,this.cssClass[t]);break;case"cssPart":const o=this.cssPart,a=this.#c;if(e.Utils.isArray(o)){const t=o;for(let t of a.splice(0))e.Utils.removePart(this,t);for(let n of t)a.push(n),e.Utils.addPart(this,n)}else for(let t in o)e.Utils.togglePart(this,t,o[t]);break;case"hide":const l=e.PCSS+"-hiding";if(r){const t=this,r=e.PCSS+"-anim",s=()=>{t.setAttribute("hidden",""),t.aria.attributes.set("hidden","true")};e.Utils.hasClass(t,r)&&!e.Utils.isNull(n)?(e.Utils.removeClass(t,r),requestAnimationFrame(()=>{e.Utils.addClass(t,l),e.Utils.addClass(t,r),e.Utils.waitForAnimationEnd(t,250).then(n=>{t.hide&&s(),e.Utils.removeClass(t,l)})})):s()}else e.Utils.removeClass(this,l),this.removeAttribute("hidden"),this.aria.attributes.remove("hidden");break;case"tooltip":this.title=r,e.Utils.isNullOrEmpty(r)?this.aria.attributes.remove("label"):this.aria.attributes.set("label",r);break;case"tabOrder":this._tabIndex=r,this.disabled||(this.tabIndex=r);break;case"behaviors":if(!e.Utils.isNullOrEmpty(n))for(let e of n)e.unregister(this);if(!e.Utils.isNullOrEmpty(r)&&!s)for(let e of r)e.register(this);break;case"disabled":let c=e.PCSS+"-"+t;r?(this._tabIndex=this.tabIndex,this.tabIndex=-1,e.Utils.addClass(this,c)):(this.tabIndex=this._tabIndex,e.Utils.removeClass(this,c));break;case"culture":e.Utils.isNullOrEmpty(r)?this.removeAttribute("lang"):this.setAttribute("lang",r),s||this.refreshBindings()}}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"cssClass",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"cssPart",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],PacemElement.prototype,"css",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],PacemElement.prototype,"hide",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],PacemElement.prototype,"tooltip",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],PacemElement.prototype,"tabOrder",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],PacemElement.prototype,"culture",void 0),__decorate([e.Watch({emit:!1})],PacemElement.prototype,"behaviors",void 0),t.PacemElement=PacemElement;class PacemContentElement extends PacemElement{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"content"!==e||r||this._fillContent(n)}_isContentNullOrEmpty(t=this.content){return e.Utils.isNullOrEmpty(t)||t instanceof DocumentFragment&&0===t.childElementCount}viewActivatedCallback(){super.viewActivatedCallback(),this._original=Array.from(this.children),this._isContentNullOrEmpty()||this._fillContent()}disconnectedCallback(){e.Utils.isNullOrEmpty(this._original)||(this.innerHTML="",Element.prototype.append.apply(this,this._original)),super.disconnectedCallback()}_fillContent(t=this.content){const n=this.sanitize(t);e.Utils.isNullOrEmpty(n)?this.innerHTML="":n instanceof Node?(this.innerHTML="",this.append(n)):this.innerHTML=n}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],PacemContentElement.prototype,"content",void 0),t.PacemContentElement=PacemContentElement;t.PacemUnsafeContentElement=class PacemUnsafeContentElement extends PacemContentElement{sanitize(e){return e}};t.PacemSafeContentElement=class PacemSafeContentElement extends PacemContentElement{sanitize(t){if(e.Utils.isNullOrEmpty(t))return t;if(t instanceof Node){for(let e=t.childNodes.length-1;e>=0;e--){const n=t.childNodes.item(e);n instanceof HTMLScriptElement?n.remove():this.sanitize(n)}return t}{const e=/<script.+<\/script>/g;return(t||"").toString().replace(e,"")}}}}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class RescaleElementDelegate{constructor(t,r,i,o){this._element=t,this._type=r,this._rescaler=i,this._logFn=o,this._startTime=Date.now(),this._moveHandler=t=>{t.stopPropagation();const n=this._element,r=this._origin,s=this._rescaler,i=this._type,o=s.keepProportions,a=s.minWidth||0,l=s.minHeight||0,c=s.maxWidth||Number.MAX_SAFE_INTEGER,m=s.maxHeight||Number.MAX_SAFE_INTEGER,d=t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY},h={x:d.x,y:d.y},u=this._rect;switch(i){case"top":case"bottom":h.x=r.x;break;case"left":case"right":h.y=r.y}this._position=h;const p={x:h.x-r.x,y:h.y-r.y};var v;if(o){const t={x:u.x,y:u.y},n={x:u.x+u.width,y:u.y},r={x:u.x+u.width,y:u.y+u.height},s={x:u.x,y:u.y+u.height},o=e.Point.distance(r,s)/e.Point.distance(r,t),a=e.Point.distance(t,s)/e.Point.distance(r,t),l=e.Point.distance(t,r),c=(e,t)=>(e.x*t.x+e.y*t.y)/l;switch(i){case"topleft":const i=e.Point.subtract(r,t),l=c(e.Point.subtract(r,h),i),m={x:r.x-l*o,y:r.y-l*a};v={x:m.x,y:m.y,width:r.x-m.x,height:r.y-m.y};break;case"topright":const d=e.Point.subtract(s,n),u=c(e.Point.subtract(s,h),d),p={x:s.x+u*o,y:s.y-u*a};v={x:s.x,y:p.y,width:p.x-s.x,height:s.y-p.y};break;case"bottomleft":const g=e.Point.subtract(n,s),f=c(e.Point.subtract(n,h),g),_={x:n.x-f*o,y:n.y+f*a};v={x:_.x,y:n.y,width:n.x-_.x,height:_.y-n.y};break;default:const y=e.Point.subtract(t,r),E=c(e.Point.subtract(t,h),y),C={x:t.x+E*o,y:t.y+E*a};v={x:t.x,y:t.y,width:C.x-t.x,height:C.y-t.y}}}else v={x:this._rect.x,y:this._rect.y,width:this._rect.width+p.x,height:this._rect.height+p.y},i.startsWith("top")&&(v.y=this._rect.y+p.y,v.height=this._rect.height-p.y),i.endsWith("left")&&(v.x=this._rect.x+p.x,v.width=this._rect.width-p.x);this._logFn(e.Logging.LogLevel.Log,`handle: ${i}, origin: ${JSON.stringify(r)}, currentPosition: ${JSON.stringify(d)}`,"Rescaling"),this._logFn(e.Logging.LogLevel.Log,`delta: ${JSON.stringify(p)}, position: ${JSON.stringify(h)}`,"Rescaling"),this._logFn(e.Logging.LogLevel.Log,`from: ${JSON.stringify(this._rect)}, to: ${JSON.stringify(v)}`,"Rescaling");let g=v.width>=a&&v.width<=c,f=v.height>=l&&v.height<=m;if(!o||g&&f||(g=f=!1),g||(v.x=this._targetRect.x,v.width=this._targetRect.width),f||(v.y=this._targetRect.y,v.height=this._targetRect.height),g||f){const o={currentPosition:h,element:n,handle:i,origin:r,targetRect:v,startTime:this._startTime};let a=new e.UI.RescaleEvent(e.UI.RescaleEventType.Rescale,e.UI.RescaleEventArgsClass.fromArgs(o),{cancelable:!0},t);if(s.dispatchEvent(a),!a.defaultPrevented){const e=this._originalTransform;n.style.transform=`matrix(${e.a},${e.b},${e.c},${e.d},${e.e+v.x-this._rect.x},${e.f+v.y-this._rect.y})`,n.style.width=v.width+"px",n.style.height=v.height+"px"}this._targetRect=v}},this._endHandler=t=>{t.stopPropagation();const n=this._type;let r=new e.UI.RescaleEvent(e.UI.RescaleEventType.End,e.UI.RescaleEventArgsClass.fromArgs({element:this._element,origin:this._origin,handle:n,startTime:this._startTime,currentPosition:this._position,targetRect:this._targetRect}),{},t);e.Utils.removeClass(document.body,e.PCSS+"-rescaling rescale-"+n),this._rescaler.dispatchEvent(r),s(this._element,l),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,!1)},window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,!1),this._origin=this._position=n(t,a),this._rect=this._targetRect=e.Utils.offsetRect(t),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t)),e.Utils.addClass(document.body,e.PCSS+"-rescaling rescale-"+r)}}const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="top right bottom left topleft topright bottomright bottomleft".split(" "),o="pacem:rescale:frame",a="pacem:rescale:origin",l="pacem:rescale:delegate";let c=class PacemRescaleElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._bag=[],this._startHandler=t=>{t.stopPropagation();const n=e.CustomEventUtils.getEventCoordinates(t),s=t.currentTarget,i=n.page,o=/rescale-(.+)/.exec(s.className)[1],c=s.parentElement,m=new e.UI.RescaleEvent(e.UI.RescaleEventType.Start,e.UI.RescaleEventArgsClass.fromArgs({currentPosition:i,origin:i,element:c,handle:o,startTime:Date.now()}),{cancelable:!0},t);this.dispatchEvent(m),m.defaultPrevented||(e.avoidHandler(t),r(c,a,i),r(c,l,new RescaleElementDelegate(c,o,this,(e,t,n)=>this.log.apply(this,[e,t,n]))))}}decorate(t){const n=t;getComputedStyle(n);e.Utils.addClass(n,e.PCSS+"-rescalable"),this._setFrame(n)}undecorate(t){const n=t;e.Utils.removeClass(n,e.PCSS+"-rescalable"),this._removeFrame(n)}viewActivatedCallback(){super.viewActivatedCallback(),this._syncHandles()}propertyChangedCallback(e,t,n,r){switch(super.propertyChangedCallback(e,t,n,r),e){case"disabled":case"handles":case"keepProportions":this._syncHandles()}}_syncHandles(){const t=this.handles||[e.UI.RescaleHandle.All],r=null!=t.find(t=>t===e.UI.RescaleHandle.All),s=this.disabled,i=this.keepProportions;for(let a of this._bag){let l=n(a,o);l.top.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Top),l.bottom.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Bottom),l.left.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Left),l.right.hidden=s||!r&&null==t.find(t=>t===e.UI.RescaleHandle.Right),l.topleft.hidden=l.top.hidden||l.left.hidden,l.topright.hidden=l.top.hidden||l.right.hidden,l.bottomleft.hidden=l.bottom.hidden||l.left.hidden,l.bottomright.hidden=l.bottom.hidden||l.right.hidden,i&&(l.top.hidden=l.bottom.hidden=l.left.hidden=l.right.hidden=!0)}}_setFrame(t){let n={};for(let r of i){const s=n[r]=document.createElement("div");e.Utils.addClass(s,e.PCSS+"-rescale rescale-"+r),t.setAttribute("pacem",""),t.appendChild(s),s.addEventListener("mousedown",this._startHandler,!1),s.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!0})}r(t,o,n),this._bag.push(t),this._syncHandles()}_removeFrame(e){const t=n(e,o);for(var r in t){const e=t[r];e.removeEventListener("mousedown",this._startHandler,!1),e.removeEventListener("touchstart",this._startHandler,{capture:!1}),e.remove()}s(e,o),this._bag.splice(this._bag.indexOf(e),1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.StringArray})],c.prototype,"handles",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minWidth",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxWidth",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minHeight",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxHeight",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],c.prototype,"keepProportions",void 0),c=__decorate([e.CustomElement({tagName:e.P+"-rescale"})],c),t.PacemRescaleElement=c}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:rotate:origin",o="pacem:rotate:delegate",a="pacem:rotate:offset",l="pacem:rotate:center";Math.PI;class RotateElementDelegate{constructor(t,c,m){this._element=t,this._rotator=c,this._logFn=m,this._startTime=Date.now(),this._moveHandler=t=>{t.stopPropagation();const n=this._element,s=this._previousPosition,i=this._rotator,o=i.minRotation,l=i.maxRotation,c=t instanceof MouseEvent?{x:t.pageX,y:t.pageY}:{x:t.touches[0].pageX,y:t.touches[0].pageY},m=this._pivot;var d=this._computeAngle(m,c,s)+this._previousAngle,h=this._constraintAngle(d,i.step);for(this._logFn(e.Logging.LogLevel.Log,`previousPosition: ${JSON.stringify(s)}, currentPosition: ${JSON.stringify(c)}`,"Rotating"),d>l&&(d=l);h>l&&i.step>0;)this._logFn(e.Logging.LogLevel.Log,`angle: ${h} constrained to max: ${l}`,"Rotating"),h-=i.step;for(d<o&&(d=o);h<o&&i.step>0;)this._logFn(e.Logging.LogLevel.Log,`angle: ${h} constrained to min: ${o}`,"Rotating"),h+=i.step;if(this._logFn(e.Logging.LogLevel.Log,`angle: ${h}, origin: ${JSON.stringify(this._originalPosition)}, current: ${JSON.stringify(c)}`,"Rotating"),h!=this._previousRenderedAngle){let s=new e.UI.RotateEvent(e.UI.RotateEventType.Rotate,e.UI.RotateEventArgsClass.fromArgs({element:this._element,origin:this._originalPosition,startTime:this._startTime,currentPosition:c,rotation:h,center:this._pivot}),{cancelable:!0},t);if(this._rotator.dispatchEvent(s),!s.defaultPrevented){const t=this._originalTransform,s=e.Matrix2D.rotate(t,h-this._originalAngle);n.style.transform=`matrix(${s.a}, ${s.b}, ${s.c}, ${s.d}, ${s.e}, ${s.f})`,r(this._element,a,h)}this._previousRenderedAngle=h}this._previousPosition=c,this._previousAngle=d},this._endHandler=t=>{t.stopPropagation();let n=new e.UI.RotateEvent(e.UI.RotateEventType.End,e.UI.RotateEventArgsClass.fromArgs({element:this._element,origin:this._originalPosition,startTime:this._startTime,currentPosition:this._previousPosition,rotation:this._previousAngle,center:this._pivot}),{},t);this._rotator.dispatchEvent(n),s(this._element,o),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,!1)},window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,!1),this._originalPosition=this._previousPosition=n(t,i),this._originalAngle=this._previousAngle=this._previousRenderedAngle=n(t,a,0),this._pivot=n(t,l),this._originalTransform=e.Utils.Css.deserializeTransform(t)}_computeAngle(t,n,r){return e.Angle.angleBetween(t,n,r)}_constraintAngle(t,n){return n>0?e.Numbers.round(t,n):t}}let c=class PacemRotateElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;const s=e.CustomEventUtils.getEventCoordinates(t),c=t.currentTarget,m=s.page,d=e.Utils.offsetRect(c),h=d.width/2,u=d.height/2;var p=this.center;if(e.Utils.isNull(p))p={x:d.x+h,y:d.y+u},c.style.transformOrigin="50% 50%";else{const e=d.x+h-p.x,t=d.y+u-p.y;c.style.transformOrigin=`${-e}px ${-t}px`}const v=new e.UI.RotateEvent(e.UI.RotateEventType.Start,e.UI.RotateEventArgsClass.fromArgs({currentPosition:m,rotation:n(c,a,0),center:p,origin:m,element:c,startTime:Date.now()}),{cancelable:!0},t);this.dispatchEvent(v),v.defaultPrevented||(e.avoidHandler(t),r(c,i,m),r(c,l,p),r(c,o,new RotateElementDelegate(c,this,(e,t,n)=>this.log.apply(this,[e,t,n]))))}}decorate(t){const n=t;e.Utils.addClass(n,e.PCSS+"-rotatable");t.addEventListener("mousedown",this._startHandler,!1),t.addEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}undecorate(t){const n=t;e.Utils.removeClass(n,e.PCSS+"-rotatable");t.removeEventListener("mousedown",this._startHandler,!1),t.removeEventListener("touchstart",this._startHandler,{capture:!1,passive:!1})}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"step",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"minRotation",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],c.prototype,"maxRotation",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],c.prototype,"center",void 0),c=__decorate([e.CustomElement({tagName:e.P+"-rotate"})],c),t.PacemRotateElement=c}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n=e.CustomElementUtils.getAttachedPropertyValue,r=e.CustomElementUtils.setAttachedPropertyValue,s=e.CustomElementUtils.deleteAttachedPropertyValue,i="pacem:swipe:mousedown",o="pacem:swipe:data",a="pacem:swipe:delegate",l=Math.PI/2,c={capture:!1,passive:!1};class SwipeElementDelegate{constructor(t,a,m){this._element=t,this._swiper=a,this._logFn=m,this._moveHandler=t=>{e.avoidHandler(t);const a=this._element,c=this._getCurrentPosition(t),m=this._threshold;var h,u;const p=this._halfElementWidth,v=Date.now();e.Utils.isNull(h=n(a,i))?e.Utils.isNull(u=n(a,o))||this._updateState({position:c,timestamp:v}):(this._logFn(e.Logging.LogLevel.Debug,"Swipe act started"),s(a,i),r(a,o,u=this._refreshValues({position:c,timestamp:v},h)));Math.abs(c.x-u.t0.position.x)<Math.abs(c.y-u.t0.position.y)||e.avoidHandler(t);const g=function(e,t){const n=e-t;return-(m-p)*Math.sin(l*Math.max(-1,Math.min(1,n/m)))/d}(c.x,u.t0.position.x);this._logFn(e.Logging.LogLevel.Debug,`Moving element to x: ${g} (x0: ${u.t0.position.x})`);const f=this._originalTransform;a.style.transform=`matrix(${f.a},${f.b},${f.c},${f.d},${f.e+g},${f.f})`},this._endHandler=e=>{var t=n(this._element,o);this._endState(t)},e.Utils.addClass(t,e.PCSS+"-swipe-lock"),e.Utils.removeClass(t,e.PCSS+"-swipe-back"),this._originalTransform=e.Utils.deserializeTransform(getComputedStyle(t)),this._halfElementWidth=.5*t.clientWidth,this._threshold=a.threshold||Math.min(120,.25*e.Utils.windowSize.width),window.addEventListener("mouseup",this._endHandler,!1),window.addEventListener("touchend",this._endHandler,!1),window.addEventListener("mousemove",this._moveHandler,!1),window.addEventListener("touchmove",this._moveHandler,c)}dispose(){const t=this._element;s(t,i),s(t,o),s(t,a),e.Utils.removeClass(t,e.PCSS+"-swipe-lock"),window.removeEventListener("mouseup",this._endHandler,!1),window.removeEventListener("touchend",this._endHandler,!1),window.removeEventListener("mousemove",this._moveHandler,!1),window.removeEventListener("touchmove",this._moveHandler,c)}_getCurrentPosition(e){return e instanceof MouseEvent?{x:e.clientX,y:e.clientY}:{x:e.touches[0].clientX,y:e.touches[0].clientY}}_refreshValues(e,t){const n=e.position,r=n.x-t.position.x,s=(e.timestamp-t.timestamp)/1e3;return{element:this._element,horizontalspeed:r/s,verticalspeed:(n.y-t.position.y)/s,timestamp:e.timestamp,position:n,t0:t.t0||t}}_updateState(e){var t=this._getUpdatedState(e);r(this._element,o,t)}_getUpdatedState(e){const t=this._element,r=(this._swiper,n(t,o));return this._refreshValues(e,r)}_endState(t){if(!e.Utils.isNull(t)){const n=this._swiper,r=this._element,s=this._threshold,i=Math.abs(t.t0.position.x-t.position.x),o=.5*Math.pow(t.horizontalspeed,2),a=.5*m*(Math.pow(s,2)-Math.pow(i,2));let l=()=>{r.style.transform=r.style.opacity=r.style.transition=""};if(o>=a&&i>=s){const s=e.UI.SwipeEventArgsClass.fromArgs(t);this._logFn(e.Logging.LogLevel.Debug,`Swiping ${s.direction}! (speed: ${s.speed}, kinetic ${o}, elastic ${a})`);const i=new e.UI.SwipeEvent(e.UI.SwipeEventType.Swipe,s,{cancelable:!0});if(n.dispatchEvent(i),i.defaultPrevented)l();else{const i=new e.UI.SwipeEvent("left"===s.direction?e.UI.SwipeEventType.SwipeLeft:e.UI.SwipeEventType.SwipeRight,s,{cancelable:!0});if(n.dispatchEvent(i),i.defaultPrevented)l();else{let i=e.Utils.offset(r),o=e.Utils.windowSize.width,a="left"===s.direction?-(o-.5*(o-i.width)):i.width+.5*(o-i.width),c=(a-i.left)/t.horizontalspeed;r.style.transform=`translateX(${a}px)`,r.style.opacity="0",r.style.transition=`transform ${Math.min(.667,Math.max(.333,2*c))}s cubic-bezier(0.39, 0.575, 0.565, 1), opacity .5s`,e.Utils.addClass(r,e.PCSS+"-swipe-go"),e.Utils.addAnimationEndCallback(r,()=>{let t=new e.UI.SwipeEvent(e.UI.SwipeEventType.SwipeAnimationEnd,s,{cancelable:!0});if(n.dispatchEvent(t),!t.defaultPrevented){let t=new e.UI.SwipeEvent("left"===s.direction?e.UI.SwipeEventType.SwipeLeftAnimationEnd:e.UI.SwipeEventType.SwipeRightAnimationEnd,s,{cancelable:!0});n.dispatchEvent(t),t.defaultPrevented||l()}e.Utils.removeClass(r,e.PCSS+"-swipe-go")})}}}else this._logFn(e.Logging.LogLevel.Debug,`Rolling back: kinetic ${o} < elastic ${a})`),e.Utils.addClass(r,e.PCSS+"-swipe-back"),l()}this.dispose()}}__decorate([e.Throttle(25)],SwipeElementDelegate.prototype,"_updateState",null);const m=.15,d=1.25;let h=class PacemSwipeElement extends e.Behaviors.PacemBehavior{constructor(){super(...arguments),this._startHandler=t=>{if(this.disabled)return;if(t instanceof MouseEvent&&!this.includeMouse)return;const n=e.CustomEventUtils.getEventCoordinates(t),s=t.currentTarget,o=n.client;t.stopPropagation(),r(s,i,{position:o,timestamp:Date.now()}),r(s,a,new SwipeElementDelegate(s,this,(e,t,n)=>this.log.apply(this,[e,t,n])))}}decorate(e){e.addEventListener("touchstart",this._startHandler,c),e.addEventListener("mousedown",this._startHandler,!1)}undecorate(e){e.removeEventListener("touchstart",this._startHandler,c),e.removeEventListener("mousedown",this._startHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],h.prototype,"threshold",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],h.prototype,"includeMouse",void 0),h=__decorate([e.CustomElement({tagName:e.P+"-swipe"})],h),t.PacemSwipeElement=h}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemAdapter extends t.PacemElement{constructor(){super(...arguments),this._propertyChangeHandler=e=>{this.masterPropertyChangedCallback(e.detail.propertyName,e.detail.oldValue,e.detail.currentValue,e.detail.firstChange)}}get master(){return this._element}get initialized(){return!e.Utils.isNull(this._element)}masterPropertyChangedCallback(t,n,r,s){switch(t){case"items":this._adjustFocusIndex();break;case"index":this._element.dispatchEvent(new e.CurrentIndexChangeEvent({currentIndex:r,previousIndex:n}))}}itemPropertyChangedCallback(e,t,n,r,s){}initializeCallback(){}destroyCallback(){}initialize(t){null!=this._element&&this.destroy(),null!=t&&(this._element=t,this._element.addEventListener(e.PropertyChangeEventName,this._propertyChangeHandler,!1)),this.initializeCallback()}destroy(){null!=this._element&&this._element.removeEventListener(e.PropertyChangeEventName,this._propertyChangeHandler,!1),this.destroyCallback()}disconnectedCallback(){this.destroy(),super.disconnectedCallback()}_adjustFocusIndex(){let e=this._element.items;const t=this._element.index,n=e&&e.length,r=n?Math.max(0,Math.min(n-1,t)):-1,s=this._getAvailable(r);this._element.index=s}_getNextAvailable(e){return this._getAvailable(e,1)}_getPreviousAvailable(e){return this._getAvailable(Math.max(0,e),-1)}_getAvailable(e=this._element&&this._element.index,n=0){let r,s=this._element.items;if(!(s&&(r=s.length)>0))return-1;let i,o=((e%=r)+n+r)%r;for(n=n||-1;(i=s[o])instanceof t.PacemEventTarget&&!0===i.disabled||i instanceof t.PacemElement&&!0===i.hide;)if(o=(o+n+r)%r,o==e)return-1;return o}isClose(e){const t=this._getAvailable();return e===t||e===this._getPreviousAvailable(t)||e===this._getNextAvailable(t)}isPrevious(e){const t=this._getAvailable();return e===this._getPreviousAvailable(t)}isNext(e){const t=this._getAvailable();return e===this._getNextAvailable(t)}select(e){this._element.index=this._getAvailable(e)}previous(e=!0){var t=this._getPreviousAvailable(this._element.index);t>=0&&(e||this._element.index>t)&&(this._element.index=t)}next(e=!0){var t=this._getNextAvailable(this._element.index);t>=0&&(e||this._element.index<t)&&(this._element.index=t)}}t.PacemAdapter=PacemAdapter}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemAnnihilatorElement extends HTMLElement{constructor(){super()}connectedCallback(){this.remove()}};n=__decorate([e.CustomElement({tagName:e.P+"-annihilator"})],n),t.PacemAnnihilatorElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){e.RouterNavigatingEventName="navigating",e.RouterNavigateEventName="navigate";class RouterNavigateEvent extends e.CustomTypedEvent{constructor(t){super(e.RouterNavigateEventName,"string"==typeof t?{path:t}:t,{cancelable:!1,bubbles:!1})}}e.RouterNavigateEvent=RouterNavigateEvent;class RouterNavigatingEvent extends e.CustomTypedEvent{constructor(t){super(e.RouterNavigatingEventName,t,{cancelable:!0,bubbles:!1})}}e.RouterNavigatingEvent=RouterNavigatingEvent}(Pacem||(Pacem={})),function(e){!function(t){const n=/^([\w\.]:)?\/\/[^\/]+/;let r=class PacemRouterElement extends t.PacemEventTarget{constructor(){super(...arguments),this._onPopState=t=>{e.Utils.isNull(t.state)||this.#d||(this.path=t.state.$path)}}#d;#h;parseState(e={}){const t=this._stringifyMergedState(e),n=this._segmentateUrl(t);return this._parseState(n.path+n.query+n.hash,n.path,n.query,n.hash)}navigate(t,r){if(this.disabled||e.Utils.isNullOrEmpty(t))return;if((t="object"==typeof t?this._stringifyMergedState(t):e.Utils.URIs.format(t,this.state))!=this.path)return void(this.path=t);const s=document.location;if(n.test(t)&&!t.startsWith(s.protocol+"//"+s.host))throw`Only same-origin navigation is currently supported. "${t}" is not a valid path.`;if(!this.#d){const n=this.state&&this.state.$path||void 0,i=this._segmentateUrl(t),o=this._parseState(i.path+i.query+i.hash,i.path,i.query,i.hash),a=s.pathname+s.search+s.hash===i.path+i.query+i.hash,l=new e.RouterNavigatingEvent(t);if(window.dispatchEvent(l),this.#d=l.defaultPrevented)return a&&window.history.pushState(this.state,r,n),void(this.path=n);this.state=o,a?(window.history.scrollRestoration="manual",window.history.replaceState(o,r)):window.history.pushState(o,r,t),e.Utils.isNullOrEmpty(r)||(document.title=r),window.dispatchEvent(new e.RouterNavigateEvent({path:t,referrer:n,title:r}))}this.#d=!1}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"template":this.#h=null;break;case"path":this.navigate(n)}}connectedCallback(){super.connectedCallback(),window.addEventListener("popstate",this._onPopState,!1)}viewActivatedCallback(){super.viewActivatedCallback();const t=this.path;e.Utils.isNullOrEmpty(t)||this.navigate(t)}disconnectedCallback(){window.removeEventListener("popstate",this._onPopState,!1),super.disconnectedCallback()}_stringifyMergedState(t){const n=e.Utils.extend({},t),r=e.Utils.extend({},this.state,n),s=this.template;let i=""+s;for(let t of this._parseTemplate(s)){const s=t.name,o=new RegExp("/{"+s+"\\??}"),a=r[s];delete n[s],i=i.replace(o,e.Utils.isNullOrEmpty(a)?"":"/"+a)}const o=e.Utils.extend({},this.state.$query);for(let e in n)o[e]=n[e];const{hash:a}=this._segmentateUrl(this.path);return e.Utils.URIs.appendQuery(i,o,!0)+a}_parseTemplate(t=this.template){return e.Utils.isNullOrEmpty(this.#h)?this.#h=e.Utils.URIs.parseRoute(t):this.#h}_segmentateUrl(t){const n=e.Utils.URIs.split(t);return e.Utils.isNullOrEmpty(n.path)?null:n}_parseState(t,n,r,s){const i=this._parseTemplate();return e.Utils.URIs.parseState(i,t,n,r,s)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"template",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Eval})],r.prototype,"state",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"path",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-router"})],r),t.PacemRouterElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemBeforeunloadElement extends t.PacemEventTarget{constructor(){super(...arguments),this._unloadingHandler=e=>{const t=this.message;this.active&&!this.disabled&&("beforeunload"===e.type?(e.preventDefault(),e.returnValue=t||""):confirm(t||"Leave page?")||e.preventDefault())}}viewActivatedCallback(){super.viewActivatedCallback(),window.addEventListener("navigating",this._unloadingHandler,!1),window.addEventListener("beforeunload",this._unloadingHandler,!1)}disconnectedCallback(){window.removeEventListener("navigating",this._unloadingHandler,!1),window.removeEventListener("beforeunload",this._unloadingHandler,!1),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"message",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"active",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-beforeunload"})],n),t.PacemBeforeunloadElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemBrowserDetectElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),this._detect()}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"userAgent"===e&&this._detect(n)}#u;#p;get browser(){return this.#u}get version(){return this.#p}_detect(t=this.userAgent){const{version:n,name:r}=e.Utils.Browsers.detect(t),{browser:s,version:i}=this;r!=s&&(this.#u=r,this.dispatchEvent(new e.PropertyChangeEvent({propertyName:"browser",currentValue:r,oldValue:s}))),n!=i&&(this.#p=n,this.dispatchEvent(new e.PropertyChangeEvent({propertyName:"version",currentValue:n,oldValue:i})))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"userAgent",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-browser-detect"})],n),t.PacemBrowserDetectElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemDataElement extends t.PacemEventTarget{constructor(t=new e.Storage){super(),this.storage=t,this._handle=0,this._flag=!1}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"persistAs":e.Utils.isNullOrEmpty(n)||this.storage.removeProperty(n),!0!==s||e.Utils.isNullOrEmpty(r)||(this.model=this.storage.getPropertyValue(r)||this.model);break;case"model":const i=this.debounce,o=this.throttle,a=()=>{this.dispatchEvent(new e.PropertyChangeEvent({propertyName:t,oldValue:n,currentValue:r,firstChange:s}))};if(i>0&&!s)if(o){if(this._flag)return;this._flag=!0,a(),this._handle=window.setTimeout(()=>{this._flag=!1},i)}else clearTimeout(this._handle),this._handle=window.setTimeout(a,i);else a();s||e.Utils.isNullOrEmpty(this.persistAs)||(e.Utils.isNull(r)?this.storage.removeProperty(this.persistAs):this.storage.setPropertyValue(this.persistAs,r,!0))}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Eval})],n.prototype,"model",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"persistAs",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"debounce",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.BooleanStrict})],n.prototype,"throttle",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-data"})],n),t.PacemDataElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTweenElement extends t.PacemEventTarget{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,this.duration=1e3}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"start"===e&&!0===n&&1!=this.disabled&&this._animate()}run(){return this._animate()}_animate(){var t=!1;return this._tweener.run(this.from,this.to,this.duration,this.delay,this.easing,(n,r)=>{t=0==t&&this.dispatchEvent(new e.Animations.AnimationStartEvent),this.dispatchEvent(new e.Animations.AnimationEvent({time:n,value:this.value=r})),this.log(e.Logging.LogLevel.Info,"value: "+this.value),1==n&&(this.dispatchEvent(new e.Animations.AnimationEndEvent),this.start=!1)})}};__decorate([e.Watch({emit:!1})],n.prototype,"easing",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],n.prototype,"from",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],n.prototype,"to",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"duration",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"start",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],n.prototype,"value",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-tween"})],n),t.PacemTweenElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n;!function(e){e.Top="top",e.Bottom="bottom"}(n=t.DockMode||(t.DockMode={}));let r=class PacemDockElement extends t.PacemEventTarget{constructor(t=new e.Animations.TweenService){super(),this._tweener=t,this.mode=n.Top,this.transitionDuration=300}propertyChangedCallback(t,n,r,s){super.propertyChangedCallback(t,n,r,s),"dock"!==t||e.Utils.isNull(n)&&0==r?"mode"===t&&!0===this.dock&&this._doDock():this._doDock()}_animate(t,n){var r=this.transitionDuration;return r>0||(r=300),this._tweener.run(t,n,r,this.delay,e.Animations.Easings.sineInOut,(e,t)=>{this._setOffset(t)}).then(()=>{this._resetOffset()})}_setOffset(e){this.style.transform="translateY("+e+"px)"}_resetOffset(){this.style.transform=""}_compute(){const t=e.Utils.offset(this),r=getComputedStyle(this),s=e.Utils.scrollTop;switch(this.mode){case n.Bottom:const i=parseInt(r.marginBottom),o=t.top;return{delta:e.Utils.windowSize.height-(o-s+this.offsetHeight)+i};case n.Top:const a=parseInt(r.marginTop);return{delta:-(t.top-s+a)}}}_doDock(){if(this.dock){const t=this._compute();if(e.Utils.isNull(t))return;switch(e.Utils.addClass(this,e.PCSS+"-dock"),this.mode){case n.Bottom:e.Utils.removeClass(this,e.PCSS+"-dock-top"),e.Utils.addClass(this,e.PCSS+"-dock-bottom");break;case n.Top:e.Utils.removeClass(this,e.PCSS+"-dock-bottom"),e.Utils.addClass(this,e.PCSS+"-dock-top")}const r=-t.delta,s=0,i=e.CustomElementUtils.getAttachedPropertyValue(this,"pacem-dock:state")||0;e.CustomElementUtils.setAttachedPropertyValue(this,"pacem-dock:state",-r+i),this.log(e.Logging.LogLevel.Info,`animating from ${r}px to ${s}px`),this._animate(r,s)}else{const t=e.CustomElementUtils.getAttachedPropertyValue(this,"pacem-dock:state");e.CustomElementUtils.deleteAttachedPropertyValue(this,"pacem-dock:state");const n=0;this.log(e.Logging.LogLevel.Info,`animating back from ${t}px to ${n}px`),e.Utils.removeClass(this,`${e.PCSS}-dock ${e.PCSS}-dock-top ${e.PCSS}-dock-bottom`),this._animate(t,n)}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"mode",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],r.prototype,"dock",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],r.prototype,"transitionDuration",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-dock"})],r),t.PacemDockElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemTransferProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._dom=[],this._children=[]}get dom(){return this._children}viewActivatedCallback(){super.viewActivatedCallback(),this.moveContent(this.proxy)}moveContent(t){e.Utils.isNull(t)||(e.Utils.isNullOrEmpty(this._dom)?(this._dom=e.Utils.moveItems(this.childNodes,t),this._children=this._dom.filter(e=>e instanceof Element)):e.Utils.moveItems(this._children,t))}disconnectedCallback(){for(let e of(this._dom||[]).splice(0))e.remove();super.disconnectedCallback()}}t.PacemTransferProxyElement=PacemTransferProxyElement;let n=class PacemBodyProxyElement extends PacemTransferProxyElement{get proxy(){return document.body}};n=__decorate([e.CustomElement({tagName:e.P+"-body-proxy"})],n),t.PacemBodyProxyElement=n;let r=class PacemShellProxyElement extends PacemTransferProxyElement{get proxy(){return e.CustomElementUtils.findAncestorShell(this)}};r=__decorate([e.CustomElement({tagName:e.P+"-shell-proxy"})],r),t.PacemShellProxyElement=r;let s=class PacemElementProxyElement extends PacemTransferProxyElement{get proxy(){return this.target}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"target"!==e||r||this.moveContent(this.proxy)}};__decorate([e.Watch({converter:e.PropertyConverters.Element})],s.prototype,"target",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-element-proxy"})],s),t.PacemElementProxyElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class EmitEvent extends Event{constructor(e){super("emit"),this._originalEvent=e}get originalEvent(){return this._originalEvent}}const n={convert:function(t,n){return"$window"===t?window:e.PropertyConverters.Element.convert(t,n)},convertBack:(t,n)=>t===window?"$window":e.PropertyConverters.Element.convertBack(t,n)};let r=class PacemEventProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._emitHandler=e=>{var t=new EmitEvent(e);this.dispatchEvent(t)}}viewActivatedCallback(){super.viewActivatedCallback(),this._observe()}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"target":this._unobserve(t,this.event,this.capture),this._observe();break;case"event":this._unobserve(this.target,t,this.capture),this._observe();break;case"capture":this._unobserve(this.target,this.event,t),this._observe()}}disconnectedCallback(){this._unobserve(),super.disconnectedCallback()}_unobserve(t=this.target,n=this.event,r=this.capture){e.Utils.isNull(t)||e.Utils.isNullOrEmpty(n)||t.removeEventListener(n,this._emitHandler,{capture:r})}_observe(t=this.target,n=this.event,r=this.capture){e.Utils.isNull(t)||e.Utils.isNullOrEmpty(n)||t.addEventListener(n,this._emitHandler,{capture:r})}};__decorate([e.Watch({emit:!1,converter:n})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"event",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"capture",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-event-proxy"})],r),t.PacemEventProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n="New incoming request overrides the ongoing one. Aborting.";let r=class PacemFetchElement extends t.PacemEventTarget{constructor(){super(...arguments),this.autofetch=!0,this.debounce=100}viewActivatedCallback(){super.viewActivatedCallback(),this._delayAndConditionallyFetch()}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"url":case"method":case"type":case"as":case"mode":case"credentials":case"disabled":case"autofetch":this._delayAndConditionallyFetch();break;case"parameters":case"headers":this.diffByValues&&e.Utils.jsonSortStringify(n)==e.Utils.jsonSortStringify(r)||this._delayAndConditionallyFetch()}}_delayAndConditionallyFetch(){clearTimeout(this._handle),this.disabled?this._abortPending():this.autofetch&&(this._handle=setTimeout(()=>{this.fetch()},this.debounce||0))}_abortPending(){this.#v&&(this.#v.abort(n),this.#v=null)}#v;#g;fetch(){return this.throttle&&this.fetching?this.#g:this.#g=new Promise((t,r)=>{var s=this.url;if(!this.isReady||e.Utils.isNullOrEmpty(s)||this.disabled)return void t(null);let i=this;i.fetching=!0;let o="application/json";if("raw"===(i.type||"json"))o="application/x-www-form-urlencoded";const a=(i.method||e.Net.HttpMethod.Get).toUpperCase();let l={headers:e.Utils.extend({"Content-Type":o},i.headers),method:a,mode:i.mode||"cors",credentials:i.credentials||"same-origin",cache:i.cache||"default"};const c=e.Utils.clone(i.parameters??{});if(s=e.Utils.URIs.format(s,c,"GET"==a),!e.Utils.isNullOrEmpty(c))switch(a){case"GET":s=e.Utils.URIs.appendQuery(s,c);break;case"PUT":case"POST":case"PATCH":if("raw"===i.type){let e=new URLSearchParams;for(let t in c)e.set(t,c[t]);l.body=e}else l.body=e.Utils.Json.stringify(c)}if(e.Utils.URIs.hasMandatoryTemplateSegments(s))return void t(null);this._abortPending();const{signal:m}=this.#v=new AbortController;l.signal=m,fetch(s,l).then(n=>{if(this.#v=null,i.fetching=!1,n.ok){this.dispatchEvent(new CustomEvent(e.Net.FetchSuccessEventName,{detail:n}));if(e.Net.Fetcher.isEmpty(n))i.as,i.result=null,t(n);else switch(i.as){case"blob":case"image":n.blob().then(r=>{"image"===i.as?e.Utils.blobToDataURL(r).then(e=>{i._acceptFetchResult(e)}):i._acceptFetchResult(r),t(n)},n=>{this.log(e.Logging.LogLevel.Warn,`Couldn't parse a ${i.as}. ${n}`),t(null)});break;case"text":n.text().then(e=>{i._acceptFetchResult(e),t(n)});break;default:n.json().then(e=>{i._acceptFetchResult(e),t(n)},n=>{this.log(e.Logging.LogLevel.Warn,`Couldn't parse a ${i.as}. ${n}`),t(null)})}}else this.dispatchEvent(new CustomEvent(e.Net.FetchErrorEventName,{detail:n})),r(n)},s=>{"string"==typeof s&&s===n?(this.log(e.Logging.LogLevel.Info,s),t(null)):r(s)})})}_acceptFetchResult(t){this.dispatchEvent(new CustomEvent(e.Net.FetchResultEventName,{detail:t})),this.result=t}};__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],r.prototype,"url",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.String})],r.prototype,"method",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],r.prototype,"parameters",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Json})],r.prototype,"headers",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"credentials",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"mode",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"cache",void 0),__decorate([e.Watch({converter:e.PropertyConverters.BooleanStrict})],r.prototype,"fetching",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Boolean})],r.prototype,"autofetch",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"as",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"type",void 0),__decorate([e.Watch({reflectBack:!0,converter:e.PropertyConverters.Number})],r.prototype,"debounce",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Number})],r.prototype,"throttle",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],r.prototype,"diffByValues",void 0),__decorate([e.Watch()],r.prototype,"result",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-fetch"})],r),t.PacemFetchElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class StateEvent extends CustomEvent{constructor(e,t){super(e,{detail:t})}}t.StateEvent=StateEvent;let n=class PacemHistoryElement extends t.PacemEventTarget{#f;propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"state":this._handleStateChange(r);break;case"maxlength":const t=this.#f;e.Utils.isNull(t)||(t.maxlength=r)}}viewActivatedCallback(){super.viewActivatedCallback(),this._handleStateChange()}_handleStateChange(t=this.state){const n=this.#f;e.Utils.isNull(n)?this.#f=new e.HistoryService(t,this.maxlength):!0!==e.DefaultComparer(n.current,t)&&(n.push(t),this.log(e.Logging.LogLevel.Log,"Pushed state."),this._synchronize("push"))}redo(){const t=this.#f;e.Utils.isNull(t)||(t.redo(),this.log(e.Logging.LogLevel.Log,"Redone state."),this._synchronize("redo"))}reset(){const t=this.#f;e.Utils.isNull(t)||(t.reset(),this.log(e.Logging.LogLevel.Log,"Reset state."),this._synchronize("reset"))}undo(){const t=this.#f;e.Utils.isNull(t)||(t.undo(),this.log(e.Logging.LogLevel.Log,"Undone state."),this._synchronize("undo"))}_synchronize(e){const t=this.#f;this.canUndo=t.canUndo,this.canRedo=t.canRedo,this.state=t.current;const{canRedo:n,canUndo:r,current:s}=t;this.dispatchEvent(new StateEvent(e,{canRedo:n,canUndo:r,state:s}))}};__decorate([e.Watch({emit:!0,converter:e.PropertyConverters.Json})],n.prototype,"state",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"maxlength",void 0),__decorate([e.Watch({emit:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"canUndo",void 0),__decorate([e.Watch({emit:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"canRedo",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-history"})],n),t.PacemHistoryElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemHtmlProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this._html=document.documentElement}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"attr"===e&&t&&this._html.removeAttribute(t),this._update()}_update(){const t=this.attr;if(e.Utils.isNullOrEmpty(t)||this.disabled)return;const n=this.value,r=this._html;e.Utils.isNullOrEmpty(n)?r.removeAttribute(t):r.setAttribute(t,n)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"attr",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"value",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-html-proxy"})],n),t.PacemHtmlProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemIfElement extends HTMLElement{#_;propertyChangedCallback(t,n,r,s){e.Utils.isNullOrEmpty(this.#_)&&(this.#_=this.innerHTML),this.innerHTML=r?this.#_:""}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"match",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-if"})],n),t.PacemIfElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTextElement extends HTMLElement{constructor(){super()}connectedCallback(){0==this.childNodes.length&&(this.innerHTML=" "),this._text=this.childNodes.item(0)}propertyChangedCallback(t,n,r,s){e.Utils.isNull(r)&&!0===s||(this._text.nodeValue=r)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"text",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-text"})],n),t.PacemTextElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.ScrollEventName="scroll";class ScrollEvent extends e.CustomTypedEvent{constructor(e){super(t.ScrollEventName,e)}}t.ScrollEvent=ScrollEvent;const n=new class PacemScrollOrchestrator{constructor(e){this.global=e,this.scrollers=[],this.scrollHandler=e=>{this._scroll(e)}}register(e){const t=this.scrollers;-1===t.indexOf(e)&&(t.push(e),1===t.length&&this.global.addEventListener("scroll",this.scrollHandler,!1),this._scroll())}unregister(e){var t;const n=this.scrollers;-1!==(t=n.indexOf(e))&&(n.splice(t,1),0===n.length&&this.global.removeEventListener("scroll",this.scrollHandler,!1))}_scroll(t){for(var n of this.scrollers){if(e.Utils.isNull(n.target)){const t=e.Utils.scrollTop,r=e.Utils.scrollLeft;n.offset={top:t,left:r}}else{const e=n.target.scrollTop,t=n.target.scrollLeft;n.offset={top:e,left:t}}n.dispatchEvent(new ScrollEvent(n.offset))}}}(window);let r=class PacemScrollAwareElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),n.register(this)}disconnectedCallback(){n.unregister(this),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Json})],r.prototype,"offset",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-scroll-aware"})],r),t.PacemScrollAwareElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemViewportOrchestrator{constructor(e){this._global=e,this.viewports=[],this._checkHandler=e=>{this._oncheck(e)}}register(e){const t=this.viewports,n=this._global;-1===t.indexOf(e)&&(t.push(e),1===t.length&&(n.addEventListener("resize",this._checkHandler,!1),n.addEventListener("scroll",this._checkHandler,!1),n.addEventListener("transitionend",this._checkHandler,!1),n.addEventListener("animationend",this._checkHandler,!1)),this._oncheck())}unregister(e){var t;const n=this.viewports,r=this._global;-1!==(t=n.indexOf(e))&&(n.splice(t,1),0===n.length&&(r.removeEventListener("resize",this._checkHandler,!1),r.removeEventListener("scroll",this._checkHandler,!1),r.removeEventListener("transitionend",this._checkHandler,!1),r.removeEventListener("animationend",this._checkHandler,!1)),this._oncheck())}isElementVisible(t,n){const r=e.Utils.windowSize;this._global.document;var s=t.getBoundingClientRect(),i=r.width,o=r.height;return s.bottom>0&&s.top<0+o&&(n||s.left<i+0&&s.right>0)}_oncheck(t){for(var n of this.viewports){const t=n.target||n,r=this.isElementVisible(t,n.ignoreHorizontal);if(r!==n.visible)(n.visible=r)?e.Utils.addClass(t,e.PCSS+"-in-viewport"):e.Utils.removeClass(t,e.PCSS+"-in-viewport")}}}__decorate([e.Debounce(100)],PacemViewportOrchestrator.prototype,"_oncheck",null);const n=new PacemViewportOrchestrator(window);let r=class PacemViewportAwareElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),n.register(this)}disconnectedCallback(){n.unregister(this),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],r.prototype,"visible",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"ignoreHorizontal",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-viewport-aware"})],r),t.PacemViewportAwareElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.ResizeEventName="resize";class ResizeEvent extends e.CustomTypedEvent{constructor(e){super(t.ResizeEventName,e)}}t.ResizeEvent=ResizeEvent;const n={box:"border-box"};let r=class PacemResizeElement extends t.PacemEventTarget{constructor(){super(...arguments),this._checkSizeHandler=()=>{this._assignSizeDebounced()}}get _target(){return this.target||this}propertyChangedCallback(t,r,s,i){switch(super.propertyChangedCallback(t,r,s,i),t){case"disabled":this._start();break;case"target":if(!e.Utils.isNull(this._observer)){var o=r||this;this._observer.unobserve(o)}case"watchPosition":var a=this.target||this;e.Utils.isNull(this._observer)||this._observer.observe(a,n)}}_start(){this.disabled?this._stop():(this.watchPosition?this._startWatchIntensively():(this._observer=new ResizeObserver(e=>{var t=!1;for(let n of e)if(n.target===this._target&&n.contentRect){t=!0;break}t&&this._assignSizeDebounced()}),this._observer.observe(this._target,n)),window.addEventListener("resize",this._checkSizeHandler,!1))}_stop(){window.cancelAnimationFrame(this._handle),window.removeEventListener("resize",this._checkSizeHandler,!1),e.Utils.isNull(this._observer)||(this._observer.disconnect(),this._observer=null)}_startWatchIntensively(){this._checkSize(),this._handle=window.requestAnimationFrame(()=>{this._startWatchIntensively()})}_assignSizeDebounced(){this._checkSize()}_checkSize(){this.log(e.Logging.LogLevel.Log,"Resize flow triggered.");let t=this._target;const n=e.Utils.offset(t);let r=n.height,s=n.width;(r!=this._previousHeight||s!=this._previousWidth||this.watchPosition&&(n.left!=this._previousLeft||n.top!=this._previousTop))&&(this._previousHeight=r,this._previousWidth=s,this._previousLeft=n.left,this._previousTop=n.top,this._dispatchResize())}get currentSize(){var e={height:this._previousHeight,width:this._previousWidth};return this.watchPosition&&(e.left=this._previousLeft,e.top=this._previousTop),e}_dispatchResize(){this.dispatchEvent(new ResizeEvent(this.currentSize))}connectedCallback(){super.connectedCallback(),this._start()}disconnectedCallback(){this._stop(),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],r.prototype,"watchPosition",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-resize"})],r),t.PacemResizeElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){t.PositionChangeEventName="positionchange";class PositionChangeEvent extends e.CustomTypedEvent{constructor(e){super(t.PositionChangeEventName,e)}}t.PositionChangeEvent=PositionChangeEvent;let n=class PacemPositionElement extends t.PacemEventTarget{constructor(){super(),this._check=t=>{let n=this._target;var r=e.Utils.offset(n);let s=r.top,i=r.left;s==this.previousTop&&i==this.previousLeft||(this.previousTop=s,this.previousLeft=i,this._change()),this._timer=requestAnimationFrame(this._check)}}get _target(){return this.target||this}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),"disabled"===e)this.start()}start(){let t=this._target;if(this.disabled)cancelAnimationFrame(this._timer);else{var n=e.Utils.offset(t);this.previousTop=n.top,this.previousLeft=n.left,this._timer=requestAnimationFrame(this._check)}}_change(){this.dispatchEvent(new PositionChangeEvent({top:this.previousTop,left:this.previousLeft}))}connectedCallback(){super.connectedCallback(),this.start()}disconnectedCallback(){cancelAnimationFrame(this._timer),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-position"})],n),t.PacemPositionElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class AdjustEvent extends e.CustomTypedEvent{constructor(e){super("adjust",e)}}t.AdjustEvent=AdjustEvent;let n=class PacemOverlayElement extends t.PacemEventTarget{constructor(){super(),this._check=t=>{let n=this.target;const r=e.Utils.offset(n),s=r.width,i=r.height;i==this._previousHeight&&s==this._previousWidth&&r.left==this._previousLeft&&r.top==this._previousTop||(this._previousHeight=i,this._previousWidth=s,this._previousLeft=r.left,this._previousTop=r.top,this._adjust()),this._timer=requestAnimationFrame(this._check)}}propertyChangedCallback(e,t,n,r){switch(super.propertyChangedCallback(e,t,n,r),e){case"target":case"disabled":this.start()}}start(){let t=this.target;if(cancelAnimationFrame(this._timer),!this.disabled&&!e.Utils.isNull(t)){this._previousHeight=t.offsetHeight,this._previousWidth=t.offsetWidth;const n=e.Utils.offset(t);this._previousLeft=n.left,this._previousTop=n.top,this._timer=requestAnimationFrame(this._check)}}_adjust(){this.dispatchEvent(new AdjustEvent({top:this._previousTop,left:this._previousLeft,width:this._previousWidth,height:this._previousHeight}))}connectedCallback(){super.connectedCallback(),this.start()}disconnectedCallback(){cancelAnimationFrame(this._timer),super.disconnectedCallback()}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),__decorate([e.Debounce()],n.prototype,"_adjust",null),n=__decorate([e.CustomElement({tagName:e.P+"-overlay"})],n),t.PacemOverlayElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemPanelElement extends t.PacemSafeContentElement{};n=__decorate([e.CustomElement({tagName:e.P+"-panel"})],n),t.PacemPanelElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemSpanElement extends t.PacemSafeContentElement{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"text"!==e||r||(this.textContent=n)}viewActivatedCallback(){super.viewActivatedCallback(),e.Utils.isNull(this.text)||(this.textContent=this.text)}};__decorate([e.Watch({converter:e.PropertyConverters.String})],n.prototype,"text",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-span"})],n),t.PacemSpanElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTemplateProxyElement extends e.TemplateElement{propertyChangedCallback(e,t,n,r){"target"===e&&this.dispatchEvent(new Event("templatechange"))}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],n.prototype,"target",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-template-proxy"})],n),t.PacemTemplateProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){var n;const r=e.CustomElementUtils.getAttachedPropertyValue;e.CustomElementUtils.setAttachedPropertyValue;class ItemEvent extends e.CustomTypedEvent{constructor(e,t,n){super(e,t,{bubbles:!1,cancelable:!0}),this._originalEvent=n}get srcEvent(){return this._originalEvent}}class ItemCommandEvent extends ItemEvent{constructor(t){super("item"+e.CommandEventName,t.detail,t)}}t.ItemCommandEvent=ItemCommandEvent;class CustomItemCommandEvent extends ItemEvent{constructor(e){super("item"+e.detail.commandName.toLowerCase(),e.detail.commandArgument,e)}}t.CustomItemCommandEvent=CustomItemCommandEvent;let s=n=class PacemRepeaterElement extends t.PacemEventTarget{constructor(){super(...arguments),this._childItems=[],this._fragment=document.createDocumentFragment(),this._setupItem=(e,t,n)=>{e.index=t,e.item=n},this._refreshItemTemplateHandler=e=>{const t=e.target;this._itemTemplate=t.target,this._databind()}}removeItem(e){this._removeItems(e,e)}_setItem(e,n,r){const s=this._childItems;let i;n>=s.length?(i=new RepeaterItem(this,this._itemTemplate,r,this._childTemplatePlaceholder),this._setupItem(i,n,e),s.push(i),i.append()):(i=s[n],this._setupItem(i,n,e),i.redrawEventually(this._itemTemplate,r)),this.dispatchEvent(new t.RepeaterItemCreateEvent(i))}_removeItems(e,n){let r=this._childItems.splice(e,n+1-e);for(var s=r.length-1;s>=0;s--){let e=r[s];this.dispatchEvent(new t.RepeaterItemRemoveEvent(e)),e.remove()}}databind(){this._databind()}_databind(t=this.datasource){if(!this.isConnected)return;let r=this._itemTemplate,s=this._childTemplatePlaceholder;if(null==r)throw`Missing template element in ${n.name}.`;let i=this._childItems,o=0;try{for(var a of t||[])this._setItem(a,o,this._fragment),o++}catch(t){this.log(e.Logging.LogLevel.Error,t)}o<i.length?this._removeItems(o,i.length-1):e.Utils.isNull(s&&s.parentNode)||s.parentNode.insertBefore(this._fragment,s)}_onCommand(e){this.dispatchEvent(new ItemCommandEvent(e)),this.dispatchEvent(new CustomItemCommandEvent(e))}_buildupItemTemplate(){let n=e.CustomElementUtils.findFirstDescendant(this,e=>e instanceof HTMLTemplateElement||e instanceof t.PacemTemplateProxyElement);return n instanceof t.PacemTemplateProxyElement?(n.addEventListener("templatechange",this._refreshItemTemplateHandler,!1),this._childTemplatePlaceholder=n,this._itemTemplate=n.target):this._itemTemplate=this._childTemplatePlaceholder=n}viewActivatedCallback(){super.viewActivatedCallback(),this.addEventListener(e.CommandEventName,this._onCommand,!1),this._buildupItemTemplate()&&this._databind()}disconnectedCallback(){const n=this._childTemplatePlaceholder;!e.Utils.isNull(n)&&n instanceof t.PacemTemplateProxyElement&&n.removeEventListener("templatechange",this._refreshItemTemplateHandler,!1),this.removeEventListener(e.CommandEventName,this._onCommand,!1),this.datasource=[],super.disconnectedCallback()}propertyChangedCallback(t,n,r,s){if(super.propertyChangedCallback(t,n,r,s),"datasource"===t)e.Utils.isNull(this._itemTemplate)||this._databind(r)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Eval})],s.prototype,"datasource",void 0),s=n=__decorate([e.CustomElement({tagName:e.P+"-repeater"})],s),t.PacemRepeaterElement=s;class RepeaterItem extends e.RepeaterItem{constructor(t,n,r,s){super(document.createComment("pacem-repeater-item")),this._repeater=t,this._template=n,this._fragment=r,this._holder=s,this._alterEgos=[];function i(t,n){var r=this,s="_"+t;if(n!==r[s]){var i=r[s];r[s]=n;var o=new e.PropertyChangeEvent({propertyName:t,oldValue:i,currentValue:n});r.dispatchEvent(o)}}let o=this.placeholder;Object.defineProperties(o,{item:{get:function(){return this._item},set:function(e){i.apply(o,["item",e])},configurable:!0},index:{get:function(){const t=this._index;return e.Utils.isNull(t)?-1:t},set:function(e){i.apply(o,["index",e])},configurable:!0}})}append(){const t=this._template,n=this._fragment;this._alterEgos.push(n.appendChild(this.placeholder));const s=t.cloneNode(!0);var i;e.Utils.isNull(i=r(this._repeater,e.INSTANCE_HOST_VAR))||e.CustomElementUtils.assignHostContext(i,s);var o=s.content.childNodes;Array.prototype.push.apply(this._alterEgos,o),n.appendChild(s.content)}redrawEventually(e,t){if(e===this._template)return;this._fragment=t,this._template=e;const n=this._holder.parentElement,r=this._alterEgos;for(;r.length>0;)n.removeChild(r.pop());this.append()}get dom(){return this._alterEgos.filter(e=>!(e instanceof Comment||e instanceof Text))}get repeater(){return this._repeater}remove(){let t=this._holder.parentElement;for(var n of this._alterEgos)n.parentElement!==t||e.Utils.isNull(t)||t.removeChild(n)}get index(){return this.placeholder.index}set index(e){this.placeholder.index=e}get item(){return this.placeholder.item}set item(e){this.placeholder.item=e}}t.RepeaterItem=RepeaterItem}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemItemElement extends t.PacemElement{get container(){return this._container}findContainer(){return e.CustomElementUtils.findAncestor(this,e=>e instanceof PacemItemsContainerElement)}viewActivatedCallback(){super.viewActivatedCallback();const t=this._container=this.findContainer();e.Utils.isNull(t)||t.register(this)}disconnectedCallback(){e.Utils.isNull(this._container)||this._container.unregister(this),super.disconnectedCallback()}}t.PacemItemElement=PacemItemElement,t.isItemsContainer=function(t){return"items"in t&&(e.Utils.isNull(t.items)||e.Utils.isArray(t.items))&&"function"==typeof t.register&&"function"==typeof t.unregister},t.ItemRegisterEventName="itemregister",t.ItemUnregisterEventName="itemunregister";class ItemRegisterEvent extends e.CustomTypedEvent{constructor(e,n){super(t.ItemRegisterEventName,e,n)}}t.ItemRegisterEvent=ItemRegisterEvent;class ItemUnregisterEvent extends e.CustomTypedEvent{constructor(e,n){super(t.ItemUnregisterEventName,e,n)}}t.ItemUnregisterEvent=ItemUnregisterEvent;class ItemsContainerRegistrar{constructor(e){if(this._container=e,null==e||!(e instanceof PacemItemsContainerElement||e instanceof PacemCrossItemsContainerElement))throw"Must provide a valid itemscontainer."}register(t){const n=this._container;var r=!1;return n.validate(t)?e.Utils.isNull(n.items)?(n.items=[t],r=!0):-1===n.items.indexOf(t)&&(n.items.push(t),r=!0):n.logger&&n.logger.log(e.Logging.LogLevel.Debug,`${t&&t.localName} element couldn't be registered in a ${n.localName} element.`),r&&n.dispatchEvent(new ItemRegisterEvent(t)),r}unregister(t){const n=this._container;if(!e.Utils.isNull(n.items)){const e=n.items.indexOf(t);if(e>=0){let t=n.items.splice(e,1);return n.dispatchEvent(new ItemUnregisterEvent(t[0])),!0}}return!1}}class PacemCrossItemsContainerElement extends PacemItemElement{constructor(e,t){super(e,t),this._registrar=new ItemsContainerRegistrar(this)}register(e){return this._registrar.register(e)}unregister(e){return this._registrar.unregister(e)}}__decorate([e.Watch()],PacemCrossItemsContainerElement.prototype,"items",void 0),t.PacemCrossItemsContainerElement=PacemCrossItemsContainerElement;class PacemItemsContainerElement extends t.PacemElement{constructor(e,t){super(e,t),this._registrar=new ItemsContainerRegistrar(this)}register(e){return this._registrar.register(e)}unregister(e){return this._registrar.unregister(e)}}__decorate([e.Watch()],PacemItemsContainerElement.prototype,"items",void 0),t.PacemItemsContainerElement=PacemItemsContainerElement}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){class PacemIterableElement extends t.PacemItemElement{findContainer(){return e.CustomElementUtils.findAncestor(this,e=>e instanceof PacemIterativeElement)}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r);const s=this.container,i=(s&&s.items||[]).indexOf(this);i>=0&&s&&s.adapter&&s.adapter.itemPropertyChangedCallback(i,e,t,n,r)}}t.PacemIterableElement=PacemIterableElement;class PacemIterativeElement extends t.PacemItemsContainerElement{propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),this.adapter&&this.adapter.masterPropertyChangedCallback(t,n,r,s),t){case"adapter":e.Utils.isNull(n)||n.destroy(),e.Utils.isNull(r)||this.adapter.initialize(this);break;case"items":this.isReady&&this._checkIndex()}}viewActivatedCallback(){super.viewActivatedCallback(),this._checkIndex()}_checkIndex(){let t=0;e.Utils.isNullOrEmpty(this.items)||this.index<this.items.length&&(t=this.index),this.index=t}disconnectedCallback(){e.Utils.isNull(this.adapter)||this.adapter.destroy(),super.disconnectedCallback()}}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],PacemIterativeElement.prototype,"adapter",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Number})],PacemIterativeElement.prototype,"index",void 0),t.PacemIterativeElement=PacemIterativeElement}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n="false";let r=class PacemLayoutProxyElement extends t.PacemEventTarget{#y;connectedCallback(){super.connectedCallback(),this.#y=e.CustomElementUtils.findAncestorShell(this)}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),this._update()}disconnectedCallback(){const t=this.attr;e.Utils.isNullOrEmpty(t)||this._update(t,n,!1),super.disconnectedCallback()}_update(t=this.attr,r=this.value?.toString(),s=this.disabled){if(e.Utils.isNullOrEmpty(t)||s)return;const i=this.#y;e.Utils.isNull(i)||(e.Utils.isNullOrEmpty(r)||r===n?i.removeAttribute(t):i.setAttribute(t,"true"===r?"":r))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"attr",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"value",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-layout-proxy"})],r),t.PacemLayoutProxyElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemMetaProxyElement extends t.PacemEventTarget{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),this._update()}viewActivatedCallback(){super.viewActivatedCallback(),this._update()}_update(){const t=this.content,n=!e.Utils.isNullOrEmpty(this.name),r=n?this.name:this.itemprop;if(e.Utils.isNullOrEmpty(r)||this.disabled)return;const s=e.Utils.cssEscape(r),i=n?`meta[name='${s}']`:`meta[itemprop='${s}']`;var o=document.head.querySelector(i);if(e.Utils.isNull(o))o=document.createElement("meta"),document.head.appendChild(o);else if(e.Utils.isNullOrEmpty(t))return void o.remove();o.setAttribute("content",t),o.setAttribute(n?"name":"itemprop",r),o.removeAttribute(n?"itemprop":"name")}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"name",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"itemprop",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"content",void 0),__decorate([e.Debounce(!0)],n.prototype,"_update",null),n=__decorate([e.CustomElement({tagName:e.P+"-meta-proxy"})],n),t.PacemMetaProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemOnlineStatusElement extends t.PacemEventTarget{constructor(){super(...arguments),this._onlineHandler=t=>{e.Utils.isNull(t)?this.online=navigator.onLine||!1:this.online="online"===t.type}}connectedCallback(){super.connectedCallback(),window.addEventListener("online",this._onlineHandler,!1),window.addEventListener("offline",this._onlineHandler,!1)}viewActivatedCallback(){super.viewActivatedCallback(),this._onlineHandler()}disconnectedCallback(){window.removeEventListener("online",this._onlineHandler,!1),window.removeEventListener("offline",this._onlineHandler,!1),super.disconnectedCallback()}};__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"online",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-online-status"})],n),t.PacemOnlineStatusElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemServiceWorkerProxyElement extends t.PacemEventTarget{viewActivatedCallback(){super.viewActivatedCallback(),this._tryRegister()}disconnectedCallback(){this._tryUnregister(),super.disconnectedCallback()}propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"pushSubscription":e.Utils.isNull(n)||this.dispatchEvent(new CustomEvent("unsubscribe",{detail:n})),e.Utils.isNull(r)||this.dispatchEvent(new CustomEvent("subscribe",{detail:r}));break;case"registration":e.Utils.isNull(n)||this.dispatchEvent(new CustomEvent("unregister",{detail:n})),e.Utils.isNull(r)||this.dispatchEvent(new CustomEvent("register",{detail:r}))}}_tryUnregister(t=this.registration){return e.Utils.isNull(t)?Promise.resolve(!0):t.unregister()}_tryRegister(t=this.src){this._tryUnregister().then(n=>{!e.Utils.isNullOrEmpty(t)&&"serviceWorker"in navigator&&navigator.serviceWorker.register(t).then(e=>{this.registration=e,"PushManager"in window&&e.pushManager.getSubscription().then(e=>{this.pushSubscription=e})})})}unsubscribe(t=this.pushSubscription){return new Promise((n,r)=>{if(e.Utils.isNull(t))n(!1);else{const e=t===this.pushSubscription;t.unsubscribe().then(t=>{e&&(this.pushSubscription=null),n(t)})}})}subscribe(t=this.publicKey){return new Promise((n,r)=>{"string"==typeof t&&(t=function(e){e=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/");const t=window.atob(e),n=new Uint8Array(t.length);for(var r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}(t));const s=this.registration?.pushManager;e.Utils.isNull(s)?n(null):s.subscribe({userVisibleOnly:!0,applicationServerKey:t}).then(e=>{"denied"===Notification.permission?n(this.pushSubscription=null):n(this.pushSubscription=e)})})}};__decorate([e.Watch()],n.prototype,"registration",void 0),__decorate([e.Watch()],n.prototype,"pushSubscription",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"src",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"publicKey",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-serviceworker-proxy"})],n),t.PacemServiceWorkerProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n="keydown";t.KeyboardShortcutExecuteEventName="execute";let r=class PacemShortcutElement extends t.PacemEventTarget{constructor(){super(...arguments),this._accumulator=[],this._shortcutHandler=n=>{const r=function(t,n,r=[]){if(e.Utils.isNullOrEmpty(n))return!1;const s=/(\w+)\s*\+/,i=[];let o;for(;!e.Utils.isNullOrEmpty(o=s.exec(n));)n=n.substr(o.index+o[0].length),i.push(o[1]);if(!e.CustomEventUtils.matchModifiers(t,i))return!1;const a=n.split(",").map(e=>e.trim().toLowerCase());if(e.Utils.isNullOrEmpty(a))return!1;var l,c,m=t.key.toLowerCase();return l=m,c=a[r.length],!!(l===c||"escape"===l&&"esc"===c||"backspace"===l&&"back"===c||"control"===l&&"ctrl"===c||"delete"===l&&("del"===c||"canc"===c)||/^arrow/.test(l)&&c===l.substr(5))&&(r.push(m),r.length==a.length||"ongoing")}(n,this.combination,this._accumulator);switch(r){case!0:e.avoidHandler(n),this.dispatchEvent(new Event(t.KeyboardShortcutExecuteEventName,{bubbles:!1,cancelable:!1}));case!1:this._accumulator.splice(0)}}}viewActivatedCallback(){super.viewActivatedCallback(),this._addHandler()}propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),"target"!==e||r||(this._removeHandler(t),this._addHandler(n))}disconnectedCallback(){this._removeHandler(),super.disconnectedCallback()}_removeHandler(e=this.target){(e||window).removeEventListener(n,this._shortcutHandler,!1)}_addHandler(e=this.target){(e||window).addEventListener(n,this._shortcutHandler,!1)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],r.prototype,"combination",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],r.prototype,"target",void 0),r=__decorate([e.CustomElement({tagName:e.P+"-shortcut"})],r),t.PacemShortcutElement=r}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemStyleProxyElement extends t.PacemEventTarget{propertyChangedCallback(t,n,r,s){switch(super.propertyChangedCallback(t,n,r,s),t){case"cssText":e.Utils.isNull(this._style)||(this.cssReady=!1,this._style.textContent=r,e.Utils.isNullOrEmpty(r)?this.cssReady=!0:this._idleWhileReady());break;case"disabled":case"src":this._fetch()}}viewActivatedCallback(){super.viewActivatedCallback();const e=this._style=document.createElement("style");e.setAttribute("type","text/css"),document.head.appendChild(e),this._fetch()}disconnectedCallback(){e.Utils.isNull(this._style)||this._style.remove(),super.disconnectedCallback()}_idleWhileReady(){let t=this._style.sheet,n=setInterval(()=>{try{t.cssRules.length>0&&(clearInterval(n),e.CustomElementUtils.Theme.importWebFonts().then(e=>{this.cssReady=!0,this.dispatchEvent(new Event("cssready"))}))}catch(e){}},100)}_fetch(){const t=this.src,n=this._style;this.disabled||e.Utils.isNull(n)||(e.Utils.isNullOrEmpty(t)?n.textContent=this.cssText||"":(this.cssReady=!1,fetch(t).then(e=>{e.text().then(e=>{n.textContent=e,this._idleWhileReady()},e=>{this.cssReady=!0})},e=>{this.cssReady=!0})))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"src",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"cssText",void 0),__decorate([e.Watch({converter:e.PropertyConverters.Boolean})],n.prototype,"cssReady",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-style-proxy"})],n),t.PacemStyleProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTimerElement extends t.PacemEventTarget{constructor(){super(),this._handle=0}propertyChangedCallback(e,t,n,r){switch(super.propertyChangedCallback(e,t,n,r),e){case"interval":case"disabled":this._restart()}}viewActivatedCallback(){super.viewActivatedCallback(),this._restart()}disconnectedCallback(){window.clearInterval(this._handle),super.disconnectedCallback()}_restart(){clearInterval(this._handle),!this.disabled&&this.interval>0&&(this._handle=window.setInterval(()=>{this.dispatchEvent(new Event("tick",{bubbles:!1,cancelable:!1}))},this.interval))}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"interval",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-timer"})],n),t.PacemTimerElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemTitleProxyElement extends t.PacemEventTarget{propertyChangedCallback(e,t,n,r){super.propertyChangedCallback(e,t,n,r),this._update()}viewActivatedCallback(){super.viewActivatedCallback(),this._update()}_update(){const t=this.value;e.Utils.isNullOrEmpty(t)||this.disabled||(document.title=t)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"value",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-title-proxy"})],n),t.PacemTitleProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemWebWorkerProxyElement extends t.PacemEventTarget{constructor(){super(...arguments),this.autosend=!0,this._messageHandler=e=>{this.result=e.data,this.dispatchEvent(new CustomEvent("receive",{detail:e.data,bubbles:!1,cancelable:!1}))},this._errorHandler=e=>{this.dispatchEvent(new CustomEvent("error",{detail:e.error,bubbles:!1,cancelable:!1}))}}viewActivatedCallback(){super.viewActivatedCallback(),this._initializeWorker()}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"src":this._disposeWorker(),this._initializeWorker(n);break;case"autosend":case"disabled":case"message":this.autosend&&this.send(this.message)}}disconnectedCallback(){this._disposeWorker(),super.disconnectedCallback()}send(t=this.message){if(this.disabled)return;const n=this._worker;e.Utils.isNull(n)||n.postMessage(t)}_initializeWorker(t=this.src){if(!e.Utils.isNullOrEmpty(t)){const n=this._worker=new Worker(t);n.addEventListener("message",this._messageHandler,!1),n.addEventListener("error",this._errorHandler,!1),this.autosend&&!e.Utils.isNull(this.message)&&this.send()}}_disposeWorker(t=this._worker){e.Utils.isNull(t)||(t.removeEventListener("error",this._errorHandler,!1),t.removeEventListener("message",this._messageHandler,!1),t.terminate())}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"message",void 0),__decorate([e.Watch({converter:e.PropertyConverters.String})],n.prototype,"result",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],n.prototype,"src",void 0),__decorate([e.Watch({emit:!1,reflectBack:!0,converter:e.PropertyConverters.Boolean})],n.prototype,"autosend",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-webworker-proxy"})],n),t.PacemWebWorkerProxyElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n={convert:t=>e.Animations.Easings[t]??e.Animations.Easings.linear};class AnimationElement extends t.PacemItemElement{}__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Element})],AnimationElement.prototype,"target",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],AnimationElement.prototype,"property",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"delay",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"duration",void 0),__decorate([e.Watch({emit:!1,converter:n})],AnimationElement.prototype,"easing",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],AnimationElement.prototype,"iterations",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],AnimationElement.prototype,"direction",void 0),t.AnimationElement=AnimationElement;t.TweenAnimationElement=class TweenAnimationElement extends AnimationElement{constructor(t=new e.Animations.TweenService){super(),this._tweener=t}get tweener(){return this._tweener}#E=!1;startAnimation(){return this.#E=!1,new Promise((t,n)=>{this._tweener.run(0,1,this.duration??0,this.delay??0,this.easing??e.Animations.Easings.linear,(e,t)=>{this.#E||(this.target[this.property]=this.tweenInterpolationCallback(e,t))}).then(t)})}cancelAnimation(){this.#E=!0}}}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n={h:0,l:0,s:.5,a:1},r={h:0,l:1,s:.5,a:1};let s=class PacemColorAnimationElement extends t.TweenAnimationElement{propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"from":this._precomputeFrom(n);break;case"to":this._precomputeTo(n)}}#C=n;#P=r;viewActivatedCallback(){super.viewActivatedCallback(),this._precomputeColors()}_precomputeColors(){this._precomputeFrom(),this._precomputeTo()}_precomputeFrom(e=this.from){this.#C=this._precomputeColor(e)??n}_precomputeTo(e=this.to){this.#P=this._precomputeColor(e)??n}_precomputeColor(t){if(!e.Utils.isNullOrEmpty(t))try{return this._parseColor(t)}catch{return null}}_parseColor(t){return e.Colors.hsl(e.Colors.parse(t))}tweenInterpolationCallback(t,n){const r=this.#C,s=this.#P,i={h:(s.h-r.h)*n+r.h,s:(s.s-r.s)*n+r.s,l:(s.l-r.l)*n+r.l,a:(s.a-r.a)*n+r.a};return e.Colors.stringify(i)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],s.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.String})],s.prototype,"to",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-color-animation"})],s),t.PacemColorAnimationElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemNumberAnimationElement extends t.TweenAnimationElement{tweenInterpolationCallback(e,t){const n=this.to??1,r=this.from??0;return(n-r)*t+r}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"to",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-number-animation"})],n),t.PacemNumberAnimationElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){const n={x:0,y:0},r={x:1,y:1};let s=class PacemPointAnimationElement extends t.TweenAnimationElement{tweenInterpolationCallback(e,t){const s=this.to??r,i=this.from??n;return{x:(s.x-i.x)*t+i.x,y:(s.y-i.y)*t+i.y}}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],s.prototype,"from",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Point})],s.prototype,"to",void 0),s=__decorate([e.CustomElement({tagName:e.P+"-point-animation"})],s),t.PacemPointAnimationElement=s}(e.Components||(e.Components={}))}(Pacem||(Pacem={})),function(e){!function(t){let n=class PacemStoryboardElement extends t.PacemItemsContainerElement{validate(e){return e instanceof t.AnimationElement}viewActivatedCallback(){super.viewActivatedCallback(),this._animate()}propertyChangedCallback(e,t,n,r){if(super.propertyChangedCallback(e,t,n,r),!r)switch(e){case"datasource":this._buildDatasourceFromDatasource(n);break;case"items":this._buildDatasourceFromItems(n);break;case"_adaptedDatasource":case"autostart":this._animate()}}_buildDatasourceFromItems(e=this.items){this._adaptedDatasource=e||[]}_buildDatasourceFromDatasource(e=this.datasource){this._adaptedDatasource=e||[]}_animate(t=this.autostart){const n=this._adaptedDatasource,r=[];if(t&&!e.Utils.isNullOrEmpty(n))for(let e of n)r.push(e.startAnimation());return Promise.all(r)}cancelAnimation(){const e=this._adaptedDatasource||[];for(let t of e)t.cancelAnimation()}startAnimation(){return this._animate(!0)}};__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Boolean})],n.prototype,"autostart",void 0),__decorate([e.Watch({emit:!1,converter:e.PropertyConverters.Number})],n.prototype,"duration",void 0),__decorate([e.Watch({emit:!1})],n.prototype,"datasource",void 0),__decorate([e.Watch({emit:!1})],n.prototype,"_adaptedDatasource",void 0),n=__decorate([e.CustomElement({tagName:e.P+"-storyboard"})],n),t.PacemStoryboardElement=n}(e.Components||(e.Components={}))}(Pacem||(Pacem={}));
|